微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于USB2.0的非制冷红外热像仪图像处理系统设计

基于USB2.0的非制冷红外热像仪图像处理系统设计

时间:12-27 来源:互联网 点击:
1.4 现场可编程门阵列单元

FPGA完成的逻辑功能包括:对SAA7114进行配置,将A/D转换后的数字视频流变换成固定分辨率的图像视频流及行场使能信号,控制USB芯片及SRAM存储芯片的读写时序。采用FPGA实现这些功能降低了PCB板的复杂程度,而且提高了系统的灵活性。

2 软件设计

本系统的软件由以下3部分组成。

2.1 固件程序设计

开发USB接口的应用系统最重要的是USB驱动程序和固件程序的编制。Cypress公司的开发包中提供专门的开发系统,为开发固件提供了便利条件。在Cypress的主页上有。EZ-USB开发工具包下载,提供了控制面板程序(ControlPanel)和KeilC51套装软件。在Keil uVision2环境下在Periph.c和Dscr.a5l文件中加入用户代码程序即可实现特定的功能,加快开发进度。固件程序设计主要包括初始化、处理标准USB设备请求以及USB挂起时的电源管理,初始化FIFO及USB端点。CY7C68013具有软配置的特性,当设备与主机连接后,可装载不同的固件使设备呈现不同的特性,方便外设固件的在线升级。

设置CY7C68013内部相应的寄存器,使其工作在USB2.0方式下,由固件程序应答USB的传输,而不是USB内核。芯片工作在Slave FIF0接口模式下。

框架函数分为3大类:任务分配器(以TD为字首)、标准设备请求分析(以DR为字首)和USB中断处理(以ISR为字首)。 

void TD_Init(void)

该函数在框架初始化期间调用,函数中可设置整体状态变量的初始值,规定各种资源的使用及配置外围接口的输入/输出等。

Void TD_poll(void)

设备工作期间,该函数重复调用,包含一个执行外设功能的状态机。

BOOL TD_Suspend(void)

该函数包含使设备进入低功耗状态的程序,然后返回True。返回False时,阻止设备进入挂起状态。

void TD_Resume(void)

此函数使设备恢复到正常操作方式。

设备请求主要完成的任务是确定新的配置接口和端点。USB中断完成用户定义的中断请求服务。本设计中使用的是SLAVE FIFO工作模式。

  2.2 FPGA的程序设计

SAA7114不仅输出了数字视频流,还输出了场同步信号、行同步信号、奇偶场信号和像素时钟信号,FPGA根据这些同步信号以及SRAM的片选、写选通信号等来控制视频数据流的时序,完成图像采集、缓存和上传。

2.3 上位机驱动程序设计和应用程序设计

利用VC++6.O对Cypress提供的GPD重新扩充生成定制的驱动程序。应用程序是通过I/O控制调用访问USB设备完成红外视频的采集、处理、显示及存储。

3 结束语

该系统能够完成图像的采集、传输、存储等要求,达到了设计的数据传输要求。系统具有集成度高、灵活性好、即插即用与自动配置等优点。但图像在高分辨率的情况下数据量较大,当PC连接有多个USB高速设备时对带宽的要求较高,可先将数据压缩后再上传。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top