CCD驱动时序2 ——AD9945
AD9945最大支持40M,12bit的AD转换,上图是手册中给出的典型系统应用图。在项目中,CCD分4路输出,用4片AD9945完成40MHz的AD转换,再用FPGA以160MHZ的时钟完成拼接(系统第一版的芯片方案,后续升级会用多通道AD及专用的时序生成器)。
图2
图2为控制AD内部寄存器设置各参数的时序,SCk支持10MHZ,地址在前,数据在后,数据必须给完整的12位,不足的用0填充。由于芯片在上电后有个reset过程,所以在至少1ms后才能对芯片写数据,具体实现时可先等待至少1ms,然后把SL置低,同时写入逐位地址和数据,注意先写低位,最后将时钟取反即可。
图3
图3 为控制AD中CDS(相关双采样)的时序,在SHP时钟上升沿采样基准电平信号,在SHD上升沿采样数据信号,DATACLK上升沿完成两个信号的差值输出,同时准备接受下一个像素的电信号。CDS的时序要求非常严格,我直接用FPGA的PLL产生SHP和SHD,SHP为75%的占空比及150°的延时,SHD位75%的占空比和300°的延时。
图4
图4中CLPOB是有效时是黑电平像素,及没有光照,由暗电流引起的电荷信号,用于AD中的反馈,为保证有效采样,要20个像素时间的低电平,以一行为周期,项目中用的CCD芯片的黑电平像素左右两边各有22个,正好满足要求。
PBLK很是让人费解,一开始不明白他的意义,手册上给的资料少的可怜,不过ADI公司的售后服务倒是很不错,最后在他的论坛上看到有ADI公司的工程师给出了解答:PBLK期间AD芯片输出全部为低,上升沿后延时9个时钟周期,才输出正常的数字信号,因此我在每一行像素输出前9个时钟让PBLK置高,就保证了OUTPUT在第一个像素是就能有效输出,同时给出一个使能信号,供后面做拼接的师兄使用。
现在就等板子焊好,调试,看看效果如何.
用户377235 2015-10-30 08:59
用户436172 2014-11-5 11:27
用户436172 2014-11-5 11:26
用户377235 2012-12-18 18:38