微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于EZ-USB FX2的图像采集系统的设计与实现

基于EZ-USB FX2的图像采集系统的设计与实现

时间:02-09 来源:互联网 点击:

摘要:针对光学显微镜序列切片图像采集设计了一种图像采集系统。使用Philips解码芯片SAA7113H将CCD模拟视频信号解码为8位数字信号,利用CY7C68013A的内置FIFO及串行接口引擎将未压缩的图像数据直接通过USB串行总线传输到PC机,在PC机上实现图像的显示和存储。经验证,采集系统可实现最大25帧/秒速率,720x576分辨率图像的可控采集功能,具有成本低,采集图像清晰,响应速度快等优点,稍加修改后即可用于其他要求快速图像或视频采集的场合。
关键词:图像采集;USB2.0;PAL;CY7C68013;SAA7113H

由于图像采集系统采集的数据量大,带宽要求高,以往的图像采集系统通常使用PCI总线实现。但是计算机本身配置的PCI接口数量非常有限,而且拆装PCI接口设备需要打开机箱,一般操作人员并不具备这样的能力,导致系统应用受到限制。USB(通用串行总线)接口列可以完全解决以上难题。首先,USB2.0接口的速度已经达到480Mbps,完全可以满足图像采集系统对速度的要求。另外,USB接口是真正支持即插即用,且允许热插拨的接口,所以目前大量数据采集系统都选择使用USB2.0接口实现。
本文利用SAA7113H实现模拟视频信号解码,并借助EZ-USB FX2单片机CY7C68013将数字图像数据直接通过USB2.0接口传输到计算机,通过PC机程序实现图像的无损采集,大大简化了采集卡的硬件设计,降低了采集卡硬件要求,有效降低了图像采集卡的成本。

1 系统硬件设计
系统硬件结构如图1所示。系统主要由视频解码芯片SAA7113H、USB控制芯片CY7C68013和一块容量为1 kB的24C01EEPROM芯片组成。

1.1 视频解码芯片—SAA7113H
SAA7113H是飞利浦公司出品的一款视频解码芯片,它的作用是将输入的模拟视频信号解码为标准的8位VPO数字信号。它可以输入4路模拟视频信号,通过I2C总线对内部寄存器的不同配置可以对4路复合视频输入进行转换,改变亮度、对比度等参数。SAA7113H兼容PAL、NTSC等多种制式,可以自动检测场频,可以在PAL、NTSC之间自动切换控制。SAA7113H解码后输出的是标准的YUV 4:2:2格式数字信号。
1.2 USB控制芯片——CY7C68013A
CYTC68013A(EZ—USB FX2)是Cypress半导体公司推出的一款USB2.0芯片,它内部集成了增强的8051内核,支持最大48 MHz的时钟频率,在相同时钟频率下,FX2的平均指令执行速度可达到标准8051的2.5倍。CY7C68013芯片内部集成了一个与8051内核相对独立的SIE(串行接口引擎),在不需要8051内核参与的情况下,通过USB端口和外部逻辑共享FIFO的方式,实现外部数据与USB端口的数据交换,大大加快了数据传输的速度,可实现的最大速度为480Mbps。
1.3 系统硬件实现
硬件连接方面,利用CY7C68013的I2C端口连接24C01,以便在系统上电后提取24C01中的信息,实现设备枚举,下载相应固件。利用CY7C 68013模拟I2C端口连接SAA7113H,对其内部寄存器进行配置,实现解码芯片初始化操作。CY7C68013工作在Slave FIFO(从属的FIFO)模式,将SAA7113H的VPO数据总线直接连接到CY7C68013的FD总线,使用CY7C68013的IOAO端口检测数字视频的场标志信号,用于实现帧同步。将CY7C68 013的SLWR*(从属写)信号量为有效,SLRD(从属读)和SLOE(输出有效)置为无效,由SAA7113H通过自身输出的27MHz同步时钟将数字视频信号以同步方式直接写入CY7C68013内部的FIFO,再通过SIE将FIFO中的数据以高速方式直接传送到PC机,实现视频数据的采集。

2 系统软件设计
系统软件设计主要包括固件程序设计、驱动程序设计和PC机采集程序3大部分。
2.1 固件程序设计
固件程序流程图如图2所示。该固件在采集卡上电后初始化CY7C68013,使其工作在Slave FIFO模式,设置总线位数为8位,以便接收SM7113H的8位数字视频信号。将EP2端点设置为批量AUTO IN传输方式,512字节4倍FIFO缓冲。一次最大传输数据包大小为512字节。利用SAA7113H的时钟信号实现同步从属FIFO写数据。

通过模拟的I2C端口初始化SAA7113H,使其能够接收CCD摄像机的模拟视频信号,以标准的ITU656格式输出,并设置RSTO输出奇偶场标志,然后等待上位机的开始采集命令。
在收到PC机开始图像采集命令后,固件程序首先通过IOAO端口检查SAA7113H的奇偶场信号。如果外部模拟视频信号源未连接,该信号将一直维持高电平。固件在一段时间等待并确认外部视频信号未连接的情况下,向PC机回传设备尚未准备好的信息,否则一直清空FIFO,将FIFO中已有效据清除,直到奇场信号到来,固件回送设备准备好信息给PC,以实现视频图像帧同步采集。图像数据传输过程将由SIE完全控制,固件不参与传输操作。
2. 2 驱动程序设计
Cypress开发包中提供了一个通用驱动程序,即cyUSB.sys,该驱动程序符合Windows硬件质量实验室WHQL标准,系统直接使用该驱动程序实现图像数据采集。由于CY7C68013采用的是软配置的方案,芯片中并没有提供用于永久存放固件程序的存储器,固件程序需要在每次上电后通过外部存储器加载或从PC机下载到内部RAM中。驱动程序主要实现固件程序的装载功能,以便系统上电后,可以自动从PC机下载固件到CY7C68013,然后使用通用驱动程序完成采集卡的设备重枚举。
在Cypress提供的开发包中包含了一个固件下载驱动模板,即EZ-Loader Driver。系统固件下载驱动主要依赖它来实现。具体的步骤为:
1)利用hex2c.exe将Intel HEX格式文件转换成C代码数组。
2)将所有的EZ-Loader Driver文件连同子文件复制到一个新建的目录中。并利用第一步得到的C代码数组替换EZ-Loader Driver中firmwa re.c中的数组。
3)在WindowsXP DDK中使用build命令在新建目录中创建固件下载驱动程序。
4)改写驱动安装信息文件。
2.3 PC机采集程序
PC机采集程序用Visual Studio.net 2003调用CyAPI函数库实现。为提高图片采集速度,程序使用两个线程分别实现图像数据采集和图像甄别和处理。程序总流程图如图3所示。

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

网站地图

Top