高帧频CCD数据采集处理系统的设计
3.2.2 ADC控制信号
AD9942内部寄存器由6条外部配置线进行写入,分别为两条32位数据线SDATA_X(SDATA_A,SDATA_B)包括8位地址、24位数据(用于AD工作状态控制);两条位同步信号SCK_X(SCK_A、SCK_B);两条控制有效信号SL_X(SL_A、SL_B)。数据信号在A/D变换前,即帧同步和行同步信号开始前,SL―X为低电平时由FPGA写入A/D寄存器,并控制其工作状态。仿真时序图如图5所示。本文引用地址:http://www.amcfsurvey.com/article/188517.htm
3.2.3 FPGA实现数据缓存
经过A/D器件转换之后的数据,首先通过FPGA内部高速缓冲,然后再转存到片外存储器中。该系统中FPGA内部Block RAM阵列的控制采用乒乓传输结构,它可以保证采样和传输各自不间断的进行。具体做法是将96个:Block RAM分成两组(RAM1,RAM2),时钟和控制信号均独立。系统工作时,输入数据分为两路,流向由VHDL语言编程控制写地址来实现RAM1和RAM2的选择,当地址指向第一组的48块Block RAM时,RAM1进行数据写入,与此同时,第二组的48块BlockRAM则进行数据读出;RAM1存储结束后,切换到RAM2写入而RAM1读出的模式,如此循环。
XQ2V3000每一个Block RAM的容量为18 Kb,总容量为1 728 Kb(18 Kb×96),CCD输出的一帧图像数据量为1 572.864 Kb(256行×512列×12 b),可见完全可以实现帧存储。具体实现时由RAM1和RAM2各存取半帧图像,用VHDL语言在对读/写地址进行编程时,计数器计数满128行数据后,读/写地址分别指向另一个RAM,部分写地址仿真图如图6所示。
最终经过对AD9942的各项控制信号和FPGA数据缓存地址的仿真,仿真结果正确并符合技术手册的各项要求。
4 结 语
这里介绍了一种基于FPGA控制的CCD高速数据采集处理系统的原理和实现。由于创新性的将系统控制和数据缓存集成在一片FPGA内,并将多路CCD模拟信号通过分时复用一片AD9942实现了模/数转换。从而提高了系统的集成度,而且采用FPGA完成整个系统的主体设计具有速度快、设计灵活、保密性好和维护方便等优点,有效地解决了全系统控制同步问题。通过仿真结果测试,该系统可以稳定的工作,A/D转换速率可以达到40 Mb/s,帧频实现300帧/s,可以为CCD应用向高速、小型化、智能化、低功耗方向发展提供借鉴意义。
评论