西安奇芯光電科技有限公司 尚創(chuàng)波 范修宏
本文提出一種可調(diào)諧半導(dǎo)體激光器輸出控制的實(shí)現(xiàn)方案,方案采用C8051F553+MAX5112做為核心控制芯片,采用USB轉(zhuǎn)I2C總線(xiàn)方案來(lái)實(shí)現(xiàn)上位機(jī)與控制系統(tǒng)之間的通信,底層控制系統(tǒng)也采用I2C總線(xiàn)與MAX5112與AD5316R進(jìn)行通訊,通過(guò)AD5316R來(lái)調(diào)節(jié)TEC控制器ADN8834的輸出溫度,從而實(shí)現(xiàn)對(duì)激光器工作溫度的穩(wěn)定控制,通過(guò)MAX5112多路DAC的并聯(lián)組合輸出保證了更大的電流輸出范圍以及更高的控制分辨率,從而保證激光器輸出波長(zhǎng)的精準(zhǔn)調(diào)諧。
隨著光通信技術(shù)的不斷發(fā)展,可調(diào)諧半導(dǎo)體激光器已經(jīng)成為下一代光纖通信系統(tǒng)關(guān)鍵器件之一。在傳統(tǒng)大容量的光纖通信系統(tǒng)中,往往需要多個(gè)不同波長(zhǎng)的DFB激光器組合來(lái)實(shí)現(xiàn)對(duì)不同波長(zhǎng)的應(yīng)用,這樣不僅造成系統(tǒng)空間的大量占用,也會(huì)造成系統(tǒng)設(shè)計(jì)變得相當(dāng)復(fù)雜,同時(shí)也增加了系統(tǒng)的功耗,導(dǎo)致系統(tǒng)存在諸多不穩(wěn)定性,這時(shí)候可調(diào)諧半導(dǎo)體激光器的優(yōu)勢(shì)就體現(xiàn)出來(lái)了,相對(duì)于傳統(tǒng)固定波長(zhǎng)的DFB激光器,它不僅可以作為DWDM光源,還可以用作接入網(wǎng)作為波長(zhǎng)路由器,特別是對(duì)于大容量的通信系統(tǒng)優(yōu)勢(shì)尤其明顯,既降低了體積,簡(jiǎn)化了設(shè)計(jì),又降低了功耗,從而使其能在更多的領(lǐng)域予以應(yīng)用[1]。
該方案上位機(jī)系統(tǒng)通過(guò)USB轉(zhuǎn)I2C模塊實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制,底層控制系統(tǒng)以C8051F553作為主控MCU,通過(guò)從I2C與外部上位機(jī)系統(tǒng)通信,同時(shí)通過(guò)主I2C與MAX5112及AD5316R通信,其中通過(guò)MAX5112多路DAC的并聯(lián)組合輸出不同電流從而實(shí)現(xiàn)對(duì)可調(diào)諧半導(dǎo)體激光器輸出波長(zhǎng)的調(diào)諧,通過(guò)對(duì)AD5316R DAC輸出的精準(zhǔn)控制,從而實(shí)現(xiàn)對(duì)TEC控制溫度的調(diào)節(jié),并通過(guò)ADC采集的TEC溫度從而閉環(huán)控制TEC溫度,兩者的組合就能保證整個(gè)系統(tǒng)對(duì)可調(diào)諧半導(dǎo)體激光器的精準(zhǔn)控制[2]。
主要的控制模塊有:上位機(jī)模塊,USB轉(zhuǎn)I2C通信模塊,從I2C通信模塊,主控制模塊,DAC控制模塊,ADC轉(zhuǎn)換模塊,存儲(chǔ)管理模塊,主I2C通信模塊,MAX5112控制模塊,ADN8834控制模塊等模塊組成,物理機(jī)構(gòu)如圖1所示:

圖1 物理機(jī)構(gòu)圖Fig.1 Physical organization diagram
本系統(tǒng)總共有10大子系統(tǒng),分別是:上位機(jī)系統(tǒng),USB轉(zhuǎn)I2C通信系統(tǒng),初始化設(shè)備模塊系統(tǒng)、初始化內(nèi)存系統(tǒng)、ADC(模數(shù)轉(zhuǎn)換)與DAC(數(shù)模轉(zhuǎn)換)系統(tǒng)、主I2C接口通信系統(tǒng),從I2C通信系統(tǒng),數(shù)據(jù)存儲(chǔ)管理系統(tǒng),MAX5112控制系統(tǒng),ADN8834閉環(huán)控制系統(tǒng)。
上位機(jī)系統(tǒng)用于人機(jī)交互,提供控制接口,下發(fā)控制指令。USB轉(zhuǎn)I2C系統(tǒng)用于實(shí)現(xiàn)U2B轉(zhuǎn)I2C操作,此系統(tǒng)為獨(dú)立實(shí)現(xiàn)的系統(tǒng)模塊,有單獨(dú)的硬件設(shè)備予以支持。ADC轉(zhuǎn)換系統(tǒng)用于監(jiān)控TEC熱敏電阻的溫度,監(jiān)控TEC電壓,TEC電流,系統(tǒng)內(nèi)核溫度,系統(tǒng)供電電壓等,DAC轉(zhuǎn)換系統(tǒng)是通過(guò)AD5316R來(lái)實(shí)現(xiàn),AD5316R是一款I(lǐng)2C通信的4通道DAC芯片,可提供最多4路DAC輸出,此處只用了其中一路作為T(mén)EC控制器的溫度調(diào)節(jié)器,ADN8834閉環(huán)控制系統(tǒng)通過(guò)實(shí)時(shí)采集TEC熱敏電阻的阻值,通過(guò)查找表?yè)Q算出對(duì)應(yīng)的溫度值,根據(jù)溫度值與設(shè)置值的差異調(diào)整模塊加熱還是制冷,使激光器工作溫度始終穩(wěn)定在設(shè)置溫度,從而達(dá)到動(dòng)態(tài)平衡。MAX5112控制系統(tǒng)通過(guò)將其9個(gè)通道的DAC寄存器映射至MCU的RAM中,存放在RAM中的值可以通過(guò)I2C主機(jī)接口或者存儲(chǔ)管理系統(tǒng)中存放的數(shù)據(jù)對(duì)其進(jìn)行實(shí)時(shí)更新,這樣就可以實(shí)現(xiàn)對(duì)MAX5112的實(shí)時(shí)控制。主I2C系統(tǒng)通過(guò)用GPIO根據(jù)標(biāo)準(zhǔn)I2C協(xié)議模擬I2C時(shí)序?qū)崿F(xiàn),用于實(shí)現(xiàn)與MAX5112及AD5316R芯片的通信。
硬件電路部分如圖2所示,C8051F553作為主控MCU,采用I2C總線(xiàn)與MAX5112與AD5316R進(jìn)行通訊,下發(fā)相關(guān)命令,讀取相關(guān)監(jiān)控,從而實(shí)現(xiàn)對(duì)整個(gè)底層系統(tǒng)的控制[3]。

圖2 硬件電路MCU控制部分Fig.2 Hardware circuit MCU control part
用于實(shí)現(xiàn)人機(jī)交互,提供控制接口,下發(fā)控制指令,讀取監(jiān)控值。控制UI界面如圖3所示:

圖3 控制UI界面Fig.3 Control UI interface
用于實(shí)現(xiàn)上位機(jī)系統(tǒng)與控制系統(tǒng)之間的通信,通過(guò)專(zhuān)用的USB芯片實(shí)現(xiàn)數(shù)據(jù)的透?jìng)饕约皡f(xié)議轉(zhuǎn)換,從而實(shí)現(xiàn)USB協(xié)議與I2C標(biāo)準(zhǔn)協(xié)議之間的相互轉(zhuǎn)換,從而實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),此模塊為獨(dú)立的硬件設(shè)備來(lái)實(shí)現(xiàn)。
2.4.1 初始化
(1)設(shè)備初始化。初始化設(shè)備模塊系統(tǒng)用于初始化ADC模塊、DAC模塊、主I2C通信模塊,從I2C通信模塊及定時(shí)器等。(2)下載初始化。通過(guò)讀取Flash某一指定地址的值是否為指定值來(lái)判斷是否為燒錄程序后第一次上電;若不是,則初始化存放在Flash中的AD5316R及MAX5112的默認(rèn)配置數(shù)據(jù),并將此指定地址的值更新為指定值,否是,則跳過(guò)初始化,直接使用Flash中存放的數(shù)據(jù)來(lái)初始化AD5316R及MAX5112等相關(guān)寄存器。(3)內(nèi)存系統(tǒng)初始化。將相應(yīng)數(shù)據(jù)放入Flash中對(duì)應(yīng)數(shù)據(jù)段。初始化內(nèi)存系統(tǒng)通過(guò)第一次上電初始化Flash中的AD5316R及MAX5112對(duì)應(yīng)的數(shù)據(jù);上電時(shí),用Flash表中對(duì)應(yīng)地址的數(shù)據(jù)初始化RAM表中的值[4]。
2.4.2 主循環(huán)
當(dāng)系統(tǒng)初始化之后,系統(tǒng)根據(jù)需要對(duì)系統(tǒng)的工作狀態(tài)進(jìn)行監(jiān)控,當(dāng)TEC的設(shè)置溫度與采集的熱敏電阻的溫度值有差異的時(shí)候,系統(tǒng)將會(huì)屏蔽執(zhí)行相關(guān)對(duì)AD5316R及MAX5112的配置操作,并實(shí)時(shí)上報(bào)TEC溫度異常標(biāo)志,直到故障排除,TEC溫度差異小于設(shè)定值時(shí)才會(huì)自動(dòng)執(zhí)行對(duì)AD5316R及MAX5112的配置操作,同時(shí)I2C從接口會(huì)實(shí)時(shí)接收通過(guò)上位機(jī)系統(tǒng)下發(fā)的配置數(shù)據(jù),根據(jù)下發(fā)的數(shù)據(jù)去實(shí)時(shí)調(diào)整TEC溫度及MAX5112的輸出電流,從而改變可調(diào)諧半導(dǎo)體激光器的發(fā)射光波長(zhǎng)。以下將根據(jù)系統(tǒng)主循環(huán)流程,從實(shí)時(shí)數(shù)據(jù)監(jiān)控、實(shí)時(shí)狀態(tài)監(jiān)控、命令解析、TEC溫度設(shè)置,數(shù)據(jù)通信系統(tǒng)幾部分詳細(xì)說(shuō)明。
(1)實(shí)時(shí)數(shù)據(jù)監(jiān)控。對(duì)系統(tǒng)TEC溫度,TEC電壓,TEC電流,內(nèi)核溫度,系統(tǒng)供電電壓等五個(gè)量進(jìn)行實(shí)時(shí)數(shù)據(jù)監(jiān)控。(2)狀態(tài)監(jiān)控。對(duì)TEC異常狀態(tài),內(nèi)核溫度狀態(tài),供電異常狀態(tài),USB通信狀態(tài),I2C讀寫(xiě)異常狀態(tài),F(xiàn)lash操作異常狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控。(3)命令解析。此功能用于對(duì)上位機(jī)下發(fā)的所有命令進(jìn)行校驗(yàn),解析,判斷,并根據(jù)命令調(diào)用不同的功能模塊來(lái)執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回至通信系統(tǒng)。(4)TEC溫度設(shè)置。此功能用于設(shè)置當(dāng)前TEC控制器的目標(biāo)溫度,當(dāng)接收到溫度值后,系統(tǒng)會(huì)即刻轉(zhuǎn)換為對(duì)應(yīng)的DAC值,并通過(guò)主I2C系統(tǒng)下發(fā)至AD5316R,TEC控制器即可根據(jù)設(shè)置溫度實(shí)時(shí)調(diào)整加熱或制冷電流,從而快速穩(wěn)定溫度。(5)數(shù)據(jù)通信系統(tǒng)。1)I2C通信。采用SMBUS I/O接口與上位機(jī)進(jìn)行通信,上位機(jī)通過(guò)中斷方式對(duì)下位機(jī)進(jìn)行讀寫(xiě)操作。通過(guò)I/O模擬I2C時(shí)序?qū)崿F(xiàn)C8051F553與MAX5112及AD5316R等器件之間的數(shù)據(jù)通信。2)數(shù)據(jù)的讀取與寫(xiě)入。從Flash加載并顯示對(duì)應(yīng)數(shù)據(jù),并根據(jù)操作將數(shù)據(jù)保存至Flash。
2.4.3 部分代碼示例
部分代碼如圖4所示:

圖4 部分底層控制代碼Fig.4 Some underlying control codes
從表1可以看出,設(shè)置波長(zhǎng)與測(cè)試波長(zhǎng)的偏差都在0.1nm以?xún)?nèi),可以看出該系統(tǒng)對(duì)可調(diào)諧半導(dǎo)體激光器的波長(zhǎng)可以進(jìn)行精確調(diào)諧。

表1 設(shè)置波長(zhǎng)與測(cè)試結(jié)果對(duì)比Tab.1 Comparison between setting wavelength and test results
本系統(tǒng)通過(guò)C8051F553+MAX5112結(jié)合TEC控制器即實(shí)現(xiàn)了對(duì)可調(diào)諧半導(dǎo)體激光器的波長(zhǎng)精確調(diào)諧,通過(guò)對(duì)波長(zhǎng)精度和波長(zhǎng)范圍等完整性的測(cè)試、以及進(jìn)行相關(guān)接口測(cè)試、集成測(cè)試、功能測(cè)試、性能評(píng)測(cè)和負(fù)載測(cè)試等方面的測(cè)試,已經(jīng)達(dá)到嚴(yán)格滿(mǎn)足相關(guān)技術(shù)指標(biāo)的要求。整個(gè)系統(tǒng)操作簡(jiǎn)單,占用資源少,已經(jīng)達(dá)到了批量化生產(chǎn)的要求。