文章目录
- A0h概览
- 5 标识符与编码(地址A0h)
-
- 5.1 A0h-00(0x00):物理设备标识符
- 5.2 A0h-01(0x01):物理设备扩展标识符
- 5.3 A0h-02(0x02):连接器标识
- 5.4 A0h-03~10, 36, 62(0x03~0x0A, 0x24, 0x3E)字节:收发器合规编码
-
- 5.4.a A0h-03(0x03):10G以太网和服务器规范位
- 5.4.b A0h-04, 05(0x04, 0x05):ESCON、SONET规范位
- 5.4.c A0h-06(0x06):以太网规范位
- 5.4.d A0h-07, 08(0x07, 0x08):光通道特性
- 5.4.e A0h-09(0x09):传播媒介标识符
- 5.4.f A0h-10(0x0A):光纤速率标识符
- 5.5 A0h-11(0x0B):编码标识符
- 5.6 A0h-12(0x0C):标称比特率,单位100Mbit/s
- 5.7 A0h-13(0x0D):速率标识符
A0h概览

- 字节0~95 ■ 标识模块类型、接头类型、波长、速率 ■ 供应商名称,模块型号 ■ 生产日期,系列号和对数字监控功能的支持项字节96~127 ■ 这部分字节是供应商自定义,因此也有不少厂家在这里做数据校验。典型的如HP,Cisco模块都是在这部分做Checksum,这就是我们常涉及的模块兼容性问题。
- 字节128~255 ■ 协议规定为SFF-8079保留
5 标识符与编码(地址A0h)
5.1 A0h-00(0x00):物理设备标识符
用来表示模块类型。通常值为03h,表示SFP或SFP+。 
5.2 A0h-01(0x01):物理设备扩展标识符
背景: GBIC通过拉高拉低几个特定的引脚电压,用简单的“开关组合”来告诉主机自己的大体类别(例如短波/长波、单模/多模)。同时,它又在模块内部的芯片里,按 MOD_DEF 4(I2C接口)的格式存了一份更详细的“电子身份证”。主机既要读取引脚电平,又要读取GBIC内部寄存器值来判断模块类别,操作繁琐,而且有可能获取的两个结果相冲突,引起混乱。 这时,扩展标识符(字节1) 就起作用了。因为GBIC本身的I2C接口格式与SFP相同,所以,在扩展标识符(字节1)里放入04h值,主机获取到04h后,就知道这个模块遵循I2C接口定义,可以直接获取光模块的各种信息(包括短波/长波、单模/多模),不用再读取引脚电平。一个 04h 就把电子通信的规矩统一明确了。
如果是SFP/SFP+模块,这个字节必须写04h。如果是GBIC,在很多情况下也写成04h,即使这个GBIC是遵循另外的MOD_DEF。这是因为GBIC本身的两线串行接口格式与SFP相同,主机可以通过I2C接口去读取特定寄存器值,来知道这个光模块是遵循MOD_DEF 1还是2、3、4、5、6、7。
只要是用I2C接口跟主机说话、并且按照老规矩来存放身份证信息的 SFP 模块,就必须在A0h-01那一栏,填上‘04h’这个值。
5.3 A0h-02(0x02):连接器标识
用来表示光模块连接器类型,具体描述在SFF-8024协议中。 
5.4 A0h-03~10, 36, 62(0x03~0x0A, 0x24, 0x3E)字节:收发器合规编码
这一节相当于是描述光模块的“技能标签栏”,它告诉主机(比如交换机):“我到底会哪些活儿?我能用什么方式干活?”。这些格子里放的数字,相当于一个个小开关(按位指示符)。每个开关代表一项技能:
- 开关打开(1):这项技能我会。
- 开关关闭(0):这项技能我不会。
这就像一张技能清单,上面列了一堆选项,你会哪项就在旁边打勾。模块出厂时,厂家会根据它实际的能力,把这些勾打好。 在协议文档的表5-3中有详细列举(地址 A0h-03~10、36和62)各个bit代表的“技能”。
5.4.a A0h-03(0x03):10G以太网和服务器规范位

5.4.b A0h-04, 05(0x04, 0x05):ESCON、SONET规范位
ESCON(Enterprise Systems Connection,企业系统连接)。它是 IBM 在 1990 年代推出的一种专用光纤接口和协议,专门用来让大型机(Mainframe)和它的存储设备、打印机、终端控制器等外围设备之间,通过光纤进行高速、稳定的通信。协议里留了两个bit位给ESCON,便于兼容ESCON老设备。 SONET(Synchronous Optical NETwork,同步光纤网络),即同步数字体系SDH。把它想象成电信运营商(比如中国电信、中国联通)在骨干网上用的那套“老牌铁路系统”。它专门用来跑长途、大容量的语音和数据业务,特点是时间同步做得极其精准,就像高铁一样,所有列车必须严格按时刻表跑,分秒不差。 如果光模块的身份证(A0h)技能标签里,勾选了 SONET 相关的能力,那这个模块就是 SONET 模块。那意味着它能在那种要求极高、时钟同步极度精准的电信骨干网里正常工作。 在 5.4 节里,SONET为什么单独提要求? 这是因为 SONET 的速率等级特别多,而且命名很“拗口”,不像以太网直接叫 1G、10G。SONET 叫 OC-3、OC-12、OC-48、OC-192 等。 协议文档里的表5-4 就是一张翻译对照表,告诉厂家:“如果你的模块支持 155 Mbps 的 SONET,就在技能标签里打对应 OC-3 的勾;如果支持 10 Gbps,就打 OC-192 的勾。”
记忆要点:
5.4.c A0h-06(0x06):以太网规范位

5.4.d A0h-07, 08(0x07, 0x08):光通道特性

5.4.e A0h-09(0x09):传播媒介标识符

5.4.f A0h-10(0x0A):光纤速率标识符
通过以上解释,A0h的0x03~0x0A字节用来表示收发器的类型,下表列出了三种收发器对应的0x03~0x0A字节编码。 
5.5 A0h-11(0x0B):编码标识符
千兆光口模块大多采用8B/10B编码。百兆电口模块大多采用4B/5B编码。 
5.6 A0h-12(0x0C):标称比特率,单位100Mbit/s
标称比特率(BR, 单位100Mbit/s),四舍五入到最接近的100MHbps,然后写入A0h-12字节中。此处的比特率,不只包含数据信息的位,也包含对数据进行编码和解码所需的位。如果此字节值为0,表示未指定比特率。 例如:1.25GBd:=12.5x100MBd,12.5四舍五入等于13。所以,A0h-12字节应该写0x0D。
5.7 A0h-13(0x0D):速率标识符
旨在管理收发器针对多种工作速率的优化。一般为00h。协议文档表5-6有具体说明,此处略。




