光模块SFF-8472解析.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
光模块SFF-8472解析

光模块用SFF-8472 解析 1、 SFF-8472 的生父 SFF Committee (Small Form Factor Committee 小外形规格委员 会),成立于1990 年,按照英文版维基百科的说辞,它当时是为了给便携式电脑定义新型 磁盘驱动器的外形而成立的,所以我们可以看到它的一个协议SFF-8004 就规定了2.5 寸硬 盘的外形尺寸,所以我们可以看到在该委员会中以结构件设计生产而闻名的Molex 公司也 赫然在列。Avago ,Finisar,IBM,Infineon,Intel,JDSU,Micrel,Vitesse 等公司为8472 投了赞成票,AMCC ,Fujikura,Dell,Molex,Seagate,Tyco 等公司投了弃权票。这很容 易理解,8472 是一个关于光学器件的数字监控方面的多元协议,对投弃权票的公司而言业 务相关性并不强,所以说有一种成功叫撤退,有一种弃权叫谨慎。有意思的是,尽管Seagate 弃权了,但所有SFF 协议仍然可以SFF 委员会指定的官网地址进行下载 /sff 。 2、 SFF-8472 是典型的00 后,首次开盘Rev1.0 时间是2001 年清明节,最新的版本是 Rev11.0。当然,一般而言,2004 年儿童节出炉的Rev9.5,就足以应付现有的大部分光模 块了。所以光模块市场一直就只有这么滴点儿大,跟这几个特定的发布日期是有某种联系的。 与8472 关联最密切的三个协议,分别是SFF-8053 GBIC,INF-8074 SFP 和I2C Specification 。8472+I2C,这两个协议合起来就无敌了,它既需要软件工程师去关心硬件上 的信号的建立和保持时间甚至是时钟信号的占空比,也需要硬件工程师去关心软件上的串行 信号时序和相关通信协议。尤其这协议是从洋人手中得来的,首先这E 文字面就容易转义, 而埋藏在E 文字面间的内涵,所有读过8472 的人都会有这样的感慨:那是读一次有一次收 获,久了不读就只能记得点皮毛了。 3、 SFF-8472 的 A0 和A2 ,这两个十六进制数值,这实际上是两个I2C 从设备地址,每 个从设备地址可以访问到256 个byte 的数据。 A0 里面装的是一些常量,主要标识模块类 型接头速率波长传输距离等,也包含产品标签序列码生产日期和对数字监控功能的支持项等, 一般用户是不能修改的,所以ZTE 为了避免误操作还特意要求A0 写保护。 A2 才是8472 的独特之处,不仅装一些常量,比如监控量的上下限值和外部校准参数,还装了一些只读的 变量,比如实时监控量及其报警标志位和当前状态,甚至还有一些可写的变量,比如 Soft-TxDisable 控制位,更(不)爽的是其下半身有相当一部分,即A2[128..247] ,是可以 让用户自由读写的EEPROM,这里的“爽”是针对上位机即系统板而言的,不用往下位机的 密码区A2[123..126]输入特定密码上电即可读写下位机的A2[128..247] ;这里的“ (不)”是 针对下位机即光模块而言的,它将额外占用光模块的微处理器大约1/8k Byte 的RAM 及 EEPROM 或FLASH,并增加在写EEPROM 时下位机NACK 的风险。 扩展一下,这里的 A0 和A2 地址值,是8472 规定的从设备地址值,如果从设备的原始地址值不是A0 和A2 , 那么需要从原始地址值经过一套复杂的I2C 操作改成A0 和A2 ,这在8472 中被称之为 Addressing Modes ,8472 中提到首先要求A0[92].bit2=1 ,其次就是一套复杂的I2C 操作, 要用到I2C 协议规定的广播地址00 和CBUS 总线地址04,先把xxxxxx10 地址值改成 即A2 ,再把xxxxxx00 地址值改即A0 。这里有一点令我困惑的地 方,既然原始地址值没有A0 ,何来的A0[92].bit2=1 这个前提条件呢?所以我以为 A0[92].bit2=1 不是前提条件,而是一个标志位,显示当前A0/A2 地址值是从其他地址值改 过来的。 4 、 SFF-8472 里看不见的NACK ,这是在通篇8472 中都没有出现的关键词,全称not acknowledge,翻译成中文可做“不响应”,更可按某位自称“以‘卖’维生”的销售老大的话来简 称为“不应” 。它是I2C 主从设备通信时唯一的出错标志,I2C 协议规定一旦下位机NACK 了 (比如下位机正在做一些其他不可中断的事情时对上位机的命令就不响应了)

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档