光模块协议之8636

  光模块遵循的协议有很多,主要的内容包括结构设计、memory map、A0 A2写码信息、通讯协议(I2C)、参数指标范围、眼图模板等。今天要讲的SFF-8636包括物理层(physical layer),结构接口(mechanical interface)、固件信息结构(A0 A2memory map)、I2C communication protocol。

光模块协议之8636_第1张图片

结构不在此讲述。

 I2C为半双工同步协议,SCL提供时钟信号,SDA提供数据信号,传输数据。由主设备发起通信,每个从设备有一个对应的地址,主设备发送地址,相应从设备响应后才开始读写数据。配合SCL形成通信的时序。

光模块协议之8636_第2张图片

时序如图,SCL高电平期间,SDA由高拉低表示开始,SCL低电平期间,SDA必须完成高低电平的转换,SCL再次高电平期间才是真正数据传输的时间。SCL维持高电平,SDA由低到高为结束信号。

值得注意的是在发送或接收完一个字节,被动方需要回应一个应答信号(N)ACK,以保证正常的运行。

光模块协议之8636_第3张图片

开始后,先发送高位MSB后低位LSB,第一个字节末尾需要附带读写控制位(WRITE OR READ),然后写一个地址字节,待响应后才开始传输数据。不管是读还是写从设备,都需要先发送一个设备地址,后续还要发送读或者写的具体设备内部字节的地址。

后续在固件开发章节中专门写写I2C协议。

  8636重要的是memory map即内存映射,行业规定需要在这些存储空间即对应的寄存器写入符合产品和提供的功能的对应码。

不同于8472只讲解了A0 A2需要写入的信息,8636还对低128字节进行了详细的介绍,包括其对应能实现的功能,即供应商生产的光模块如果有特殊的功能和特定参数的范围则在对应的寄存器写入对应的码以反映模块大致的信息,形成统一的规定。

高速光模块通用的内存映射图如下:

光模块协议之8636_第4张图片

 

 

你可能感兴趣的:(光模块学习之路)