EDN China > 技术文章 > 消费电子设计 > 便携设备 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于FPGA/CPLD和USB技术的无损图像采集卡

来源:电子技术应用/姚聪 汪 敏 潘志浩 张之江?? 2006年04月30日 ?? 收藏0

?????? 2.3 USB的开发和数据传输

?????? Cypress公司推出的带有USB接口的EZ-USB系列处理器,实现了外围设备通过USB接口与PC机进行数据通信。它通过内部RAM编程和数据存储,使得芯片具有软特性。USB主机通过USB总线下载8051程序代码和设备特征到RAM中,然后EZ-USB芯片作为一个由代码定义的外围设备重新连接到主机上(重枚举)。

?????? USB规范1.1版本定义了USB的四种数据传输模式:控制传输、同步传输、中断传输和块传输,以适应不同应用场合的需求。其中块传输方式提供数据校验,适用于无误传输大指数据的场合。本课题选用USB的块传输方式,同时采用了EZ-USB的快速传输模式,理论速率为12Mbps,实际最高速率能达到 8Mbps。

?? ??? 当PC机检测到USB图像采集卡已经插上后,PC机可自动地将图像采集卡的驱动程序装入操作系统,同时PC机通过USB总线下载8051程序代码和设备特片到USB的RAM中。

usb传输固定信号

?????? USB的开发包括USB的固件程序、Windows设备驱动程序和Windows主机应用程序的编制,限于篇幅,这里只简单介绍一下USB固件程序(Firmware)的编制。USB固件程序的具体流程如图3所示,在源程序的TD_Poll()中加入了对比度、亮度及饱和度的调节,以做到在硬件上对图像处理中的上述重要参数的调节,在外部中断1中完成一帧数据的快速传输。

?????? 由于采用了外部中断1,为了避免与USB中断的冲突,需要在工程中自己编写一个汇编文件,内容如下:

cseg at 43h

ljmp 1800h

end

?????? 此外,在编写的Keil C源程序中需要加两句话,以解决USB中断和外部中断的地址重叠问题。

#pragma intvector (0x17FD)

#pragma interval(4)

?????? 为了增加USB传输数字视频信号的速度,采用USB的快速读写模式,在Keil C源程序中内嵌对USB进行寄存器设置的汇编代码。配置了USB的时钟控制寄存器,采用全速访问数据存储器,MOVX指令在两个机器周期内实行,时钟频率为24MHz,因此USB产生的读选通宽度为83.3ns。配置端口A,使能PORTACFG(16进制地址为7F93H)寄存器中的快速读FRD。配置快速传输控制寄存器FASTXFR(16进制地址为7FE2 H),采用快速块传输,使能快速读写信号。为了将端点2缓冲匹配置成FIFO,增加读写速度,8051将端点2缓冲区(IN2)的首地址7E00H装入自动指针AUTOPTRH(16进制地址为7FE3H)和AUTOPTRL(16进制地址为7FE4H),并且dptr指向AUTODATA(16进制地址为7FE5H),也就是指向了FIFO寄存器,这样8051可以完全像FIFO一样访问端点2缓冲区。

?????? 2.4 PC机端的图像还原

?????? 在PC机端,用Visual C++ 6.0编写客户应用程序,应用程序通过USB接收原始的奇数场和偶数场图像数据,待接收完奇数场和偶数场图像数据后,应用程序把它们组成完整的一帧图像,并且把该帧图像数据存储到硬盘上,然后把这帧图像转化成BMP格式的图像,以BMP格式再次在硬盘上存储图像数据,同时以BMP的形式显示图像。

?????? 3 应用前景

?????? 该无损图像采集卡虽然是针对特殊的图像处理应用而研发的,但它的作用很广,能应用于嵌入式系统中的图像传输、集成电路和精密机械领域中的器件定位等。此外,如果用USB2.0代替USB1.1,则能实时传输图像数据到PC机或嵌入式系统,用软件进行图像数据的压缩处理,这块外置式图像采集卡可以作为一个很好的实时监控设备,以降低硬件成本。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

无损? 图像处理? FPGA/CPLD? USB?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈