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

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

Info

Publication number
CN103401879B
CN103401879B CN201310352282.7A CN201310352282A CN103401879B CN 103401879 B CN103401879 B CN 103401879B CN 201310352282 A CN201310352282 A CN 201310352282A CN 103401879 B CN103401879 B CN 103401879B
Authority
CN
China
Prior art keywords
optical module
information
control information
main frame
itself
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310352282.7A
Other languages
English (en)
Other versions
CN103401879A (zh
Inventor
徐建帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Broadband Multimedia Technology Co Ltd
Original Assignee
Hisense Broadband Multimedia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hisense Broadband Multimedia Technology Co Ltd filed Critical Hisense Broadband Multimedia Technology Co Ltd
Priority to CN201310352282.7A priority Critical patent/CN103401879B/zh
Publication of CN103401879A publication Critical patent/CN103401879A/zh
Application granted granted Critical
Publication of CN103401879B publication Critical patent/CN103401879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

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

Description

一种光模块及保证光模块协议数据完整性的方法
技术领域
本发明涉及一种光模块数据处理技术领域,具体地说,是涉及一种防止光模块旧数据覆盖新数据,保证协议数据完整的方法。
背景技术
光通信领域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所示,光模块主要包括用于存储光模块的自身状态信息的状态信息存储单元、用于存储主机发送的控制信息的控制信息存储单元,以及用于将状态信息存储单元和控制信息存储单元存储的信息进行逻辑运算形成协议字节的逻辑运算单元。
光模块工作时,通过状态信息获取单元获取光模块的自身的状态信息,并将光模块的自身的状态信息存储或更新至状态信息存储单元。光模块接收主机发送的控制信息,并将控制信息存储或更新至控制信息存储单元。当主机要读取光模块的状态信息时,主机向光模块发送请求,光模块通过逻辑运算单元将状态信息存储单元和控制信息单元存储的信息进行按位或运算后作为协议字节返回至主机。则主机获取的是实时的、完整的光模块数据,保证了光模块数据的完整性。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并将其单独保存,所述光模块接收主机发送的控制信息并将其单独保存;当主机要获取光模块的状态信息时,将控制信息和光模块自身的状态信息进行按位或运算形成协议字节,将该协议字节返回给主机。
2.根据权利要求1所述的一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并将其保存在内存中的状态信息存储单元,所述光模块接收主机发送的控制信息并将其保存在内存中的控制信息存储单元。
3.根据权利要求2所述的一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并更新内存中的状态信息存储单元的存储数据,所述光模块接收主机发送的控制信息并更新内存中的控制信息存储单元的存储数据。
4.根据权利要求1所述的一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并将其保存在状态位变量A中,所述光模块接收主机发送的控制信息并将其保存在控制位变量B中。
5.根据权利要求4所述的一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并更新状态位变量A,所述光模块接收主机发送的控制信息并更新状态位变量B。
6.根据权利要求1-5任意一项所述的一种保证光模块协议数据完整性的方法,其特征在于:所述主机通过I2C总线与光模块通信。
7.一种光模块,其特征在于:所述光模块包括:
状态信息存储单元:用于单独存储光模块的自身状态信息;
控制信息存储单元:用于单独存储主机发送的控制信息;
以及逻辑运算单元:用于将状态信息存储单元和控制信息存储单元存储的信息进行按位或运算形成协议字节。
CN201310352282.7A 2013-08-14 2013-08-14 一种光模块及保证光模块协议数据完整性的方法 Active CN103401879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310352282.7A CN103401879B (zh) 2013-08-14 2013-08-14 一种光模块及保证光模块协议数据完整性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310352282.7A CN103401879B (zh) 2013-08-14 2013-08-14 一种光模块及保证光模块协议数据完整性的方法

Publications (2)

Publication Number Publication Date
CN103401879A CN103401879A (zh) 2013-11-20
CN103401879B true CN103401879B (zh) 2017-08-25

Family

ID=49565404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310352282.7A Active CN103401879B (zh) 2013-08-14 2013-08-14 一种光模块及保证光模块协议数据完整性的方法

Country Status (1)

Country Link
CN (1) CN103401879B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874032B (zh) * 2017-01-04 2020-09-04 青岛海信宽带多媒体技术有限公司 光模块固件升级的方法、装置及光模块

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023953A (zh) * 2009-09-17 2011-04-20 研祥智能科技股份有限公司 具有多路i2c总线的系统的控制方法
CN102916776A (zh) * 2012-10-15 2013-02-06 青岛海信宽带多媒体技术有限公司 光模块参数传输方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1908925A (zh) * 2006-08-15 2007-02-07 武汉虹旭信息技术有限责任公司 提高pci通信可靠性及效率的方法
CN101692655B (zh) * 2009-10-23 2012-05-30 烽火通信科技股份有限公司 一种数据帧存储管理装置
WO2011144104A2 (zh) * 2011-05-27 2011-11-24 华为技术有限公司 软件升级方法、装置和光模块

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023953A (zh) * 2009-09-17 2011-04-20 研祥智能科技股份有限公司 具有多路i2c总线的系统的控制方法
CN102916776A (zh) * 2012-10-15 2013-02-06 青岛海信宽带多媒体技术有限公司 光模块参数传输方法及装置

Also Published As

Publication number Publication date
CN103401879A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN108234641B (zh) 基于分布式一致性协议实现的数据读写方法及装置
CN108566290A (zh) 服务配置管理方法、系统、存储介质和服务器
CN109213462B (zh) Android横竖屏数据同步方法、装置、终端及可读介质
JP2013540312A (ja) データを検証するための方法、装置およびシステム
CN104092717A (zh) 消息处理方法及系统、消息目的端设备与分布式消息系统
US10469620B2 (en) Method for transferring a new software version to at least one electricity meter via a communication network
CN103984768B (zh) 一种数据库集群管理数据的方法、节点及系统
CN103209214A (zh) 一种基于NoSQL的消息中间件的实现方法
CN103532731A (zh) 一种防止虚拟机网络配置丢失的方法和装置
CN109446147B (zh) 一种网络存储设备与pcie设备的数据交互方法
CN105306605A (zh) 一种双主机服务器系统
CN105260202A (zh) 一种客户端文件更新方法和系统
CN105573711A (zh) 一种数据缓存方法及装置
CN104866528A (zh) 多平台数据采集方法及系统
CN103401879B (zh) 一种光模块及保证光模块协议数据完整性的方法
US9001825B2 (en) Virtual link aggregation using state machine
CN102629235A (zh) 一种提高ddr存储器读写速率的方法
CN105607606A (zh) 一种基于双主板架构的数据采集装置及方法
CN112804003A (zh) 一种基于光模块通信的存储方法、系统及终端
CN111198698B (zh) 基于EtherCAT的多设备固件程序并行下载方法及系统
CN105068760A (zh) 数据存储方法、数据存储装置和存储设备
CN113660123B (zh) 虚拟交换机升级方法、装置、电子设备以及存储介质
CN109522162A (zh) 一种数据备份方法、系统、设备及计算机可读存储介质
CN107766066B (zh) 一种更新从属模块固件的方法
CN106055663B (zh) 一种基于双机热备份的视频存储方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant