尚創(chuàng)波
?
基于C8051F396+NT25L90方案的SFP光模塊Firmware設(shè)計(jì)
尚創(chuàng)波
西安奇芯光電科技有限公司,陜西 西安 710311
提出一種基于C8051F396+NT25L90方案的SFP光模塊Firmware設(shè)計(jì)實(shí)現(xiàn)方案,本方案控制軟件采用IIC總線進(jìn)行通訊,通信速率最高可達(dá)400k;通過IIC接口進(jìn)行數(shù)據(jù)傳輸,遵循SFF8472協(xié)議,對(duì)智能SFP光收發(fā)模塊的A2區(qū)進(jìn)行讀寫和校準(zhǔn),能夠快速準(zhǔn)確的對(duì)模塊的發(fā)射光功率、接收光功率、偏置電流、工作溫度、工作電壓等參數(shù)進(jìn)行初始化和校準(zhǔn),并能進(jìn)行功能擴(kuò)展,編程上也更加靈活。
C8051F396;NT25L90;SFP;IIC;SFF8472協(xié)議;校準(zhǔn)
項(xiàng)目背景:常見的SFP光收發(fā)一體模塊的實(shí)現(xiàn)方案有單芯片方案,也有以單片機(jī)作為MCU的MCU+Driver方案。單芯片方案的芯片成本過高以及兼容性和可擴(kuò)展性不足等方面的問題,往往不盡如人意,所以MCU+Driver方案有其不可替代的優(yōu)勢(shì)。
系統(tǒng)綜述:
SFP光模塊以C8051F396芯片作為MCU、NT25l90作為Driver,溫度測(cè)量傳感器、ADC轉(zhuǎn)換模塊、DAC控制模塊、存儲(chǔ)管理模塊、I2C通信接口等模塊組成。物理機(jī)構(gòu)圖如下圖所示:
本系統(tǒng)總共有6大子系統(tǒng),分別是:初始化設(shè)備模塊系統(tǒng)、初始化內(nèi)存系統(tǒng)、ADC(模數(shù)轉(zhuǎn)換)與DAC(數(shù)模轉(zhuǎn)換)系統(tǒng)、溫度補(bǔ)償系統(tǒng)、狀態(tài)與數(shù)據(jù)監(jiān)控系統(tǒng)、I2C接口通信系統(tǒng)。
ADC轉(zhuǎn)換系統(tǒng)對(duì)模塊的工作狀態(tài)進(jìn)行監(jiān)控。DAC轉(zhuǎn)換控制系統(tǒng)控制光模塊發(fā)射光功率、消光比、接收靈敏度等性能。溫度補(bǔ)償系統(tǒng)根據(jù)溫度的變化通過DAC系統(tǒng)對(duì)光模塊各參數(shù)進(jìn)行補(bǔ)償。I2C接口通信系統(tǒng)用于上位機(jī)控制光模塊讀寫相關(guān)信息及器件間的數(shù)據(jù)通信。
通過CPU控制ADC轉(zhuǎn)換模塊監(jiān)控發(fā)射光功率、接收光功率、偏置電流;控制溫度傳感器監(jiān)控溫度;通過DAC控制模塊控制發(fā)射光功率、消光比、接收靈敏度;溫度傳感傳感芯片內(nèi)部溫度;各功能模塊將數(shù)據(jù)保存到存儲(chǔ)區(qū);上位機(jī)通過I2C通信模塊監(jiān)控和控制各功能模塊。控制軟件通過對(duì)光模塊進(jìn)行調(diào)節(jié),通過對(duì)發(fā)光功率、偏置電流、調(diào)制電流、雪崩二極管電壓進(jìn)行精確地調(diào)節(jié)。這樣保證光模塊正常工作,保證光模塊工作于良好狀態(tài),使光模塊通信效率變高。
系統(tǒng)組成:
1.1 設(shè)備初始化
初始化設(shè)備模塊系統(tǒng)用于初始化ADC模塊、DAC模塊、I2C通信模塊及定時(shí)器等。
1.2 下載初始化
FEE_INIT?=0x D2,通過A0表FEE_INIT(0x84地址數(shù)據(jù))是否為0xD2 判斷是否為燒錄程序后第一次上電;若是,則初始化各表,否則,跳過各表初始化,直接使用D0表數(shù)據(jù)初始化NT25L90寄存器。
1.3 內(nèi)存系統(tǒng)初始化
根據(jù)SFF-8472協(xié)議,將相應(yīng)數(shù)據(jù)放入Flash中對(duì)應(yīng)數(shù)據(jù)段。初始化內(nèi)存系統(tǒng)通過第一次上電初始化FLASH中的A0表和A2表;上電時(shí),用FLASH表中的數(shù)據(jù)初始化RAM中的表。
當(dāng)系統(tǒng)初始化之后,系統(tǒng)根據(jù)需要對(duì)模塊工作狀態(tài)進(jìn)行監(jiān)控,當(dāng)工作的溫度與預(yù)期的溫度值有差別的時(shí)候,溫度傳感器將即時(shí)的溫度值傳達(dá)給嵌入式處理器,處理器對(duì)數(shù)據(jù)進(jìn)行處理,轉(zhuǎn)換為命令,傳達(dá)給溫度調(diào)節(jié)系統(tǒng),溫度補(bǔ)償系統(tǒng)對(duì)溫度敏感功能進(jìn)行調(diào)節(jié)。系統(tǒng)可以根據(jù)檢測(cè)得到即時(shí)的光模塊的工作溫度,調(diào)節(jié)光功率,消光比,接收靈敏度等。
主循環(huán)(無限While循環(huán))主框架包含以下四部分:其中前三部分直接控制模塊工作性能,數(shù)據(jù)通信系統(tǒng)根據(jù)SFF-8472協(xié)議與I2C通訊協(xié)議,搭建的 Firmware框架設(shè)計(jì)。以下將根據(jù)系統(tǒng)流程,從實(shí)時(shí)數(shù)據(jù)監(jiān)控、告警警告判斷,狀態(tài)監(jiān)控、溫度補(bǔ)償系統(tǒng)、數(shù)據(jù)通信系統(tǒng)四部分詳細(xì)說明。
2.1 實(shí)時(shí)數(shù)據(jù)監(jiān)控
對(duì)模塊:
TX_POWER,TX_BIAS,TEMPRATUER,VDD,RX_POWER五個(gè)量進(jìn)行實(shí)時(shí)數(shù)據(jù)監(jiān)控,并對(duì)告警警告狀態(tài)進(jìn)行判斷,通過TX_FAULT,TX_DISABLE,RX_LOS對(duì)模塊狀態(tài)監(jiān)控與控制。
2.2 告警警告判斷
將實(shí)時(shí)采樣的ADC值,經(jīng)過內(nèi)部校準(zhǔn)后與A2L的告警警告值大小進(jìn)行比較,將狀態(tài)標(biāo)志寫入對(duì)應(yīng)位置。
2.3 狀態(tài)監(jiān)控
通過NT25L90 STATUS0寄存器對(duì)TX_FAULT,TX_DISABLE,RX_LOS三個(gè)狀態(tài)進(jìn)行監(jiān)控;
通過控制NT25L90 TXSET0寄存器第0位,對(duì)Laser進(jìn)行Disable控制。
2.4 溫度補(bǔ)償系統(tǒng):
溫度的變化會(huì)引起光模塊的工作性能的變化,根據(jù)模塊的工作溫度,按照調(diào)試好的參數(shù),系統(tǒng)會(huì)對(duì)光模塊的發(fā)射光功率、消光比、接收靈敏度進(jìn)行調(diào)節(jié)。系統(tǒng)會(huì)定期對(duì)光模塊工作溫度進(jìn)行測(cè)定,待檢測(cè)溫度偏離常態(tài)的時(shí)候,進(jìn)行相應(yīng)參數(shù)的補(bǔ)充,使光模塊正常工作。
2.5 數(shù)據(jù)通信系統(tǒng)
2.5.1 I2C通信
采用SMBUS I/O接口與上位機(jī)進(jìn)行通信,上位機(jī)通過中斷方式對(duì)下位機(jī)進(jìn)行讀寫操作。通過I/O模擬I2C時(shí)序?qū)崿F(xiàn)C8051F396與NT25L90器件之間的數(shù)據(jù)通信。
2.5.2 表切換
根據(jù)SFF-8472協(xié)議,加載并顯示各表對(duì)應(yīng)數(shù)據(jù),并根據(jù)操作將數(shù)據(jù)保存至FLASH.
本軟件按照8472協(xié)議的規(guī)定,編寫各功能模塊,實(shí)現(xiàn)監(jiān)控SFP光模塊參數(shù),精確控制SFP光模塊的相關(guān)性能。通過數(shù)據(jù)和數(shù)據(jù)庫(kù)完整性測(cè)試、接口測(cè)試、集成測(cè)試、功能測(cè)試、性能評(píng)測(cè)和負(fù)載測(cè)試等方面的測(cè)試,已經(jīng)達(dá)到嚴(yán)格滿足光模塊相關(guān)協(xié)議。軟件本身操作簡(jiǎn)單,占用資源少,已經(jīng)達(dá)到了批量化生產(chǎn)的要求。
[1]程社成,鄧燕妮.帶數(shù)字診斷功能的小封裝光模塊研究[J].武漢理工大學(xué),2006(4):32.
SFP optical module Firmware Design Scheme Based on C8051F396 + NT25L90
Shang Chuangbo
Xian Qi Core Optoelectronics Technology Co Ltd.,Shanxi Xi'an 710311
This paper presents a design based on the SFP optical module Firmware implementation C8051F396 + NT25L90 program, the program control software using IIC bus communication, communication rate up to 400k; data transfer via IIC interface, follow SFF8472 agreement, intelligent A2 zone SFP optical transceiver module to read and write and calibration, the module can be quickly and accurately transmit optical power, received optical power, bias current, temperature, voltage and other parameters initialization and calibration, and can extend the functionality, programming is also more flexible.
C8051F396; NT25L90; SFP; IIC; SFF8472 protocol; calibration
TP274
A
1009-6434(2016)07-0180-02