[发明专利]一种更新寄存器的方法及装置有效
申请号: | 201510542101.6 | 申请日: | 2015-08-28 |
公开(公告)号: | CN105138308B | 公开(公告)日: | 2018-02-27 |
发明(设计)人: | 邓专 | 申请(专利权)人: | 青岛海信宽带多媒体技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 刘醒晗 |
地址: | 266555 山东省青*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 更新 寄存器 方法 装置 | ||
技术领域
本发明涉及通信技术领域,尤其涉及一种更新寄存器的方法及装置。
背景技术
光模块的功能是将光信号与电信号互相转换,并通过IIC(Inter-Integrated Circuit,集成电路总线)与主机进行信息交互。根据INF-8074标准的要求,光模块的IIC总线协议是使用CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)EEPROM(Electrically Erasable Programmable Read-Only Memory,带电可擦写可编程只读存储器)器件AT24C02的两线串行协议,支持读写操作。
光模块中有些特殊的寄存器,这种特殊的寄存器中存储的比特序列中有用来实时反映光模块的状态比特位,有用于指示关断光模块发射部分的比特位,该比特位的值由主机写入。符合SFF-8472标准的光模块都有这种特别的寄存器。例如,寄存器地址为110的寄存器就是这种特殊的寄存器,该寄存器中存储的比特序列中的Bit7是用来实时反映TX Disable引脚的状态,由光模块输出,为了让主机能够随时读取到光模块的当前状态,光模块需要不断的更新110寄存器的第7比特位。而该寄存器中存储的比特序列中的第6比特位是用来关断光模块的发射部分,由主机输入。
由于寄存器的读写入口只有一个,在对这种特殊寄存器进行更新时,如果同时主机对该寄存器进行写操作,如图1所示,这两种操作就会产生冲突,主机写入到光模块的信息被覆盖,导致通信失效。因此,如何安全更新寄存器保证其可靠性,是目前亟待解决的问题。
发明内容
本发明实施例提供一种更新寄存器的方法及装置,用以提高寄存器更新操作的可靠性。
本发明的一个实施例提供的一种更新寄存器的方法,包括:
执行更新寄存器的第一线程,所述第一线程对应的操作包括:读取寄存器的数据,将读取到的数据存储到第一内存区域,更新所述第一内存区域中的数据,将更新后的数据写入所述寄存器;
在所述第一线程执行期间,若接收到主机发送的请求写寄存器的指令,则根据所述请求写寄存器的指令中断执行所述第一线程,执行第二线程,所述第二线程对应的操作包括:根据所述请求写寄存器的指令在第二内存区域写入数据,恢复执行所述第一线程,在所述第一线程执行完成后,再次执行第一线程;所述请求写寄存器的指令的优先级高于所述第一线程的优先级;
所述再次执行的第一线程对应的操作包括:读取寄存器的数据,将读取到的数据存储到第三内存区域,根据所述第二内存区域中的数据更新所述第三内存区域中的数据,将所述第三内存区域更新后的数据写入所述寄存器。
所述更新所述第一内存区域的数据,包括:更新所述第一内存区域中存储的寄存器数据中的第一比特位数据;在所述第二内存区域写入的数据为寄存器数据中的第二比特位数据。
所述根据所述第二内存区域中的数据更新所述第三内存区域的数据,包括:根据所述第二内存区域中的所述第二比特位数据,更新所述第三内存区域中的寄存器数据中的第二比特位数据,保持所述第三内存区域中的寄存器数据中的其余比特位数据不变。
所述第一比特位的数据为所述光模块的状态数据或控制数据,所述第二比特位的数据为所述光模块的状态和控制数据。
所述执行更新寄存器的第一线程,还包括:根据设定周期执行所述更新寄存器的第一线程。
本发明的一个实施例提供的一种寄存器的装置,包括:控制模块、寄存器处理模块和中断处理模块;
所述控制模块:用于指示所述寄存器处理模块执行更新寄存器的第一线程,所述第一线程对应的操作包括:读取寄存器的数据,将读取到的数据存储到第一内存区域,更新所述第一内存区域中的数据,将更新后的数据写入所述寄存器;
在所述第一线程执行期间,若接收到请求写寄存器的指令,则根据所述请求写寄存器的指令指示所述寄存器处理模块中断执行所述第一线程,执行第二线程,指示所述中断处理模块根据所述请求写寄存器的指令在第二内存区域写入数据,指示所述寄存器处理模块恢复执行所述第一线程,在所述第一线程执行完成后,指示寄存器处理模块再次执行所述第一线程;所述请求写寄存器的指令的优先级高于所述第一线程的优先级;以及
所述再次执行的第一线程对应的操作包括:读取寄存器的数据,将读取到的数据存储到第三内存区域,根据所述第二内存区域中的数据更新所述第三内存区域中的数据,将所述第三内存区域更新后的数据写入所述寄存器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信宽带多媒体技术有限公司,未经青岛海信宽带多媒体技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510542101.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:dygraphs图形对象的处理方法和处理装置
- 下一篇:分屏显示方法和装置