一种用单片机控制的光谱数据采集系统的设计
摘要:介绍利用单片机和A/D器件MAX120等构成的光谱信号采集系统,由单片机控制A/D产生不同的采样频率,用于光电倍增管和CCD输出的光谱信号的采集。
关键词:单片机 A/D 信号采集 光谱
概述
在光谱测量中,常用光电倍增管(PMT)和电荷耦合器件(CCD)作为光电转换器。在慢变化、高精度光谱测量中使用PMT;对于闪光灯、荧光和磷光等强度随时间变化时的光谱信号则采用CCD。PMT和CCD输出的信号形式是不同的:光电倍增管输出的是连续的模拟信号;CCD输出的是视频脉冲信号。由于输出信号的不同,相应的信号采集电路也不尽相同。本文所述的系统通过设定控制开关的不同状态,由单片机检测、判断和执行相应的操作,完成对不同形式输入信号的采集。采集到的光谱强度通过并口送入计算机进行处理、计算,并显示和打印出光谱曲线。
由于CCD像元几何尺寸小、精度高,有光积分时间和信号存储功能,因此,可以用来进行光谱测量。被测光源发出的光线经狭缝落在光栅平面上,经光栅色散后在CCD像元上成像,CCD各像元的位置对应于光线色散后不同的波长。CCD输出的是被测对象的视频信号,在视频信号中每一个离散电压信号的大小对应着该光敏元所接收光强的强弱,而信号输出的时序则对应CCD光敏元位置的顺序。由采样电路对CCD输出信号进行逐位采样,根据采样的位数,就可以知道信号所在的波长,而信号的幅度则是该波长的光谱能量。这样,只要对目标进行一次采样,就可以得到在一定波长范围内的光谱分布曲线,因而可以用来测量闪光灯等瞬态发光光谱。
光电倍增管以其特有的倍增系统,成为一种理想的低噪声放大器。它可以探测极微弱的光信号,而且响应速度很快,有效面积也大,被广泛应用于光信号测量的领域。光电倍增管输出的是一个理想的电流源,外接一个负载电阻,通过测量信号电流在负载上的电压降,即可得到光谱信号。
一、系统设计
利用单片机控制A/D采集光谱信号是一种方便快捷的方法。光谱数据采集系统的原理框图如图1所示。它主要由单片机、CCD时序产生电路、
多路选择开关、A/D采样电路、存储器、并行口倍增管高压调整电路等组成。我们设计的信号采集电路可以用于两种探测器。针对不同的探测器,单片机工作在不同的状态,利用同一A/D采样电路,完成信号的采集。A/D采样通过并口和计算机通讯,由计算机完成光谱数据的处理。这在应用中非常方便实用,可以满足光谱测量要求。
AT89C52是美国ATMEL公司的产品。89系列的单片机与80C51系列完全兼容。它的最大特点就是在片内含有Flash存储器。我们选用的AT89C52是在标准型AT89C51基础上改进的(在存储器容量、定时器和中断能力上加以改进)。AT89C52的内部含有8KB可改写的Flash内部程序存储器,可擦/写1000次,3级程序存储器加密,256字节内部RAM,32根可编程I/O线,3个16位定时/计数器,可编程串行口,中断级8级。
1.A/D转换
在光谱数据采集系统中,A/D转换器选用MAX120。其引脚和电路原理如图2所示。MAX120是一种采用BiCMOS工艺、带采样电路的12位模拟数字转换器(ADC);它有片内的跟踪、保持电路(T/H)和低漂移电压基准电路,而且转换速度快、功耗低。它的转换时间为1.6μs,其中包含了T/H电路250ns的采样时间,因此,MAX120的吞吐率高达510 5次/s采样,可以满足一般测量需要。
MAX120可以接收-5~+5V的模拟输入电压,惟一需要的外部元件是去耦电容(用于为电源电压和基准电压去耦)。它的工作可用0.1~8MHz频率范围的时钟信号。MAX120采用了标准的微处理器接口,3态数据输出可直接与12位数据总线连接。访问数据和在线释放的时序特性参数允许在不插入等待状态的情况下与大多数微处理器兼容。所有的逻辑输入端和输出端与TTL/COMS电平兼容。
图2(b)所示电路图中,内部缓冲器对电容进行充电以减少2次转换之间所需的采集时间。模拟输入端可以看作1个6kΩ电阻与10pF电容并联的电路。2次转换之间,缓冲器输入通过输入电阻与AIN相连。当转换开始时,该输入端又与AIN断开,于是就采集了输入信号。在转换结束时,缓冲器输入端又重新与AIN相连,保持电容再次充电至输入电压。只要不是正在转换过程中,T/H电路就处在跟踪方式下。
MAX120有5种工作方式:全控制方式、独立方式、慢存储方式、ROM方式和连续转换方式。方式1是全控制方式,它为用户提供最大的控制能力,以控制转换的开始和取数操作。全控制方式用于能插入或不插入等待状态的微处理机系统。方式2是独立方式,为用户提供较大的自主空间。方式3是慢存储方式,主要用于ADC的转换期间微处理器不能被强制进等待状态的微处理器系统。方式4是ROM方式。方式5是连续转换方式,用于基于微处理器的系统。
系统设计中采用MAX120的工作方式2,即独立方式(MODE=开路,RD=CS=DGND)电路连接方式如图3所示。这种方式下,MAX120能直接与FIFO缓冲器相连或通过DMA口直接与存储器相连。在独立方式下,CONVST引脚上的下降沿启动一次转换,数据输出端总是开放的,当INT/BUSY引脚电平的上升沿指示转换结束时,数据端上数据就得到更新。因为A/D的数据端总有数据,所以,用74HC245双向三态八总线收发器进行总线隔离。
MAX120的输入信号范围为-5~+5V。在对采集信号进行电平调整时,需要用1片LF356运算放大器,电路连接如图4所示。通过对电位器RP2和RP3的调整来实现电平调整,以满足A/D对输入信号的要求。电路MAX120为双极性输入/输出的变换函数。代码的变换均出现在相继两个整数最小数据位(LSB)值的中间。输出代码是2的补码的二进制码且1LSB=2.44mV(10V/4096)。
增益调整和双极性偏置调整,由图4中的电位器RP3和RP2来实现,调整中偏置调整应先于增益调整。调整双极性偏置时,将+1/2LSB(0.61mV)施加到没有反向的放大器输入端,然后调节RP3,使输出代码在0000 0000 0000和0000 0000 0001之间变化。对增益的调整,将满量程(FS)-1/2LSB(2.4988V)施加到放大器的输入端,然后调节RP2,使输出代码在0111 1111 1110和0111 1111 1111之间变化。这两个调整之间可能有一些相互影响,须要反复调整。偏置和增益的调整是对A/D转换的细分,目的在于提高A/D的精度。
2.A/D转换的过程
本系统中,CCD输出信号的重复频率为200kHz,因而,要求模数转换器的速率要高于200kHz。A/D转换器的工作控制不用系统CPU来完成,而是用专用逻辑控制电路完成,包括地址产生器、总线缓冲隔离器、读写控制逻辑电路和数据存储单元。在数据转换过程中,CPU只负责转换电路的启动和检测1帧数据转换是否结束,中间过程无须CPU干预,使对CCD1帧数据转换由逻辑控制电路自动完成。A/D一次采样的工作过程为:①接收光耦同步采集信号;
②驱动A/D转换;③单片机查询是否转换完成;④读出数据,存入存储器。转换过程控制程序框图如图5所示。
用光电倍增管对小于10kHz调制频率的慢变化光谱信号的测量,50kHz的采样频率可以满足测量的要求,其采集电路可以适用于各种光电倍增管的输出信号采集。我们选用12MHz的时钟频率,对软件进行优化,其运行的时间为20μs,采样频率为50kHz,可以满足采样的要求。
3.光电倍增管的高压调整
在光电倍增管应用中,高压的稳定性直接影响测量的精度。一般,光电倍增管的倍增级为10级左右,图6所示为倍增管高压与电流增益之间的电流增益之间的倍增关系。从图6可看出电流增益约与阴极-阳极间所加电压的10 6~10 10成比例。所以PMT的输出对工作电压非常敏感,使用时,必须用高稳定性的高压电源。高压电源的漂移、纹波、温度变化、输出变化、负载变化等的综合稳定度必须优手所要求的光电倍增管稳定度1个数量级。我们选用的是由HAMAMATSU(滨松)公司生产的高压模块,其电压最大漂移量为0.03%h。
为扩大动态范围,须对光电倍增管的高压进行动态调整。图7是控制电压和控制电阻上相应的输出电压的关系曲线。光电倍增管的专用高压模块通过改变高压模块调整端的电压或电阻,来改变输出端的高压。调整电阻用10kΩ电位器,电压调整范围为0~1.4V。
图8所示为滨松公司高压模块的原理框图。
为满足不同的测量要求,需要设置三个量程。一般量程的调整为人工调整电位器,效率较低、精度不好控制。这里我们利用单片机控制可编程数字电位器X9C103来实现调整倍增管高压,图9是X9C103的接线原理图。根据测量输出信号的强弱,相应调整PMT的高压,并将调整的状态通过并口送入计算机。X9C103是一个包含100个电阻单元的电阻阵列。在每个单元之间和任一端都有可以被滑动单元访问的抽头点。滑动单元的位置由片选输入端CS、升/降输入端U/D、增加输入端INC控制。它类似于TTL升/降计数器,总阻值10kΩ、工作时钟250kHz、工作电压+5V,滑动端位置存储于非易失性存储器中,可在上电时重新调用,滑动端位置数据可保存100年。X9C103是固态非易失性电位器,它与机械电位器相比有调节更精确、不受意外影响(振动、污染)、节省空间、易于安装、滑动端位置易于由单片机或逻辑电路控制的优点,是理想的数控微调电位器。三线接口由单片机P0口控制1片74LS374来完成锁存,软件编程实现。
二、应用
为了满足光谱采集的需要,我们设计了相应的信号采集电路,应用单片机控制A/D芯片完成对于两种不同的探测器输出信号的采集。实际应用表明,采集系统的信噪比、采样频率等性能可以满足测量的要求。
1.用于CCD输出信号采集
采用CCD测量光谱大大缩短了测量时间,减少了外界环境对测量精度的影响。对于闪光灯、荧光和磷光等强度随时间变化的光源,采用CCD测量其光谱分析,能得到精确的测量结果。
单片机在其中要完成的工作是控制CCD时序脉冲的产生和高速A/D采样频率的实现等,其原理框图如图10所示。对于两相线阵CCD,须要在其相关引脚加入适当脉冲才能正常工作,主要有两相时钟脉冲ψA和ψB、转移门ψTG、复位门ψR,并且要输出与CCD输出信号同步的脉冲,作为信号采集的同步触发信号,其主驱动脉冲由单片机控制产生。
CCD将光信号转换成视频脉冲信号后,经差分放大和电平调整电路后,输出满足MAX120输入信号范围的信号(-5~+5V),送入A/D转换器的输入端。逻辑控制电路的输入信号是CCD视频脉冲同步信号、微处理器控制是否进行A/D转换信号、A/D转换器状态信号和数据存储器地址信号,经一定的逻辑运算后输出A/D转换的起始信号、地址产生器的计数信号以及送入AT89C52单片机计数端口用来控制转换次数的计数信号。数据隔离器的作用是将A/D转换部分的数据线与主机部分的数据线隔离,使两部分可同时独立工作,不会产生干扰,且在需要时可将A/D转换器的转换结果(在存储器中)读入主机进行处理。地址产生器由二进制计数器构成,数据存储器的地址线与计数器的输出端相接,计数输入信号有清零信号和计数信号。其中,清零信号受主机控制,每次对1帧CCD信号转换前,必须将地址产生器清零,使2048个像元信号的转换结果从零地址开始依次存放;同样,在读存储单元时,也要先地址产生器清零。计数信号由逻辑控制单元提供,在A/D转换和读存储器期间,每对存储器操作1次就使地址加1,连续操作就可以顺序读写存储器。地址分配器是主机用来给每个读写端口分配地址的。由于本系统的独持设计,每个数据存储器只占用1个地址。只要反复对某一地址操作,就可将存储器中的数据读出。
最后,由系统总控制单元采用适当的计算对其进行处理得到被测物图像的信息。系统总控制单元除完成数据处理工作以外,还担负着数据存储、CCD积分时间控制、PC远程数据传输和控制等工作。
下面给出利用信号采集系统得到的实测光谱。图11是用CCD实测的闪光灯泵浦可调谐掺钛宝石激光器的输出光谱。通过在激光腔内加一铌酸铌晶体光电开关,改变铌酸晶体上的电压,使不同波长的光在激光腔内发生振荡,从而实现钛宝石调谐。这是一种新型的实现钛定石调谐的实验方法,图11所示光谱线就是改变铌酸铌晶体电压,用CCD实测的钛宝石激光器的输出光谱线。每改变一次电压就能很快地、准确地得知输出光的波长和带宽。
2.用于光电倍增管输出信号采集
根据被采集光谱信号的特征和采样频率的要求,我们设计了相应的信号采集电路,如图12所示。它的采样频率为50kHz,同时根据测量信号的强弱,相应地调整光电倍增管的高压,从而提高采集系统的动态范围。在这种工作模式下,由AT89C52完成信号采集过程控制和倍增管的高压自动调整。控制完成信号的采集、数据存储和数据的传输。数据存储由一片6264完成,采集到的光谱强度通过并行口送入计算机进行处理。
由于PMT的灵敏度高、精度高,常用来测量分子吸收光谱。利用光谱法检测空气中污染气体的含量,是目前常用的快捷、连续、在线的监测方法。研究污染气体分子的特征吸收光谱是准确测量的关键。图13是利用光电倍增管测得的SO2特片吸收光谱。它是用氘灯日光源,光经过含有SO2气体的吸收波,由光谱仪分光,在出射狭缝处用光光倍增管接收光谱信号。在50kHz采样频率下测得SO2在300nm波长附近的特征吸收光谱,入射光的调制频率日1kHz。