CN103441992A - 一种保证光模块协议数据完整性的方法 - Google Patents
一种保证光模块协议数据完整性的方法 Download PDFInfo
- Publication number
- CN103441992A CN103441992A CN201310352255XA CN201310352255A CN103441992A CN 103441992 A CN103441992 A CN 103441992A CN 201310352255X A CN201310352255X A CN 201310352255XA CN 201310352255 A CN201310352255 A CN 201310352255A CN 103441992 A CN103441992 A CN 103441992A
- Authority
- CN
- China
- Prior art keywords
- optical module
- main frame
- state 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
Abstract
本发明涉及一种保证光模块协议数据完整性的方法,主机向光模块发送控制信息,若此时光模块正要更新自身的状态信息,则首先更新完毕自身的状态信息后,再更新主机发送的控制信息。光模块获取自身的状态信息后,首先关闭I2C中断,保证光模块更新自身的状态信息过程中不会被主机发送的控制信息打断,当光模块更新自身的状态信息完成后,响应中断,光模块的协议字节更新主机发送的控制信息。因而,本发明能够保证协议字节包含的控制位和状态位正常更新,不会出现控制位更新不成功的问题,可以保证光通信系统的正常运行。
Description
技术领域
本发明涉及一种光模块数据处理技术领域,具体地说,是涉及一种防止光模块旧数据覆盖新数据,保证协议数据完整的方法。
背景技术
光通信领域INF-8077i 协议中A0的110、111字节,SFF-8472协议中A2的110字节(下文称为协议字节)包含的数据有控制位和状态位。控制位是指主机通过I2C总线发送给光模块、控制光模块工作的比特位。状态位是光模块检测自身状态并随时更新的比特位。但是,控制位和状态位是存储在一个字节中的。光模块会定时更新协议字节的状态位。主机可以读取协议字节,了解光模块当前的状态信息和被控状态,也可以向光模块写协议字节的控制位,控制光模块的工作状态。协议字节的控制位只有主机通过I2C向协议字节写数据时才可以更改。协议字节的状态位只有光模块可以更改。光模块为了提高对主机的响应速度,都会将I2C总线的处理优先级设为最高级中断,即光模块优先处理主机发送过来的信息。由于光模块和主机都可以对光模块内部的协议字节进行写操作,因而,有可能出现协议字节的控制位被写回旧的控制位的问题,导致新的控制位丢失,使光模块数据不完整。
发明内容
本发明的目的在于提供一种保证光模块数据完整的方法,解决了现有光模块控制位和状态位在一个协议字节中,可能出现协议字节的控制位被写回之前的控制位,出现控制信息丢失,导致主机判定光模块不正常的技术问题。
为解决上述技术问题,本发明采用以下技术方案予以实现:
一种保证光模块协议数据完整性的方法,主机向光模块发送控制信息,若此时光模块正要更新自身的状态信息,则首先更新完毕自身的状态信息后,再更新主机发送的控制信息。
进一步的,主机向光模块发送控制信息,光模块发生中断,光模块首先处理主机发送的控制信息;若此时光模块正要更新自身的状态信息,则关闭中断,首先更新完毕自身的状态信息后,再更新主机发送的控制信息。
更进一步的,光模块关闭中断时,设置中断标志位.
再进一步的,当光模块更新完毕自身的状态信息后,根据中断标志位再次打开中断,光模块更新主机发送的控制信息。
其中,光模块更新自身的状态信息前首先获取自身的状态信息。
优选的,主机向光模块发送的控制信息、光模块自身的状态信息存储为光模块的协议字节。
优选的,光模块更新自身的状态信息包括如下步骤:
(1)获取协议字节当前值;
(2)将光模块自身的状态信息更新存储至协议字节。
优选的,光模块更新主机发送的控制信息包括如下步骤:
(1)获取协议字节当前值;
(2)将主机发送的控制信息更新存储至协议字节。
其中,当主机要获取光模块的状态信息时,光模块将协议字节返回给主机,协议字节中包括光模块自身的状态信息和主机发送的控制信息。
优选的,主机通过I2C总线与光模块通信。
与现有技术相比,本发明的优点和积极效果是:本发明光模块获取自身的状态信息后,首先关闭I2C中断,保证光模块更新自身的状态信息过程中不会被主机发送的控制信息打断,当光模块更新自身的状态信息完成后,响应中断,光模块的协议字节更新主机发送的控制信息。因而,本发明能够保证协议字节包含的控制位和状态位正常更新,不会出现控制位更新不成功的问题,可以保证光通信系统的正常运行。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1为现有技术中正常状态1下协议字节更新的流程图。
图2为现有技术中正常状态2下协议字节更新的流程图。
图3为现有技术中正常状态3下协议字节更新的流程图。
图4为现有技术中异常情况下协议字节更新的流程图。
图5本发明具体实施例协议字节更新的流程图。
具体实施方式
下面首先对现有技术中光模块协议字节更新过程以及存在的问题进行说明,以便进一步说明本发明的技术方案。
现有技术中,光模块为了提高对主机的响应速度,都会将对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处对协议字节控制位的更改就丢失了,造成光模块对协议字节的控制位保存的不对,导致主机认为光模块工作不正常,影响系统的正常运行。
针对上述问题,本实施例提出了一种保证光模块协议数据完整性的方法,即主机向光模块发送控制信息,光模块发生中断,光模块首先处理主机发送的控制信息;若此时光模块正要更新自身的状态信息,则关闭中断,首先更新完毕自身的状态信息后,再更新主机发送的控制信息。当主机要获取光模块的状态信息时,将协议字节返回给主机即可,因而,本实施例不仅保证了协议数据的完整性,更保证了光通信系统的正常运行。下面对本实施例的实现方式进行具体说明。
如图5所示,本实施例协议字节更新过程如下:
22、光模块获取自身的状态信息。
23、光模块将正要更新自身的状态信息,关闭中断,设置中断标志位。
24、光模块获取协议字节当前值。
25、光模块将协议字节当前值的状态位更新为新获取的光模块自身的状态信息,并存储回协议字节。
26、根据中断标志位开启中断。
27、主机发送控制信息给光模块,光模块接收主机发送给光模块的控制信息。
28、光模块获取协议字节当前值。
29、将协议字节当前值的控制位更新为主机新发送的控制信息,并存储回协议字节。
当主机要获取光模块的状态信息时,光模块将协议字节返回给主机,协议字节中包括光模块自身的状态信息和主机发送的控制信息。
因而,从上述更新过程可以看出,无论何时主机向光模块发送获取光模块的状态信息的请求,由于光模块在更新自身的状态信息时屏蔽该中断请求,当更新完毕自身的状态信息后,再更新主机发送的控制信息。因而,本发明不会造成数据的丢失,保证了光模块数据的完整性,保证了光模块通信系统的正常运行。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1. 一种保证光模块协议数据完整性的方法,其特征在于:主机向光模块发送控制信息,若此时光模块正要更新自身的状态信息,则首先更新完毕自身的状态信息后,再更新主机发送的控制信息。
2.根据权利要求1所述的保证光模块协议数据完整性的方法,其特征在于:所述主机向光模块发送控制信息,光模块发生中断,光模块首先处理主机发送的控制信息;若此时光模块正要更新自身的状态信息,则关闭中断,首先更新完毕自身的状态信息后,再更新主机发送的控制信息。
3.根据权利要求2所述的保证光模块协议数据完整性的方法,其特征在于:所述光模块关闭中断时,设置中断标志位。
4.根据权利要求3所述的保证光模块协议数据完整性的方法,其特征在于:当光模块更新完毕自身的状态信息后,根据中断标志位再次打开中断,光模块更新主机发送的控制信息。
5.根据权利要求1所述的保证光模块协议数据完整性的方法,其特征在于:所述光模块更新自身的状态信息前首先获取自身的状态信息。
6.根据权利要求1-5任意一项所述的保证光模块协议数据完整性的方法,其特征在于:所述主机向光模块发送的控制信息、光模块自身的状态信息存储为光模块的协议字节。
7.根据权利要求6所述的保证光模块协议数据完整性的方法,其特征在于:所述光模块更新自身的状态信息包括如下步骤:
(1)获取协议字节当前值;
(2)将光模块自身的状态信息更新存储至协议字节。
8.根据权利要求6所述的保证光模块协议数据完整性的方法,其特征在于:所述光模块更新主机发送的控制信息包括如下步骤:
(1)获取协议字节当前值;
(2)将主机发送的控制信息更新存储至协议字节。
9.根据权利要求6所述的保证光模块协议数据完整性的方法,其特征在于:当所述主机要获取光模块的状态信息时,将协议字节返回给主机。
10.根据权利要求1-5、7-8任意一项所述的保证光模块协议数据完整性的方法,其特征在于:所述主机通过I2C总线与光模块通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310352255.XA CN103441992B (zh) | 2013-08-14 | 2013-08-14 | 一种保证光模块协议数据完整性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310352255.XA CN103441992B (zh) | 2013-08-14 | 2013-08-14 | 一种保证光模块协议数据完整性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103441992A true CN103441992A (zh) | 2013-12-11 |
CN103441992B CN103441992B (zh) | 2017-02-15 |
Family
ID=49695657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310352255.XA Active CN103441992B (zh) | 2013-08-14 | 2013-08-14 | 一种保证光模块协议数据完整性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103441992B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908925A (zh) * | 2006-08-15 | 2007-02-07 | 武汉虹旭信息技术有限责任公司 | 提高pci通信可靠性及效率的方法 |
US20090021238A1 (en) * | 2007-07-19 | 2009-01-22 | Eudyna Devices Inc. | Optical device and method of controlling the same |
CN102023953A (zh) * | 2009-09-17 | 2011-04-20 | 研祥智能科技股份有限公司 | 具有多路i2c总线的系统的控制方法 |
WO2011144104A2 (zh) * | 2011-05-27 | 2011-11-24 | 华为技术有限公司 | 软件升级方法、装置和光模块 |
CN102855151A (zh) * | 2012-08-21 | 2013-01-02 | 武汉电信器件有限公司 | 不打断业务的光模块固件在应用升级方法 |
CN102916776A (zh) * | 2012-10-15 | 2013-02-06 | 青岛海信宽带多媒体技术有限公司 | 光模块参数传输方法及装置 |
-
2013
- 2013-08-14 CN CN201310352255.XA patent/CN103441992B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1908925A (zh) * | 2006-08-15 | 2007-02-07 | 武汉虹旭信息技术有限责任公司 | 提高pci通信可靠性及效率的方法 |
US20090021238A1 (en) * | 2007-07-19 | 2009-01-22 | Eudyna Devices Inc. | Optical device and method of controlling the same |
CN102023953A (zh) * | 2009-09-17 | 2011-04-20 | 研祥智能科技股份有限公司 | 具有多路i2c总线的系统的控制方法 |
WO2011144104A2 (zh) * | 2011-05-27 | 2011-11-24 | 华为技术有限公司 | 软件升级方法、装置和光模块 |
CN102855151A (zh) * | 2012-08-21 | 2013-01-02 | 武汉电信器件有限公司 | 不打断业务的光模块固件在应用升级方法 |
CN102916776A (zh) * | 2012-10-15 | 2013-02-06 | 青岛海信宽带多媒体技术有限公司 | 光模块参数传输方法及装置 |
Non-Patent Citations (3)
Title |
---|
吴旭: "《智能SFP光模块数字诊断功能的实现》", 《武汉理工大学学报》 * |
郑俊杰,李立京,文怀涛: "《具有故障诊断功能的IEEE1394-PCI光纤接口卡的设计》", 《航空电子技术》 * |
钟建坡,司光宇: "《MCS-51系统中断优先级的软扩展》", 《单片机与嵌入式系统应用》 * |
Also Published As
Publication number | Publication date |
---|---|
CN103441992B (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3043512B1 (en) | Firmware upgrade method and system, upper computer and optical module | |
EP2685760B1 (en) | Device, link energy management method and link energy management system for peripheral component interconnect (pci) express | |
US20150154017A1 (en) | In-application upgrade method for optical module firmware not breaking service | |
EP2822255B1 (en) | System and method of a hardware shadow for a network element | |
CN104007996A (zh) | 一种分布式控制系统的可靠固件升级实现方法 | |
CN103092662A (zh) | 一种基于嵌入式操作系统的终端设备的软件模块升级方法 | |
CN104461654A (zh) | 一种obd设备功能单元及固件分类可选升级方法 | |
EP3057264B1 (en) | Method for upgrading network device version and network device | |
US20160055009A1 (en) | Information processing device, peripheral device control method, and non-transitory computer readable medium storing filter driver | |
CN105975308B (zh) | 家庭网关中低内存开销的远程升级系统及远程升级方法 | |
CN102722408B (zh) | 一种通讯设备软件更新的方法及装置 | |
EP4044029A1 (en) | Daughter card initialization method, electronic apparatus, and storage medium | |
WO2013154541A1 (en) | Remote direct memory access with reduced latency | |
CN108664256A (zh) | 系统的固件更新方法、装置和电池管理系统 | |
CN104579802A (zh) | 一种多路服务器快速故障恢复的方法 | |
US20220334824A1 (en) | Method for managing software versions of electronic device(s) in a vehicle and related device | |
CN102707690B (zh) | 一种组态数据的下载方法和下载系统 | |
CN109617950B (zh) | 一种数据更新方法、装置、设备及可读存储介质 | |
CN107748667A (zh) | 一种提升服务器电源在线更新固件可靠性的方法 | |
CN103873516A (zh) | 提高云计算资源池中物理服务器使用率的ha方法和系统 | |
CN101079676B (zh) | 一种光同步数字传输网络系统升级方法 | |
CN103441992A (zh) | 一种保证光模块协议数据完整性的方法 | |
CN102591684A (zh) | 一种软件更新方法 | |
EP3454153B1 (en) | Data storage method for electronic control system of vehicle, and electronic control system | |
CN103401879A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |