尚創(chuàng)波
?
基于C8051F396+NT25L90方案的SFP光模塊Firmware設計
尚創(chuàng)波
西安奇芯光電科技有限公司,陜西 西安 710311
提出一種基于C8051F396+NT25L90方案的SFP光模塊Firmware設計實現方案,本方案控制軟件采用IIC總線進行通訊,通信速率最高可達400k;通過IIC接口進行數據傳輸,遵循SFF8472協議,對智能SFP光收發(fā)模塊的A2區(qū)進行讀寫和校準,能夠快速準確的對模塊的發(fā)射光功率、接收光功率、偏置電流、工作溫度、工作電壓等參數進行初始化和校準,并能進行功能擴展,編程上也更加靈活。
C8051F396;NT25L90;SFP;IIC;SFF8472協議;校準
項目背景:常見的SFP光收發(fā)一體模塊的實現方案有單芯片方案,也有以單片機作為MCU的MCU+Driver方案。單芯片方案的芯片成本過高以及兼容性和可擴展性不足等方面的問題,往往不盡如人意,所以MCU+Driver方案有其不可替代的優(yōu)勢。
系統(tǒng)綜述:

SFP光模塊以C8051F396芯片作為MCU、NT25l90作為Driver,溫度測量傳感器、ADC轉換模塊、DAC控制模塊、存儲管理模塊、I2C通信接口等模塊組成。物理機構圖如下圖所示:
本系統(tǒng)總共有6大子系統(tǒng),分別是:初始化設備模塊系統(tǒng)、初始化內存系統(tǒng)、ADC(模數轉換)與DAC(數模轉換)系統(tǒng)、溫度補償系統(tǒng)、狀態(tài)與數據監(jiān)控系統(tǒng)、I2C接口通信系統(tǒng)。
ADC轉換系統(tǒng)對模塊的工作狀態(tài)進行監(jiān)控。DAC轉換控制系統(tǒng)控制光模塊發(fā)射光功率、消光比、接收靈敏度等性能。溫度補償系統(tǒng)根據溫度的變化通過DAC系統(tǒng)對光模塊各參數進行補償。I2C接口通信系統(tǒng)用于上位機控制光模塊讀寫相關信息及器件間的數據通信。
通過CPU控制ADC轉換模塊監(jiān)控發(fā)射光功率、接收光功率、偏置電流;控制溫度傳感器監(jiān)控溫度;通過DAC控制模塊控制發(fā)射光功率、消光比、接收靈敏度;溫度傳感傳感芯片內部溫度;各功能模塊將數據保存到存儲區(qū);上位機通過I2C通信模塊監(jiān)控和控制各功能模塊。控制軟件通過對光模塊進行調節(jié),通過對發(fā)光功率、偏置電流、調制電流、雪崩二極管電壓進行精確地調節(jié)。這樣保證光模塊正常工作,保證光模塊工作于良好狀態(tài),使光模塊通信效率變高。
系統(tǒng)組成:
1.1 設備初始化
初始化設備模塊系統(tǒng)用于初始化ADC模塊、DAC模塊、I2C通信模塊及定時器等。
1.2 下載初始化
FEE_INIT?=0x D2,通過A0表FEE_INIT(0x84地址數據)是否為0xD2 判斷是否為燒錄程序后第一次上電;若是,則初始化各表,否則,跳過各表初始化,直接使用D0表數據初始化NT25L90寄存器。
1.3 內存系統(tǒng)初始化
根據SFF-8472協議,將相應數據放入Flash中對應數據段。初始化內存系統(tǒng)通過第一次上電初始化FLASH中的A0表和A2表;上電時,用FLASH表中的數據初始化RAM中的表。
當系統(tǒng)初始化之后,系統(tǒng)根據需要對模塊工作狀態(tài)進行監(jiān)控,當工作的溫度與預期的溫度值有差別的時候,溫度傳感器將即時的溫度值傳達給嵌入式處理器,處理器對數據進行處理,轉換為命令,傳達給溫度調節(jié)系統(tǒng),溫度補償系統(tǒng)對溫度敏感功能進行調節(jié)。系統(tǒng)可以根據檢測得到即時的光模塊的工作溫度,調節(jié)光功率,消光比,接收靈敏度等。
主循環(huán)(無限While循環(huán))主框架包含以下四部分:其中前三部分直接控制模塊工作性能,數據通信系統(tǒng)根據SFF-8472協議與I2C通訊協議,搭建的 Firmware框架設計。以下將根據系統(tǒng)流程,從實時數據監(jiān)控、告警警告判斷,狀態(tài)監(jiān)控、溫度補償系統(tǒng)、數據通信系統(tǒng)四部分詳細說明。
2.1 實時數據監(jiān)控
對模塊:
TX_POWER,TX_BIAS,TEMPRATUER,VDD,RX_POWER五個量進行實時數據監(jiān)控,并對告警警告狀態(tài)進行判斷,通過TX_FAULT,TX_DISABLE,RX_LOS對模塊狀態(tài)監(jiān)控與控制。
2.2 告警警告判斷
將實時采樣的ADC值,經過內部校準后與A2L的告警警告值大小進行比較,將狀態(tài)標志寫入對應位置。
2.3 狀態(tài)監(jiān)控
通過NT25L90 STATUS0寄存器對TX_FAULT,TX_DISABLE,RX_LOS三個狀態(tài)進行監(jiān)控;
通過控制NT25L90 TXSET0寄存器第0位,對Laser進行Disable控制。
2.4 溫度補償系統(tǒng):
溫度的變化會引起光模塊的工作性能的變化,根據模塊的工作溫度,按照調試好的參數,系統(tǒng)會對光模塊的發(fā)射光功率、消光比、接收靈敏度進行調節(jié)。系統(tǒng)會定期對光模塊工作溫度進行測定,待檢測溫度偏離常態(tài)的時候,進行相應參數的補充,使光模塊正常工作。
2.5 數據通信系統(tǒng)
2.5.1 I2C通信
采用SMBUS I/O接口與上位機進行通信,上位機通過中斷方式對下位機進行讀寫操作。通過I/O模擬I2C時序實現C8051F396與NT25L90器件之間的數據通信。
2.5.2 表切換
根據SFF-8472協議,加載并顯示各表對應數據,并根據操作將數據保存至FLASH.
本軟件按照8472協議的規(guī)定,編寫各功能模塊,實現監(jiān)控SFP光模塊參數,精確控制SFP光模塊的相關性能。通過數據和數據庫完整性測試、接口測試、集成測試、功能測試、性能評測和負載測試等方面的測試,已經達到嚴格滿足光模塊相關協議。軟件本身操作簡單,占用資源少,已經達到了批量化生產的要求。
[1]程社成,鄧燕妮.帶數字診斷功能的小封裝光模塊研究[J].武漢理工大學,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