当前位置:首页 期刊杂志

基于C8051F396+NT25L90方案的SFP光模块Firmware设计

时间:2024-05-04

尚创波



基于C8051F396+NT25L90方案的SFP光模块Firmware设计

尚创波

西安奇芯光电科技有限公司,陕西 西安 710311

提出一种基于C8051F396+NT25L90方案的SFP光模块Firmware设计实现方案,本方案控制软件采用IIC总线进行通讯,通信速率最高可达400k;通过IIC接口进行数据传输,遵循SFF8472协议,对智能SFP光收发模块的A2区进行读写和校准,能够快速准确的对模块的发射光功率、接收光功率、偏置电流、工作温度、工作电压等参数进行初始化和校准,并能进行功能扩展,编程上也更加灵活。

C8051F396;NT25L90;SFP;IIC;SFF8472协议;校准

项目背景:常见的SFP光收发一体模块的实现方案有单芯片方案,也有以单片机作为MCU的MCU+Driver方案。单芯片方案的芯片成本过高以及兼容性和可扩展性不足等方面的问题,往往不尽如人意,所以MCU+Driver方案有其不可替代的优势。

系统综述:

SFP光模块以C8051F396芯片作为MCU、NT25l90作为Driver,温度测量传感器、ADC转换模块、DAC控制模块、存储管理模块、I2C通信接口等模块组成。物理机构图如下图所示:

本系统总共有6大子系统,分别是:初始化设备模块系统、初始化内存系统、ADC(模数转换)与DAC(数模转换)系统、温度补偿系统、状态与数据监控系统、I2C接口通信系统。

ADC转换系统对模块的工作状态进行监控。DAC转换控制系统控制光模块发射光功率、消光比、接收灵敏度等性能。温度补偿系统根据温度的变化通过DAC系统对光模块各参数进行补偿。I2C接口通信系统用于上位机控制光模块读写相关信息及器件间的数据通信。

通过CPU控制ADC转换模块监控发射光功率、接收光功率、偏置电流;控制温度传感器监控温度;通过DAC控制模块控制发射光功率、消光比、接收灵敏度;温度传感传感芯片内部温度;各功能模块将数据保存到存储区;上位机通过I2C通信模块监控和控制各功能模块。控制软件通过对光模块进行调节,通过对发光功率、偏置电流、调制电流、雪崩二极管电压进行精确地调节。这样保证光模块正常工作,保证光模块工作于良好状态,使光模块通信效率变高。

系统组成:

1 初始化

1.1 设备初始化

初始化设备模块系统用于初始化ADC模块、DAC模块、I2C通信模块及定时器等。

1.2 下载初始化

FEE_INIT?=0x D2,通过A0表FEE_INIT(0x84地址数据)是否为0xD2 判断是否为烧录程序后第一次上电;若是,则初始化各表,否则,跳过各表初始化,直接使用D0表数据初始化NT25L90寄存器。

1.3 内存系统初始化

根据SFF-8472协议,将相应数据放入Flash中对应数据段。初始化内存系统通过第一次上电初始化FLASH中的A0表和A2表;上电时,用FLASH表中的数据初始化RAM中的表。

2 主循环

当系统初始化之后,系统根据需要对模块工作状态进行监控,当工作的温度与预期的温度值有差别的时候,温度传感器将即时的温度值传达给嵌入式处理器,处理器对数据进行处理,转换为命令,传达给温度调节系统,温度补偿系统对温度敏感功能进行调节。系统可以根据检测得到即时的光模块的工作温度,调节光功率,消光比,接收灵敏度等。

主循环(无限While循环)主框架包含以下四部分:其中前三部分直接控制模块工作性能,数据通信系统根据SFF-8472协议与I2C通讯协议,搭建的 Firmware框架设计。以下将根据系统流程,从实时数据监控、告警警告判断,状态监控、温度补偿系统、数据通信系统四部分详细说明。

2.1 实时数据监控

对模块:

TX_POWER,TX_BIAS,TEMPRATUER,VDD,RX_POWER五个量进行实时数据监控,并对告警警告状态进行判断,通过TX_FAULT,TX_DISABLE,RX_LOS对模块状态监控与控制。

2.2 告警警告判断

将实时采样的ADC值,经过内部校准后与A2L的告警警告值大小进行比较,将状态标志写入对应位置。

2.3 状态监控

通过NT25L90 STATUS0寄存器对TX_FAULT,TX_DISABLE,RX_LOS三个状态进行监控;

通过控制NT25L90 TXSET0寄存器第0位,对Laser进行Disable控制。

2.4 温度补偿系统:

温度的变化会引起光模块的工作性能的变化,根据模块的工作温度,按照调试好的参数,系统会对光模块的发射光功率、消光比、接收灵敏度进行调节。系统会定期对光模块工作温度进行测定,待检测温度偏离常态的时候,进行相应参数的补充,使光模块正常工作。

2.5 数据通信系统

2.5.1 I2C通信

采用SMBUS I/O接口与上位机进行通信,上位机通过中断方式对下位机进行读写操作。通过I/O模拟I2C时序实现C8051F396与NT25L90器件之间的数据通信。

2.5.2 表切换

根据SFF-8472协议,加载并显示各表对应数据,并根据操作将数据保存至FLASH.

3 结束语

本软件按照8472协议的规定,编写各功能模块,实现监控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

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!