CN116055316A - 一种防止在线升级错误的方法和光模块 - Google Patents
一种防止在线升级错误的方法和光模块 Download PDFInfo
- Publication number
- CN116055316A CN116055316A CN202111260337.2A CN202111260337A CN116055316A CN 116055316 A CN116055316 A CN 116055316A CN 202111260337 A CN202111260337 A CN 202111260337A CN 116055316 A CN116055316 A CN 116055316A
- Authority
- CN
- China
- Prior art keywords
- firmware
- data
- check code
- upgrade
- module
- 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.)
- Pending
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 278
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012795 verification Methods 0.000 claims abstract description 19
- 238000004891 communication Methods 0.000 claims description 14
- 230000003139 buffering effect Effects 0.000 claims 2
- 230000007246 mechanism Effects 0.000 abstract description 14
- 239000013307 optical fiber Substances 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000012986 modification Methods 0.000 description 14
- 230000004048 modification Effects 0.000 description 14
- 230000010365 information processing Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 8
- 230000008054 signal transmission Effects 0.000 description 6
- 239000011449 brick Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000017525 heat dissipation Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000007769 metal material Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/085—Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种防止在线升级错误的方法和光模块,该方法包括:接收上位机发送的固件升级指令,进入固件升级模式;接收所述上位机下发的固件文件,所述固件文件包括:固件数据和固件数据校验码;根据所述固件数据进行写入,并根据写入后的数据计算模块固件校验码;若所述固件数据校验码与所述模块固件校验码一致,标记升级成功标志,切换固件;若所述固件数据校验码与所述模块固件校验码不一致,标记升级失败标志,不切换固件。通过加入整个固件的校验机制,确保数据写入到模块中与固件文件一致,并在出现错误时上报至上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种防止在线升级错误的方法和光模块。
背景技术
随着云计算、移动互联网、视频等新型业务和应用模式发展,光通信技术的发展进步变的愈加重要。而在光通信技术中,光模块是实现光电信号相互转换的工具,是光通信设备中的关键器件之一。
在光模块实际使用中,为保证光模块更加完善功能需要升级光模块,其中升级光模块主要通过在线协议进行升级。很多在线升级协议自身都带有校验机制,但这些校验机制都只是针对传输过程,只能保证数据传输过程中没有误码,而不能保证数据写入的过程中不出错。比如MCU内部flash的供电不稳,或者本身的写操作异常,那么尽管数据传到模块是正确的,但写入到flash是错误的。这种情况下直接跳转到新固件也会让新固件运行错误,从而让模块异常。
发明内容
本申请提供了一种防止在线升级错误的方法和光模块,以防止固件升级错误。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一方面,本申请实施例公开了一种光模块,包括:上壳体;
下壳体,与所述上壳体盖合形成包裹腔体;
电路板,设置于所述包裹腔体内,一端设有金手指与上位机通信;
MCU,设置于电路板上,与所述金手指连接,用于接收固件数据和固件数据校验码,根据所述固件数据写入,并根据写入后的数据计算得到模块固件校验码,对比所述固件数据校验码与所述模块固件校验码判断是否一致。
相比现有技术,本申请的有益效果:
本申请提供了一种光模块,包括:上壳体与下壳体盖合形成的包裹腔体;电路板,设置于所述包裹腔体内,一端设有金手指与上位机通信。MCU,设置于电路板上,与所述金手指连接,用于接收固件数据和固件数据校验码,根据所述固件数据写入,并根据写入后的数据计算得到模块固件校验码,对比所述固件数据校验码与所述模块固件校验码判断是否出现升级错误。本申请实施例提供的光模块,通过加入整个固件的校验机制,确保写入到固件上的数据与固件文件一致,如果不一致也能检查出来把这个错误上报到上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行,可以重新写入。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。
另一方面,本申请提供了一种防止在线升级错误的方法,包括:
接收上位机发送的固件升级指令,进入固件升级模式;
接收所述上位机下发的固件文件,所述固件文件包括:固件数据和固件数据校验码;
根据所述固件数据进行写入,并根据写入后的数据计算模块固件校验码;
若所述固件数据校验码与所述模块固件校验码一致,
若所述固件数据校验码与所述模块固件校验码一致,标记升级成功标志;若所述固件数据校验码与所述模块固件校验码不一致,标记升级失败标志。
相比现有技术,本申请的有益效果:
本申请实施例提供了一种防止在线升级错误的方法,包括:接收上位机发送的固件升级指令,进入固件升级模式;接收所述上位机下发的固件文件,所述固件文件包括:固件数据和固件数据校验码;根据所述固件数据进行写入,并根据写入后的数据计算模块固件校验码;若所述固件数据校验码与所述模块固件校验码一致,标记升级成功标志;若所述固件数据校验码与所述模块固件校验码不一致,标记升级失败标志。通过加入整个固件的校验机制,确保数据写入到模块中与固件文件一致,如果不一致也能检查出来把这个错误上报到上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行,可以重新写入。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据一些实施例的光通信系统连接关系图;
图2为根据一些实施例的光网络终端结构图;
图3为根据一些实施例提供的光模块结构图;
图4为根据一些实施例的光模块分解结构图;
图5为本申请实施例提供的一种光模块中电路板的结构示意图;
图6为本申请实施例提供的一种防止在线升级错误的方法的流程示意图;
图7为本申请实施例提供的一种固件文件的结构示意图;
图8为本申请实施例提供的另一种防止在线升级错误的方法的流程示意图;
图9为本申请实施例提供的另一种固件文件的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开中的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
光通信技术中使用光携带待传输的信息,并使携带有信息的光信号通过光纤或光波导等信息传输设备传输至计算机等信息处理设备,以完成信息的传输。由于光信号通过光纤或光波导中传输时具有无源传输特性,因此可以实现低成本、低损耗的信息传输。此外,光纤或光波导等信息传输设备传输的信号是光信号,而计算机等信息处理设备能够识别和处理的信号是电信号,因此为了在光纤或光波导等信息传输设备与计算机等信息处理设备之间建立信息连接,需要实现电信号与光信号的相互转换。
光模块在光纤通信技术领域中实现上述光信号与电信号的相互转换功能。光模块包括光口和电口,光模块通过光口实现与光纤或光波导等信息传输设备的光通信,通过电口实现与光网络终端(例如,光猫)之间的电连接,电连接主要用于实现供电、I2C信号传输、数据信号传输以及接地等;光网络终端通过网线或无线保真技术(Wi-Fi)将电信号传输给计算机等信息处理设备。
图1为根据一些实施例的光通信系统连接关系图。如图1所示,光通信系统主要包括远端服务器1000、本地信息处理设备2000、光网络终端100、光模块200、光纤101及网线103;
光纤101的一端连接远端服务器1000,另一端通过光模块200与光网络终端100连接。光纤本身可支持远距离信号传输,例如数千米(6千米至8千米)的信号传输,在此基础上如果使用中继器,则理论上可以实现超长距离传输。因此在通常的光通信系统中,远端服务器1000与光网络终端100之间的距离通常可达到数千米、数十千米或数百千米。
网线103的一端连接本地信息处理设备2000,另一端连接光网络终端100。本地信息处理设备2000可以为以下设备中的任一种或几种:路由器、交换机、计算机、手机、平板电脑、电视机等。
远端服务器1000与光网络终端100之间的物理距离大于本地信息处理设备2000与光网络终端100之间的物理距离。本地信息处理设备2000与远端服务器1000的连接由光纤101与网线103完成;而光纤101与网线103之间的连接由光模块200和光网络终端100完成。
光模块200包括光口和电口。光口被配置为与光纤101连接,从而使得光模块200与光纤101建立双向的光信号连接;电口被配置为接入光网络终端100中,从而使得光模块200与光网络终端100建立双向的电信号连接。光模块200实现光信号与电信号的相互转换,从而使得光纤101与光网络终端100之间建立连接。示例的,来自光纤101的光信号由光模块200转换为电信号后输入至光网络终端100中,来自光网络终端100的电信号由光模块200转换为光信号输入至光纤101中。
光网络终端100包括大致呈长方体的壳体(housing),以及设置在壳体上的光模块接口102和网线接口104。光模块接口102被配置为接入光模块200,从而使得光网络终端100与光模块200建立双向的电信号连接;网线接口104被配置为接入网线103,从而使得光网络终端100与网线103建立双向的电信号连接。光模块200与网线103之间通过光网络终端100建立连接。示例的,光网络终端100将来自光模块200的电信号传递给网线103,将来自网线103的信号传递给光模块200,因此光网络终端100作为光模块200的上位机,可以监控光模块200的工作。光模块200的上位机除光网络终端100之外还可以包括光线路终端(OpticalLine Terminal,OLT)等。
远端服务器1000通过光纤101、光模块200、光网络终端100及网线103,与本地信息处理设备2000之间建立了双向的信号传递通道。
图2为根据一些实施例的光网络终端结构图,为了清楚地显示光模块200与光网络终端100的连接关系,图2仅示出了光网络终端100的与光模块200相关的结构。如图2所示,光网络终端100中还包括设置于壳体内的PCB电路板105,设置在PCB电路板105的表面的笼子106,以及设置在笼子106内部的电连接器。电连接器被配置为接入光模块200的电口;散热器107具有增大散热面积的翅片等凸起部。
光模块200插入光网络终端100的笼子106中,由笼子106固定光模块200,光模块200产生的热量传导给笼子106,然后通过散热器107进行扩散。光模块200插入笼子106中后,光模块200的电口与笼子106内部的电连接器连接,从而光模块200与光网络终端100建立双向的电信号连接。此外,光模块200的光口与光纤101连接,从而光模块200与光纤101建立双向的电信号连接。
图3为根据一些实施例提供的光模块结构图,图4为根据一些实施例的光模块分解结构图。如图3和图4所示,光模块200包括壳体、设置于壳体中的电路板300及光收发器件;
壳体包括上壳体201和下壳体202,上壳体201盖合在下壳体202上,以形成具有两个开口204和205的上述壳体;壳体的外轮廓一般呈现方形体。
在一些实施例中,下壳体202包括底板以及位于底板两侧、与底板垂直设置的两个下侧板;上壳体201包括盖板,以及位于盖板两侧与盖板垂直设置的两个上侧板,由两个侧壁与两个侧板结合,以实现上壳体201盖合在下壳体202上。
两个开口204和205的连线所在方向可以与光模块200的长度方向一致,也可以与光模块200的长度方向不一致。示例地,开口204位于光模块200的端部(图3的左端),开口205也位于光模块200的端部(图3的右端)。或者,开口204位于光模块200的端部,而开口205则位于光模块200的侧部。其中,开口204为电口,电路板300的金手指从电口204伸出,插入上位机(如光网络终端100)中;开口205为光口,配置为接入外部的光纤101,以使光纤101连接光模块200内部的光收发器件。
采用上壳体201、下壳体202结合的装配方式,便于将电路板300、光收发器件等器件安装到壳体中,由上壳体201、下壳体202可以对这些器件形成封装保护。此外,在装配电路板300等器件时,便于这些器件的定位部件、散热部件以及电磁屏蔽部件的部署,有利于自动化的实施生产。
在一些实施例中,上壳体201及下壳体202一般采用金属材料制成,利于实现电磁屏蔽以及散热。
在一些实施例中,光模块200还包括位于其壳体外壁的解锁部件203,解锁部件203被配置为实现光模块200与上位机之间的固定连接,或解除光模块200与上位机之间的固定连接。
示例地,解锁部件203位于下壳体202的两个下侧板2022的外壁,包括与上位机的笼子(例如,光网络终端100的笼子106)匹配的卡合部件。当光模块200插入上位机的笼子里,由解锁部件203的卡合部件将光模块200固定在上位机的笼子里;拉动解锁部件203时,解锁部件203的卡合部件随之移动,进而改变卡合部件与上位机的连接关系,以解除光模块200与上位机的卡合关系,从而可以将光模块200从上位机的笼子里抽出。
电路板300包括电路走线、电子元件(如电容、电阻、三极管、MOS管)及芯片(如MCU、激光驱动芯片、限幅放大芯片、时钟数据恢复CDR、电源管理芯片、数据处理芯片DSP)等。
电路板300通过电路走线将光模块200中的上述器件按照电路设计连接在一起,以实现供电、电信号传输及接地等功能。
电路板300一般为硬性电路板,硬性电路板由于其相对坚硬的材质,还可以实现承载作用,如硬性电路板可以平稳的承载芯片;硬性电路板还可以插入上位机笼子中的电连接器中,在本申请公开的某一些实施例中,在硬性电路板的一侧末端表面形成金属引脚/金手指,用于与电连接器连接;这些都是柔性电路板不便于实现的。
部分光模块中也会使用柔性电路板;柔性电路板一般与硬性电路板配合使用,如硬性电路板与光收发器件之间可以采用柔性电路板连接,作为硬性电路板的补充。
光收发器件包括光发射次模块及光接收次模块。
图5为本申请实施例提供的一种光模块中电路板的结构示意图。如图5所示,本申请实施例提供的光模块中,电路板300上还包括MCU301。在本实施例中,MCU301通信连接硅光芯片400等光模块中的器件,进而通过上位机(客户主机)与MCU301交互实现光模块中硅光芯片400等的配置数据修改、固件升级。
为了确保固件升级过程中不出现错误,本申请实施例提供了一种防止在线升级错误的方法,该方法适用于光模块,通过加入整个固件的校验机制,确保数据写入到flash上与固件文件一致,如果不一致也能检查出来把这个错误上报到上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行,可以重新写入。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。下面结合本申请实施例提供的防止在线升级错误的方法进行详细说明。
图6为本申请实施例提供的一种防止在线升级错误的方法的流程图。如图6所示,本申请实施例提供的防止在线升级错误的方法包括:
接收上位机发送的固件升级指令,进入固件升级模式。接收上位机下发的固件文件,所述固件文件包括:固件数据和固件数据校验码。
根据所述固件数据进行写入,并根据写入的数据计算模块固件校验码。
若所述固件数据校验码与所述模块固件校验码一致,则标记升级成功,切换固件;否则标记升级失败,不切换固件。
本申请实施例提供的一种防止在线升级错误的方法,光模块可通过上位机直接进行固件升级以及配置数据的修改,通过加入整个固件的校验机制,确保写入到flash上的数据与固件文件一致,如果不一致也能检查出来把这个错误上报到上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行,可以重新写入。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。
下面结合具体实例对本申请提供的光模块升级方法进行详细介绍。
在本申请实施例中,通常由光模块产商根据客户需求或其他需求制作生成固件文件,并将固件文件传输至客户,客户通过客户主机等上位机向光模块下发固件文件,通常光模块的MCU接收该固件文件进行写入,根据写入后的数据计算得到模块固件校验码。比较接收到的固件数据校验码与模块固件校验码,若所述固件数据校验码与所述模块固件校验码一致,则标记升级成功,否则标记升级失败,并将标记结果发送至所述上位机。客户通过上位机读取光模块的标记信息,即可知道光模块升级是否出现错误。
图7为本申请实施例提供的一种固件文件的结构示意图。如图7所示,在本申请实施例中,固件文件包括固件数据和固件数据校验码。固件数据包括固件代码,即光模块中对应的固件源代码,可用于固件升级。固件数据校验码为固件代码对应的校验码。
首先客户主机发送0041h指令,Firmware Update features。0041h指令能获取到光模块对于固件升级的支持。比如获取到:接下来的0101h指令自带的数据是多长,0103h/0104h指令发送的每个数据包长度是多少等。
主机从升级文件中读取指定长度的数据,然后用0101h指令发出至光模块,告知模块开始下载。从升级文件中读取指定长度的数据,然后用0103h/0104h发给模块升级。
接收上位机发送的固件升级指令,实际指令可用0101h指令,进入固件升级模式。为确认固件文件是否适用于本光模块,光模块接收上位机发送的固件升级指令,通过文件头实现。文件头通常具有一定长度,通常用于验证升级文件有效性,避免光模块升级作物导致光模块“变砖”,保证光模块升级安全性。通常可使用一些字节用于验证升级文件有效性,还有一些字节用于自定义使用。在本申请实施例中,拿出一部分字节用于标识固件是否需要升级、配置数据是否需要修改、哪些数据需要修改等。
光模块解析升级文件的文件头,根据升级文件的文件头确定升级指令,其中升级指令包括固件升级指令和配置数据升级指令。在本申请实施例中,为便于精准实现客户在线光模块中固件的升级和光模块中配置数据的修改,固件升级指令用于对应光模块中固件升级,配置数据升级指令对应光模块中配置数据的修改。
光模块根据文件头确定升级指令,若升级指令包括固件升级指令,则根据接收到的固件代码升级光模块中的固件,若升级指令包括配置数据升级指令,则根据接收到的配置数据修改光模块中配置数据。在本申请实施例中,升级文件中可仅包括固件升级指令或配置数据升级指令,即上位机下发的升价文件仅用于执行固件升级或修改光模块中的配置数据;还可以同时包括固件升级指令和配置数据升级指令,即上位机下发的升价文件同时用于执行固件升级和修改光模块中的配置数据。
为便于光模块识别确定升级指令,升级文件的文件头中包括指令字段,指令字段用于标识升级指令,进而当光模块获取到升级文件的文件头,解析升级文件的文件头获取指令字段,根据指令字段确定升级指令。指令字段主要是指在文件头中选取某些字节用于标识升级指令,如选择若干字节标识固件升级指令、选择另外若干字节标识配置数据升级指令;当光模块解析升级文件的文件头获取到若干标识固件升级指令的字节,则可确定升级指令包括固件升级指令;当光模块解析升级文件的文件头获取到若干标识配置数据升级指令的字节,则可确定升级指令包括配置数据升级指令。
在本申请实施例中,光模块中配置数据的种类多样,为便于光模块能够精准有效快速的进行配置数据修改升级,可选的,升级文件中通常根据配置数据的数据功能进行数据区划分,如数据区1、数据区2……,其中数据区1中存储校验数据、数据区2中存储查找表数据等,数据区的数量可以根据配置数据的数据功能种类进行选择。将配置数据根据功能进行数据区划分,便于各功能配置数据的管理。
光模块解析升级文件的文件头,根据升级文件的文件头确定升级指令,若升级指令中包括固件升级指令,进入固件升级模式。
进入升级模式后,上位机向光模块下发固件文件,读取固件文件,读取固定长度,然后用0103h或0104h发送给光模块。所述固件文件包括:固件数据和固件数据校验码。固件数据包括多个子升级数据,升级过程中,客户主机用写指令向光模块发送数据,整个发送过程可以一次完成,也可将分步完成。固件数据校验码,可以是1,2,3……甚至多个字节组成,字节个数越多保护的有效性越高。而客户主机并不清楚固件文件的内部结构,只是按照读文件下发的流程依次把固件数据和最后的校验码发到模块端。
光模块解析所述固件数据,将固件数据进行写入至固件区,并根据写入的数据计算模块固件校验码。读取写入至固件区中的写入后固件数据,计算得到模块固件校验码。若所述固件数据校验码与所述模块固件校验码一致,则输出升级成功信息至所述上位机;否则输出升级失败信息至所述上位机,并保留写入前数据。
通常,固件区包括第一固件区和第二固件区,固件升级过程时交替对第一固件区和第二固件区进行升级。如,前一次升级时将固件数据写入第一固件区,则覆盖原第一固件区的数据,第二固件区不做写入。如第一固件区的如固件数据校验码与模块固件校验码一致,则系统切换至第一固件区运行,如第一固件区的如固件数据校验码与模块固件校验码一致,则系统保持第二固件区运行。
缓存区包括接收缓存区和读取缓存区。MCU还设有标记区和计算区。
接收缓存区接收并保存上位机发送的固件文件,包括:固件数据和固件数据校验码。将固件数据写入第一固件区,覆盖旧固件中原有的数据,保存写入后的数据。接收缓存区保存固件数据校验码。读取缓存区读取第一固件区中写入后的数据,并根据写入后数据计算得到模块固件校验码。计算区读取固件数据校验码和模块固件校验码,对固件数据校验码和模块固件校验码进行比较,若固件数据校验码与模块固件校验码一致,则修改标记区标记位,标记升级成功,切换至第一固件区运行;若固件数据校验码与模块固件校验码不一致,标记升级失败,保持第二固件区运行,并将标记结果发送至所述上位机。客户通过上位机读取光模块的标记信息,即可知道光模块升级是否出现错误。为确保升级正确,如果所述固件数据校验码与所述模块固件校验码不一致,上位机根据接收到的升级错误标记,向光模块发送退出升级指令,光模块保留旧固件区数据。
在本申请中,为了触发判断过程,在解析所述固件数据之前还包括:接收上位机发送的数据发送完成指令。上位机完成固件文件的发送后,向光模块发送数据发送完成指令。光模块接收到数据发送完成指令后,根据固件数据进行写入,并根据写入后的数据计算模块固件校验码。
光模块接收完固件文件后,修改相应标志位的标记,上位机根据标志位判断上位机是否完成固件文件的发送。上位机接收到完成接收信号后,发送数据发送完成指令如0107h指令。在本申请中这条数据发送完成指令中,触发比对过程。光模块将写入后的全部固件数据读出,并根据写入后的数据计算模块固件校验码,并与最后主机发来的校验码进行比对。若所述固件数据校验码与所述模块固件校验码一致,则输出升级成功信息至所述上位机;否则输出升级失败信息至所述上位机。
如果比对成功则返回成功,且同时切换到新固件运行,如果比对失败则返回失败通知客户主机,且同时保证模块停留在旧固件不做切换,以确保模块安全。
在本申请实施例中,上位机发送固件文件至光模块,固件文件包括:固件数据和固件数据校验码。固件数据包括文件头、光模块解析升级文件的文件头,根据升级文件的文件头确定升级指令。光模块通过解析后的文件头对光模块进行校验,确认是否与固件文件匹配,确认所述固件文件是否适用于本模块。根据固件区的固件代码确定需要获取的配置数据区;并进入升级模式,准备开始升级。
本申请实施例提供了一种防止在线升级错误的方法,通过加入整个固件的校验机制,确保数据写入到模块中与固件文件一致,如果不一致也能检查出来把这个错误上报到上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行,可以重新写入。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。
基于本申请实施例提供的防止在线升级错误的方法,本申请实施例提供了一种光模块,该光模块包括MCU,MCU接收固件文件,所述固件文件包括:固件数据和固件校验码;写入固件数据并根据写入后的固件数据计算得到模块固件校验码,与固件校验码比较,判断写入过程是否错误。
具体的,MCU包括:接收缓存区、读取缓存区、第一固件区和第二固件区;
接收缓存区接收上位机发送的固件升级指令,进入固件升级模式。
接收缓存区接收上位机下发的固件文件,所述固件文件包括:固件数据和固件数据校验码。
接收缓存区将所述固件数据写入至第一固件区,第一固件区保存写入后固件数据。
读取缓存区读取所述写入后固件数据,并根据写入固件数据计算得到模块固件校验码。
计算区读取模块固件校验码和固件数据校验码,并进行校验,若所述固件数据校验码与所述模块固件校验码一致,则标记升级成功标志;否则标记升级失败标志。
本申请实施例提供的光模块,通过加入整个固件的校验机制,确保写入到固件区的数据与固件文件一致,如果不一致也能检查出来把这个错误上报到上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行,可以重新写入。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。
本申请实施例提供的光模块,光模块可通过上位机直接进行固件升级以及配置数据的修改,客户除了可直接升级固件还可以现场直接进行光模块配置数据的修改,方便使用客户直接操作,提高了优化参数的效率。
图8为本申请提供的另一种防止在线升级错误的方法。根据图8所示,本申请的另一实施例还提供了一种防止在线升级错误的方法,包括:
接收上位机发送的固件升级指令,进入固件升级模式。
依次接收所述接收上位机下发的若干固件数据包。
根据所述固件数据计算固件校验码,并进行写入。
读取写入后的固件数据,并根据写入固件数据计算得到模块校验码;所述写入固件数据为固件数据写入后的数据。
若所述固件校验码与所述模块校验码一致,则接收下一固件数据包。
进一步,若所述固件校验码与所述模块校验码一致,则输出升级成功信息至所述上位机,接收下一固件数据包。
若所述固件校验码与所述模块校验码不一致,输出升级失败信息至所述上位机,并保留写入前数据。
本申请实施例提供的一种防止在线升级错误的方法,光模块可通过上位机直接进行固件升级以及配置数据的修改,将固件文件分为若干个数据包,通过加入对单个数据包的校验机制,确保写入到固件区的数据与固件文件一致。如果不一致可及时可将错误上报至上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行,可以重新写入。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。
下面结合具体实例对本申请提供的光模块升级方法进行详细介绍。
在本申请实施例中,通常由光模块产商根据客户需求或其他需求制作生成固件文件,并将固件文件传输至客户,客户通过客户主机等上位机向光模块下发固件文件,将固件文件分为若干个固件数据包,依次进行下发。通常光模块的MCU接收该固件文件并处理文件,根据并根据写入后的数据计算得到与写入数据对应的模块校验码。若所述固件校验码与所述模块校验码一致,则标记升级成功,否则标记升级失败,并将标记结果发送至所述上位机。客户通过上位机接收到的标记信息,即可知道光模块升级是否出现错误。如果所述固件校验码与所述模块校验码不一致,保留写入前数据,模块停留在旧固件不做切换,以确保光模块的安全。
图9为本申请实施例提供的另一种固件文件的结构示意图。如图9所示,在本申请实施例中,固件文件包括若干固件数据包。固件数据包内数据包括固件代码,即光模块中对应的固件源代码,可用于固件升级。固件校验码为固件代码对应的校验码。
在本申请实施例中,固件文件分为若干固件数据包,光模块依次接收上位机下发的若干固件数据包。
以下以前后进行下发的第一固件数据包和第二固件数据包对本申请提供的方法进行具体解释:
首先,光模块中MCU包括接收缓存区、读取缓存区、第一固件区与第二固件区,接收缓存区接收上位机下发的第一固件数据包。
接收缓存区接收上位机下发的第一固件数据包后,解析所述第一固件数据包得到第一固件数据,并根据所述第一固件数据计算得到第一固件校验码。
接收缓存区将所述第一固件数据写入至第一固件区,形成第一写入固件数据,第一固件区保存第一写入固件数据;读取缓存区读取第一写入固件数据,并根据第一写入固件数据计算第一模块校验码。
所述第一固件校验码与所述第一模块校验码进行比对:若所述第一固件校验码与所述第一模块校验码一致,则输出第一升级成功信息至所述上位机;上位机接收到接第一升级成功信息后,下发第二固件数据包。或标记第一升级成功标志,上位机读取第一升级成功标志后,下发第二固件数据包。
若所述第一固件校验码与所述第一模块校验码不一致,否则输出升级失败信息至所述上位机。或标记第一升级失败标志,上位机读取第一升级失败标志。继续维持第二固件区运行。
接收缓存区接收上位机下发的第二固件数据包后,解析所述第二固件数据包得到第二固件数据,根据所述第二固件数据计算得到第二固件校验码。
接收缓存区将所述第一固件数据写入至第一固件区,第一固件区形成第二写入固件数据。读取缓存区读取第二写入固件数据,并根据第二写入固件数据计算得到第二模块校验码。
所述第二固件校验码与所述第二模块校验码进行比对:若所述第二固件校验码与所述第二模块校验码一致,则输出第二升级成功信息至所述上位机;上位机接收到接第二升级成功信息后,下发第三固件数据包,以后流程依据以上依次类推,直至全部固件数据包发送完成后,接收发送完成指令,切换至第一固件区运行。通过将固件文件分为若干个固件数据包,通常光模块的MCU中接收缓存区接收该固件数据包并进行解析,将固件数据包中的数据写入至固件区,形成写入后固件数据,并根据写入后固件数据写入计算得到模块校验码。若所述固件校验码与所述模块校验码一致,则标记升级成功,否则标记升级失败。客户通过上位机读取标记信息,即可知道光模块升级是否出现错误。如果所述固件校验码与所述模块校验码不一致,模块停留在旧固件不做切换,以确保光模块的安全。
接收缓存区接收上位机发送的固件升级指令,进入固件升级模式。为确认固件文件是否适用于本光模块,光模块接收上位机发送的固件升级指令,通过文件头实现。文件头通常具有一定长度,通常用于验证升级文件有效性,避免光模块升级作物导致光模块“变砖”,保证光模块升级安全性。通常可使用一些字节用于验证升级文件有效性,还有一些字节用于自定义使用。在本申请实施例中,拿出一部分字节用于标识固件是否需要升级、配置数据是否需要修改、哪些数据需要修改等。
光模块解析文件头,根据文件头确定升级指令,其中升级指令包括固件升级指令和配置数据升级指令。在本申请实施例中,为便于精准实现客户在线光模块中固件的升级和光模块中配置数据的修改,固件升级指令用于对应光模块中固件升级,配置数据升级指令对应光模块中配置数据的修改。
光模块根据文件头确定升级指令,若升级指令包括固件升级指令,则根据接收到的固件代码升级光模块中的固件,若升级指令包括配置数据升级指令,则根据接收到的配置数据修改光模块中配置数据。在本申请实施例中,升级文件中可仅包括固件升级指令或配置数据升级指令,即上位机下发的升价文件仅用于执行固件升级或修改光模块中的配置数据;还可以同时包括固件升级指令和配置数据升级指令,即上位机下发的升价文件同时用于执行固件升级和修改光模块中的配置数据。
为便于光模块识别确定升级指令,升级文件的文件头中包括指令字段,指令字段用于标识升级指令,进而当光模块获取到升级文件的文件头,解析升级文件的文件头获取指令字段,根据指令字段确定升级指令。指令字段主要是指在文件头中选取某些字节用于标识升级指令,如选择若干字节标识固件升级指令、选择另外若干字节标识配置数据升级指令;当光模块解析升级文件的文件头获取到若干标识固件升级指令的字节,则可确定升级指令包括固件升级指令;当光模块解析升级文件的文件头获取到若干标识配置数据升级指令的字节,则可确定升级指令包括配置数据升级指令。
在本申请实施例中,光模块中配置数据的种类多样,为便于光模块能够精准有效快速的进行配置数据修改升级,可选的,升级文件中通常根据配置数据的数据功能进行数据区划分,如数据区1、数据区2……,其中数据区1中存储校验数据、数据区2中存储查找表数据等,数据区的数量可以根据配置数据的数据功能种类进行选择。将配置数据根据功能进行数据区划分,便于各功能配置数据的管理。
光模块解析升级文件的文件头,根据升级文件的文件头确定升级指令,若升级指令中包括固件升级指令,进入固件升级模式。
进入升级模式后,上位机向光模块依次下发若干固件数据包,所述固件数据包包括:固件数据和与之对应的固件校验码。固件校验码,可以是1,2,3……甚至多个字节组成,字节个数越多保护的有效性越高。而客户主机并不清楚固件文件的内部结构,只是按照读文件下发的流程依次把固件数据和最后的校验码发到模块端。
光模块解析所述固件数据,将固件数据进行写入至固件区,并根据写入的数据计算模块校验码。读取写入至固件区中的固件数据,计算得到模块校验码。若所述固件校验码与所述模块校验码一致,则输出升级成功信息至所述上位机;否则输出升级失败信息至所述上位机,并保留写入前数据。
为确保升级正确,如果所述固件校验码与所述模块校验码不一致,上位机根据接收到的升级错误,向光模块发送退出升级指令,光模块保留写入前数据。
在本申请中,为了触发判断过程,在解析所述固件数据之前还包括:接收上位机发送的数据发送完成指令。上位机完成固件文件的发送后,向光模块发送数据发送完成指令。光模块接收到数据发送完成指令后,解析所述固件数据,根据所述固件数据进行写入,并根据写入的数据计算模块校验码。
光模块接收完固件文件后,向上位机发送完成接收信号,上位机根据完成接收信号判断上位机是否完成固件文件的发送。上位机接收到完成接收信号后,发送的数据发送完成指令。在本申请中这条数据发送完成指令中,触发比对过程。将写入的全部固件数据读出,并根据写入的数据计算模块校验码,并与最后主机发来的校验码进行比对。若所述固件校验码与所述模块校验码一致,则输出升级成功信息至所述上位机;否则输出升级失败信息至所述上位机,并保留写入前数据。
如果比对成功则返回成功,且同时切换到新固件运行,如果比对失败则返回失败通知客户主机,且同时保证模块停留在旧固件不做切换,以确保模块安全。
本申请在写入的过程中加入校验机制,与协议本身自带的传输校验机制联合起来,共同保证写入到flash上与原始固件文件一致,如果不一致也能检查出来把这个错误上报到主机,同时确保模块不切换到新固件,进而确保模块没有“变砖”,可以重新写入。
基于本申请实施例提供的防止在线升级错误的方法,本申请实施例提供了一种光模块,该光模块中的MCU:依次接收上位机发送的固件数据包,解析所述固件数据包,得到固件数据,并根据所述固件数据计算得到固件校验码;根据写入后的固件数据计算得到模块校验码,并与固件校验码对比,判断写入过程是否错误。
具体包括:接收上位机发送的固件升级指令,进入固件升级模式。
接收上位机依次下发的固件数据包。
解析所述固件数据包,得到固件数据,根据所述固件数据计算固件校验码;
将固件数据写入至固件区,固件区生成写入后的数据为写入固件数据;
接收缓存区读取写入固件数据,并根据写入固件数据计算模块校验码;
若所述固件校验码与所述模块校验码一致,则输出升级成功信息至所述上位机;否则输出升级失败信息至所述上位机,并保留写入前数据。
具体的,在本申请实施例中,固件文件分为若干固件数据包,光模块依次接收上位机下发的若干固件数据包。
以下以前后进行下发的第一固件数据包和第二固件数据包对本申请提供的方法进行具体解释:
首先,光模块中MCU包括接收缓存区、读取缓存区、第一固件区与第二固件区。
接收缓存区接收上位机下发的第一固件数据包。接收缓存区接收上位机下发的第一固件数据包后,解析所述第一固件数据包得到第一固件数据,根据所述第一固件数据计算得到第一固件校验码。
接收缓存区将所述第一固件数据写入至第一固件区,第一固件区生成第一写入固件数据;读取缓存区读取第一写入固件数据,并根据第一写入固件数据计算第一模块校验码。
读取缓存区对所述第一固件校验码与所述第一模块校验码进行比对:若所述第一固件校验码与所述第一模块校验码一致,则输出第一升级成功信息至所述上位机;上位机接收到接第一升级成功信息后,下发第二固件数据包。
若所述第一固件校验码与所述第一模块校验码不一致,否则输出升级失败信息至所述上位机,并保留写入前数据上位机向光模块。
接收缓存区接收上位机下发的第二固件数据包后,解析所述第二固件数据包得到第二固件数据,根据所述第二固件数据计算得到第二固件校验码。
接收缓存区将所述第一固件数据写入至第一固件区,第一固件区生成第二写入固件数据。读取缓存区读取第二写入固件数据,并根据第二写入固件数据计算第二模块校验码。
读取缓存区对所述第二固件校验码与所述第二模块校验码进行比对:若所述第二固件校验码与所述第二模块校验码一致,则输出第二升级成功信息至所述上位机;上位机接收到接第二升级成功信息后,下发第三固件数据包,以后流程依据以上依次类推,通过将固件文件分为若干个固件数据包。通常光模块的MCU中接收缓存区接收该固件数据包并进行解析,将固件数据包中的数据写入至固件区,生成写入固件数据,并根据写入的数据计算得到与写入数据对应的模块校验码。若所述固件校验码与所述模块校验码一致,则标记升级成功,否则标记升级失败,并将标记结果发送至所述上位机。客户通过上位机接收到的标记信息,即可知道光模块升级是否出现错误。如果所述固件校验码与所述模块校验码不一致,保留写入前数据,模块停留在旧固件不做切换,以确保光模块的安全。
本申请实施例提供的光模块,通过加入整个固件的校验机制,确保写入到固件上的数据与固件文件一致,如果不一致也能检查出来把这个错误上报到上位机,同时确保光模块不切换到新固件,进而确保光模块正常运行,可以重新写入。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。本申请实施例提供的光模块,对数据写入过程进行验证,对数据写入过程出现错误进行警示和上报,避免数据写入过程出现错误,与协议本身自带的传输校验机制联合起来,共同保证写入到固件上与原始固件文件一致,如果不一致也能检查出来把这个错误上报到主机,同时确保模块不切换到新固件,进而确保模块没有“变砖”,可以重新写入。
本申请实施例提供的光模块,光模块可通过上位机直接进行固件升级以及配置数据的修改,客户除了可直接升级固件还可以现场直接进行光模块配置数据的修改,方便使用客户直接操作,提高了优化参数的效率。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践本申请的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (9)
1.一种光模块,其特征在于,包括:上壳体;
下壳体,与所述上壳体盖合形成包裹腔体;
电路板,设置于所述包裹腔体内,一端设有金手指与上位机通信;
MCU,设置于电路板上,与所述金手指连接,用于接收固件数据和固件数据校验码,根据所述固件数据进行写入,并根据写入后的数据计算得到模块固件校验码,比对所述固件数据校验码与所述模块固件校验码判断是否一致。
2.根据权利要求1所述的光模块,其特征在于,所述MCU包括:第一固件区和第二固件区,其中:第一固件区用于写入所述固件数据;第二固件区用于保存原固件数据。
3.根据权利要求1所述的光模块,其特征在于,所述MCU还包括:
接收缓存区,用于缓存上位机发送的固件数据和固件数据检验码;
读取缓存区,用于读取、缓存写入后的数据,并计算模块固件校验码。
4.一种防止在线升级错误的方法,其特征在于,包括:
接收上位机发送的固件升级指令,进入固件升级模式;
接收所述上位机下发的固件文件,所述固件文件包括:固件数据和固件数据校验码;
根据所述固件数据进行写入,并根据写入后的数据计算模块固件校验码;
若所述固件数据校验码与所述模块固件校验码一致,标记升级成功标志,切换固件;
若所述固件数据校验码与所述模块固件校验码不一致,标记升级失败标志,不切换固件。
5.根据权利要求4所述的防止在线升级错误的方法,其特征在于,所述接收上位机发送的固件升级指令,进入固件升级模式,包括:
接收所述上位机发送的文件头,根据所述文件头确定升级指令,所述升级指令包括所述固件升级指令。
6.根据权利要求5所述的防止在线升级错误的方法,其特征在于,所述根据所述文件头确定升级指令包括:
获取所述升级文件的文件头,所述文件头包括指令字段,所述指令字段用于确定升级指令;
解析所述升级文件的文件头获取所述指令字段,根据所述指令字段确定所述升级指令。
7.根据权利要求5所述的防止在线升级错误的方法,其特征在于,所述文件头中还包括验证字段;
解析所述升级文件的文件头获取所述验证字段,根据所述验证字段验证所述升级文件的有效性。
8.根据权利要求4所述的防止在线升级错误的方法,其特征在于,所述根据所述固件数据进行写入,并根据写入的数据计算模块固件校验码,包括:
将所述固件数据写入至第一固件区,形成写入后固件数据;
读取所述写入后固件数据,并根据所述写入后固件数据计算得到模块校验码。
9.根据权利要求8所述的防止在线升级错误的方法,其特征在于,若所述固件数据校验码与所述模块固件校验码一致,标记升级成功标志,切换固件;若所述固件数据校验码与所述模块固件校验码不一致,标记升级失败标志,不切换固件包括:
若所述固件数据校验码与所述模块固件校验码一致,标记升级成功标志,切换至所述第一固件区运行;
若所述固件数据校验码与所述模块固件校验码不一致,标记升级成功标志,保持第二固件区运行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111260337.2A CN116055316A (zh) | 2021-10-28 | 2021-10-28 | 一种防止在线升级错误的方法和光模块 |
PCT/CN2022/111406 WO2023071384A1 (zh) | 2021-10-28 | 2022-08-10 | 光模块及其升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111260337.2A CN116055316A (zh) | 2021-10-28 | 2021-10-28 | 一种防止在线升级错误的方法和光模块 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116055316A true CN116055316A (zh) | 2023-05-02 |
Family
ID=86126036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111260337.2A Pending CN116055316A (zh) | 2021-10-28 | 2021-10-28 | 一种防止在线升级错误的方法和光模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055316A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716695A (zh) * | 2013-12-16 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 一种升级系统软件的方法及智能电视 |
CN103761122A (zh) * | 2013-12-31 | 2014-04-30 | 青岛歌尔声学科技有限公司 | 一种芯片固件的升级方法和系统 |
CN105912356A (zh) * | 2016-03-31 | 2016-08-31 | 武汉光迅科技股份有限公司 | 一种支持版本回退的光模块固件程序在线升级方法 |
CN110389778A (zh) * | 2019-07-19 | 2019-10-29 | 苏州浪潮智能科技有限公司 | 一种异构加速平台的mcu固件升级方法及相关装置 |
CN110531998A (zh) * | 2019-09-04 | 2019-12-03 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光模块的固件烧写方法 |
CN110704077A (zh) * | 2018-07-10 | 2020-01-17 | 中兴通讯股份有限公司 | 固件远程升级方法、装置、终端、移动设备及存储介质 |
-
2021
- 2021-10-28 CN CN202111260337.2A patent/CN116055316A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716695A (zh) * | 2013-12-16 | 2014-04-09 | 乐视致新电子科技(天津)有限公司 | 一种升级系统软件的方法及智能电视 |
CN103761122A (zh) * | 2013-12-31 | 2014-04-30 | 青岛歌尔声学科技有限公司 | 一种芯片固件的升级方法和系统 |
CN105912356A (zh) * | 2016-03-31 | 2016-08-31 | 武汉光迅科技股份有限公司 | 一种支持版本回退的光模块固件程序在线升级方法 |
CN110704077A (zh) * | 2018-07-10 | 2020-01-17 | 中兴通讯股份有限公司 | 固件远程升级方法、装置、终端、移动设备及存储介质 |
CN110389778A (zh) * | 2019-07-19 | 2019-10-29 | 苏州浪潮智能科技有限公司 | 一种异构加速平台的mcu固件升级方法及相关装置 |
CN110531998A (zh) * | 2019-09-04 | 2019-12-03 | 青岛海信宽带多媒体技术有限公司 | 一种光模块及光模块的固件烧写方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110519666B (zh) | 一种光模块波长配置方法、装置及光模块 | |
JP4665031B2 (ja) | データ伝送モジュール | |
CN111309279B (zh) | 多屏互动显示方法及装置 | |
TWI502235B (zh) | 具有平面對準和固定之光學收發器介面 | |
CN114465662B (zh) | 光模块 | |
CN111555810B (zh) | 一种光模块以及数据传输方法 | |
CN105354488A (zh) | 一种应用安装方法、相关装置及应用安装系统 | |
CN113098613A (zh) | 光模块及基于双mcu光模块的波长自动对通方法 | |
US20190197005A1 (en) | Interface card module and adapter card thereof | |
CN116980041A (zh) | 光模块 | |
KR20080113693A (ko) | 데이터 통신 시스템 및 방법 | |
CN116055316A (zh) | 一种防止在线升级错误的方法和光模块 | |
CN116055317A (zh) | 一种防止在线升级错误的方法和光模块 | |
CN113364523B (zh) | 一种数据发送方法及光模块 | |
WO2023071384A1 (zh) | 光模块及其升级方法 | |
CN113098621B (zh) | 光模块及基于双mcu光模块的波长自动轮询方法 | |
US9779054B2 (en) | System, apparatus and method for centralized management of security inspection devices via field bus network | |
KR101849709B1 (ko) | 모듈형 bmc 시스템 | |
WO2014079062A1 (zh) | 光端口连接管理方法、法兰盘、跳纤和光网络设备 | |
CN113364524B (zh) | 一种数据接收方法及光模块 | |
WO2021088371A1 (zh) | 一种rfid电子标签绑定方法及装置 | |
CN106681952A (zh) | 一种背板及信号传输方法和系统 | |
CN114466260B (zh) | 一种光模块升级方法及光模块 | |
CN114070406A (zh) | 一种光模块和光模块运行寿命预警方法 | |
CN117369066A (zh) | 一种光模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |