鉴于图像传感器分辨率和帧速率的提高以及市场对高清影像需求的增长,目前机器视觉面临的瓶颈就是更高的带宽需求。当前系统只能在图像质量和压缩比之间进行折中。更高的压缩比会限制机器视觉系统的精确度和性能。
USB 3.0的带宽达到5.0 Gbps,相对于当前使用的接口如USB 2.0、IEEE 1394b、GigE和Camera Link等有所提升。更高的带宽能帮助设计人员提高图像分辨率和帧率,同时保证图像质量。设计人员无需压缩,能采用更小型的FPGA并减少系统所需的存储器数量,这有助于降低BOM成本,缩减PCB面积,降低功耗。
近期,全球领先的机器视觉行业展会VISION迎来25周年庆典,共吸引来自全球32个国家的372家参展商,数量达到新高。机器视觉产业受益于图像感应器的持续改进,被日益推广用于工业、医疗、监控、科学和制造应用等领域。
机器视觉摄像头所采用的现有接口标准(GigE、IEEE 1394b和Camera Link)分别支持独特的功能,但这些接口标准要权衡带宽、封装、成本和功耗等各方面的要求,难以做到一劳永逸。计算和消费类产品市场中最常见的通用接口标准USB 2.0虽然在机器视觉市场占一席之地,但在带宽方面仍无法赶上其它接口标准。而USB 3.0的到来改变了这一切。
本文将探讨机器视觉应用中采用USB 3.0的优势,并分析构建USB 3.0摄像头的关键设计考虑事项。
USB 3.0的优势
* 1. 其带宽超过USB 2.0、IEEE 1394b和GigE
* 2. 用一根线缆传输电力和数据
* 3. 实施成本低于Camera Link
* 5. 即插即用,且比GigE更易于设置
* 6. 已作为USB3 Vision标准被国际自动成像协会(AIA)采用
提高带宽
设计人员目前在机器视觉领域面临的一大挑战就是:如何跟上高分辨率和高帧率图像感应器所带来的不断增长的数据速率要求。设计人员竭尽全力在接口标准所能提供的带宽范围内满足所需的帧大小和帧率要求。设想一下,如果机器视觉摄像头设计采用GigE接口,其分辨率就会由于可用带宽的影响限于120fps的VGA级别。如果采用500万像素的图像感应器,帧速率就要降到可怜的5-10fps。
一些系统通过压缩来解决带宽不足的问题,这样就能在较慢的接口上传输更高的分辨率及帧速率数据。但是,我们并不倾向于采用压缩技术,尤其是在机器视觉应用中更不宜采用压缩,因为压缩存在两大不足:一是图像质量,二是设计紧凑性。最新压缩算法的设计理念是使用渐进删除图像细节的方法来降低必要的比特率。
与消费类应用不同的是:消费类应用中,因为人眼难以觉察,所以大多数图像细节可以丢失,但是机器视觉系统捕获的图像则要由图像分析软件进行精确计算处理,因此,我们就必须捕获到保留所有图像细节的原始数据。此外,机器视觉产品还日趋小型化,大多数机器视觉摄像头就像一颗超紧凑的冰块,还不到1立方英尺大小。
然而,要支持压缩技术,就需要更多的硬件,比方说需要FPGA进行编码,用存储器进行帧缓冲等,这样这就会增加PCB占位面积,进而使最终产品尺寸增大。此外,采用更多压缩组件也会增加系统材料清单成本,使设计复杂化,同时也会明显增加设计工作,大幅延长设计时间。
有了USB 3.0,设计人员就能拥有更高的带宽:USB 3.0支持5Gbps的高数据速率,是USB 2.0(480Mbps)的10倍之多。经过8b/10b编码,USB 3.0能为数据提供4Gbps的可用带宽。USB 3.0继续支持USB 2.0的批量和同步传输机制,从而能分别确保数据交付和带宽。就同步传输而言,USB 3.0得到显著增强:USB 3.0的传输速度从USB 2.0的24MBps提升到了384MBps,相当于USB 2.0的16倍。需要实时数据的应用则能从该速度提升中受益匪浅。
有了更高的可用带宽,USB 3.0无需压缩,就能传输高分辨率和高帧速率视频内容,且不损失画质。因此,USB 3.0既不会影响图像质量,又有助于促进机器视觉摄像头的进一步小型化。图1给出了机器视觉摄像头中采用USB 3.0与其它接口标准时所提供的可用带宽的对比情况。在5Gbps数据速率情况下,USB 3.0支持更多不同的帧大小和帧速率,从而成为一种支持众多不同应用的更具通用性的技术。
图1:当前机器视觉中采用USB 3.0和常见接口标准的带宽对比。
机器视觉的质量和消费者成本
实施USB 3.0机器视觉系统的整体系统成本远远低于实施GigE和IEEE 1394b的成本,更低于Camera Link。随着USB 3.0被消费者不断推广采用,成本还将持续降低。目前销售的PC有九成已经内置了USB 3.0接口,消费者无需为之支付额外费用。USB 3.0连接器和线缆等组件一应俱全。此外,USB 3.0线缆能提供4.5W的功率,足以为机器视觉摄像头供电,无需额外电源。
就3D成像等采用多摄像头系统的应用而言,成本差异就更加明显了。既然一个USB主机能支持多达255个设备,因此多个USB 3.0摄像头就能在一根总线上通过低成本和商用USB 3.0集线器实现并行运行。不是所有其它标准都能提供这样的灵活性。就Camera Link而言,则需要为每个摄像头提供一个额外的抓帧器。图2显示了USB 3.0与其它机器视觉标准的成本及可用带宽的对比情况。从图中可以看出,USB 3.0的带宽明显比与其成本相当的IEEE 1394b和GigE高得多,几乎可与成本是其3至4倍乃至更高的Camera Link的带宽相媲美。
图2:几款同类竞争机器视觉标准的成本及带宽对比。
USB 3.0摄像头的实施
在系统中集成摄像头需要软件应用读取图像感应器中的数据并发送控制信息到图像感应器控制器。这可通过采用USB驱动器来完成。视频摄像头现成可用的标准USB驱动器基于USB 视频类型(UVC)。它是一款兼容所有PC的即插即用设备,而且像PC网络摄像头一样广泛用于视频捕获应用。不过,UVC驱动器存在一些限制,对机器视觉应用来说并不理想,尤其是UVC驱动器只支持非压缩YUV格式(如YUY2和NV12)的图像,这就限制了图像感应器的选择范围。由于图像感应器通常捕获的是Bayer、RGB或单色图像,因此必须通过ISP(图像信号处理流水线)函数将原始图像数据转换为YUV格式的图像。我们可用FPGA在图像感应器上或通过软件在PC主机上完成上述工作。但这对某些生成原始Bayer和RGB数据、系统中又不需要额外报头或ISP的高帧速率或高分辨率摄像头而言不是好事。
由于UVC驱动器最初是针对消费类视频应用而设计的,因此不支持机器视觉应用所需的高度定制功能,同时也不能提供机器视觉应用可能需要的各种摄像头控制特性。
鉴于UVC的种种缺陷,机器视觉摄像头产业需要一种完全不同的设备类型或定制驱动器解决方案。采用定制驱动器,设计人员能选择自己喜欢的图像感应器,并针对目标应用专门设计控制特性。但是,要提高灵活性,增加控制特性,就需要更长的设计周期。
为了避免这种延迟,国际自动成像协会(AIA)已经根据领先成员的提议制定了一种新的标准USB3 Vision。根据USB3 Vision标准,摄像头设备的基本发现、功能报告(如增益、亮度、灰度系数、图像分辨率、帧速率等)以及UVC通过批量或同步管道传输数据流等功能保持不变。
USB3 Vision的差异性在于其能支持更多传输非YUV格式图像的图像感应器、更多摄像头控制特性以及GenICam等软件程序的应用层兼容性。我们的想法就是尽可能多地重复利用GigE Vision和CoaXPress等现有标准的模块,让设计人员采用自己熟悉的方法,更轻松地进行开发。这便于厂商和设计人员将同样的软件前端与使用USB3.0的最快速的硬件后端配合使用。
USB 3.0 Vision还支持自定义驱动器实施方案,以满足那些无法在硬件中支持全部特性与功能的厂商需求。
举例来说,如果硬件没有足够的代码空间来发现和存储所有摄像头控制参数,那么USB主机上的定制驱动器会抛弃这些因素,从而保持与现有软件应用的兼容性。
当前机器视觉领域中的USB 3.0
目前已有许多厂商推出USB 3.0机器视觉摄像头。最常见的设计包含一个CMOS图像感应器和一个用于USB 3.0连接的赛普拉斯EZ-USB? FX3控制器。根据目标应用的不同,厂商可对其摄像头进行差异化设计,如利用FPGA实现ISP和图像感应器接口转换,或采用较大容量的帧缓冲器进行影像处理或确保视频流可靠传输。图3显示了机器视觉系统的基本方框图。
图3:采用赛普拉斯FX3的机器视觉设计。
FX3配备了可配置的通用可编程接口(GPIF II),使FX3不仅能够直接连接至任何FPGA或图像感应器,而且还可提供400 MBps的数据传输速率。此外,FX3采用一个带有512 KBRAM的200 MHz ARM9处理器,确保快速传输实时图像数据。ARM9内核负责管理USB 3.0协议栈,经过编程可根据需要用作USB视频类型(UVC)、USB3 Vision或厂商定义的摄像头。
USB 3.0:为机器视觉未来发展铺平道路
机器视觉对高带宽、低功耗和低成本接口的需求比以往更突出。在今年的VISION展会上,几乎每一家机器视觉摄像头供应商都推出了一款USB 3.0产品或正在积极设计该产品。机器视觉供应商对USB 3.0的广泛支持充分说明采用USB 3.0能够实现高质量视频、低功耗和低成本。随着最新USB3 Vision标准的制定,USB 3.0的问世明显标志着未来机器视觉接口技术的重大转变。
关于作者
Steven Chen现任赛普拉斯数据通信业务部产品经理。他自加拿大安大略省滑铁卢市的加拿大滑铁卢大学(University of Waterloo)获得纳米技术工程设计和管理科学专业双学士学位。
Andrew Tamoney现任赛普拉斯数据通信业务部高级系统工程师。他自纽约特洛伊的伦斯勒理工学院(Rensselaer Polytechnic Institute)获得电子工程设计和计算机系统工程设计专业学士学位。
Karnik Shah现任赛普拉斯数据通信业务部高级应用工程师,负责为所有USB产品提供支持。他编写过众多《应用指南》,4年来还担任企业关键/复杂项目的技术支持联系人。他先后从印度古吉拉特邦市古吉拉特邦大学尼尔玛理工学院(Nirma Institute of Technology)和美国加州洛杉矶市南加州大学(University of Southern California)获得了电子和通讯工程设计学士学位和电子工程设计硕士学位。