- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于FPGA的面阵CCD驱动电路的设计
1.2 基于FPGA的CCD驱动时序的实现
可编程逻辑器件FPGA具有集成度高、速度快、可靠性好及硬件可编程的特点,开发灵活、易于维护、非常适合CCD驱动的设计。设计选用的是Xilinx公司Spartan3系列的XC3S50,在分析CCD驱动时序关系的基础上,采用硬件编程语言VHDL编写,开发软件为ISE 10.1。
程序输入为40 MHz主时钟CLK,由外部晶振提供,输出为十三路驱动信号。设计采用单路输出的方式,输出数据速率选为10 MHz。使用全部1 024×1 024个有效像元,在水平方向上,有效像元加上隔离元、黑参考元等共1 056个像元。在垂直方向上有效像元加上哑像元、黑参考元等共1 056行。进行适量冗余设计,再考虑帧转移和行转移所占用的时间,帧频为每秒8帧。复位时钟OR由主时钟四分频得到。由于CCD各驱动信号间要严格地满足时序关系,且波形比较复杂,程序采用多进程,多计数器循环嵌套的方式实现。帧时钟φA为最外部循环,在光积分阶段,由行逆程和行正程组成第一部分内循环,由主时钟分频、计数设计完成,同时产生行脉冲信号,对行脉冲信号计数产生帧周期;在电荷转移阶段帧转移脉冲φP1~φP4(行转移控制信号φM1~φM4)组成第二部分内循环,信号间的时序关系由主时钟分频、移位实现。
在设计上,需要注意以下两点:
(1)帧转移脉冲φP1~φP4的占空比为5:3,因此先用一个八进制的计数器设计出占空比为5:3的脉冲,再由帧时钟φA的控制及移位操作来实现其严格的时序。
(2)对于φA和φP1~φP4,手册上对其波形的边沿变化时间有限制,对于时间上限,由于信号从FPGA输出之后是通过驱动器EL7212驱动后送入CCD的,而EL7212输出波形的上升及下降时间的最大值已满足此上限要求;对于时间下限,可在CCD管脚附近增加电容和电阻调节波形边沿的陡峭度来满足要求。
1.3 CCD驱动时序的仿真
设计采用ISE 10.1自带的仿真工具对时序进行仿真,并对Xilinx公司的FPGA芯片XC3S50进行配置下载,通过功能仿真验证设计的可行性。驱动时序的仿真结果如图2,图3所示。
由图可见,设计完成了CCD对驱动信号的要求。
作者:侯新梅 李自田 胡炳樑 来源:现代电子技术
上一篇:小议屏蔽布线系统中的安装技巧
下一篇:软开关功率因数电路分析