• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > 通用线阵CCD采集系统设计

通用线阵CCD采集系统设计

录入:edatop.com    点击:

图3中,FS是帧同步,在FIFO中重置暂存指针,DataIN是暂存数据采集完毕信号,DataRdy是判断USB是否空闲信号,ADclk是FIFO的写信号,16BitIN是FIFO的读16位入口,读取A/D信号,这里兼容16位,本设计只用12位,其他4位空闲。8BitOUT是FIFO的8位输出口,RD是FIFO的读出时钟信号。在FIFO中读入的16位信号分高低位分别存储在2个8 bit存储器中,在输出时,按先高后低的顺序输出,从而完成16In8Out的转换,部分实现代码如下:


end process rdp;

在信号FS的控制下,FIFO不断地对整帧信号进行刷新,当USB传输信号到来时,刷新当前帧完毕后,开始USB快速读入操作。

2.2.4 USB部分

USB采用Cypress公司的AD2131Q,其核提供一种快速传输模式.改进8051的外部逻辑与同步/块端点缓冲器之间的传输速度。将FASTXFR寄存器设置为01010000B,读写选通时序模式为10,提供更宽的脉冲宽度,便于读取FPGA的异步FIFO信号。FIFO存储满1帧数据,由USB器件使用快速块传输上传到计算机,约6 ms完成。表1为块传输传一个像元数据所用汇编程序对比。

2.3 软件设计

软件设计主要包括3方面工作:USB驱动程序设计、动态链接库设计以及应用处理软件设计。

2.3.1 USB驱动程序设计

EZ-USB提供的FPD(通用设备驱动程序)是一个通用的设备驱动程序。利用Microsoft WDM DDK和Visiual C++5.0以上版本就可以修改和编译驱动程序,生成文件ezusb.sys。具体操作如下:①修改驱动程序的PID。在工程里EzUsbDevice.cpp文件中修改PID.VID延用0x0547不变,PID自行设定。②利用hex2c.exe将USB固件Intel HEX记录格式的代码文件转换为C文件,打开该C文件,用其中的firmware[]数组代替在工程里zUsbFirmware.cpp文件中提供的数组。③编译生成ezusb.sys文件并编写相应的INF文件。

2.3.2 动态链接库设计

动态链接库主要是通过I/O控制调用来访问EZ-USBGPD。通过调用CreateFile()来取得访问设备驱动程序的句柄,然后使用DeviceIoControl()提交不同I/O控制码,从而完成USB的控制和输入/输出操作。

2.3.3 应用处理软件设计

应用软件通过访问动态链接库(DLL)获取采集谱线数据,其主要功能有显示、设置积分时间、定格谱线、保存、捕捉、局部放大、添加谱线。

3 测试结果

采用通用CCD采集系统分别对3款CCD进行驱动和采集。这3种CCD的参数如表2所示。使用应用软件EMSpectro采集上述CCD谱线,采集效果如图4所示。

4 结束语

采用该系统对3种不同型号CCD成功驱动并采集,测试结果达到了预期的效果。系统体积小、功耗低、兼容性好、可扩展性高。该系统已成功应用于实验室开发CCD相关项目中。

作者:李正刚,袁红艳,吴一辉 中国科学院   来源:电子设计工程

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:海量脉冲电表远程抄表现地采集模块研究
下一篇:基于ARM9电能质量监测仪的数据采集

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图