CN103401879A - 一种光模块及保证光模块协议数据完整性的方法 - Google Patents
一种光模块及保证光模块协议数据完整性的方法 Download PDFInfo
- Publication number
- CN103401879A CN103401879A CN2013103522827A CN201310352282A CN103401879A CN 103401879 A CN103401879 A CN 103401879A CN 2013103522827 A CN2013103522827 A CN 2013103522827A CN 201310352282 A CN201310352282 A CN 201310352282A CN 103401879 A CN103401879 A CN 103401879A
- Authority
- CN
- China
- Prior art keywords
- optical module
- state information
- control information
- self
- protocol
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
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 (10)
1.一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并将其单独保存,所述光模块接收主机发送的控制信息并将其单独保存。
2.根据权利要求1所述的一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并将其保存在内存中的状态信息存储单元,所述光模块接收主机发送的控制信息并将其保存在内存中的控制信息存储单元。
3.根据权利要求2所述的一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并更新内存中的状态信息存储单元的存储数据,所述光模块接收主机发送的控制信息并更新内存中的控制信息存储单元的存储数据。
4.根据权利要求1所述的一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并将其保存在状态位变量A中,所述光模块接收主机发送的控制信息并将其保存在控制位变量B中。
5.根据权利要求4所述的一种保证光模块协议数据完整性的方法,其特征在于:所述光模块获取自身的状态信息并更新状态位变量A,所述光模块接收主机发送的控制信息并更新状态位变量B。
6.根据权利要求1-5任意一项所述的一种保证光模块协议数据完整性的方法,其特征在于:当主机要获取光模块的状态信息时,将控制信息和光模块自身的状态信息进行逻辑运算形成协议字节,将该协议字节返回给主机。
7.根据权利要求6所述的一种保证光模块协议数据完整性的方法,其特征在于:所述协议字节由控制信息和光模块自身的状态信息进行按位或运算得到。
8.根据权利要求6所述的一种保证光模块协议数据完整性的方法,其特征在于:所述主机通过I2C总线与光模块通信。
9.一种光模块,其特征在于:所述光模块包括:
状态信息存储单元:用于存储光模块的自身状态信息;
控制信息存储单元:用于存储主机发送的控制信息;
以及逻辑运算单元:用于将状态信息存储单元和控制信息存储单元存储的信息进行逻辑运算形成协议字节。
10.根据权利要求9所述的光模块,其特征在于:所述逻辑运算单元将状态信息存储单元和控制信息存储单元存储的信息进行按位或运算形成协议字节。
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 true CN103401879A (zh) | 2013-11-20 |
CN103401879B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874032A (zh) * | 2017-01-04 | 2017-06-20 | 青岛海信宽带多媒体技术有限公司 | 光模块固件升级的方法、装置及光模块 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908925A (zh) * | 2006-08-15 | 2007-02-07 | 武汉虹旭信息技术有限责任公司 | 提高pci通信可靠性及效率的方法 |
CN101692655A (zh) * | 2009-10-23 | 2010-04-07 | 烽火通信科技股份有限公司 | 一种数据帧存储管理装置 |
CN102023953A (zh) * | 2009-09-17 | 2011-04-20 | 研祥智能科技股份有限公司 | 具有多路i2c总线的系统的控制方法 |
WO2011144104A2 (zh) * | 2011-05-27 | 2011-11-24 | 华为技术有限公司 | 软件升级方法、装置和光模块 |
CN102916776A (zh) * | 2012-10-15 | 2013-02-06 | 青岛海信宽带多媒体技术有限公司 | 光模块参数传输方法及装置 |
-
2013
- 2013-08-14 CN CN201310352282.7A patent/CN103401879B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908925A (zh) * | 2006-08-15 | 2007-02-07 | 武汉虹旭信息技术有限责任公司 | 提高pci通信可靠性及效率的方法 |
CN102023953A (zh) * | 2009-09-17 | 2011-04-20 | 研祥智能科技股份有限公司 | 具有多路i2c总线的系统的控制方法 |
CN101692655A (zh) * | 2009-10-23 | 2010-04-07 | 烽火通信科技股份有限公司 | 一种数据帧存储管理装置 |
WO2011144104A2 (zh) * | 2011-05-27 | 2011-11-24 | 华为技术有限公司 | 软件升级方法、装置和光模块 |
CN102916776A (zh) * | 2012-10-15 | 2013-02-06 | 青岛海信宽带多媒体技术有限公司 | 光模块参数传输方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874032A (zh) * | 2017-01-04 | 2017-06-20 | 青岛海信宽带多媒体技术有限公司 | 光模块固件升级的方法、装置及光模块 |
CN106874032B (zh) * | 2017-01-04 | 2020-09-04 | 青岛海信宽带多媒体技术有限公司 | 光模块固件升级的方法、装置及光模块 |
Also Published As
Publication number | Publication date |
---|---|
CN103401879B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11789720B2 (en) | Opportunistic software updates during select operational modes | |
EP2822255A2 (en) | System and method of a hardware shadow for a network element | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
CN104090790A (zh) | 一种安全终端的双芯片方案的固件更新方法 | |
CN112637013B (zh) | Can总线报文异常检测方法及装置、设备、存储介质 | |
CN104461654A (zh) | 一种obd设备功能单元及固件分类可选升级方法 | |
EP4044029A1 (en) | Daughter card initialization method, electronic apparatus, and storage medium | |
CN105260202A (zh) | 一种客户端文件更新方法和系统 | |
CN103209214A (zh) | 一种基于NoSQL的消息中间件的实现方法 | |
CN102722408B (zh) | 一种通讯设备软件更新的方法及装置 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
CN103401879A (zh) | 一种光模块及保证光模块协议数据完整性的方法 | |
WO2017036101A1 (zh) | 一种更新寄存器的方法及装置 | |
EP3454153B1 (en) | Data storage method for electronic control system of vehicle, and electronic control system | |
WO2021134612A1 (en) | Method for managing software versions of electronic device (s) in a vehicle and related device | |
CN112953750A (zh) | 网络接入方法、装置及存储介质 | |
CN105740032A (zh) | 一种网络设备系统升级方法及装置 | |
US10452383B1 (en) | Device improvements through adaptive settings | |
CN115914283A (zh) | 一种轴蹄温信息发送方法、装置、终端设备以及存储介质 | |
CN103441992A (zh) | 一种保证光模块协议数据完整性的方法 | |
CN111459514B (zh) | 一种终端升级的处理方法、服务器及基站 | |
US10764140B2 (en) | Communication system, communication device, and communication method | |
CN112463462A (zh) | 一种卫星故障数据保存和下传的系统及方法 | |
US12079618B2 (en) | Method for managing software versions of electronic device(s) in a vehicle and related device | |
CN111181867B (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 |