c语言sscanf函数的用法是什么
284
2022-11-22
基于CY7C68033和TMS320DM6437芯片实现高速图像采集处理系统的设计
1 引言
2 图像采集系统硬件设计
2.1 系统硬件设计架构
2.2 USB接口设计
图2是该高速图像采集系统的USB接口电路连接图。
图2中,CY7C68033的PA3~PA2引脚作为地址线与TMS320DM6437 DSP的HCNTL[1:0]相连,用于选择HPI的寄存器与工作模式;FD[15:0]作为16位数据总线与HPl的数据总线HD[15:0]相连,用于交换数据;CTLx引脚为GPIF的输出控制信号,RDYO引脚为GPIF的输入控制信号。由于访问HPI寄存器需两次半字传输,因此使用 CY7C68033的CTL0引脚进行控制。TMS320DM6437的HR/W接至CTL1,用来作为读/写选择标志;HDS1与CTL2相连,作为数据选通信号。HRDY与输入信号线RDYO相连,用于查询HPI接口状态,GPIF通过监测该信号以控制内部存取操作。TMS320DM6437的 HINT与CY7C68033的INT0引脚相连,DSP复位时HINT引脚启用,该引脚也用于DSP向CY7C68033发送外部中断请求。另外,TMS320DM6437的HCS3引脚接地表示可对HPI进行连续存取操作。
3 图像采集系统软件设计
USB设备的软件开发包括设备固件、设备驱动程序以及应用程序3方面设计。
3.1 设备固件
设备固件设计是由主程序和中断处理程序2部分组成,其中,主程序负责系统外设器件的互联以及初始化设置USB端口等。系统上电时,通过 USB电缆将固件程序下载到CY7C68033的内部RAM,为了传输可靠,固件程序下载采用批量传输方式。由于系统要求快速持续传输大量数据,因此采用同步传输方式。
3.2 USB设备驱动程序
USB设备驱动程序设计一般采用Windows DDK(devicedriver kil)设计,但由于DDK的复杂性和调试难度,难以开发稳定完善的USB驱动程序。因此,这里选用NuMega公司的开发软件DriverWorks,它是以面向对象的思想完全封装DDK的所有库函数。
通过DriverWorks提供的类,编写大部分驱动程序。最重要的是DriverWorks提供对USB总线的封装,这样大大简化对USB总线的操作接口。DriverWorks通过向导生成USB驱动程序的框架,并利用KDriver、KPnpDevice、KpnpLowerDe-vice等类简化 WDM(Win32 driver module)驱动程序编程,它们分别对应的封装是WDM中的PD0、FD0、FiD0。每一个WDM驱动程序都有一个入口函数AddDevice,当 PC机监测到USB接口中接入新设备时.立刻调用入口函数AddDevice并且创建设备的PD0,接着将其保存到函数参数指针中。成员函数 AddDevice同时创建另外一个设备对象FD0.它被KPnpDevice封装。对WDM总线驱动程序的上层接口通过KpnpLowerDevice 类实现FD0和PD0之间的连接,同时它也提供对PD0的操作接口。对USB客户驱动程序从KLow-erDevice类派生出的 KusbLowerDevice类封装USB的底层设备对象,通过其接口操作USB总线的驱动程序。
3.3 客户应用程序
4 实验验证
DSP系统采集图像后将数据发送至USB端口,主机应用程序打开设备,先从设备读取设备描述符和通道信息,接着读取USB端口数据。采用BUS HOUND监控USB端口数据流,如图3所示。从图3看到:从USB端口读取的数据包括设备描述符数据、通道信息数据,以及从USB端口写入的数据块。实验测试数据传输率达29.5 MB/s,1 s能够传输15帧未经压缩图像,完全满足高速图像传输要求。
5 结束语
高速图像采集系统DSP通过CY7C68033的底层驱动以及简单实用的编程结构,可方便建立上层PC机与DSP之间的USB通信信道。
根据DSP的HPI接口读/写控制时序,连接CY7C68033的GPIF接口,将HPI接口的各个寄存器映射为CY7C68033的外部地址,使得 CY7C68033能够方便读写DSP内部RAM,从而建立基于USB2.0接口的PC机与DSP之间的高速图像采集通信通道。
该系统设计充分利用USB的即插即用功能,高速图像采集设备操作方便快捷,因此具有高使用价值。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~