西安奇芯光电科技有限公司 尚创波 范修宏
本文提出一种可调谐半导体激光器输出控制的实现方案,方案采用C8051F553+MAX5112做为核心控制芯片,采用USB转I2C总线方案来实现上位机与控制系统之间的通信,底层控制系统也采用I2C总线与MAX5112与AD5316R进行通讯,通过AD5316R来调节TEC控制器ADN8834的输出温度,从而实现对激光器工作温度的稳定控制,通过MAX5112多路DAC的并联组合输出保证了更大的电流输出范围以及更高的控制分辨率,从而保证激光器输出波长的精准调谐。
随着光通信技术的不断发展,可调谐半导体激光器已经成为下一代光纤通信系统关键器件之一。在传统大容量的光纤通信系统中,往往需要多个不同波长的DFB激光器组合来实现对不同波长的应用,这样不仅造成系统空间的大量占用,也会造成系统设计变得相当复杂,同时也增加了系统的功耗,导致系统存在诸多不稳定性,这时候可调谐半导体激光器的优势就体现出来了,相对于传统固定波长的DFB激光器,它不仅可以作为DWDM光源,还可以用作接入网作为波长路由器,特别是对于大容量的通信系统优势尤其明显,既降低了体积,简化了设计,又降低了功耗,从而使其能在更多的领域予以应用[1]。
该方案上位机系统通过USB转I2C模块实现对整个系统的控制,底层控制系统以C8051F553作为主控MCU,通过从I2C与外部上位机系统通信,同时通过主I2C与MAX5112及AD5316R通信,其中通过MAX5112多路DAC的并联组合输出不同电流从而实现对可调谐半导体激光器输出波长的调谐,通过对AD5316R DAC输出的精准控制,从而实现对TEC控制温度的调节,并通过ADC采集的TEC温度从而闭环控制TEC温度,两者的组合就能保证整个系统对可调谐半导体激光器的精准控制[2]。
主要的控制模块有:上位机模块,USB转I2C通信模块,从I2C通信模块,主控制模块,DAC控制模块,ADC转换模块,存储管理模块,主I2C通信模块,MAX5112控制模块,ADN8834控制模块等模块组成,物理机构如图1所示:
图1 物理机构图Fig.1 Physical organization diagram
本系统总共有10大子系统,分别是:上位机系统,USB转I2C通信系统,初始化设备模块系统、初始化内存系统、ADC(模数转换)与DAC(数模转换)系统、主I2C接口通信系统,从I2C通信系统,数据存储管理系统,MAX5112控制系统,ADN8834闭环控制系统。
上位机系统用于人机交互,提供控制接口,下发控制指令。USB转I2C系统用于实现U2B转I2C操作,此系统为独立实现的系统模块,有单独的硬件设备予以支持。ADC转换系统用于监控TEC热敏电阻的温度,监控TEC电压,TEC电流,系统内核温度,系统供电电压等,DAC转换系统是通过AD5316R来实现,AD5316R是一款I2C通信的4通道DAC芯片,可提供最多4路DAC输出,此处只用了其中一路作为TEC控制器的温度调节器,ADN8834闭环控制系统通过实时采集TEC热敏电阻的阻值,通过查找表换算出对应的温度值,根据温度值与设置值的差异调整模块加热还是制冷,使激光器工作温度始终稳定在设置温度,从而达到动态平衡。MAX5112控制系统通过将其9个通道的DAC寄存器映射至MCU的RAM中,存放在RAM中的值可以通过I2C主机接口或者存储管理系统中存放的数据对其进行实时更新,这样就可以实现对MAX5112的实时控制。主I2C系统通过用GPIO根据标准I2C协议模拟I2C时序实现,用于实现与MAX5112及AD5316R芯片的通信。
硬件电路部分如图2所示,C8051F553作为主控MCU,采用I2C总线与MAX5112与AD5316R进行通讯,下发相关命令,读取相关监控,从而实现对整个底层系统的控制[3]。
图2 硬件电路MCU控制部分Fig.2 Hardware circuit MCU control part
用于实现人机交互,提供控制接口,下发控制指令,读取监控值。控制UI界面如图3所示:
图3 控制UI界面Fig.3 Control UI interface
用于实现上位机系统与控制系统之间的通信,通过专用的USB芯片实现数据的透传以及协议转换,从而实现USB协议与I2C标准协议之间的相互转换,从而实现数据转发,此模块为独立的硬件设备来实现。
2.4.1 初始化
(1)设备初始化。初始化设备模块系统用于初始化ADC模块、DAC模块、主I2C通信模块,从I2C通信模块及定时器等。(2)下载初始化。通过读取Flash某一指定地址的值是否为指定值来判断是否为烧录程序后第一次上电;若不是,则初始化存放在Flash中的AD5316R及MAX5112的默认配置数据,并将此指定地址的值更新为指定值,否是,则跳过初始化,直接使用Flash中存放的数据来初始化AD5316R及MAX5112等相关寄存器。(3)内存系统初始化。将相应数据放入Flash中对应数据段。初始化内存系统通过第一次上电初始化Flash中的AD5316R及MAX5112对应的数据;上电时,用Flash表中对应地址的数据初始化RAM表中的值[4]。
2.4.2 主循环
当系统初始化之后,系统根据需要对系统的工作状态进行监控,当TEC的设置温度与采集的热敏电阻的温度值有差异的时候,系统将会屏蔽执行相关对AD5316R及MAX5112的配置操作,并实时上报TEC温度异常标志,直到故障排除,TEC温度差异小于设定值时才会自动执行对AD5316R及MAX5112的配置操作,同时I2C从接口会实时接收通过上位机系统下发的配置数据,根据下发的数据去实时调整TEC温度及MAX5112的输出电流,从而改变可调谐半导体激光器的发射光波长。以下将根据系统主循环流程,从实时数据监控、实时状态监控、命令解析、TEC温度设置,数据通信系统几部分详细说明。
(1)实时数据监控。对系统TEC温度,TEC电压,TEC电流,内核温度,系统供电电压等五个量进行实时数据监控。(2)状态监控。对TEC异常状态,内核温度状态,供电异常状态,USB通信状态,I2C读写异常状态,Flash操作异常状态进行实时监控。(3)命令解析。此功能用于对上位机下发的所有命令进行校验,解析,判断,并根据命令调用不同的功能模块来执行相应操作,并将执行结果返回至通信系统。(4)TEC温度设置。此功能用于设置当前TEC控制器的目标温度,当接收到温度值后,系统会即刻转换为对应的DAC值,并通过主I2C系统下发至AD5316R,TEC控制器即可根据设置温度实时调整加热或制冷电流,从而快速稳定温度。(5)数据通信系统。1)I2C通信。采用SMBUS I/O接口与上位机进行通信,上位机通过中断方式对下位机进行读写操作。通过I/O模拟I2C时序实现C8051F553与MAX5112及AD5316R等器件之间的数据通信。2)数据的读取与写入。从Flash加载并显示对应数据,并根据操作将数据保存至Flash。
2.4.3 部分代码示例
部分代码如图4所示:
图4 部分底层控制代码Fig.4 Some underlying control codes
从表1可以看出,设置波长与测试波长的偏差都在0.1nm以内,可以看出该系统对可调谐半导体激光器的波长可以进行精确调谐。
表1 设置波长与测试结果对比Tab.1 Comparison between setting wavelength and test results
本系统通过C8051F553+MAX5112结合TEC控制器即实现了对可调谐半导体激光器的波长精确调谐,通过对波长精度和波长范围等完整性的测试、以及进行相关接口测试、集成测试、功能测试、性能评测和负载测试等方面的测试,已经达到严格满足相关技术指标的要求。整个系统操作简单,占用资源少,已经达到了批量化生产的要求。