基于FPGA的数字图像处理- 视频接口【5.2】

3.USB与FPGA的接口 USB协议的复杂性决定了单独使用FPGA来实现USB协议是一件基本 上不可能的任务,实际上,用FPGA昂贵的逻辑资源来实现复杂的USB通 信协议是一种资源浪费。 将USB与FPGA连接的最简单的方式是配置一个嵌入式处理器(例如 ARM),或是专用的USB控制器,并通过合适的软件驱动与之连接。如果 需要直接将FPGA逻辑电路与USB相连,那么最好购买商用的IP核,来管 理所有的USB通信协议的细节。需要注意的是USB相机一般情况下是作 为USB设备输出,因此嵌入式处理器ARM必须内置USB主机控制器(或是 OTG)来对USB摄像机进行配置和枚举等。ARM处理器与FPGA端可以通过 相对简单的接口或是共享存储器来实现数据交互。 以下为一个实现USB 3.0相机与FPGA数据通信的示例应用方案,如 图11-9所示。

        其中,TUSB7340是TI公司生产的满足USB3.0标准的xHCL主机控制 器,控制器同时提供一路PCIE接口供上游主机控制,其高速传输性能 使其特别适合高清视频的数据传输应用场合。

11.1.4 FireWire接口

        1.FireWire接口简介 FireWire又称为火线接口,也就是1394接口。在Cameralink标准 出现之前,IEEE 1394是一种常用的数据传输的技术标准。IEEE 1394 最初由苹果公司开发,被应用到众多的领域,数码相机、摄像机等数 字成像领域也有很广泛的应用。IEEE 1394接口具有廉价,速度快,支 持热拔插,数据传输速率可扩展,标准开放等特点。 FireWire从发展到现在,一共推行过2个标准,前期的主要标准是 FireWire 400和FireWire 800(FireWire 800已被接纳为IEEE 1394B 标准,最新发布的两个标准是S3200和S1600标准)。FireWire 800较 其前身FireWire 400具有更快的传输速度、更高的有效带宽和更长的传输距离及广泛的后向兼容等先进特性。而所有这些都使之成为高速 存储和大带宽要求的视频和图像应用的理想选择。它的数据传输速度 达到了800Mbps,是FireWire 400的2倍。这主要是由于它采用了与吉 比特以太网和光纤通道同样的高效编码架构。事实上,对这一编码架 构 的 采 用 , 使 FireWire 800 的 传 输 速 度 理 论 上 可 以 达 到 最 高 3200Mbps,可满足大数据量文件传输和要求最高的视频应用(如处理 无压缩HD视频或多种SD视频流)的严格要求。FireWire 400通过电线 传输数据的最大距离是4.5m。而FireWire 800使用专业玻璃纤维,最 长的传输距离达到了100m。

FireWire 800支持外设的热插拔,可实现即插即用。用户拆除或 增添一个FireWire设备时不需关闭计算机,也不需安装驱动器、分配 ID号或连接终端连接器。用户可在一个简单的链条中连接几台设备, 也可增加集线器,在一根FireWire总线中最多挂接63台设备。 FireWire 800的高速和更长的传输距离得益于其采用了两项重要 的技术改进。一是它采用了高效的判优机制;二是它采用了8B10B编码 技术(与吉比特以太网和光纤通道使用的相同),降低了信号失真并 增加了吞吐量。 FireWire 800提供两种传输模式:纯β模式(1394b)和后向兼容 的传统模式(可兼容FireWire 400设备)。FireWire 400设备使用6针 或4针连接器,而FireWire 800设备则使用9针连接器。因此,目前的 FireWire 400设备可直接插入FireWire 800的端口中。

FireWire 800能确保数据的实时传输,这对于不允许延迟或帧混 乱现象的音视频流式媒体传输应用至关重要。FireWire节点之间的数 据传输分为同步和异步两类。它可为一个或多个同步通道保留80%的带 宽,使之成为要求实时数据传输应用的完美选择。 FireWire 800与FireWire 400一样,具有强大的传输功率(最大 功率为45W,最大电流为1.5A,最大电压为30V)。这意味着许多设备不需电源线和适配器即可通过FireWire电线传输。如苹果iPod音乐播 放机就只使用FireWire作为唯一的数据传输和电源连线。另外, FireWire还提供一种“主动”的电源管理机制——只在确实需要的时 候使用电源。

FireWire 800的传输速度要大于USB2.0标准的480 Mbps,但是要 远远小于USB3.0标准的5000 Mbps。实际上,目前的FPGA厂家对火线接 口的支持并不是很好,这不仅仅是由于1394接口自身相对复杂的通信 协议,还由于在速度上比不上USB3.0,复杂性又比CameraLink高,在 传输距离上又没有以太网的优势。因此,目前1394接口在市场上并不 活跃,只有少部分相机及苹果和索尼的产品支持1394接口。 2.IEEE 1394协议 1394接口协议栈主要由三个子层构成,即物理层、链路层和事物 层,如图11-10所示。

1)物理层(PHY)
物理层负责提供初始化和仲裁服务,确保在一个时刻只有一个结点发送数据。物理层的协议包括以下几个方面:
(1)电气信号定义。
(2)机械连接器和电缆规范。
(3)收发数据串行编解码。
(4)传送速度检测。
图11-11所示为IEEE 1394协议物理层协议结构。
2)链路层(LLC)
链路层主要负责以下几个方面的工作:
(1)负责从传输线缆上收发数据。
(2)负责错误探测和校验。
(3)重传功能。
(4)为事物层提供应答包。
(5)为同步信道的周期性控制提供服务。
一个典型的链路层控制器如图11-12所示。
3)事物层(TC)
事物层需要遵循以下标准:
(1)ISO/IEC 13213[ANSI/IEEE Std 1212,1994 Edition]。
(2)ISO/IEC 13213:1994。

一个典型的1394接口主机控制器如图11-13所示。 3.IEEE 1394接口操作 1)同步传输同步传送模式可以利用高达80%的数据带宽,同步传送通常通过广 播的方式进行一对多或点对点传送。需要注意的是,在同步传送的过 程中,接口并不提供错误检测或是数据包重发功能。数据包的格式为 信道ID号加上待发送的数据,接收方会检测收到数据包的信道ID并且 丢掉不属于自己的数据包。

由于同步传输的高带宽性质,特别适合于传送大批量数据,但是 对传输错误相对不敏感的场合,例如视频及音频数据。 2)异步传输 异步传输针对传送目标地址明确的传输任务,异步传输并不能保 证有确定的足够大带宽,这是由于在异步传输中加入了错误检测及应 答和重传机制。基于这个原因,异步传输通常应用在对错误比较敏感 的场合,例如重要的控制数据、硬件驱动等。 3)总线管理 总线管理需要负责建立通信拓扑以及速度映射图。总线上的所有 互动都由时长为125μs的基本操作周期组成。每个基本操作周期都由一个主结点发起,主结点通过广播一个“开始”数据包使得所有设备 与总线同步。

4.基于FPGA的火线接口 由于FireWire接口协议的复杂性,除非使用商用的IP核,单独用 FPGA来实现1394接口协议是一个十分庞大的工程。一个解决方法是外 置物理层和链路层芯片,将物理层协议和链路层协议交给外部IC实 现,FPGA负责对链路层进行配置,并利用链路层提供的本地接口收发 数据。 TI公司提供完整的IEEE1394解决方案,提供包括1394a,1394b的 物理层和链路层解决方案,链路层提供的对外接口是PCI接口。以 1394b为例,利用TI的一个解决方案如图11-14所示。

5.物理层芯片TSB81BA3 TBS41AB1满足IEEE 1394B标准,可提供最高800Mbps的传输速率, 同时向下兼容400Mbps,200Mbps,100Mbps的传输速率。该物理层提供 与IEEE 1394B兼容的LLC子层接口,同时内置1394物理层所需要的收发 解码器与仲裁机制,其中一路的内部结构如图11-15所示。

6.链路层芯片TSB82AA2 TSB82AA2是一个工作在IEEE1394b链路层的设备,并且满足OHCILynx标准。TSB82AA2提供高达800Mbps的传输速率,可以在PCI接口与 1394接口之间提供高吞吐量的数据传输。为了防止两边接口速率不匹 配出现的输出上溢出,芯片内置高达5K的fifo作为数据缓冲。芯片内 部结构图如图11-16所示。

11.1.5 GigE Vision™接口

        1.GigE Vision™简介 GigE Vision™ 是 由 自 动 化 影 像 协 会 AIA ( Automated Imaging Association)发起指定的一种基于千兆以太网的图像传输的标准。 1979年,美国IEEE学会通过IEEE802.3委员会批准才使Ethernet本身的 标准得以规范化,当时10Mbps的传输速度在标准规范化后逐渐进入 100Mbps、1Gbps、10Gbps的高速化时代。一般所说的网络都是指基于这种Ethernet技术的TCP/IP,UDP/IP通信,而GigE Vision™标准则是基 于UDP/IP构成了GigE Vision™Protocol。 灵活运用GigE Vision™的接口特性,将有助于开发更多迄今未有 的应用领域。例如:在ITS(Intelligent Traffic System)的使用 中,图像采集数据传输距离的限制阻碍了高像素大幅面数码相机的引 入。但是,高分辨率且数据传输距离无限制的这种GigE Vision™版本 的相机即可解决上述问题。此外,如果有效利用Ethernet的网络性、 数据传输性能,那么即可将分布于工厂内或医院内的各图像处理系统 统合在一个地方进行集中管理。

2.GigE Vision™优缺点
(1)电缆长度最长可伸展至100m(转播设备上可无限延长)。
(2)带宽达1Gbit,因此大量的数据可即时得到传输。
(3)可使用标准的NIC卡(或PC上已默认安装)。
( 4 ) 可 使 用 廉 价 电 缆 ( 可 使 用 通 用 的 Ethernet 电 缆 ( CAT-6))。
(5)对所连接的计算机性能有一定要求。
(6)GigE设备上加入了图像采集卡功能,因此作为系统来说价格便宜了,但相机的价格却有所提高。
(7)与CameraLink接口相机相比,GigE相机的耗电量较高。
(8)网络性能上无法确定数据包的送达时间。
(9)必须优化主机侧的软件(安装特定的驱动程序)。

3.GigE Vision™标准 一般我们都使用TCP/IP作为确保数据安全性的通信协议。例如: 浏览网页时所使用的HTTP、电子邮箱上使用的SMTP等都通过应答确认 等方式来实现高度安全性的通信。而另一方面,UDP/IP虽然安全性相 对较低,但可以用于需要高速通信的DNS等方面。GigE Vision™也需要高速传输图像数据,因此使用了UDP/IP来提 高传输效率,而对于安全性欠缺方面,结构上则采用GigE Vision™通 信协议的方式加以弥补。

1)IP地址的设定 如果从网络的相关结构上进行思考的话就比较容易理解了。网络 设备运行的首要条件就是通过某种方式来获取IP地址。当GigE Vision 设备(相机或其他装置)被连接至某个网络时,为了使其作为IP网络 设备开始运行,首先必须获取网络地址、IP地址。然后,需要从主机 中查找这些GigE Vision设备,这称为Device Discovery(设备自动查 找)。 实际上,设备本身在接通电源后,即会向DHCP服务器发出获取IP 地址的请求,然后自动设定IP。若向DHCP发出请求却接收不到应答 时,则可以断定该网络上没有DHCP服务器,这样的话就会切换为IP地 址 手 动 设 定 模 式 。 LLA ( Local Link Address ) 将 会 搜 索 在 169.254.xxx.xxx这个地址空间内未被使用的地址并进行自动设定。这 时的设备就会拥有一个IP地址(也可设定为静态IP地址,不过默认是 OFF状态)。

2)设备的控制 对已被识别的设备(相机)进行控制。简单地说就是要将操作指 令发送至相机并对相机进行控制。例如:增益、快门、触发模式的设 定等。控制上必需的是GVCP(Gig Vision Control Protocol)控制协 议,并规定了Memory read/write及其他各种指令,然后通过向设备内 存映射中的地址的数据写入或读取操作对设备进行控制。

3)图像数据的交接 最后最重要的是GVSP(GigE Vision Streaming Protocol)串流 协议。这是最后从设备中交接想要获取的图像时所需的协议。由于像素数、滤色及3CCD、8/10/12比特等均为固定数据,因此,图像格式也 可以根据用户的需要来进行图像发送。 实际上是指定UDP的端口编号,然后向该端口发送数据。数据大小 是以可以将1个区块中的1张图像分割为若干份后集中于1个数据包内进 行一次性发送为基准。Ethernet有1440个字节的限制,而Gigabit Ethernet使用大型数据包(增大1个数据包的容量、节约送至每个数据 包的各帧头中的数据)可以传输1440个字节以上的数据。但必须注意 的是,根据所使用的硬盘(例如:相机或NIC)的差异,可能会有 4KB、6KB、8KB、16KB等的带宽限制。

4)GeniCam XML设备设定文件 GigE Vision™上,相机储存器也必须具有通过GenlCam命名、XML 格式的设备所具有的性能。(或者需要根据URL连接网页上的文件)通 过对它的使用,主机可以直接根据名称对设备进行控制,而无需每次 都要查看内存映射后才能写入数据,减少了不少麻烦。

4.GigE Vision™与FPGA的接口 GigE Vision™与千兆以太网在硬件上完全兼容。和USB协议相同, 单纯用FPGA来实现复杂的以太网协议是非常困难的。目前的通用方案 有两种:一种方法是外置MAC层和物理层芯片,第二种方法是外置物理 层芯片,MAC层由FPGA的IP核实现。第二种方法无疑降低了成本,但是 比起第一种方法开发相对复杂一点。GigE Vision™是工作在应用层的 协议,此外完整的网络通信协议除了物理层和MAC层,至少还需要网络 层(如IP协议,ICMP(ping)协议等)和传输层(对于GigE Vision™ 来讲是UDP协议),这几层用FPGA来实现是非常困难的,目前的主流方 案是采用外置协处理器或是片上处理器来辅助完成。 Altera提供了完整的片上系统解决方案(目前最新的系统是 QSYS),其提供的NIOS的处理器采用哈佛结构、具有32位指令集的第二代片上可编程的软核处理器,其最大优势和特点是模块化的硬件结 构,以及由此带来的灵活性和可裁减性。 在软件端移植一个现有的成熟TCP/IP协议栈是十分必要的,例如 uIP。uIP是一个十分精简的协议栈,提供了完整的网络层和传输层的 协议,如IP/TCP/ICMP/UDP/ARP等,协议栈代码不到6KB,所占用RAM只 有几百个字节。 一个以NIOS为平台的GigE Vision™接口方案如图11-17所示。

  • 31
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
基于FPGA的图像视频处理常用接口有以下几种: 1. HDMI接口 HDMI(High-Definition Multimedia Interface)即高清晰度多媒体接口,是一种数字化视频传输标准,可以传输高清晰度视频和音频信号。FPGA可以通过HDMI接口与显示器或其他设备进行连接,实现图像或视频的输出功能。 2. LVDS接口 LVDS(Low Voltage Differential Signaling)即低压差分信号传输接口,是一种高速、低功耗、抗干扰能力强的数字信号传输标准。FPGA可以通过LVDS接口与摄像头或其他图像采集设备进行连接,实现图像或视频的输入功能。 3. VGA接口 VGA(Video Graphics Array)即视频图形阵列接口,是一种模拟视频传输标准,可以传输分辨率较低的图像和视频信号。FPGA可以通过VGA接口与显示器或其他设备进行连接,实现图像或视频的输出功能。 4. PCIe接口 PCIe(Peripheral Component Interconnect Express)即外设组件互连扩展接口,是一种高速的计算机总线标准,可以实现高速数据传输和通信。FPGA可以通过PCIe接口与计算机或其他设备进行连接,实现图像或视频的传输和处理功能。 5. Ethernet接口 Ethernet即以太网接口,是一种广泛应用于局域网和互联网的标准化网络协议。FPGA可以通过Ethernet接口与计算机或其他设备进行连接,实现图像或视频的传输和处理功能。 总之,FPGA作为一种灵活可编程的硬件平台,可以通过不同的接口与各种设备进行连接,实现图像和视频的输入、输出、传输和处理等功能。根据不同的应用场景和需求,需要选择合适的接口和相应的驱动程序进行开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值