一种基于dsPIC30F6014A单片机的荧光测量系统设计*
2013-05-14武志翔王吉松李建超
武志翔,王吉松,李建超,邓 琥
(西南科技大学 信息工程学院,四川 绵阳 621010)
荧光分析是直接测定物质的次级光发射,所以较吸收光谱分析有较高的灵敏度和较好的选择性,现已广泛应用于环境、工业、农业、医学等科学研究和生产领域[1]。近年来,国内外许多学者对荧光仪器与装置的设计和开发做了相应的研究。金海龙等实现了对海藻叶绿素a浓度在线测量的便携式光纤荧光测量仪的设计[2];司马伟昌等构建了一种新的浮游植物分类检测的多波长LED阵列光源叶绿素荧光探测仪,实现了分类的检测[3];邱健等采用紫外荧光法测量了二氧化硫的含量,并做了基础实验研究[4];高明等设计了基于荧光与C8051F020单片机的水中油检测系统,实现了水中含油类污染物的检测[5]。
本文主要研究了一个基于dsPIC30F6014A单片机控制的荧光测量系统,实现了对荧光信号的探测、信号转换及采集等,并能灵活地进行配置,可实现荧光类物质的快速测量。
1 系统设计及工作流程
1.1 系统总体结构设计
整个系统由主控单元、光路单元和光电检测单元等部分组成。测量系统在主控单元的有效时序控制下,协调光路单元及样品单元等,实现催荧光信号的激发、捕捉、转换、采集和显示等环节。本文所涉及的荧光测量系统整体框图如图1所示。
系统主控单元是整个系统的控制中心,是核心部件。系统主控单元包括微处理器、E2PROM、键盘、7段数码管、时钟电路和串口通信等。本系统采用dsPIC30F6014A型单片机作为微控制器,它是一款16位单片机,在数据处理方面表现出色,其具体技术参数如表1所示。
系统的光路单元由脉冲氙灯作为激发光源,通过由透镜和滤光片组成的可控激发分光模块(A),一部分激发光经光束分离器分离作为参考光经由光电二极管构成的参考光探测模块探测,实时监控光源的稳定性,以减小光源不稳定性对整个测量系统带来的影响;另外一部分光激发材料是石英的流动样品池,所产生的荧光信号经由透镜、滤光片组成的可控发射分光模块(B)进行分光,后经H6780型光电倍增管探测。
光电探测模块,主要由光电倍增管、光电二极管和信号处理模块组成,完成荧光信号的捕捉、转换和采集。另外,该系统设计中也考虑到了温度监控模块、键盘输入接口和显示模块等组件,以便完成系统其他功能。
表1 dsPIC30F6014A参数表
1.2 dsPIC30F6014A单片机控制电路设计
dsPIC30F6014A是基于改进型哈佛架构的高性能的RISC单片机,提供了多达41个中断源、5个16 bit定时器、16 bit捕捉输入模块,方便实现同步外触发功能;内含4 096B的E2PROM,方便数据的存储;同时拥有两个可寻址的、具备FIFO缓冲器的UART模块,便于与上位机之间的数据传输。dsPIC30F6014A单片机的主要引脚分配如表2所示。
表2 dsPIC30F6014A单片机引脚分配表
1.3 荧光信号处理模块电路设计
总控单元通过同步控制模块产生脉冲氙灯驱动脉冲激发样品,由于采用的是脉冲氙灯,所产生荧光信号是脉冲式的,对荧光信号的处理时基于脉冲式。对信号的处理有两种方案,第一种方案是取出每一个荧光脉冲信号的峰值,进行采样保持,然后经过A/D模块采样,经dsPIC30F6014A进行存储及显示;第二种方案是对荧光脉冲信号进行门积分处理,对峰值附近位置的荧光脉冲信号进行积分,通过采样积分的方式对荧光信号进行采样,后经dsPIC60F6014A进行存储显示。本文采取采样积分的方式对荧光采样信号进行处理,具体电路图如图2所示。
荧光信号经光电倍增管光电转换为微弱电流信号;再经运算放大器U1转换为电压信号;接着,经由电阻 R1、运算放大器U2、电容C和R2构成的采样积分模块以及门控信号 1(gate1),对电压信号进行积分处理;然后经由运算放大器U3构成的反相放大器调整电压到可测量的OUT信号(0 V~5 V),后经 A/D 转换,将采集结果送入总控单元进行存储和显示;在下次测量之前,通过门控信号2(gate2)对积分电容进行放电,以便于下次测量,单次测量结束。系统时序图如图3所示。
在光谱信号探测中,由于光电信息本身的性能所致,使得探测的信息较弱,要从中获得有用的信息,需要优化设计前置放大器和其他信号处理电路。本系统设计中采用精密放大器AD795对弱光信号进行前置放大;由于采用触发脉冲对脉冲氙灯进行触发,所形成的荧光信号都是脉冲式的,不能直接进入系统主控模块内部的数据采集单元进行采集,系统采用了门控电路,对荧光信号进行采样积分,然后进入系统主控模块的数据采集单元进行采集;所获得的数据经数据处理模块进行处理,最终获得被测样本的荧光强度值。
1.4 系统软件设计
整个测量系统的软件设计是在Microchip的MPLAB IDE v8.80版本的集成开发环境下进行的。系统软件设计的目标是设计出功能稳定、操作方便、易于学习的污水石油污染物在线荧光监测系统控制软件。软件的基本功能主要包括两个方面:(1)控制整个系统各部分正常工作,实现监测功能;(2)数据的分析处理、存储与显示。
本文系统软件设计采用结构化、模块化的设计方法,便于功能的扩展,程序采用C语言编写。在以dsPIC306014A型单片机为核心的总控单元上,经过设计完成以下主要功能,如图4所示。
图4 总控单元在系统中的主要功能
如前文所言,总控单元在整个系统中占据十分重要的位置,其具体实现的功能如下:
(1)氙灯触发驱动:XE_LAMP_DRIVER.c
主控单元产生脉冲氙灯触发脉冲,提供一个脉宽>5μs、频率<100Hz的驱动脉冲,通过脉冲氙灯驱动电路,以实现脉冲氙灯的稳定工作。
(2)步进电机驱动:STEP_MOTOR_DRIVER.c
由dsPIC30F6014A微控制器产生驱动脉冲,通过步进电机驱动模块驱动步进电机的转动,带动滤光片片盘来选择合适的滤光片,从而实现滤光片的选择,进一步实现分光模块的可控。
(3)信号处理单元驱动:SIGNAL_SEQUENCE_DRIVER.c
主要编程实现门控电路的驱动时序,实现对荧光脉冲信号的转换、捕捉和采集等。
(4)数据存储模块驱动EEPROM_DRIVER.c
实现微控制器数据的存储功能,测试结果存在片内的EEPROM内,可以通过上位机命令控制EEPROM的读和写。
(5)数据传输模块驱动UART_DRIVER.c
实现微控制器与上位机的通信,将测量结果传送给上位机显示,并实现PC及发送指令对整个测量系统的控制。
测量系统进入主控程序后,首先进行系统初始化,后进行功能键扫描;接着,选择工作模式,工作模式包括正常测量、标定、设置和数据存储与传输4种;单次测量结束后,等待下一次功能选择。系统主控程序流程图如图5所示。
图5 主程序流程图
2 系统测试
本文选用核黄素作为测试样本,用二次蒸馏水溶解核黄素,配置100mg/L的样本母液,然后逐级至0.1mg/L、1mg/L、10mg/L 3个浓度。打开测量装置电源,选择设置功能,调用核黄素工作曲线;设置激发分光模块A为 460 nm,发射分光模块 B为 520 nm[6];后选择测量功能,测试获得荧光强度。其测量结果如表3所示,经分析其稳定性可达99.1%~99.7%。
表3 系统稳定性测量数据
本文设计了一种基于dsPIC30F6014A单片机的荧光测量装置,采用脉冲氙灯作为激发光源,光电倍增管作为光电探测器。可根据不同荧光物质的荧光特性,通过可控激发分光模块灵活选择激发波长,通过可控发射分光模块选择发射波长,并选择相应的标准物质曲线,最终实现测量。经测试,本系统设计的荧光测量装置稳定性可达99.1%~99.7%,满足测量要求。本装置具有可以灵活配置、测量快速和数据存储方便的优点,具有广阔的应用前景。
[1]尚丽平,杨仁杰.现场荧光光谱技术及其应用[M].北京:科学出版社,2009.
[2]金海龙,汪 翔,王玉田.便携式全光纤海藻叶绿素a浓度测量仪的研究[J].自动化与仪表,2004,23(3):23-25.
[3]司马伟昌,张玉钧,王志刚,等.多波长 LED阵列光源叶绿素荧光探测仪电路的单片机实现[J].仪器仪表学报,2007,28(10):1820-1824.
[4]邱健,杨冠玲,何振江,等.基于紫外荧光法的大气SO2气体浓度分析仪[J].仪器仪表学报,2008,29(1):174-178.
[5]高明,马海涛.基于荧光与 C8051F020单片机的水中油检测系统设计[J].微计算机信息,2011,27(1):111-113.
[6]王俊波,李占锋,武志翔,等.核黄素在废水处理过程中的荧光光谱特性研究[J].分析仪器,2011,2(1):67-70.