半导体激光器的自动功率控制是解决激光器阈值漂移的重要手段,本文设计了一个基于FPGA的数字激光自动功率控制系统,该控制系统主要由光电检测、A/D转换、SOC控制、APC判定、PWM反馈输出及低通滤波几个部分组成。该自动功率控制系统使用硬件资源少,根据不同的设计要求,通过增加PWM模块和简单的模拟器件或者改变控制寄存器的设置,就可以实现多级激光功率和多个激光器的控制,可以大大缩短设计周期。
自从激光器在1960年发明以来,在激光通信中已经成为了不可或缺的关键设备,半导体激光器(LD)是用于高速率光传输系统的有吸引力的光源,然而,遗憾的是LD的阈值随温度和寿命变化,且因器件的不同表现出现较大的差异。LD的阈值随着温度的升高而明显增大。LD阈值的漂移,给使用带来很大的不便,如果采用固定的偏流,则必然引起输出光脉冲峰值功率的浮动,而且,阈值的漂移破坏了已经设计好的工作点,从而引起有害光电延迟、张弛振荡等现象。在LD高速工作时,这种现象的危害是不可忽视的。为了克服这些弊病,必须对输出功率进行控制,使LD的工作能够维持在正确的工作点上。
姚嘉陵等曾设计基于模拟电路的APC自动激光功率控制电路,通过反馈来自动调整预偏置电流来达到稳定LD输出功率的控制。基本原理是一方面将LD背向输出的光功率经背向光探测器PD进行检测,然后经过放大器1进行放大,送到比较器的反相输入端;另一方面,输入信号和从直流稳压电源中取出的直流参考电压经过放大器2放大后送入比较器的同相输入端,比较器的输出作为反馈被送到LD的驱动端,调节偏流,达到稳定LD输出功率的目的。
模拟电路方法实现的优点是增益控制比较稳定,缺点是需要加入的器件较多,且随着使用时间的增加,模拟器件老化会影响反馈控制的误差,另外,输出的激光功率固定不可变,不能实现多级功率的控制。
笔者提出一种基于FPGA的全数字激光器功率自动控制系统,不但可以大大简化电路结构,减少成本,同时消除由器件老化带来误差,还可以方便的改变激光器的输出功率和实现激光器多级功率的控制。
1自动功率控制系统整体结构
基于FPGA的激光功率自动控制系统结构如图1所示其工作原理是:将半导体激光器LD背向输出的光功率经背向光探测器PD进行检测后,转换成模拟电压信号,该模拟电压信号经过A/D转换芯片的采样和转换,转换成代表LD实际输出功率的数字信号,该数字信号被送入FPGA芯片中的APC(自动功率控制模块)进行分类、比较和处理,最终输出调整后的激光器数字偏流信号,数字偏流信号经过FPGA内部的PWM模块和外部的模拟低通滤波器转换成模拟信号,来驱动半导体激光器LD.SOC用于设置多级激光器输出功率设置,APC的工作、停止等控制。
图1 基于FPGA的激光功率自动控制系统结构图
如图1所示,本文所设计的全数字激光器自动功率控制系统由A/D转换器、FPGA功能设计模块和模拟低通滤波器3个部分组成。
如图2所示,本文中FPGA设计包括3个部分,SOC、APC和PWM.
图2自动激光功率控制FPGA内部结构图
SOC是采用的由GaislerResearch公司于2003年研制完成的一款32位、符合IEEE-1754(SPARCVS)结构的免费CPU处理器核Leon2.它的前身是欧空局研制的Leon以及ERC32.Leon2的目标主要是权衡性能和价格、高的可靠性、可移植性、可扩展性、软件兼容性等,其内部硬件资源可裁剪(可配置)、主要面向嵌入式系统,可以用FPGA/CPLD和ASIC等技术实现。Leon2处理器的片上资源如下:分离的指令和数据Cache、硬件乘法器和除法器、中断控制器、具有跟踪缓冲器的调试支持单元(DSU)、2个24位定时器、2个通用异步串口(UART)、低功耗模式、看门狗电路、16位I/O端口、灵活的存储控制器、以太网MAC和PCI接口。Leon2的VHDL模块可以在大多数综合工具上进行综合,可以在任何符合VHDL-87标准的仿真器上进行仿真;采用AMBA AHB/APB总线结构的用户设计新模块,可以很容易加入到Leon2中,完成用户的定制应用。其结构如图3所示。
图3 Leon2处理器结构
2 FPGA模块设计
本设计使用的是Avnet Design Services公司设计的FPGA评估板,该评估板使用的是Xilinx公司XC4VLX25-FF668型FPGA芯片。同时,板上还有32MB的DDR SDRAM和8MB的Intel StrataFlash,10/100M自适应以太网接口、USB2.0接口和RS232串行接口,128x64的OLED(Organic Light Emitting Diode)图形显示,3组140针通用I/O连接器(AvBus)等硬件结构组成。
文中SOC主要实现的功能是控制各个子系统的复位(RESET)与使能(EN),为各个子系统提供时钟信号(CLK),并可以通过读(RD)、写(WR)、片选(CS)3个控制信号、32位的数据输入总线(DIN0~DIN31)、32位的输出数据总线(DOUT0~DOUT31)、32位的地址总线(ADDR0~ADDR31)与各个子系统进行读、写操作。对于APC子系统,SOC主要完成APC模块和PWM模块的系统复位、使能,为APC模块、PWM模块提供时钟,设置APC模块的控制、状态寄存器等功能。
APC结构是激光功率自动控制系统的主体结构。主要功能有两个:1)完成对A/D芯片的控制,包括A/D芯片工作方式的设定(通过设置A/D芯片的控制寄存器)、A/D芯片的控制信号的产生(时钟信号ADCLK、使能信号ADCS、读控制信号ADRD、写控制信号ADWR、并接收A/D转换完成信号ADINT和A/D转换结果ADD0~ADD9);2)对A/D转换的结果(ADD0~ADD9)进行处理,即将采样并转换的激光发射器的输出功率与设置的多级功率进行比较,区分出功率等级,再将标准等级的功率值与实际采样转换功率值进行比较,并根据比较结果给出新的LD驱动功率值。
PWM是根据APC模块输出的新的LD驱动功率值,通过调制方波的占空比来改变输出的直流分量,经过低通滤波器后得到需要的模拟电压信号,来驱动LD.使用PWM模块一可以用数字电路设计取代昂贵的D/A转换器,二是可以灵活的增加或减少被控制LD的数量。
3自动激光功率控制设计的A/D转换模块设计
本设计中的模/数转换芯片选用的是TI公司生产的TLV1571芯片,TLV1571是一款10位单通道模拟输入的模/数转换器,内部有两个8位的控制寄存器CR0、CR1来控制ADC的工作模式,包括软件转换或硬件转换开始选择、内部或外部时钟选择、二进制或二进制补码输出、硬件或软件配置等工作模式。本设计通过将TLV1571的两个控制寄存器设置在外部时钟信号,软件控制转换工作方式,其工作时序如图4所示。
图4 TLV1571工作时序图
当CS和WR信号均为低电平时,写TLV1571的控制寄存器,设置完TLV1571的控制寄存器后,在WR的上升沿开始A/D采样,采样持续6个时钟周期后,自动进行A/D转换,转换需要10个时钟周期,转换完成后,INT变低,通知FPGAA/D转换已经完成,同时,将AD转换后的数字信号在D0~D9数据总线上准备好,在RD信号的下降沿,数据被读入FPGA内进行下一步处理。TLV1571的时钟信号CLK、CS、WR、RD均由FPGA产生。D0~D9与FPGA的10个双向I/O端口相连,用于完成TLV1571两个控制寄存器的设置以及A/D转换结果的传递。图5为TLV1571与FPGA连接电路图。
图5 TLV1571与FPGA连接电路图
4模拟低通滤波器的设计
本设计的模拟低通滤波器采用简单的一阶有源滤波器,其电路结构如图6所示。
图6模拟低通滤波器电路图
5结束语
选择半导体激光器LC25,设定输出功率要求为2 W,PD采用InGaAs PIN光电探测器,PD检测的结果既用于自动功率控制的输入,还作为自动功率控制的结果检验。如果自动功率控制良好,则PD的输出将稳定在额定值上。利用泰克示波器对PD检测信号进行检测,本文设计的自动功率控制实现了对半导体激光器输出功率的稳定控制。
本文设计的新型全数字自动激光功率控制设计应用FPGA设计使用硬件资源少,节约成本;可以通过设置相应功率等级寄存器的值就可以很容易的改变功率等级划分的标准,大大增加了功率控制的灵活性;通过增加PWM模块和简单的模拟器件,就可以实现多个激光器的控制,大大缩短设计周期。