目前大多数的光学SFP收发器都支持SFF-8472(工业标准多边协议),根据SFF-8472协议,必须支持数字诊断监测(DDM, Digital Diagnostic Monitor)功能,此特征使得最终用户能够实时检测SFP参数,例如基本的5大监控量:温度(Temperature)、收发器供电电压(Vcc)、激光偏置电流(TxBias Current)、光输出功率(Tx Power)、输入功率(Rx Power)。
SFP MSA在EEPROM定义了256字节的内存映射图,包括有标准接口、制造商和其他信息,可以通过I2C接口在8位从设备地址10100000X
(A0h)访问。
I2C从设备地址0xA0访问的256字节的数据包括一些常量,用于标识模块类型、接头的速率、波长、传输速率等信息,也包含产品标签序列码、生产日期和对数字监控功能的支持等。一般用户不允许修改的。
内校准
DDM寄存器存放的参数已经满足协议要求的单位,无需与校准参数进行运算。
1) 内部测量的发送温度。以16位有符号整数值表示,单位为1/256摄氏度,温度范围为-128~128度。温度的精度由提供商指定,在工作温度和电压下必须小于3度。请查看提供商温度传感器的详细说明书。计算公式为:
温度值 =(TEMP_MSB << 8 + TEMP_LSB)/ 256,单位度。
2) 内部测量发送供电电压。以16位无符号整数表示,值为(0-65535),刻度的单位为100uV,电压的范围0~6.55V。在工作温度和电压下电压的精度为3%。公式:
电压值 = (VCC_MSB << 8 + VCC_LSB) * 100,单位uV。
3) 测量TX基础电流(uA),以16位无符号整数表示电流,值为(0-65535),每个值为2uA,电流的范围为0~131mA。在给定工作温度和电压下精度必须小于10%。公式:
电流值 = (TxBias_MSB << 8 + TxBias_LSM)* 2,单位uA。
4) 测量Tx输出功率(mW),以16位无符号整数表示,每个刻度为0.1uW,功率范围为0~6.5535mV(~-40到8.2dBm)。在指定工作温度和电压下精度必须小于3db。当发送不启用时数据不可用。公式:
Tx功率 = 10log((Tx_MSB << 8 + Tx_LSB) * 0.1E-3),单位为dBm。
5) 测量Rx接收光功率(mV),值表示平均接收的功率或者OMA依赖于A0h第92个字节的第3位是否设置。使用16位无符号整数表示,功率范围为0~6.5535mW(-40~8.2dBm)。在指定温度和电压下精度应该小于3db。
Rx功率 = 10log((Rx_MSB << 8 + Rx_LSB) * 0.1E-3),单位为dBm。
外校准
DDM寄存器存放的参数,需与存放的校准参数进行运算后,才得到满足协议要求单位的数值。