·上一文章:基于PIC16F877A的太阳能与市电互补照明系统控制器的设计
·下一文章:基于光纤传感器的油气水三相流持气率测井仪
1 硬件设计
本系统的硬件设计主要包括CCD的驱动和信号采集。光电信号转换器件选用的是TCDl200D型CCD,其驱动需要发送SH、φ1、φ2、RS等4个驱动脉冲,其中RS的频率(与A/D转换需要的频率相同)范围是0.02MHz到2MHz,典型值是1MHz。而C8051F020的PCA模块最高可发送11MHz的脉冲,ADC的工作频率达500ksps,完全可以担任驱动CCD的工作。本实验中RS和A/D转换的频率为40KHz。
具体方案如图2所示,用PCA发送稳定的0.8MHz的方波脉冲,然后通过D触发器,进行2次分频,获得5V,0.4MHz和0.2MHz的方波脉冲(两种频率都各有两路电平总是相反的脉冲),其中0.4MHz脉冲作为RS驱动脉冲,0.2MHz的两路脉冲分别作为φl和φ2的脉冲。同时用定时器2(T2)检测RS,进行计数,确定SH的周期,发送符合要求的SH脉冲。
对于DOS的采集,本系统选用的是用OP27搭建的减法器等模拟电路进行放大、滤波等预处理。
2 软件设计
本系统的软件设计包括C8051微控制器的应用程序和人机交互界面的Labview应用程序。
C805l微控制器的程序流程图如图3所示,配合硬件设置好PCA、ADC等功能的初始化后,直至接收计算机发送的信息,便开始读取CCD的数据,并存储到XDATA空间当中。结束一周期的数据的采集则关闭A/D转换,并判断计算机发送的信息里要求发送整个波形还是进行位置判断,若是前者,则将所有的数据发送到串口的缓存中;若是后者,则判断出转换数据的最大值,再将最大值的位置信息发送至串口,进行完一系列的过程后,则重新开始采集,依此循环。