摘要:针对设计微型光谱仪时常会根据需要更换CCD,PDA的现状,采用Cypress公司的AD21310和Cyclone系列FPGA设计适用于多种线阵CCD和小型面阵CCD的通用采集系统,设计16口入8口出异步FIFO。提供192 Kb高速缓存空间。USB器件采用快速读入方式,极大提高了数据传输速度。系统实现了多种线阵CCD采集,同时也实现了相关双采样技术,具有快速、便捷、模块化的特点。
关键词:数据采集;CCD;FIFO;USB
1 引言
随着微型光谱仪快速发展,CCD和PDA广泛使用,CCD和PDA的种类型号越来越多,每种型号都需要专门的驱动采集板,使得开发产品周期长、费用大。这里提出一种基于FPGA和USB的通用CCD采集系统设计方案。该系统在不改变硬件的情况下可以采集多种CCD,并上传至PC机,使用软件处理采集到的数据。
2 通用CCD采集系统设计
系统部署图如图1所示。系统硬件分为接口板、通用驱动采集板、计算机。接口板匹配驱动信号,将CCD输出视频信号通过前置处理后链接到CCD通用采集板。在CCD通用采集板中,A/D转换器对视频信号进行模数转换后,按帧暂存在FPGA内的FIFO中,通过USB快速块传输模式上传到计算机中.最后计算机软件MEMSpector处理并显示采集到的谱线。
通用性是由通用CCD驱动模块和16In8Out异步FIFO实现的。根据不同类型的CCD编制不同的CCD驱动模块,采用16In8Out异步FIFO,FIFO根据CCD驱动模块提供的FS帧同步来确定暂存A/D转换一帧像元数,实现了采集A/D转换数据与USB传输的分离,在修改或升级CCD驱动时,无需修改采集和数据输出代码,实现了通用性。
2.1 CCD接口板
由于大多数CCD管脚不兼容,视频输出电压也不同。CCD接口板提供CCD插座和转接CCD驱动信号以及输出信号电压匹配。CCD接口板是各种类型CCD链接到通用CCD采集板的纽带。
2.2 通用驱动采集板
通用驱动采集板由A/D转换、FPGA(通用CCD驱动器模块和16In8Out异步FIFO模块)、USB 3部分组成。A/D转换部分完成系统的A/D转换;FPGA部分完成系统的CCD驱动、数据采集、CDS实现;USB部分完成数据的传输。
2.2.1 A/D转换部分
系统需采集多种CCD并实现CDS,而且系统主要由USB供电,这就要求A/D转换速度快,供电电压低,最好参考电压内置。AD9235-40属于12位、40 MS/s模数转换器系列,采用3 V单电源供电,该系列均内置一个高性能采样保持放大器(SHA)和基准电压源。AD923540采用多级差分流水线架构,内置输出纠错逻辑,在40 MSP/S数据速率时可提供12位精度,并保证在整个工作温度范围内无失码。
FPGA中采集信号发生器提供A/D采集时钟,同时也控制FIFO和CCD驱动器。A/D采样速率不再受数据传输和采集制约,采样速率完全和CCD速度匹配。并可实现1帧内1个像元的双采样,从而实现CDS。
2.2.2 FPGA部分的通用CCD驱动器模块
由于不同生产商的CCD器件的驱动时序往往差别很大,因此需针对每种CCD器件编制其CCD驱动器模块。驱动时钟和采集脉冲由分频器和采集信号发生器提供,如图2所示。
CCD驱动器输入信号由两路驱动时钟和积分时间控制信号INT组成;输出信号由帧同步信号FS和CCD Driver信号组成。不同的CCD驱动器模块仅CCD Driver信号有所不同,其他接口一样。在改变CCD时只需替换CCD驱动器模块即可。
2.2. 3 FPGA部分的16In8Out异步FIFO
FIFO用于暂存A/D转换的信号。待存满1帧并且USB块传输空闲后,将FIFO中的1帧数据通过快速块传输上传至计算机。1帧的像元个数由CCD驱动模块提供的FS信号决定。FIFO内的存储空间为192 Kb。满足线阵CCD和小型面阵CCD的数据存储需求。图3为16In8Out异步FIFO的内部原理图。