发明内容
有鉴于此,本发明的目的在于克服上述技术缺点,提出一种基于MCU实现激光器光功率自适应控制的方法。
本发明的技术方案为一种基于MCU的激光器光功率自适应控制方法,MCU控制单元和上位机建立通信,通过上位机设置自适应控制的方式为激光器偏置电流调节或激光器光功率调节,
采用激光器光功率调节时,MCU控制单元依据上位机设置的目标发光功率值和对激光器采样的实际发光功率值进行自适应控制,设采样值V为实际光功率值,设调节目标值S为目标发光功率值,
采用激光器偏置电流调节时,MCU控制单元依据上位机设置的目标偏置电流值和对激光器采样的实际偏置电流值进行自适应控制,设采样值V为实际偏置电流值,设调节目标值S为目标偏置电流值;
所述自适应控制的实现,包括设激光器微调节的标志位LDOK的初始值为0,令计数变量LDtimeUP=0,LDtimeDN=0,预设数值n2<n3<n1,执行以下步骤,
步骤1,判断V是否等于S,是则调节达到目标,否则判断当前的标志位LDOK是否等于1,是则进入步骤3,否则进入步骤2;
步骤2,进行激光器基础调节,调节方式如下,
当V>S,且(V-S)>H,对MCU控制单元中的DA数值减少n1进行快速调节,等待预设时间间隔后,返回步骤1;
当V>S,且(V-S)≤H,对MCU控制单元中的DA数值减少n2进行微调节,并令标志位LDOK=1,等待预设时间间隔后,返回步骤1;
当V<S,且(S-V)>H,进一步比较V和m,
若V≥m,对MCU控制单元中的DA数值增加n1进行快速调节,等待预设时间间隔后,返回步骤1;
若V<m,判断MCU控制单元中的DA数值是否大于预设的输出正常状态门限,是则激光器处于开路状态,结束流程,否则对MCU控制单元中的DA数值增加n3进行检测调节,等待预设时间间隔后,返回步骤1;
当V<S,且(S-V)≤H,对MCU控制单元中的DA数值增加n2进行微调节,并令标志位LDOK=1,等待预设时间间隔后,返回步骤1;
步骤3,进行激光器微调节,调节方式如下,
当V>S,且(V-S)>H,令标志位LDOK=0,等待预设时间间隔后,返回步骤1;
当V>S,且(V-S)≤H,进一步比较V-S和m,
若(V-S)>m,令计数变量LDtimeUP=LDtimeUP+1,然后判断当前的计数变量LDtimeUP是否大于2,是则令标志位LDOK=0,令计数变量LDtimeUP=0,等待预设时间间隔后,返回步骤1;若不大于2则等待预设时间间隔后,返回步骤1;
若(V-S)≤m,调节达到目标,令计数变量LDtimeUP=0;
当V<S,且(S-V)>H,令标志位LDOK=0,等待预设时间间隔后,返回步骤1;
当V<S,且(S-V)≤H,进一步比较S-V和m,
若(S-V)>m,令计数变量LDtimeDN=LDtimeDN+1,然后判断当前的计数变量LDtimeDN是否大于2,是则令标志位LDOK=0,令计数变量LDtimeDN=0,等待预设时间间隔后,返回步骤1;若不大于2则等待预设时间间隔后,返回步骤1;
若(S-V)≤m,调节达到目标,令计数变量LDtimeDN=0。
而且,不通过上位机设置时,MCU控制单元采用激光器光功率调节,依据默认的目标发光功率值、激光器采样的实际发光功率值进行光功率自适应控制,设采样值V为实际光功率值,设调节目标值S为目标发光功率值。
而且,采用激光器光功率调节时,MCU控制单元根据预设的发光功率表对实际采集到的发光电压转换得到实际发光功率值,所述发光功率表包括激光器电流在工作范围内的若个取值和每个取值相应的发光电压、发光功率。
而且,采用激光器光功率调节时,实际发光功率值的单位为mW,当上位机设置的目标发光功率值的单位为dBm时,MCU控制单元将上位机设置的目标发光功率值从单位为dBm转换成单位为mW。
而且,当对MCU控制单元中的DA数值增加时,若增加结果超过DA数值的上限,令DA数值取上限。
本发明涉及一种基于MCU实现激光器光功率自适应控制的方法,实现激光器光功率的自适应控制,支持上位机设定需要的光功率值,APC(光功率自适应控制)系统会依据环境温度等参数的改变,通过自适应的调节控制激光器的发光功率,使激光器的发光功率恒定保持在设定值,不需要对光传输模块的硬件电路进行调节,就能够保证光传输模块的性能参数不受环境影响,大大降低了人工成本和提高了工作效率。同时可以通过上位机改变发光功率设定值,使光传输模块产生对应的发光功率,无需改变硬件电路,就可以使得光传输模块能够用于不同需求的整机中,大大提高了光传输模块的可利用率。因此,本发明技术方案的主要优点在于:
(1)区别于常用光传输模块的激光器控制方法,不需要进行硬件电路调节,可以通过MCU的软件自适应控制方法实现光传输模块激光器发光功率值恒定,不受环境温度等条件影响。
(2)通过MCU实现激光器光功率自适应控制方法有光功率控制和偏置电流控制两种控制模式,分别可以实现激光器的发光功率值恒定和偏置电流值恒定,实现方式具有多样化。
(3)通过上位机和MCU的串口通信的方式,用于实现光传输模块激光器的发光功率值和偏置电流值的设定,使相同的光传输模块无需改变硬件电路就可以应用于不同需求的整机中,提高了光传输模块的使用范围和利用率,同时串口通信的方式应用较为普遍,使用范围较为广泛和利用率高。
(4)对于不同厂家和不同性能的激光器,可以通过上位机的具体设置实现具体的功能,无需进行硬件的一致性调节,实现方式简单、快捷。
(5)本激光器光功率自适应控制方法,不受激光器厂家、材质、性能指标的影响,具有较大的应用范围和应用空间。并且可以应用于所有的模拟激光器光功率控制,不限于光传输模块激光器。
具体实施方式
为了使用本发明的目的、技术方案及优点更加的清楚明白,以下参考附图和实施例,对本发明进一步详细说明:
MCU(Micro Control Unit)中文名称为微控制单元,如图1所示现有技术中的MCU激光器控制所采用系统,包括MCU控制单元、激光器单元、探测器单元、输入端射频信号处理单元、输出端射频信号处理单元。激光器单元的输出通过光纤输出,探测器单元的输入通过光纤输入,输入端射频信号处理单元的输入射频信号记为RF IN,输出端射频信号处理单元的输出射频信号记为RF OUT。
系统一般会设置射频输入端口,从射频输入端口输入射频信号RF IN,经过输入端射频信号处理单元的处理,调节输入射频信号的射频指标系数,调节完成的射频信号和经过FSK解调的信号合路进入到激光器单元,通过激光器单元的电/光信号转换,然后通过光纤发射出去;
MCU控制单元采集激光器单元的发光功率电压、发光偏置电流数据,通过自适应控制方法设定的光功率调节策略产生与所设置发光功率值对应的光功率。发光功率电压、发光偏置电流数据的采集是通过MCU的AD(模拟输入信号转换为数字信号)功能完成的。现有技术中已有自适应控制方法提供。
光纤输入的信号通过探测器单元的光/电信号转换,将光信号转换成电信号,同时经过MCU的FSK调测后,再通过输出端信号处理单元的调节,然后作为射频输出信号RF OUT发射出去。MCU控制单元采集获得激光器的收光功率,对激光器的收光功率进行实时监控,检测激光器的工作状态。
基于现有的系统,本发明提出通过上位机,可采用软件方式设置发光功率值,上位机通过RS485串口与MCU控制单元进行数据通信,将通过上位机设置的调节目标值传递到MCU控制单元。并对光功率调节策略进行改进,包括光功率控制和偏置电流控制两种方式,实现流程一致,支持通过上位机选择具体控制方式。
本发明进一步提供了实施例中MCU控制单元支持上位机设置的流程,参见图2:
(1)进行初始化,包括发光功率表的初始化;
(2)进行激光器的发光偏置电流、发光功率采集数据处理;
(3)判断上位机是否进行设置处理,若否则依据默认的目标发光功率值、激光器采样的实际发光功率值进行光功率自适应控制,若是则进入(4);默认的目标发光功率值可预先存储在MCU单元中。
(4)判断上位机设置的发光模式,本发明实施例提供有光功率控制和偏置电流控制两种选择,
当上位机设置的发光模式为光功率控制模式时,依据上位机设置的目标发光功率值、对激光器采样的实际发光功率值进行光功率自适应控制,通过自适应控制得到具体的DA数值,通过MCU控制单元控制激光器产生与目标发光功率值对应的发光功率;
当上位机设置的发光模式为偏置电流控制模式时,依据上位机设置的目标偏置电流值、对激光器采样的实际偏置电流值进行偏置电流自适应控制,通过自适应控制得到具体的DA数值,通过MCU控制单元控制激光器产生与目标偏置电流值对应的偏置电流。
实际需要的发光功率值一般以dBm为单位,为进行精细控制,本发明提出转换为以mW为单位。当光功率自适应控制时,设通过上位机设置需要的发光功率值X(单位:dBm),MCU控制单元会将设置的发光功率值X(单位:dBm)进行单位换算,得到目标发光功率值Z(单位:mW),例如X=2dBm,换算为Y=1585mW。MCU控制单元依据实际发光功率值Y(单位:mW)与目标发光功率值Z(单位:mW)进行光功率自适应调节,得到合适的DA数据值,使得激光器单元产生的实际发光功率值Y和目标发光功率值Z(单位:mW)相等,完成整个自适应的调节。所述DA数值是数模转换所得的模拟值,是MCU控制单元用于控制激光器的输出。
光功率自适应控制时,MCU单元需要对实际采集到的发光电压转换得到实际发光功率值,为提高效率起见,可以预先设置发光功率表,初始化时导入MCU单元,以便查询转换。发光功率表的内容为激光器电流的取值和相应的发光电压、发光功率。具体实施时,本领域技术人员可以在激光器电流的取值范围内取若干点(一般均匀选取),使用光功率计仪表检测出各点对应的发光功率值,同时得到实际发光电压值,即可得到发光功率表,光功率自适应控制时根据实际采集到的发光电压进行线性转换即可。
例如,激光器电流的取值范围为0到45mA,取点为0(mA)、12(mA)、24(mA)、45(mA),发光功率表如下:
在光功率自适应控制时,如果MCU单元采集到的发光电压为0.12mV,通过读取发光功率表,就认为此时激光器的实际发光功率值为316mW;如果MCU单元采集到的发光电压为0.15mV,根据发光功率表中12mA的发光功率316mW、24mA的发光功率1440mW,可得到一个以激光器电流为横坐标,以发光功率为纵坐标的直线段,进行线性转换可得到0.15mV的实际发光功率值。
具体实施时,可采用软件技术通过上位机提供界面,支持用户查看发光功率表、实际发光功率值Y,设置目标发光功率值或目标偏置电流值。
偏置电流自适应控制流程中,采样值V=激光器的实际偏置电流值(mA),调节目标值S=目标偏置电流值(mA);在光功率自适应控制流程中,采样值V=实际光功率值(mW),调节目标值S=目标发光功率值(mW)。这两种自适应调节流程的实现步骤一样,只是设置的门限值参数取值不同。本领域技术人员可根据具体情况设置预设调节范围门限粗值H和调节范围门限细值m,m<H。实施例中MCU控制单元中的DA数值使用PWM(脉冲宽度调制)方式实现,通过PWM可以设定DA数值的范围,MCU的DA取10位精度时,取值范围为0~1023,预设调节范围门限值H=10×m,在偏置电流调节流程中门限值H设置为1mA,在光功率调节流程中门限值H设置为300mW,相应地m分别为0.1mA和30mW。并且,为了识别输出高采样低的非正常情况,预设DA数值的输出正常状态门限为380。
参见图3,MCU控制单元执行具体的自适应调节策略如下:
步骤1,判断V是否等于S,是则调节达到目标,否则判断当前的激光器微调节标志位LDOK是否等于1,是则进入步骤3,否则进入步骤2;
具体实施时,激光器微调节标志位LDOK的初始值可设为0,以便进入流程时首先进行激光器基础调节。
步骤2,进行激光器基础调节,调节方式如下,
当V>S,且(V-S)>H,对MCU控制单元中的DA数值减少n1进行快速调节,等待预设时间间隔后,返回步骤1;
当V>S,且(V-S)≤H,对MCU控制单元中的DA数值减少n2进行微调节,并令LDOK=1,等待预设时间间隔后,返回步骤1;
当V<S,且(S-V)>H,进一步比较V和m,
若V≥m,对MCU控制单元中的DA数值增加n1进行快速调节,等待预设时间间隔后,返回步骤1;
若V<m,判断MCU控制单元中的DA数值是否大于预设的输出正常状态门限,是则激光器处于开路状态,结束流程,否则对MCU控制单元中的DA数值增加n3进行检测调节,等待预设时间间隔后,返回步骤1。
当V<S,且(S-V)≤H,对MCU控制单元中的DA数值增加n2进行微调节,并令LDOK=1,等待预设时间间隔后,返回步骤1。
实际操作时,DA一般不会小于0,增加DA数值时,若增加后的值超过取值范围的上限,令DA数值等于上限。
MCU控制单元调节后的DA数值设置到激光器,还需要一段时间产生作用,因此本发明设定每次调节后等待预设时间间隔后,再继续判断调节。实施例中预设时间间隔为40ms。n2<n3<n1,可由本领域技术人员根据具体情况预先设定,实施例中设n1=40、n2=1,n3=10,具体实现如下:
(1)采样值V大于调节目标值S,并且采样值V和调节目标值S的差值大于门限值H,即(V-S)>H。这种情况说明激光器的实际采样值V和调节目标值S的差值很大,需要进行快速调节,实施例中MCU控制单元中的DA数值减少40单位,将激光器的工作状态进行调整,减小激光器采样值(在偏置电流调节流程中,减小激光器实际偏置电流值mA;在光功率调节流程中,减小激光器实际光功率值mW)。经过40ms,返回步骤1。
(2)采样值V大于调节目标值S,采样值V和调节目标值S的差值小于或等于门限值H。这种情况表示激光器的实际采样值V和调节目标值S的差值比较小,可以进行微小调节,MCU控制单元中的DA数值调节减少1单位,将激光器的工作状态进行调整,减小激光器采样值(在偏置电流调节流程中,减小激光器实际偏置电流值mA;在光功率调节流程中,减小激光器实际光功率值mW),并令LDOK=1。经过40ms,返回步骤1。
(3)采样值V小于调节目标值S,采样值V和调节目标值S的差值大于门限值H,即(S-V)>H。这种情况表示激光器的实际采样值V和调节目标值S差值很大,自适应调节流程会对采样值V和门限值m大小数值进行判定:
如果采样值V小于门限值m,这表示激光器实际采样值非常小,需要对激光器工作状态进行检测调整,MCU控制单元的DA值调节增加10单位,增加激光器采样值,经过40ms,返回步骤(1)。如果MCU控制单元的DA值调节到380,判断结果为激光器的采样值V小于调节目标值S,并且采样值V小于门限值m,就不再增加DA值。因为当MCU控制单元的DA数值为输出正常状态门限380时,在MCU单元是3.3V供电的情况下输入到激光器的电压值为380*3.3/1023=1.22v,m值一般设置为30单位,电压值为30*3.3/1023=0.096v,此时激光器的工作状态值不会太小,出现采样值V小于门限值m结果,表示MCU控制单元输入1.22v到激光器,激光器只产生0.096v电压,说明激光器处于开路状态,硬件有问题,需要调节电路,停止流程;
如果采样值V大于或等于门限值m,表明激光器实际采样值很小,需要进行快速调节,MCU控制单元DA数值每次调节增加40单位,增加激光器采样值。增加后的MCU单元的DA数值最大不超过MCU单元的DA最大值1023,即在当前DA数值增加40后大于1023时,直接令DA数值为1023。经过40ms后,返回步骤1。
(4)采样值V小于调节目标值S,采样值V和调节目标值S的差值小于或等于门限值H。这种情况表示激光器的实际采样值V和调节目标值S差值比较小,可以进行微小调节。MCU控制单元的DA数值每次调节增加1单位,微小的增加激光器采样值,将标志位LDOK设置为1。增加后的MCU单元的DA数值最大不超过MCU单元的DA最大值1023,即在当前DA数值增加40后大于1023时,直接令DA数值为1023。经过40ms后,返回步骤1。
步骤3,进行激光器微调节。因为LDOK标志位为1,表示自适应调节流程已经进入第二阶段,然后根据激光器的采样值V和调节目标值S大小进行判定。
调节方式如下,
当V>S,且(V-S)>H,令LDOK=0,等待预设时间间隔后,返回步骤1;
当V>S,且(V-S)≤H,进一步比较V-S和m,
若(V-S)>m,令计数变量LDtimeUP=LDtimeUP+1,然后判断LDtimeUP是否大于2,是则令LDOK=0,令LDtimeUP=0,等待预设时间间隔后,返回步骤1;若否则等待预设时间间隔后,返回步骤1;
若(V-S)≤m,调节达到目标,令LDtimeUP=0;
当V<S,且(S-V)>H,令LDOK=0,等待预设时间间隔后,返回步骤1;
当V<S,且(S-V)≤H,进一步比较S-V和m,
若(S-V)>m,令计数变量LDtimeDN=LDtimeDN+1,然后判断LDtimeDN是否大于2,是则令LDOK=0,令LDtimeDN=0,等待预设时间间隔后,返回步骤1;若否则等待预设时间间隔后,返回步骤1;
若(S-V)≤m,调节达到目标,令LDtimeDN=0。
(1)如果V>S,且激光器的采样值V和调节目标值S的差值大于调节门限H,即(V-S)>H,表示激光器实际采样值和调节目标值差值比较大,没有达到调节目标,需要立即进入上述基础调节,将标志位LDOK设置为0,返回步骤1。
(2)如果V>S,且激光器的采样值V和调节目标值S的差值小于等于调节门限H时,
如果激光器的采样值V和调节目标值S的差值大于调节门限m(在偏置电流调节时,门限值m设置为0.1mA;在光功率调节软件时,门限值m设置为30mW),这表示激光器的采样值V和调节目标值S的差值比较小,激光器的状态接近调节的目标值,进行计数LDtimeUP=LDtimeUP+1(LDtimeUP的初始值为0)。判断是否已有连续3次满足激光器的采样值V和调节目标值S的差值大于调节门限m,是则表示激光器的调节没有达到目标值,需要继续进行基础调节,将标志位LDOK设置为0,令LDtimeUP=0,否则等待预设时间间隔后,返回步骤1,这种情况下保持标志位LDOK=1,继续微调节,如果仍然为(V-S)>m,继续LDtimeUP=LDtimeUP+1,直到LDtimeUP大于2或者不再满足(V-S)>m这种情况,令LDtimeUP=0。
如果激光器的采样值V和调节目标值S的差值小于等于调节门限m,调节达到目标,令LDtimeUP=0。
(3)如果S>V,且激光器的调节目标值S和采样值V的差值大于调节门限H,表示激光器实际采样值和调节目标值差值比较大,需要立即进入上述基础调节,将标志位LDOK设置为0;
(4)如果S>V,且激光器的调节目标值S和采样值V的差值小于等于调节门限H时,
如果调节目标值S和采样值V的大于调节门限m,令LDtimeDN=LDtimeDN+1(LDtimeDN的初始值为0)。判断是否已有连续3次满足差值大于调节门限m,是则表示激光器的调节没有达到目标值,需要继续进行基础调节,将标志位LDOK设置为0,令LDtimeDN=0,否则等待预设时间间隔后,返回步骤1,这种情况下保持标志位LDOK=1,继续微调节,如果仍然为(S-V)>m,继续LDtimeDN=LDtimeDN+1,直到LDtimeDN大于2或者不再满足(V-S)>m这种情况,令LDtimeUP=0。
如果调节目标值S和采样值V的小于等于调节门限m,表示激光器的调节达到目标,令LDtimeDN=0。
由于调节过程是动态持续进行的,调节达到目标后,等待预设时间间隔后,仍然返回步骤1持续实时调整。
本发明能够保持激光器的发光功率和偏置电流恒定,不会受到环境温度的影响,可以使得整机的性能指标不会受到环境的影响,提高了激光器的性能指标的稳定性,同时不需要进行硬件的调节就可以实现光功率的恒定,降低了难度,提高了工作效率。能够通过上位机软件来改变激光器的光功率的恒定值,使得同样的光传输模块能够用于其它不同需求的整机中,大大提高了激光器的可利用率。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。