TCD1200D线阵CCD传感器特性:
·像敏单元数目:2160像元
·像敏单元大小:14×14×14 μ m(相邻像元中心距为14 μ m)
·光敏区域:采用高灵敏度PN结作为光敏单元
·时钟:二相(5V)
·内部电路:包含采样保持电路,输出预放大电路
·封装形式:22脚DIP封装。[page]
其中SH为积分脉冲,高电平的时候,CCD像元开始累积电荷,低电平的时候停止积累;φ1、φ2为两路反相的驱动脉冲,其主要作用是控制电荷的转移;RS为信号触发脉冲,每个下跳沿会触发一个像元释放电荷,从而将电信号输出;OS则是输出信号,在经过13个哑元输出和光屏蔽输出后,输出有用信号;DOS则是参考电平信号,与OS差分之后,得到最终的信号输出。这些脉冲的要求频率高(例如RS典型频率参考值是1 MHz),相互之间匹配要求高,因而一般单片机的操作难以完成。
2 硬件电路设计
如图2所示,CCD的驱动需要发送包括SH、φ1、φ2、RS等4个驱动脉冲,其中RS的频率范围是0.02MHz到2MHz,典型值是1MHz。这种高频率的脉冲,对单片机来说,难以独立完成,所以本系统选用了一定的数字电路进行辅助设计。同时由于C8051F020单片机的A/D转换最高值为500kHz,而CCD发送模拟信号的频率(即OS的频率)与RS相同,所以RS的频率亦选为500kHz。
具体方案是用单片机自带的PCA模块发送稳定的1MHz的方波脉冲,然后通过D触发器(74HC74芯片)进行2次分频,获得5V、0.5MHz和0.25M Hz的方波脉冲(两种频率都各有两路电平总是相反的脉冲),其中0.5MHz脉冲作为RS驱动脉冲,0.25MHz的两路脉冲分别作为φ1和φ2的脉冲。同时用定时器2检测RS,进行计数,确定SH的积分时间,发送符合要求的SH脉冲,同时SH的脉冲需要一个反相器,进行电平转换(3V~5V),和发送D触发器的控制脉冲。对于DOS的采集,本系统选用的是用OP27搭建的减法器和跟随器进行采集。
CCD的脉冲控制和信号A/D转换工作主要由C8051F020单片机完成。如前所述,TX0和RX0配置在P0.O和P0.1,进行RS232通讯;由P0.2口(PCA)发送1 MHz的稳定方波脉冲;P0.3(T2)进行RS (0.5 M Hz)的计数;A/D转换触发控制位(CNVSTR)连入引脚P0.4;P0.5通过定时器2控制,发送SH脉冲;P1.1为模拟输入口,接收模拟信号。
3 人机交互界面软件设计
本系统的软件设计包括C8051微控制器的应用程序和人机交互界面的Labview应用程序。
C8051微控制器的程序流程图如图3所示,配合硬件设置好PCA、ADC等功能的初始化后,直至接收计算机发送的信息,便开始读取CCD的数据,并存储到XDATA空间当中。结束一周期的数据的采集则关闭A/D转换,并判断计算机发送的信息里要求发送整个波形还是进行位置判断(本设计还包括一个判断极值的功能,为位置传感留下了接口),若是前者,则将所有的数据发送到串口的缓存中;若是后者,则判断山转换数据的最大值,再将最大值的位置信启、发送至串口,进行完一系列的过程后,则重新开始采集,依此循环。
Labview采用图形化的G语言进行编程,完成人机交互界面软件的功能。该软件可以实现整个波形图和位置信息的实时采集,历史数据的保存和读取,以及整个系统的开始、停止和复位等控制。图4是Labview的程序框图。
4 实验结果
4.1 电路板实物图
本方案已经完全实现,经测试,效果良好,可满足基本的科研检测或演示教学任务,以下是已经制板成功的电路板。
[page]
4.2 单缝衍射测试
5 结束语
本文提供了一套完整的用单片机驱动采集CCD信号的方案,对软硬件都做了详细的介绍。其新颖之处是通过不占用内存的PCA配合D触发器和定时计数器完成驱动脉冲的产生。综上所述,C8051f020单片机能完成这项任务在于其支持一个16位的PCA模块,2个12位以上的定时计数器,2k以上的内部数据RAM,一个8位的多种触发方式的高速ADC以及UART串口。任何一个具有同样模拟外设的微控制器都能完成此方案,并且其中PCA模块可以用有源晶振代替,自带的RAM不足,完全可以用外部存储器补充,而8位ADC芯片在市场也很多,大多数单片机也都具备12位以上的定时计数器,所以这个方法完全可以推广应用,是一种普遍适用的应用方案。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』