基于80C52的光电二极管阵列驱动电路设计
摘要:介绍了一种基于单片机的光电二极管阵列驱动电路。在单片的单片机上完成光电二极管阵列时序信号产生、A/D转换及数据传输整个过程,能够检测nA级微弱信号,与常用的可编程逻辑器件相比具有成本低、功耗低、电路结构简单的特点。
引言
传统的紫外光谱检测系统采用单通道光电倍增管作为光电接收器件,由波长扫描机构实现波长扫描,完成整个波长范围内的光电检测。这种光电检测系统,体积庞大、测量速度慢,只能做单波长检测。光电二极管阵列属于多通道检测器件,因其具有体积小、单片集成信号读出电路、光谱响应宽等特点,可广泛应用于各类多通道光谱检测系统,目前大多数光电二极管阵列多采用现场可编程逻辑器件控制光电二极管时序电路的产生,会造成资源上的浪费。本文采用一片单片机80C52就能够完成包括光电二极管时序的产生、ADC采样及数据传输处理整个过程,解决了采用现场可编程器件资源浪费的问题,节省了成本。
本文所采用的光电二极管阵列是日本滨松公司生产的S3923-256Q,S3923-256Q具有较大的波长响应范围,能够响应200~1 000 nm范围波长,最大暗电流只有0.08 pA,当波长λp=600 nm时,阵列灵敏度为2.4 A/W。光敏面积大,S3923—256Q的像元高度可以达到0.5 mm,宽度为25μm,光电二极管阵列S3923—256Q将数字移位寄存器、有效光电二极管阵列和哑元二极管阵列集成在一起,使得S3923—256Q能够在时序电路的控制下完成自扫描的过程,从而提高了响应速度,能够响应0.1~500kHz的信号,电路灵活性强。其功耗仅有10 mW,适用于做微弱光信号检测。
1 硬件设计
1.1 系统总体设计方案
以单片机为控制芯片的光电二极管阵列驱动电路设计的总体设计如图1所示。
测试样品在激光的照射下发出微弱的光信号,经过光学分光系统分离出不同波长范围的光,由光电二极管阵列接收处理。单片机是整个系统的核心部件,负责产生光电二极管阵列S3923—256Q的驱动信号,使S3923—256Q产生响应并输出相应波长所对应的电信号,经过放大电路放大后控制ADC采样信息送往串口,最终由上位机进行处理。
1.2 光电二极管阵列驱动的设计
图2为光电二极管的驱动电路,通用驱动信号由单片机的输入/输出口直接产生驱动脉冲,由软件控制脉冲的时序,该方法的优点是脉冲产生灵活方便。
1.3 前置放大器模块
放大器OPA111是高精度运算放大器,电阻经激光矫正,使其输入偏置电流和输入补偿电流最大只有几个pA,输入最大电流噪声为0.8 fA/,最大电压噪声为80nV/,适用于微弱光检测前置放大电路。
前置放大器模块主要是由OPA111组成的仪表放大器,此电路利用差分的方法同时抵消温漂和暗电流的影响。
OPA111构成的精密仪表放大器如图3所示。
放大器增益为:
经过仪表放大器后的信号有效地减少了温漂和暗电流的影响,但对于nW级信号来说,仪表放大器若放大倍数太大,放大器自身仍会引入较强温漂等噪声信号。若要将信号送往ADC处理,需要进一步对信号进行放大处理。可以采用由OP07组成的同相比例运算放大电路,通过不同开关控制反馈电阻大小得到所需的放大倍数,使其能够控制在A/D采样输入电压范围内,有利于ADC的采样和处理。
2 软件设计
单片机初始化后,首先产生光电二极管驱动脉冲,与此同时建立一个中断脉冲启动信号,使中断响应与二极管阵列时序驱动输出同步,以便响应中断后能够迅速控制ADC进行转换。为了提高读取速度,可以把单一数据的传输以页写的方式批量读取,并给每一页编号,最终由上位机完成整页数据的叠加,从而可以有效地消除随机噪声。程序流程如图4所示。
2. 1 光电二极管阵列时序产生
利用单片机定时器中断产生光电二极管S3923—256Q控制时序,用均分的方法把光电二极管阵列时序每个周期分为10段(A~I表示不同的状态),每一段定时为100μs,从而产生周期为t=10×100μs=1 ms(频率为f=1/t=1 kHz)的时序脉冲。可以通过改变定时器定时时间的长短value_h和value_l的值,更改光电二极管阵列的驱动时序频率。时序产生部分程序如下:
num实现A~I状态的切换,其中b表示在没有重新启动时,每次进入定时器中断时切换到某一特定状态值。当256个阵列扫描结束后,新的一轮开始。光电二极管的驱动时序如图5所示。TRIG信号在每次光电二极管阵列产生视频信号输出之后复位之前,此时触发单片机中断,从而控制ADC开始转换。
2.2 模拟量控制通道
模拟量控制通道是实现数据控制传输的重要模块,本文设计的模拟控制量控制通道采用单
80C52 S3923-256Q 相关文章:
- 基于80C52单片机的电加热数字恒温控制系统设计(02-09)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)