基于EZ-USB的电磁眼接口

网友投稿 258 2022-10-26

基于EZ-USB的电磁眼接口

关键词:电脑眼 USB总线 视频传感器 帧 固件

1 USB概述与EZ-USB 2131Q芯片介绍

USB是一种层状的星形拓扑,其根部是主机控制器,USB器件直接与根部接口连接实现其功能。若多个器件同时行使其功能,就要通过集线器来扩展,但扩展层不能超过5层。USB器件支持热插拔,而且可以即插即用。USB一般支持两种传输速度,即低速1.5Mbit/s和高速12Mbit/s,在USB2.0版本中其速度提高到480Mbit/s。

同步传输方式下,数据传输保持固定的带宽和延时,保证了数据传输速率的稳定性。

USB有诸多优点,适合于与视频电脑眼的接口。本文应用一种内置微控制器的USB芯片,设计了一种同步传输方式的单片方案。

1.2 EZ-USB 2131Q芯片介绍。

EZ-USB 2131Q内部框图如图1所示。它是Anchor公司的一种内嵌有微控制器的80脚的USB芯片,包含有3个8位多功能端口,8位数据端口、16位地址端口、两个USB数据端口和其它输入输出端口。

其采用了一种基于内部RAM的解决方案,允许客户随时不断地设置和升级,不受端口数据、缓冲大小、传输速度及传输方式的限制。

EZ-USB 2131Q有两种同步传输方式:即普通读写方式和快速读写方式。在普通读写方式下,芯片从外部读取或向外部写入数据的速率不会超过1000字节/ms,而且数据传输指令只能一一列出,共要写出1000行相同的指令。中间不能用循环来传输数据,而且也没有时间来加入其它指令。这种方式对于要求同步传输、每帧传输1023字节的设备是不可取的。在快速读写方式下,芯片可以在0.5ms内从外部读取或向外部写入1023字节的数据,并且还留有足够的时间可以加入其它指令。

2 电脑眼与EZ-USB 2131Q的接口方案

2.1 电脑眼的USB单片方案

本文中电脑眼的传输速度为9帧/s,发送一场图像数据约111ms;而USB采集一场图像数据约108ms,电脑眼发送图像数据和USB接收图像数据的时间基本相当。

根据EZ-USB 2131Q和电脑眼的总线其传输速率,可以利用外接存储器来实现各功能块的接口,电脑眼与EZ-SUB接口框图如图2所示。电脑眼通过8位数据线传输数据,如果保持电脑眼数据的连续传输,就用场同步和象素同步作为控制信号。EZ-USB2131Q具有8位输入输出数据线,多功能口可用来接收和发送控制信号,其地址线在快速传输模式下不可用。

介于上述接口方案存在的缺陷,即要保证电脑眼不间断采集数据又要保证EZ-USB 2131Q芯片能获取一场图像的全部数据,可以采取如图3所示的另一种单片方案。上面提到过,电脑眼一场的图像数据是110208字节,要存入一场图像数据就需要一个128KB的RAM。为了保证电脑眼不间断地连续传输,在此单片方案中利用一个多路转换器对两个128KB的RAM进行切换,分别存入电脑眼连续采集的两场图像数据。外接RAM的电路中,包含有3大功能块:两个128KB的RAM组成存储功能块、两个地址发生器及一个多路转换器,如图3所示。存储功能块用于存储电脑眼的一场完整图像数据,地址发生器用于存储器的地址选择,多路转换器用于切换对存储块的工作路径。

多路转换器是利用电脑眼场同步信号来进行切换的,其切换频率与电脑眼的场同步信号的频率相当。在多路转换器中,当电脑眼的场同步信号到来时,一路选通RAMA并同时对RAMA写选通,另一路选通RAMB并同时对RAMB读选通。A地址发生器由电脑眼的象素同步信号触发,由此产生的地址信号被接入RAMA的地址端,并将电脑眼采集的一场图像数据写入RAMA中,A地址发生器对RAMB是不选通状态。在EZ-USB芯片端,芯片快速读控制信号触发B地址发生器,产生的地址信号接入RAMB地址端。此时B地址发生器对RAMA是不选通状态,这样USB芯片就能从RAMB中读取完整的一场图像数据。在芯片读取下一场图像数据时,上述过程正好相反,电脑眼向RAMB中写入数据,EZ-USB芯片从RAMA中取出数据。

FIRMWARE工作时,获取图像数据后转换成USB数据格式,提交给计算机处理。

利用FIFO的方法,电路简单,可以得到稳定的图像。但代价是要丢掉一些有效数据,在不损失有效数据的条件下又必须控制电脑眼,会使得图像的传输速率降。是一种可用但不最佳的方法。

电脑眼基于外接RAM的单片方案,虽然在电路上比接FIFO稍显复杂,但此方案解决了数据传输的完整性,而且能保持电脑眼连续采集数据,保证了电脑眼的最大传输速率。

图5是通过基于RAM的单片方案获取电脑眼采集的图像数据并经USB口送入计算机,经过客户软件处理后得到的电脑眼的图像。

综上所述,基于外接RAM的单片方案是一种稳定可以的解决方案,保证了数据的完整性和连续性。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:/etc/docker/daemon.json
下一篇:系统初始化
相关文章

 发表评论

暂时没有评论,来抢沙发吧~