首页> 中国专利> 一种光模块及保证光模块协议数据完整性的方法

一种光模块及保证光模块协议数据完整性的方法

摘要

本发明涉及一种光模块及保证光模块协议数据完整性的方法,所述光模块获取自身的状态信息并将其单独保存,所述光模块接收主机发送的控制信息并将其单独保存。当接收到新的光模块自身的状态信息和主机发送的控制信息后分别对原存储数据进行更新。光模块自身的状态信息和控制信息均不会丢失,而当主机要获取光模块的状态信息时,将控制信息和光模块自身的状态信息进行按位或运算得到的协议字节发送给主机即可。因而,本发明可以保证协议字节中包含的控制位和状态位的正常更新,不会出现控制位更新不成功的问题,可以保证光模块通信系统的正常运行。

著录项

  • 公开/公告号CN103401879A

    专利类型发明专利

  • 公开/公告日2013-11-20

    原文格式PDF

  • 申请/专利权人 青岛海信宽带多媒体技术有限公司;

    申请/专利号CN201310352282.7

  • 发明设计人 徐建帅;

    申请日2013-08-14

  • 分类号H04L29/06(20060101);H04B10/25(20130101);

  • 代理机构37101 青岛联智专利商标事务所有限公司;

  • 代理人张少凤

  • 地址 266555 山东省青岛市经济技术开发区前湾港路218号

  • 入库时间 2024-02-19 21:10:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-25

    授权

    授权

  • 2013-12-18

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20130814

    实质审查的生效

  • 2013-11-20

    公开

    公开

说明书

技术领域

本发明涉及一种光模块数据处理技术领域,具体地说,是涉及一种防止光模块旧数据覆盖新数据,保证协议数据完整的方法。

背景技术

光通信领域INF-8077i 协议中A0的110、111字节,SFF-8472协议中A2的110字节(下文称为协议字节)包含的数据有控制位和状态位。控制位是指主机通过I2C总线发送给光模块、控制光模块工作的比特位。状态位是光模块检测自身状态并随时更新的比特位。但是,控制位和状态位是存储在一个字节中的。光模块会定时更新协议字节的状态位。主机可以读取协议字节,了解光模块当前的状态信息和被控状态,也可以向光模块写协议字节的控制位,控制光模块工作状态。协议字节的控制位只有主机通过I2C向协议字节写数据时才可以更改。协议字节的状态位只有光模块可以更改。光模块为了提高对主机的响应速度,都会将I2C总线的处理优先级设为最高级中断,即光模块优先处理主机发送过来的信息。由于光模块和主机都可以对光模块内部的协议字节进行写操作,因而,有可能出现协议字节的控制位被写回旧的控制位的问题,导致新的控制位丢失,使光模块数据不完整。

发明内容

本发明的目的在于提供一种保证光模块数据完整的方法,解决了现有光模块控制位和状态位在一个协议字节中,可能出现协议字节的控制位被写回之前的控制位,出现控制信息丢失,导致主机判定光模块不正常的技术问题。 

为解决上述技术问题,本发明采用以下技术方案予以实现:

一种保证光模块协议数据完整性的方法,所述光模块获取自身的状态信息并将其单独保存,所述光模块接收主机发送的控制信息并将其单独保存。

进一步的,所述光模块获取自身的状态信息并将其保存在内存中的状态信息存储单元,所述光模块接收主机发送的控制信息并将其保存在内存中的控制信息存储单元。

更进一步的,所述光模块获取自身的状态信息并更新内存中的状态信息存储单元的存储数据,所述光模块接收主机发送的控制信息并更新内存中的控制信息存储单元的存储数据。

优选的,所述光模块获取自身的状态信息并将其保存在状态位变量A中,所述光模块接收主机发送的控制信息并将其保存在控制位变量B中。

进一步的,所述光模块获取自身的状态信息并更新状态位变量A,所述光模块接收主机发送的控制信息并更新状态位变量B。

其中,当主机要获取光模块的状态信息时,将控制信息和光模块自身的状态信息进行逻辑运算形成协议字节,将该协议字节返回给主机

优选的,协议字节由控制信息和光模块自身的状态信息进行按位或运算得到。

优选的,主机通过I2C总线与光模块通信。

    基于上述保证光模块协议数据完整性的方法的设计,本发明还提出了一种光模块,包括:

状态信息存储单元:用于存储光模块的自身状态信息;

控制信息存储单元:用于存储主机发送的控制信息;

以及逻辑运算单元:用于将状态信息存储单元和控制信息存储单元存储的信息进行逻辑运算形成协议字节。

    优选的,逻辑运算单元将状态信息存储单元和控制信息存储单元存储的信息进行按位或运算形成协议字节。

与现有技术相比,本发明的优点和积极效果是:本发明对光模块自身的状态信息和主机发送的控制信息分别单独保存,当接收到新的光模块自身的状态信息和主机发送的控制信息后分别对原存储数据进行更新。光模块自身的状态信息和控制信息均不会丢失,而当主机要获取光模块的状态信息时,将控制信息和光模块自身的状态信息进行按位或运算得到的协议字节发送给主机即可。因而,本发明可以保证协议字节中包含的控制位和状态位的正常更新,不会出现控制位更新不成功的问题,可以保证光通信系统的正常运行。

结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。

附图说明

图1为现有技术中正常状态1下协议字节更新的流程图;

图2为现有技术中正常状态2下协议字节更新的流程图;

图3为现有技术中正常状态3下协议字节更新的流程图;

图4为现有技术中异常情况下协议字节更新的流程图。

图5本发明具体实施例协议字节更新的流程图。

图6为本发明光模块的原理框图。

具体实施方式

下面首先对现有技术中光模块协议字节更新过程以及存在的问题进行说明,以便进一步说明本发明的技术方案。

现有技术中,光模块为了提高对主机的响应速度,都会将对I2C总线的处理优先级设为最高级中断,即优先处理主机发送过来的控制信息。

如图1所示,当主机没有向光模块发送控制信息,光模块仅仅获取自身的状态信息时,协议字节更新正常,其协议字节更新过程如下:

1、光模块获取自身的状态信息。

2、光模块获取协议字节当前值。

3、光模块将协议字节当前值的状态位更新为新获取的光模块自身的状态信息,并存储回协议字节。

当主机要获取光模块的状态信息时,将该协议字节返回给主机即可,协议字节表达的完全是光模块的最新状态信息。

如图2所示,当主机向光模块发送控制信息,且发送控制信息的过程发生在光模块协议字节更新状态位之前时,协议字节更新正常,其协议字节更新过程如下:

4、光模块获取自身的状态信息。

5、主机发送控制信息给光模块。

6、光模块获取协议字节当前值。

7、将协议字节当前值的控制位更新为主机新发送的控制信息,并存储回协议字节。

8、光模块获取协议字节当前值。

9、光模块将协议字节当前值的状态位更新为新获取的光模块自身的状态信息,并存储回协议字节。

当主机要获取光模块的状态信息时,将该协议字节返回给主机即可,协议字节表达的完全是光模块的最新状态信息。

如图3所示,当主机向光模块发送控制信息,且发送控制信息的过程发生在光模块协议字节更新状态位之后时,协议字节更新正常,其协议字节更新过程如下:

10、光模块获取自身的状态信息。

11、光模块获取协议字节当前值。

12、光模块将协议字节当前值的状态位更新为新获取的光模块自身的状态信息,并存储回协议字节。

13、主机发送控制信息给光模块。

14、光模块获取协议字节当前值。

15、将协议字节当前值的控制位更新为主机新发送的控制信息,并存储回协议字节。

当主机要获取光模块的状态信息时,将该协议字节返回给主机即可,协议字节表达的完全是光模块的最新状态信息。

如图4所示,当主机向光模块发送控制信息,且发送控制信息的过程发生在光模块协议字节更新过程中时,协议字节更新不正常,导致主机下发的控制信息丢失的问题,其协议字节更新过程如下:

16、光模块获取自身的状态信息。

17、光模块获取协议字节当前值。

18、光模块接收到主机通过I2C总线中断发送过来的控制信息。

19、光模块获取协议字节当前值。

20、将协议字节当前值的控制位更新为主机发送的控制信息,并存储回协议字节。

21、光模块将协议字节当前值(步骤17)的状态位更新为新获取的光模块自身的状态信息,并存储回协议字节。

因而,中间步骤20处对协议字节控制位的更改就丢失了,造成光模块对协议字节的控制位保存的不对,导致主机认为光模块工作不正常,影响系统的正常运行。

针对上述问题,本实施例提出了一种保证光模块协议数据完整性的方法,即将光模块获取的自身的状态信息和接收主机发送的控制信息进行单独保存,有数据更新时,分别进行更新,不会丢失。当主机要获取光模块的状态信息时,将控制信息和光模块自身的状态信息进行按位或运算后传送给主机即可,保证了光通信系统的正常运行。下面对本实施例的实现方式进行具体说明。

光模块将获取的自身的状态信息单独保存在内存中的状态信息存储单元,优选保存在状态位变量A中,将接收的主机发送的控制信息单独保存在内存中的控制信息存储单元,优选保存在控制位变量B中。

下面以光模块自身的状态信息保存在状态位变量A中,控制信息保存在控制位变量B中为例,对本实施例进行说明:

如图5所示,本实施例协议字节更新过程如下:

22、光模块获取自身的状态信息。

23、光模块将状态位变量A更新至光模块获取的自身的状态信息。

24、光模块接收主机发送的控制信息。

25、光模块将控制位变量B更新至光模块接收主机发送的控制信息。

26、当主机要获取光模块的状态信息时,向光模块发送请求,光模块接收主机读取光模块协议字节命令。

27、光模块将A|B的结果作为协议字节返回至主机。

因而,从上述更新过程可以看出,无论何时主机向光模块发送获取光模块的状态信息的请求,由于光模块自身的状态信息和主机发送的控制信息分别单独存储,仅需将单独存储的控制信息和光模块自身的状态信息进行按位或运算后发送给主机,不会造成数据的丢失,保证了光模块数据的完整性,保证了光模块通信系统的正常运行。

基于上述保证光模块协议数据完整性的方法的设计,本实施例还提出了一种光模块,如图6所示,光模块主要包括用于存储光模块的自身状态信息的状态信息存储单元、用于存储主机发送的控制信息的控制信息存储单元,以及用于将状态信息存储单元和控制信息存储单元存储的信息进行逻辑运算形成协议字节的逻辑运算单元。

光模块工作时,通过状态信息获取单元获取光模块的自身的状态信息,并将光模块的自身的状态信息存储或更新至状态信息存储单元。光模块接收主机发送的控制信息,并将控制信息存储或更新至控制信息存储单元。当主机要读取光模块的状态信息时,主机向光模块发送请求,光模块通过逻辑运算单元将状态信息存储单元和控制信息单元存储的信息进行按位或运算后作为协议字节返回至主机。则主机获取的是实时的、完整的光模块数据,保证了光模块数据的完整性。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号