1、引言
针对目前市场上传统的光功率计动态范围小、测试精度低、非线性误差明显、档位切换速度慢等缺点,设计了一款基于STM32的高精度光功率计,采用先进的大动态波长响应范围的INGAAS-PIN光电探测器,配合使用ADI公司的光电前置放大器AD795,TI公司的24位模数转换器ADS1232和美信公司的高速多路模拟开关MAX4051进行系统的设计,利用STM32控制放大量程增益自动切换技术,消除光电探测器在同一波长不同光强下对光的非线性响应导致的测量误差,可以大大提高光功率计测试的精度和可靠性。
2、系统工作原理
系统的原理框图如图1所示,INGAAS-PIN光电探测器将检测到光信号转变为电流信号,进行I/V(电流电压)变换后输出电压信号,经过放大和滤波处理后的电压信号送入A/D进行模数转换,根据转换的数据量的大小,利用微处理器判断之后控制放大电路的量程自动切换来获得合适的可供计算的数字量,最后由STM32控制器来进行数据的处理和分析,再送入液晶LCD进行功率显示,并实现系统的按键控制,数据存储和串口通信等操作。
图1系统原理
3、光功率计硬件实现
3.1、INGAAS-PIN光电探测器
目前流行的光电探测器有PIN光电二极管和APD雪崩光电二极管,APD具有很高的检测速度,在高速光电检测应用行业占据主要地位,但是其暗电流大,需要很高的偏置电压,噪声也比较大,不适合在精确测量时使用。在光功率设计中广泛使用暗电流低、灵敏度高、可以工作在零偏状态的PIN光电二极管。目前使用的PIN管主要由SI、Ge、INGAAS等材料制作的,覆盖了从400~1800NM的波长范围。不同材料的PIN光电探测器响应度R和波长λ的关系如图2所示。
图2 PIN光电探测器响应度R和波长λ的关系
绝对响应度是衡量光电探测器性能优越的一个重要指标,决定光电流与光功率之间的关系。响应度公式定义为:一次光生电流IP和入射光功率P的比值。
R=IP/P(1)
式中:R为光电二极管的响应度。
设计中选用重庆某公司的光电探测器,其主要的性能指标如表1所示。
表1INGAAS-PIN光电探测器主要性能参数
3.2、电流电压变换
光电探测器将光信号转变为电流信号,设计前端使用一个I/V变换电路采集电流信号,并转换为相应的电压信号,一个电流-电压转换器(I/V转换器)也称为跨阻放大器[7](TRANSReSISTANceAMPlIfIeR),它接受一个输入电流I,并形成为V=AI的输出电压,这里A是电路增益,以V/A计。参照图3,假设运算放大器是理想的。在虚地节点将电流相加给出-IS+(V-0)/R=0,即:
V=RIS(2)
R是电路增益,增益的幅度称为该转换器的灵敏度。
图3 I/V转换电路
图3中光电二极管工作在零偏置电压状态,这种状态称为光电模式,其他可以工作在加反向偏置电压的光电导模式,光电导模式能提供较高的速度,从而更适合高速光脉冲和高频光速调制中的应用。光电模式则可提供较低的噪声,更低的暗电流,适合于测量和仪器仪表方面的应用。
3.3、程控放大
考虑到采集的光功率信号范围比较大(NW~MW),当放大器增益固定时,会出现小信号无法得到有效放大而降低A/D的有效精度,同时由于光电探测器在同一波长的不同光强下对光的响应不是线性的,固定增益测量会出现非线性误差。解决方法是对小信号输入采用高倍放大,对大信号输入采用低倍放大,根据采集到的信号大小,自动改变增益和衰减,切换到合适的量程,即在放大电路中使用量程自动切换技术,在检测范围内将光功率按照光强不同分为八段,每一段对应一个量程,这种技术可以有效消除测量时的非线性误差,在增加测量的动态范围的同时,提高了测量的精度。
在选择多路模拟开关时,主要从通道数、切换速度和导通电阻几个方面进行考虑,考虑到舌簧继电器的切换速度比较慢,选择了半导体多路模拟开关,设计时选用美信公司的8路高速模拟开关MAX4051,但是其100Ω导通电阻比较大,会影响信号的处理,必须想办法消除它的影响。设计中避免从放大器的输出端采样电压,而是通过增加一个多路模拟开关,用它直接采样反馈电阻输出端电压,并送给后级电路处理。如图4所示。
在这个电路中R1和R2代表两个多路模拟开关的导通电阻,它们大小相等,Rf是反馈电阻,ID是光电流。分析这个基本电路可知,如果不存在R1导通电阻,可以很容易得到V0的计算公式为:
V0=(Rf+R2)ID(3)
根据放大器输入端的“虚断”原理,放大器的反向输入引脚没有电流流过,而是全部加在反馈电阻Rf上,那么可以很容易计算出VN为:
VN=RfID(4)
由式(3)可知,V0的计算值中包含了多路模拟开关的导通电阻R2,是一个干扰因素,而VN点的电压正是我们希望采样的信号值,故在该节点连接另一个多路模拟开关采集信号,它仍然存在导通电阻R2,但此时V1的幅值和VN大小相等,即:
V1=VN=RfID(5)
通过使用两个MAX4051的电路设计,可以避免模拟开关导通电阻对功率测量的影响。
图4 程控放大原理
低噪声的前置放大器是用来放大探测器输出的微弱电流信号,并实现前后级电路的阻抗匹配。在最低光强时需要检测到100PA左右的光电流,这大大降低了可以选用的放大器的范围。意味着放大器必须具有很高的开环增益,同时偏置电流应该保持在PA级别,还要具有很好的噪声性能,同时具备以上几点才能保证在最高灵敏度时可以检测到微弱的光电流信号。设计时选用AD公司的AD795作为光电放大器,超低的噪声,最大2PA的输入偏置电流和120dB的开环增益使其可以满足光电信号的放大要求。光功率计的程控放大电路如图5所示。
图5 程控放大电路
3.4、A/D转换设计
经过放大和滤波之后的信号送给A/D采集,模拟量转换成为数字量,便于单片机进行数据处理。由于入射光稳定,因此对AD器件的转换速度要求不高但对精度要求很高,且信号的动态范围很大。设计中为保证光功率计的精度和显示分辨率,选用TI的24位高精度模拟转换器ADS1232。ADS1232采用今年来流行的Σ-Δ积分转换技术,具有分辨率高、线性度好、成本低等特点,得到了很广泛的应用。A/D接口电路如图6所示。
图6 A/D接口电路
4、系统软件实现
4.1、STM32主控制流程
微处理器上电后首先进行初始化,分为系统初始化和显示初始化。系统初始化包括时钟初始化、中断初始化、串口初始化、端口初始化等操作。显示初始化为了设置背景色和显示方式。选择默认档位后开始模数转换,等待转换结束后读取A/D转换数据并选择显示波长后送入数据处理模块,进行数据的处理和修正,选择显示单位后,最后送入显示器进行功率值显示。其流程图如图7所示。
图7 STM32主控流程
4.2、自动量程控制流程
具体流程图如图8所示。
图8 自动量程控制流程
5、数据处理和校正
STM32微控制器的数据处理是实现光功率测量的核心部分,这里需要对从模数转换器读取的数字量进行数据处理和修正。首先,为了减少暗电流对测量结果的影响需要进行清除暗电流的处理。然后,选择是否进行数字平均值滤波,以便进一步提高测量数据的精度。接下来,读取被测光的波长用以计算光功率值(单位是dBM),光功率计算方法由以下计算公式给出:
P=10lG(ADVAlue)(6)
式中:P是计算得到的初始光功率值,单位是dBM;ADVAlue是读取的模数转换器数值。
计算得到光功率值是一个初始值,需要进行相关修正和校准才能保证其准确度。光功率值修正的处理方法由下式给出:
PdBM=10lG(ADVAlue)+C+K1+K2+K3(7)
式中:C称为估算校准值,可根据初始光功率值估算得到;K1称为小误差校准值,是在估算校准的基础上进一步减少测试误差而进行的校准,一般通过和标准光功率计进行校准得到,其校准原理图如图9所示。
图9 校准原理
K2称为增益校准值,由于放大增益不固定而设置,相邻的量程增益相差10倍,则增益校准值相差10dBM;
K3称为波长校准值,由于光电探测器对不同波长的光的响应度不同,由此引起的误差需要进行波长校准,主要涉及1310NM和1550NM波长。
光功率经过校准后得到了精确的光功率值,需要判断是否超出设计指标的-70~+6dBM的测量量程。为了方便按键处理时进行单位的切换,必须根据精确的光功率值计算出以MW为单位的光功率值,计算公式如下:
PdBM=10lGPMW/1MW(8)
式中:PMW是以MW为单位的光功率值。
经过上面的数据处理和修正后,可以进一步提高光功率计的测量精度,并减少测量误差。
为了验证搭建的样机是否可以准确的测量光功率值大小,需要对其进行准确度测试,测试的方法根据图9的校准原理图进行,测试波长为1310NM,在相应波长下利用可调光源发出的13组不同强度的光同时入射进待测样机和标准光功率计,记录两者测试数据进行分析比较,得出该波长下的数据拟合图,如图10所示。
图10 测试数据拟合度曲线
6、结论
设计了一款基于STM32的高精度光功率计,具有精度高,显示分辨率高,动态范围宽等特点,采用自动量程切换技术,在INGAAS-PIN光电探测器的整个测量范围内进行了8段线性化的处理,极大地提高了功率检测的准确性和可靠性。