WO2023071384A1 - 光模块及其升级方法 - Google Patents

光模块及其升级方法 Download PDF

Info

Publication number
WO2023071384A1
WO2023071384A1 PCT/CN2022/111406 CN2022111406W WO2023071384A1 WO 2023071384 A1 WO2023071384 A1 WO 2023071384A1 CN 2022111406 W CN2022111406 W CN 2022111406W WO 2023071384 A1 WO2023071384 A1 WO 2023071384A1
Authority
WO
WIPO (PCT)
Prior art keywords
firmware
upgrade
check code
optical module
data
Prior art date
Application number
PCT/CN2022/111406
Other languages
English (en)
French (fr)
Inventor
王麟
李刚
Original Assignee
青岛海信宽带多媒体技术有限公司
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
Priority claimed from CN202111260466.1A external-priority patent/CN116055317A/zh
Priority claimed from CN202111260337.2A external-priority patent/CN116055316A/zh
Application filed by 青岛海信宽带多媒体技术有限公司 filed Critical 青岛海信宽带多媒体技术有限公司
Publication of WO2023071384A1 publication Critical patent/WO2023071384A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality

Definitions

  • the present disclosure relates to the technical field of optical communication, and in particular to an optical module and an upgrading method thereof.
  • optical communication technology the optical module is a tool to realize the mutual conversion of photoelectric signals, and is one of the key components in optical communication equipment.
  • an optical module including: a lower housing, an upper housing, a circuit board, and a microprocessor MCU.
  • the upper case is covered on the lower case to form a cavity between the upper case and the lower case.
  • the circuit board is arranged in the cavity, and one end of the circuit board is provided with a golden finger for communicating with the upper computer.
  • the microprocessor MCU is arranged on the circuit board, connected with the gold finger, and configured to: acquire firmware data and firmware check code, write the firmware data, and calculate according to the written firmware data Module verification code, if the module verification code is consistent with the firmware verification code, it is determined that the upgrade is successful; if the module verification code is inconsistent with the firmware verification code, it is determined that the upgrade fails.
  • some embodiments of the present disclosure provide a method for upgrading an optical module, including: receiving a firmware upgrade instruction from a host computer, and entering a firmware upgrade mode. Get firmware data and firmware checksum. Write the firmware data. Calculate the module check code based on the written firmware data. If the module check code is consistent with the firmware check code, it is determined that the upgrade is successful; if the module check code is inconsistent with the firmware check code, it is determined that the upgrade fails.
  • some embodiments of the present disclosure provide a non-transitory computer-readable storage medium.
  • the non-transitory computer-readable storage medium stores computer program instructions, and when the computer program instructions run on a computer, the computer executes the optical module upgrade method as described in any one of the above embodiments.
  • FIG. 1 is a connection diagram of an optical communication system according to some embodiments of the present disclosure
  • FIG. 2 is a structural diagram of an optical network terminal according to some embodiments of the present disclosure.
  • FIG. 3 is a structural diagram of an optical module according to some embodiments of the present disclosure.
  • Fig. 4 is an exploded structure diagram of an optical module according to some embodiments of the present disclosure.
  • FIG. 5 is a structural diagram of a circuit board in an optical module according to some embodiments of the present disclosure.
  • FIG. 6 is a structural diagram of a firmware file according to some embodiments of the present disclosure.
  • FIG. 7 is a structural diagram of another firmware file according to some embodiments of the present disclosure.
  • FIG. 8 is a flowchart of an optical module upgrade according to some embodiments of the present disclosure.
  • FIG. 9 is a flowchart of another optical module upgrade according to some embodiments of the present disclosure.
  • Fig. 10 is a flowchart of another optical module upgrade according to some embodiments of the present disclosure.
  • first and second are used for descriptive purposes only, and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of indicated technical features. Thus, a feature defined as “first” and “second” may explicitly or implicitly include one or more of these features. In the description of the present disclosure, unless otherwise specified, "plurality" means two or more.
  • words such as “exemplarily” or “for example” are used as examples, illustrations or descriptions. Any embodiment or design described as “exemplary” or “for example” in the embodiments of the present disclosure shall not be construed as being more preferred or more advantageous than other embodiments or designs. Rather, the use of words such as “exemplarily” or “for example” is intended to present related concepts in a concrete manner.
  • optical communication technology light is used to carry information to be transmitted, and the optical signal carrying information is transmitted to information processing equipment such as computer through optical fiber or optical waveguide and other information transmission equipment to complete the information transmission.
  • information processing equipment such as computer through optical fiber or optical waveguide and other information transmission equipment to complete the information transmission.
  • optical signals have passive transmission characteristics when they are transmitted through optical fibers or optical waveguides, low-cost, low-loss information transmission can be achieved.
  • the signals transmitted by information transmission equipment such as optical fibers or optical waveguides are optical signals, while the signals that can be recognized and processed by information processing equipment such as computers are electrical signals. To establish an information connection between them, it is necessary to realize the mutual conversion of electrical signals and optical signals.
  • the optical module realizes the mutual conversion function of the above-mentioned optical signal and electrical signal in the technical field of optical fiber communication.
  • the optical module includes an optical port and an electrical port.
  • the optical module realizes optical communication with information transmission equipment such as optical fiber or optical waveguide through the optical port, and realizes the electrical connection with the optical network terminal (such as an optical modem) through the electrical port. It is mainly used to realize power supply, I2C signal transmission, data signal transmission and grounding, etc.; the optical network terminal transmits electrical signals to information processing equipment such as computers through network cables or wireless fidelity technology (Wi-Fi).
  • Wi-Fi wireless fidelity technology
  • Fig. 1 is a connection diagram of an optical communication system according to some embodiments of the present disclosure.
  • the optical communication system mainly includes a remote server 1000 , a local information processing device 2000 , an optical network terminal 100 , an optical module 200 , an optical fiber 101 and a network cable 103 .
  • optical fiber 101 One end of the optical fiber 101 is connected to the remote server 1000 , and the other end is connected to the optical network terminal 100 through the optical module 200 .
  • Optical fiber itself can support long-distance signal transmission, such as signal transmission of several kilometers (6 kilometers to 8 kilometers). On this basis, if repeaters are used, ultra-long-distance transmission can theoretically be achieved. Therefore, in a common optical communication system, the distance between the remote server 1000 and the optical network terminal 100 can usually reach thousands of kilometers, tens of kilometers or hundreds of kilometers.
  • the local information processing device 2000 may be any one or more of the following devices: routers, switches, computers, mobile phones, tablet computers, televisions, and so on.
  • the physical distance between the remote server 1000 and the optical network terminal 100 is greater than the physical distance between the local information processing device 2000 and the optical network terminal 100 .
  • the connection between the local information processing device 2000 and the remote server 1000 is completed by the optical fiber 101 and the network cable 103 ; and the connection between the optical fiber 101 and the network cable 103 is completed by the optical module 200 and the optical network terminal 100 .
  • the optical module 200 includes an optical port and an electrical port.
  • the optical port is configured to be connected to the optical fiber 101, so that the optical module 200 establishes a bidirectional optical signal connection with the optical fiber 101; electrical signal connection.
  • the optical module 200 implements mutual conversion between optical signals and electrical signals, so that a connection is established between the optical fiber 101 and the optical network terminal 100 .
  • the optical signal from the optical fiber 101 is converted into an electrical signal by the optical module 200 and then input to the optical network terminal 100
  • the electrical signal from the optical network terminal 100 is converted into an optical signal by the optical module 200 and input to the optical fiber 101 .
  • the optical network terminal 100 includes a substantially rectangular parallelepiped housing (housing), and an optical module interface 102 and a network cable interface 104 disposed on the housing.
  • the optical module interface 102 is configured to access the optical module 200, so that the optical network terminal 100 and the optical module 200 establish a bidirectional electrical signal connection;
  • the network cable interface 104 is configured to access the network cable 103, so that the optical network terminal 100 and the network cable 103 A two-way electrical signal connection is established.
  • a connection is established between the optical module 200 and the network cable 103 through the optical network terminal 100 .
  • the optical network terminal 100 transmits the electrical signal from the optical module 200 to the network cable 103, and transmits the signal from the network cable 103 to the optical module 200.
  • the optical network terminal 100 as the host computer of the optical module 200, can monitor the optical module 200 work.
  • the host computer of the optical module 200 may also include an optical line terminal (Optical Line Terminal, OLT) and the like.
  • OLT optical Line Terminal
  • the host computer can send instructions and data required for upgrading the optical module 200 to the optical module 200 .
  • the remote server 1000 establishes a two-way signal transmission channel with the local information processing device 2000 through the optical fiber 101 , the optical module 200 , the optical network terminal 100 and the network cable 103 .
  • FIG. 2 is a structural diagram of an optical network terminal according to some embodiments of the present disclosure.
  • FIG. 2 only shows the structure of the optical network terminal 100 related to the optical module 200 .
  • the optical network terminal 100 further includes a PCB circuit board 105 disposed in the casing, a cage 106 disposed on the surface of the PCB circuit board 105 , and an electrical connector disposed inside the cage 106 .
  • the electrical connector is configured to be connected to the electrical port of the optical module 200 ;
  • the heat sink 107 has raised parts such as fins that increase the heat dissipation area.
  • the optical module 200 is inserted into the cage 106 of the optical network terminal 100 , and the optical module 200 is fixed by the cage 106 .
  • the heat generated by the optical module 200 is conducted to the cage 106 and then diffused through the radiator 107 .
  • the electrical port of the optical module 200 is connected to the electrical connector inside the cage 106 , so that the optical module 200 establishes a bidirectional electrical signal connection with the optical network terminal 100 .
  • the optical port of the optical module 200 is connected to the optical fiber 101 , so that the optical module 200 and the optical fiber 101 establish a bidirectional electrical signal connection.
  • the optical module 200 In order to ensure that the function of the optical module 200 is more perfect, the optical module 200 needs to be upgraded through an online protocol, and most online upgrade protocols have their own verification mechanism.
  • the verification mechanism in the optical module upgrade process only verifies the transmission process, which can only ensure that there is no bit error in the data transmission process, but cannot guarantee that there is no error in the data writing process.
  • the power supply of the internal flash memory of the MCU 301 is unstable, or its own write operation is abnormal, so although the data transmitted to the optical module is correct, the data written to the flash memory is wrong. In this case, directly switching to the new firmware to run will cause the new firmware to run incorrectly, thus making the optical module 200 abnormal.
  • FIG. 3 is a structural diagram of an optical module according to some embodiments of the present disclosure.
  • FIG. 4 is a disassembled structure diagram of an optical module according to some embodiments of the present disclosure.
  • FIG. A structural diagram of a circuit board in an optical module according to some embodiments is disclosed.
  • the optical module 200 includes a casing, a circuit board 300 disposed in the casing, and an optical transceiver device.
  • the housing includes an upper housing 201 and a lower housing 202 , and the upper housing 201 covers the lower housing 202 to form a cavity 206 .
  • the circuit board 300 is disposed in the cavity 206 .
  • the casing includes two openings 204 and 205; the outer contour of the casing generally presents a square body.
  • the lower case 202 includes a bottom plate and two lower side plates positioned on both sides of the bottom plate and perpendicular to the bottom plate; An upper side plate is combined with two side walls to realize that the upper case 201 is covered on the lower case 202.
  • the direction of the line connecting the two openings 204 and 205 may be consistent with the length direction of the optical module 200 , or may not be consistent with the length direction of the optical module 200 .
  • the opening 204 is located at the end of the optical module 200 (the left end in FIG. 3 ), and the opening 205 is also located at the end of the optical module 200 (the right end in FIG. 3 ).
  • the opening 204 is located at the end of the optical module 200
  • the opening 205 is located at the side of the optical module 200 .
  • the opening 204 is an electric port, and the golden finger of the circuit board 300 is extended from the electric port 204, and is inserted into a host computer (such as the optical network terminal 100); the opening 205 is an optical port, configured to be connected to an external optical fiber 101, so that The optical fiber 101 is connected to the optical transceiver device inside the optical module 200 .
  • the combination of the upper case 201 and the lower case 202 is used to facilitate the installation of components such as the circuit board 300 and the optical transceiver device into the case, and the upper case 201 and the lower case 202 can form package protection for these devices.
  • the upper case 201 and the lower case 202 can form package protection for these devices.
  • the upper shell 201 and the lower shell 202 are generally made of metal materials, which is beneficial to realize electromagnetic shielding and heat dissipation.
  • the optical module 200 further includes an unlocking part 203 located on the outer wall of its housing, and the unlocking part 203 is configured to realize a fixed connection between the optical module 200 and the host computer, or release the connection between the optical module 200 and the host computer. fixed connection.
  • the unlocking component 203 is located on the outer walls of the two lower side panels 2022 of the lower housing 202 , and includes an engaging component matching a cage of the upper computer (eg, the cage 106 of the optical network terminal 100 ).
  • the optical module 200 is inserted into the cage of the host computer, the optical module 200 is fixed in the cage of the host computer by the engaging part of the unlocking part 203; when the unlocking part 203 is pulled, the engaging part of the unlocking part 203 moves accordingly, thereby changing
  • the connection relationship between the engaging part and the host computer is to release the engagement relationship between the optical module 200 and the host computer, so that the optical module 200 can be pulled out from the cage of the host computer.
  • the circuit board 300 includes circuit wiring, electronic components (such as capacitors, resistors, transistors, MOS tubes) and chips (such as MCU 301, laser driver chips, limiting amplifier chips, clock data recovery CDR, power management chips, data processing chips DSP )wait.
  • the MCU 301 communicates with the devices in the optical module 200 such as the silicon photonics chip 400, and then interacts with the MCU 301 through the host computer (client host) to realize the modification of the configuration data and firmware of the silicon photonics chip 400 in the optical module 200. upgrade.
  • the circuit board 300 connects the above-mentioned devices in the optical module 200 together according to the circuit design through circuit traces, so as to realize functions such as power supply, electrical signal transmission and grounding.
  • the circuit board 300 is generally a rigid circuit board. Due to its relatively hard material, the rigid circuit board can also realize the bearing function, such as the rigid circuit board can carry the chip stably; the rigid circuit board can also be inserted into the electrical connector in the cage of the upper computer , in some embodiments of the present disclosure, metal pins/golden fingers are formed on one end surface of the rigid circuit board for connecting with electrical connectors; these are not easy to implement with a flexible circuit board.
  • optical modules also use flexible circuit boards; flexible circuit boards are generally used in conjunction with rigid circuit boards.
  • flexible circuit boards can be used to connect rigid circuit boards and optical transceivers as a supplement to rigid circuit boards.
  • Optical transceiver devices include light emitting devices and light receiving devices.
  • the MCU 301 is arranged on the circuit board 300, connected to the golden finger, and configured to: obtain firmware data and firmware check code, write the firmware data, and calculate the module according to the written firmware data. Check code, if the module check code is consistent with the firmware check code, it is determined that the upgrade is successful; if the module check code is inconsistent with the firmware check code, it is determined that the upgrade has failed.
  • the acquisition of firmware data and firmware check code by MCU 301 includes the following two implementations.
  • the MCU 301 is configured to: receive a firmware file from a host computer, and the firmware file includes firmware data and a firmware check code.
  • the host computer After the optical module 200 enters the upgrade mode, the host computer reads the fixed-length firmware file, and uses the 0103h command or 0104h command or other commands to issue the firmware file including firmware data and firmware check code to the optical module 200 .
  • the firmware data includes a plurality of sub-upgrade data.
  • the upper computer sends data to the optical module 200 with a write command.
  • the whole sending process can be completed once or step by step.
  • the firmware check code can be composed of 1, 2, 3... or even multiple bytes. The more bytes there are, the more effective the protection will be.
  • the host computer does not know the internal structure of the firmware file, and just sends the firmware data and the final check code to the optical module 200 sequentially according to the process of reading and delivering the file.
  • FIG. 6 is a structure diagram of a firmware file according to some embodiments of the present disclosure.
  • the firmware file includes firmware data and firmware check code.
  • the firmware data includes the firmware code and the file header of the upgrade file.
  • the firmware code is used for firmware upgrade.
  • the file header of the upgrade file can determine the upgrade instruction after the analysis of the optical module 200, and the optical module 200 can be verified by using the analyzed file header. Confirm whether the optical module 200 matches the firmware file, that is, confirm whether the firmware file is suitable for the optical module 200 .
  • the optical module 200 determines the configuration data area to be acquired according to the firmware code in the firmware area through the parsed file header, enters the upgrade mode, and is ready to start the upgrade.
  • the firmware check code is the check code corresponding to the firmware code, which is used to judge whether the upgrade is successful.
  • MCU 301 includes: a first firmware area and a second firmware area.
  • the first firmware area is configured to store written firmware data.
  • the second firmware area is configured to store firmware data of the optical module 200 before upgrading.
  • the MCU 301 includes a first firmware area and a second firmware area, and the first firmware area and the second firmware area can be upgraded alternately during the firmware upgrade process.
  • firmware data is written into the first firmware area to overwrite the original data in the first firmware area, and the first firmware area stores the written firmware data.
  • the second firmware area is not written, and the second firmware area stores the firmware data of the optical module 200 before upgrading.
  • the firmware file is usually generated by the optical module manufacturer according to customer needs or other requirements, and the firmware file is transmitted to the customer.
  • the MCU 301 of 200 receives, obtains and analyzes the firmware data according to the firmware file, writes the firmware data into the first firmware area, and calculates the module check code according to the written firmware data.
  • the MCU 301 is further configured to switch to the first firmware area to run if the module check code is consistent with the firmware check code.
  • the module check code compare the module check code and the firmware check code to determine whether they are consistent. If the module check code is consistent with the firmware check code, it is determined that the firmware data written to the first firmware area is correct, and it is determined that the upgrade is successful. At the same time switch to the new firmware to run.
  • the MCU 301 is further configured to: if the module check code is inconsistent with the firmware check code, continue to run the second firmware area.
  • comparing the module check code and the firmware check code to determine whether they are consistent if the module check code is inconsistent with the firmware check code, it is determined that the firmware data written to the first firmware area is wrong, and it is determined that the upgrade fails,
  • the host computer sends an instruction to ensure that the optical module 200 does not switch, and continues to run the second firmware area to ensure the safety of the optical module 200 .
  • the MCU 301 also includes: a receive buffer and a read buffer.
  • the receiving buffer area is configured to receive and buffer firmware files from the host computer.
  • the read buffer area is configured to read and cache written firmware data, and calculate a module check code according to the written firmware data.
  • the receiving buffer area receives and saves the firmware file from the upper computer, and obtains the firmware data and the firmware verification code according to the firmware file.
  • the MCU 301 writes the firmware data into the first firmware area, overwrites the original data in the firmware, and saves the written firmware data.
  • the receiving buffer stores the firmware check code.
  • the module check code is calculated by reading the written firmware data in the first firmware area by reading the buffer area.
  • the MCU 301 is configured to: receive a firmware data packet from the host computer, parse the firmware data packet to obtain firmware data, and calculate a firmware check code according to the firmware data.
  • FIG. 7 is a structure diagram of another firmware file according to some embodiments of the present disclosure.
  • the firmware file includes n firmware data packets, and the firmware file can be divided into several firmware data packets by the host computer.
  • the MCU 301 is further configured to: if the module check code is consistent with the firmware check code, receive the next firmware data packet from the host computer.
  • the MCU 301 receives the first firmware data packet issued by the host computer, parses the first firmware data packet to obtain the first firmware data, and calculates the first firmware check code according to the first firmware data.
  • the MCU 301 writes the first firmware data into the first firmware area, and the first firmware area generates the first written firmware data.
  • the read buffer area reads the first written firmware data, and calculates the first module check code according to the first written firmware data.
  • the MCU 301 compares the first firmware check code with the first module check code, and if the first firmware check code is consistent with the first module check code, it is determined that the first upgrade is successful. After receiving the first upgrade success message, the upper computer issues the second firmware data package.
  • the MCU 301 After receiving the second firmware data packet sent by the host computer, the MCU 301 parses the second firmware data packet to obtain the second firmware data, and calculates the second firmware check code according to the second firmware data.
  • the second firmware data is written into the first firmware area, and the first firmware area generates second written firmware data.
  • the read buffer area reads the second written firmware data, and calculates the second module check code according to the second written firmware data.
  • the host computer Read the buffer area and compare the second firmware verification code with the second module verification code. If the second firmware verification code is consistent with the second module verification code, it is determined that the second upgrade is successful, and the host computer receives the second After the upgrade success message, send the third firmware data package. Since the firmware file is divided into several firmware data packets, the host computer sends the firmware data packets sequentially according to the above process until the host computer completes sending all the firmware data packets.
  • the meanings of the upgrade success are different.
  • the upgrade of the optical module 200 is divided into multiple stages.
  • the firmware check code corresponding to a firmware data packet is consistent with the module check code, it is determined that the upgrade is successful, and the upgrade success only represents that the current MCU 301
  • the content of the received firmware data packet is successfully written into the firmware, that is, the upgrade is successful at this stage, which does not mean that the optical module 200 has successfully completed the upgrade.
  • the optical module 200 successfully completes the upgrade.
  • the MCU 301 is further configured to: when the optical module 200 receives all firmware data packets, and the module check code corresponding to each firmware data packet is consistent with the firmware check code, switch to the first firmware area to run .
  • the firmware file divided into 5 firmware data packets it is equivalent to dividing the upgrade of the optical module 200 into 5 stages.
  • the optical module 200 receives the first firmware data package 1, and the module check code corresponding to the firmware data package 1 is consistent with the firmware check code, it is determined that the content of the firmware data package 1 is successfully written into the firmware. Then the next firmware data packet 2 can be received, and so on, until the module verification code corresponding to each firmware data packet in the 5 firmware data packets is consistent with the firmware verification code, the 5 upgrade stages of the optical module 200 are all successful Complete, the firmware data of the 5 firmware data packets included in the firmware file are all successfully written into the firmware, the optical module 200 is upgraded successfully, and switches to the first firmware area to run.
  • the MCU 301 is further configured to: if the module check code is inconsistent with the firmware check code, continue to run the second firmware area.
  • the host computer stops sending the next firmware data packet, and sends an instruction to ensure that the optical module 200 does not switch, so as to ensure that the optical module 200 for security.
  • the receiving buffer area is further configured to receive and buffer the firmware data packets from the host computer.
  • the read buffer area is also configured to read and cache the written firmware data, and calculate the module check code according to the written firmware data.
  • the receiving buffer area receives and saves the firmware data package from the host computer, and obtains the firmware data and the firmware check code according to the firmware data package.
  • the MCU 301 writes the firmware data into the first firmware area, overwrites the original data in the firmware, and saves the written firmware data.
  • the receiving buffer stores the firmware check code.
  • the module check code is calculated by reading the written firmware data in the first firmware area by reading the buffer area.
  • in order to trigger the comparison process before parsing the firmware data, it further includes: receiving a data sending completion instruction sent by the host computer. After the host computer finishes sending the firmware file, it sends a data sending completion instruction to the optical module 200 . After receiving the data transmission completion instruction, the optical module 200 writes the firmware data into the first firmware area, and calculates the module check code according to the written firmware data.
  • the optical module 200 After the optical module 200 receives the firmware file, it modifies the flag of the data receiving completion flag, and the host computer judges whether the host computer has finished sending the firmware file according to the data reception completion flag. After receiving the data receiving completion signal, the host computer sends a data sending completion instruction (for example, 0107h instruction) to the optical module 200 . The optical module 200 receives the data transmission completion instruction and triggers the comparison process. The optical module 200 reads out all the written firmware data, calculates the module check code according to the written firmware data, and compares it with the last firmware check code sent by the host computer.
  • a data sending completion instruction for example, 0107h instruction
  • the microprocessor MCU 301 also includes a label area and a calculation area.
  • the calculation area is configured to: read the firmware check code and the module check code, compare the firmware check code and the module check code, and if the firmware check code is consistent with the module check code, then modify the upgrade of the marking area Flag bit, modify the upgrade flag bit to indicate that the upgrade is successful, and switch to the first firmware area to run. If the firmware data check code is inconsistent with the module firmware check code, modify the upgrade flag bit to the upgrade failure flag, keep the second firmware area running, and send the upgrade flag bit information to the host computer at the same time. The customer can know whether there is an error in the upgrade of the optical module 200 by reading the upgrade flag information of the optical module 200 through the host computer. In order to ensure that the optical module 200 is upgraded correctly, if the firmware check code is inconsistent with the module check code, the host computer sends an exit upgrade command to the optical module 200 according to the received upgrade failure flag, and the optical module 200 retains the firmware data before the upgrade.
  • the optical module 200 provided by some embodiments of the present disclosure ensures that the written firmware is The data is consistent with the firmware file. If the written firmware data is inconsistent with the firmware file, modify the upgrade flag to the upgrade failure flag. The host computer will judge the upgrade failure through the upgrade failure flag, and the host computer will ensure that the optical module 200 runs normally after the upgrade fails. , without switching to the new firmware, continue to run the second firmware area. You can also rewrite the firmware file for firmware upgrade.
  • the optical module 200 provided by some embodiments of the present disclosure can directly upgrade the firmware and modify the configuration data of the optical module 200 through the host computer.
  • Customers can directly upgrade the firmware or directly modify the configuration data of the optical module 200, which is convenient for customers to directly operate. , which improves the efficiency of optimizing parameters.
  • Some embodiments of the present disclosure provide a method for upgrading an optical module, as shown in FIG. 8 , including: step 801-step 806.
  • Step 801 receiving a firmware upgrade command from a host computer, and entering a firmware upgrade mode.
  • an upgrade file from a host computer is received, a file header of the upgrade file is parsed to obtain an instruction field, and an upgrade instruction is determined according to the instruction field.
  • the file header includes the instruction field; the upgrade instruction includes a firmware upgrade instruction.
  • the host computer sends the 0041h command (Firmware Update Features, firmware update command).
  • the 0041h command can obtain the support of the optical module 200 for firmware upgrade.
  • the optical module 200 can obtain information such as the length of data carried by the 0101h command, the length of each data packet sent by the 0103h command or the 0104h command, and the like.
  • the host computer reads data of a specified length from the upgrade file, and then uses the 0101h command to send the data to the optical module 200 to inform the optical module 200 to upgrade.
  • the host computer reads data of a specified length from the upgrade file, and then sends the data to the optical module 200 with a 0103h command or a 0104h command.
  • the optical module 200 receives a firmware upgrade command (for example: 0101h command) sent by the host computer to enter the firmware upgrade mode.
  • the optical module 200 obtains the firmware upgrade instruction by parsing the file header of the upgrade file.
  • the file header of the upgrade file usually has a certain length, which is used to verify the validity of the upgrade file, so as to prevent the upgrade of the optical module 200 from causing the optical module 200 to be "bricked", and ensure the security of the upgrade of the optical module 200.
  • some bytes can be used to verify the validity of the upgrade file, and some bytes are used for custom use.
  • a part of bytes is used to identify whether the firmware needs to be upgraded, whether configuration data needs to be modified, and which data needs to be modified.
  • the optical module 200 parses the file header of the upgrade file, and determines the upgrade instruction according to the file header of the upgrade file, where the upgrade instruction includes a firmware upgrade instruction and a configuration data upgrade instruction.
  • the firmware upgrade command is used to upgrade the firmware in the optical module 200
  • the configuration data upgrade command is used to Modification of configuration data in the optical module 200 .
  • the optical module 200 determines the upgrade instruction according to the file header. If the upgrade instruction includes a firmware upgrade instruction, then upgrade the firmware in the optical module 200 according to the received firmware code; if the upgrade instruction includes a configuration data upgrade instruction, then modify it according to the received configuration data. Data is configured in the optical module 200 .
  • the upgrade file may only include firmware upgrade instructions or configuration data upgrade instructions, that is, the upgrade file issued by the host computer is only used to perform firmware upgrades or modify configuration data in the optical module. It can also include firmware upgrade instructions and configuration data upgrade instructions at the same time, that is, the upgrade file issued by the host computer is used to perform firmware upgrade and modify configuration data in the optical module at the same time.
  • the file header of the upgrade file includes an instruction field, and the instruction field is used to identify the upgrade instruction.
  • the optical module 200 obtains the file header of the upgrade file, parses the file header of the upgrade file to obtain an instruction field, and determines the upgrade instruction according to the instruction field.
  • the instruction field refers to certain bytes used to identify upgrade instructions in the file header. For example, several bytes may be selected to identify firmware upgrade instructions, and other bytes may be selected to identify configuration data upgrade instructions.
  • the optical module 200 parses the file header of the upgrade file and obtains several bytes identifying firmware upgrade instructions, it can be determined that the upgrade instruction includes a firmware upgrade instruction; when the optical module parses the file header of the upgrade file, it obtains several identification configuration data upgrade instructions bytes, it can be determined that the upgrade instruction includes a configuration data upgrade instruction.
  • the upgrade file usually divides the data area according to the data function of the configuration data, for example The data area is divided into data area 1, data area 2..., where data area 1 is used to store verification data, data area 2 is used to store lookup table data, etc., the number of data areas can be determined according to the data function type of configuration data choose.
  • the configuration data is divided into data areas according to functions to facilitate the management of configuration data of each function.
  • the optical module 200 determines the firmware upgrade instruction, it enters the firmware upgrade mode.
  • Step 802 acquiring firmware data and firmware verification code.
  • Step 803 write firmware data.
  • the receiving buffer area writes the firmware data into the first firmware area, and the first firmware area stores the written firmware data.
  • Step 804 calculate the module verification code according to the written firmware data.
  • the read buffer area reads the written firmware data, and calculates the module check code according to the written firmware data.
  • Step 805 if the module verification code is consistent with the firmware verification code, it is determined that the upgrade is successful.
  • Step 806 if the module verification code is inconsistent with the firmware verification code, it is determined that the upgrade fails.
  • step 802: obtaining firmware data and firmware verification code has two implementation manners.
  • the first implementation manner is to obtain firmware data and firmware verification code according to a firmware file.
  • the second implementation manner obtains the firmware data and the firmware check code according to the firmware data packet.
  • some embodiments of the present disclosure provide another method for upgrading an optical module, as shown in FIG. 9 , including: step 801-step 810.
  • Step 801 receiving a firmware upgrade command from a host computer, and entering a firmware upgrade mode.
  • Step 802 receiving the firmware file from the host computer, the firmware file includes firmware data and firmware check code.
  • Step 803 write firmware data.
  • Step 804 calculate the module verification code according to the written firmware data.
  • Step 805 if the module verification code is consistent with the firmware verification code, it is determined that the upgrade is successful.
  • another optical module upgrade method shown in FIG. 9 further includes step 807 - step 808 after step 805 .
  • the host computer can judge whether the upgrade of the optical module 200 is successful or not according to the upgrade flag.
  • Step 807 modify the upgrade flag bit to an upgrade success flag.
  • Step 808 switch to the first firmware area to run, and the first firmware area is configured to save the written firmware data.
  • Step 806 if the module verification code is inconsistent with the firmware verification code, it is determined that the upgrade fails.
  • Another optical module upgrade method shown in FIG. 9 further includes step 809 and step 810 after step 806 .
  • Step 809 modify the upgrade flag bit to an upgrade failure flag.
  • Step 810 continue to run the second firmware area, and the second firmware area is configured to save the firmware data before the optical module is upgraded.
  • some embodiments of the present disclosure provide another method for upgrading an optical module, as shown in FIG. 10 , including: Step 801-Step 807, and Step 809-Step 812. Wherein step 802 includes step 8021-step 8022.
  • Step 801 receiving a firmware upgrade command from a host computer, and entering a firmware upgrade mode.
  • Step 8021 Receive the firmware data packet from the host computer, and parse the firmware data packet to obtain firmware data.
  • Step 8022 calculate the firmware verification code according to the firmware data.
  • Step 803 write firmware data.
  • Step 804 calculate the module verification code according to the written firmware data.
  • Step 805 if the module verification code is consistent with the firmware verification code, it is determined that the upgrade is successful.
  • another optical module upgrade method shown in FIG. 10 further includes step 807 , step 811 and step 812 after step 805 .
  • Step 807 modify the upgrade flag bit to an upgrade success flag.
  • Step 811 receiving the next firmware data packet from the host computer.
  • Step 812 when the optical module receives all the firmware data packets, and the module check code corresponding to each firmware data packet is consistent with the firmware check code, switch to the first firmware area to run.
  • Step 806 if the module verification code is inconsistent with the firmware verification code, it is determined that the upgrade fails.
  • Another optical module upgrade method shown in FIG. 10 further includes step 809 to step 810 after step 806 .
  • Step 809 modify the upgrade flag bit to an upgrade failure flag.
  • Step 810 continue to run the second firmware area, and the second firmware area is configured to save the firmware data of the optical module 200 before upgrading.
  • the optical module 200 upgrade method by adding a verification mechanism for the entire firmware file, or dividing the firmware file into several data packets, by adding a verification mechanism for a single firmware data packet, it is ensured that the write The updated firmware data is consistent with the firmware file. If the written firmware data is inconsistent with the firmware file, modify the upgrade flag to the upgrade failure flag. The host computer will judge the upgrade failure through the upgrade failure flag, and the host computer will ensure that the upgrade of the optical module 200 fails. Afterwards, do not switch to the new firmware, and continue to run the second firmware area to ensure the normal operation of the optical module 200. You can also rewrite the firmware file for firmware upgrade. This method only involves the design of software, does not bring about the increase of hardware components, and is convenient for modification and maintenance.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • a software program When implemented using a software program, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer-executable instructions.
  • computer-executed instructions When computer-executed instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present disclosure are generated in whole or in part.
  • a computer can be a general purpose computer, special purpose computer, computer network, or other programmable device.
  • Computer-executable instructions may be stored in or transmitted from one non-transitory computer-readable storage medium to another non-transitory computer-readable storage medium, for example, computer-executable instructions may be downloaded from a website , computer, server or data center to another website site, computer, server or Data center for transmission.
  • a non-transitory computer-readable storage medium may be any available medium that can be accessed by a computer, or may contain one or more data storage devices such as servers, data centers, etc. that can be integrated with the medium.
  • the usable medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (Solid State Disk, SSD)), etc.
  • a magnetic medium such as a floppy disk, a hard disk, or a magnetic tape
  • an optical medium such as a DVD
  • a semiconductor medium such as a solid state disk (Solid State Disk, SSD)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本公开一些实施例提供一种光模块及其升级方法,光模块包括:下壳体、上壳体、电路板和微处理器MCU。上壳体,盖合在下壳体上以在上壳体和下壳体之间形成腔体。电路板,设置于腔体内,电路板的一端设有用于与上位机通信的金手指。微处理器MCU,设置于电路板上,与金手指连接,且被配置为:获取固件数据和固件校验码,并写入固件数据,根据写入后的固件数据计算模块校验码,若模块校验码和固件校验码一致,确定升级成功;若模块校验码和固件校验码不一致,确定升级失败。

Description

光模块及其升级方法
本申请要求于2021年10月28日提交的、申请号为202111260337.2的中国专利申请,以及于2021年10月28日提交的、申请号为202111260466.1的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及光通信技术领域,尤其涉及一种光模块及其升级方法。
背景技术
随着云计算、移动互联网、视频等新型业务和应用模式发展,光通信技术的发展进步变的愈加重要。而在光通信技术中,光模块是实现光电信号相互转换的工具,是光通信设备中的关键器件之一。在光模块实际使用中,为保证光模块更加完善功能需要升级光模块,其中升级光模块主要通过在线协议进行升级。
发明内容
一方面,本公开一些实施例提供一种光模块,包括:下壳体、上壳体、电路板和微处理器MCU。上壳体,盖合在所述下壳体上以在所述上壳体和所述下壳体之间形成腔体。电路板,设置于所述腔体内,所述电路板的一端设有用于与上位机通信的金手指。微处理器MCU,设置于所述电路板上,与所述金手指连接,且被配置为:获取固件数据和固件校验码,并写入所述固件数据,根据写入后的固件数据计算模块校验码,若所述模块校验码和所述固件校验码一致,确定升级成功;若所述模块校验码和所述固件校验码不一致,确定升级失败。
再一方面,本公开一些实施例提供一种光模块升级方法,包括:接收来自上位机的固件升级指令,进入固件升级模式。获取固件数据和固件校验码。写入所述固件数据。根据写入后的固件数据计算模块校验码。若所述模块校验码和所述固件校验码一致,确定升级成功;若所述模块校验码和所述固件校验码不一致,确定升级失败。
又一方面,本公开一些实施例提供一种非暂态计算机可读存储介质。所述非暂态计算机可读存储介质存储有计算机程序指令,所述计算机程序指令在计算机上运行时,使得所述计算机执行如上述任一实施例所述的光模块升级方法。
附图说明
为了更清楚地说明本公开中的技术方案,下面将对本公开一些实施例中所需要使用的附图作简单地介绍,然而,下面描述中的附图仅仅是本公开的一些实施例的附图,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。此外,以下描述中的附图可以视作示意图,并非对本公开实施例所涉及的产品的实际尺寸、方法的 实际流程、信号的实际时序等的限制。
图1为根据本公开一些实施例的光通信系统连接关系图;
图2为根据本公开一些实施例的光网络终端结构图;
图3为根据本公开一些实施例的光模块结构图;
图4为根据本公开一些实施例的光模块分解结构图;
图5为根据本公开一些实施例的一种光模块中电路板的结构图;
图6为根据本公开一些实施例的一种固件文件的结构图;
图7为根据本公开一些实施例的另一种固件文件的结构图;
图8为根据本公开一些实施例的一种光模块升级的流程图;
图9为根据本公开一些实施例的另一种光模块升级的流程图;
图10为根据本公开一些实施例的另一种光模块升级的流程图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本公开的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本公开中的具体含义。另外,在对管线进行描述时,本公开中所用“相连”、“连接”则具有进行导通的意义。具体意义需结合上下文进行理解。
在本公开实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本公开实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
光通信技术中使用光携带待传输的信息,并使携带有信息的光信号通过光纤或光 波导等信息传输设备传输至计算机等信息处理设备,以完成信息的传输。由于光信号通过光纤或光波导中传输时具有无源传输特性,因此可以实现低成本、低损耗的信息传输。此外,光纤或光波导等信息传输设备传输的信号是光信号,而计算机等信息处理设备能够识别和处理的信号是电信号,因此为了在光纤或光波导等信息传输设备与计算机等信息处理设备之间建立信息连接,需要实现电信号与光信号的相互转换。
光模块在光纤通信技术领域中实现上述光信号与电信号的相互转换功能。光模块包括光口和电口,光模块通过光口实现与光纤或光波导等信息传输设备的光通信,通过电口实现与光网络终端(例如,光猫)之间的电连接,电连接主要用于实现供电、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之外还可以包括光线路终端(Optical Line Terminal,OLT)等。上位机可以向光模块200发送指令和光模块200升级所需要的数据。远端服务器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建立双向的电信号连接。
通常,在光模块200实际使用中,为了保证光模块200的功能更加完善,需要通过在线协议对光模块200进行升级,大多数在线升级协议自身都带有校验机制。
但是,光模块升级过程中的校验机制都只对传输过程进行校验,只能保证数据传输过程中没有误码,而不能保证数据写入的过程中不出错。比如MCU 301内部闪存flash的供电不稳,或者本身的写操作异常,那么尽管传到光模块的数据是正确的,但写入到闪存flash的数据是错误的。这种情况下直接切换到新固件运行会使得新固件运行错误,从而使得光模块200出现异常。
为此,本公开一些实施例提供一种光模块,图3为根据本公开一些实施例的光模块结构图,图4为根据本公开一些实施例的光模块分解结构图,图5为根据本公开一些实施例的一种光模块中电路板的结构图。如图3至图5所示,光模块200包括壳体、设置于壳体中的电路板300及光收发器件。
壳体包括上壳体201和下壳体202,上壳体201盖合在下壳体202上,以形成腔体206。电路板300设置于腔体206内。壳体包括两个开口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 301、激光驱动芯片、限幅放大芯片、时钟数据恢复CDR、电源管理芯片、数据处理芯片DSP)等。如图5所示,MCU 301通信连接硅光芯片400等光模块200中的器件,进而通过上位机(客户主机)与MCU 301交互实现光模块200中硅光芯片400等的配置数据修改、固件升级。
电路板300通过电路走线将光模块200中的上述器件按照电路设计连接在一起,以实现供电、电信号传输及接地等功能。
电路板300一般为硬性电路板,硬性电路板由于其相对坚硬的材质,还可以实现 承载作用,如硬性电路板可以平稳的承载芯片;硬性电路板还可以插入上位机笼子中的电连接器中,在本公开的一些实施例中,在硬性电路板的一侧末端表面形成金属引脚/金手指,用于与电连接器连接;这些都是柔性电路板不便于实现的。
部分光模块中也会使用柔性电路板;柔性电路板一般与硬性电路板配合使用,如硬性电路板与光收发器件之间可以采用柔性电路板连接,作为硬性电路板的补充。光收发器件包括光发射器件及光接收器件。
在一些实施例中,MCU 301,设置于电路板300上,与金手指连接,且被配置为:获取固件数据和固件校验码,并写入固件数据,根据写入后的固件数据计算模块校验码,若模块校验码和固件校验码一致,确定升级成功;若模块校验码和固件校验码不一致,确定升级失败。
示例性地,MCU 301获取固件数据和固件校验码包括以下两种实现方式。
第一种实现方式,MCU 301被配置为:接收来自上位机的固件文件,该固件文件包括固件数据和固件校验码。
光模块200进入升级模式后,上位机读取固定长度的固件文件,用0103h指令或0104h指令或其他指令向光模块200下发包括固件数据和固件校验码的固件文件。固件数据包括多个子升级数据,升级过程中,上位机用写指令向光模块200发送数据,整个发送过程可以一次完成,也可以分步完成。固件校验码,可以是1,2,3……甚至多个字节组成,字节个数越多保护的有效性越高。而上位机并不清楚固件文件的内部结构,只是按照读取并下发文件的流程依次向光模块200发送固件数据和最后的校验码。
示例性地,图6为根据本公开一些实施例的一种固件文件的结构图。如图6所示,固件文件包括固件数据和固件校验码。固件数据包括固件代码和升级文件的文件头,固件代码用于固件升级,升级文件的文件头经过光模块200的解析可以确定升级指令,利用解析后的文件头对光模块200进行校验,能够确认光模块200是否与固件文件匹配,即确认固件文件是否适用于光模块200。光模块200通过解析后的文件头根据固件区的固件代码确定需要获取的配置数据区并进入升级模式,准备开始升级。固件校验码为固件代码对应的校验码,用于判断升级是否成功。
在一些实施例中,MCU 301包括:第一固件区和第二固件区。第一固件区被配置为保存写入后的固件数据。第二固件区被配置为保存光模块200升级前的固件数据。
示例性地,MCU 301包括第一固件区和第二固件区,固件升级过程中可以交替对第一固件区和第二固件区进行升级。例如,升级时将固件数据写入第一固件区,覆盖第一固件区的原始数据,第一固件区保存写入后的固件数据。第二固件区不做写入,第二固件区保存光模块200升级前的固件数据。
示例性地,固件文件通常由光模块生产商根据客户需求或其他需求制作生成,向客户传输固件文件,客户通过客户主机等上位机向光模块200下发固件文件,该固件文件通常由光模块200的MCU 301接收,根据固件文件获取固件数据并解析,将固件数据写入至第一固件区,并根据写入后的固件数据计算模块校验码。
在一些实施例中,MCU 301还被配置为:若模块校验码和固件校验码一致,切换至第一固件区运行。
示例性地,比对模块校验码和固件校验码判断是否一致,若模块校验码和固件校验码一致,确定写入到第一固件区的固件数据是正确的,确定升级成功,同时切换到新固件运行。
在一些实施例中,MCU 301还被配置为:若模块校验码和固件校验码不一致,继续运行第二固件区。
示例性地,比对模块校验码和固件校验码判断是否一致,若模块校验码和固件校验码不一致,确定写入到第一固件区的固件数据是错误的,确定升级失败,上位机发送指令保证光模块200不做切换,继续运行第二固件区以确保光模块200的安全。
在一些实施例中,MCU 301还包括:接收缓存区和读取缓存区。接收缓存区被配置为接收并缓存来自上位机的固件文件。读取缓存区被配置为读取并缓存写入后的固件数据,并根据写入后的固件数据计算模块校验码。
示例性地,接收缓存区接收并保存来自上位机的固件文件,根据固件文件获取固件数据和固件校验码。MCU 301将固件数据写入第一固件区,覆盖固件中的原始数据,保存写入后的固件数据。接收缓存区保存固件校验码。通过读取缓存区读取第一固件区中写入后的固件数据计算模块校验码。
第二种实现方式,MCU 301被配置为:接收来自上位机的固件数据包,解析该固件数据包得到固件数据,并根据固件数据计算固件校验码。
示例性地,图7为根据本公开一些实施例的另一种固件文件的结构图。如图7所示固件文件包括n个固件数据包,固件文件可以被上位机分为若干固件数据包。
在一些实施例中,MCU 301还被配置为:若模块校验码和固件校验码一致,接收来自上位机的下一个固件数据包。
示例性地,MCU 301接收上位机下发的第一固件数据包,解析第一固件数据包得到第一固件数据,根据第一固件数据计算第一固件校验码。
MCU 301将第一固件数据写入至第一固件区,第一固件区生成第一写入后的固件数据。读取缓存区读取第一写入后的固件数据,并根据第一写入后的固件数据计算第一模块校验码。
MCU 301将第一固件校验码与第一模块校验码进行比对,若第一固件校验码与第 一模块校验码一致,确定第一升级成功。上位机接收到第一升级成功信息后,下发第二固件数据包。
MCU 301接收上位机下发的第二固件数据包后,解析第二固件数据包得到第二固件数据,根据第二固件数据计算第二固件校验码。
将第二固件数据写入至第一固件区,第一固件区生成第二写入后的固件数据。读取缓存区读取第二写入后的固件数据,并根据第二写入后的固件数据计算第二模块校验码。
读取缓存区将第二固件校验码与第二模块校验码进行比对,若第二固件校验码与第二模块校验码一致,确定第二升级成功,上位机接收到第二升级成功信息后,下发第三固件数据包。由于固件文件被分为若干个固件数据包,上位机依据上述流程依次下发固件数据包,直至上位机完成所有固件数据包的下发。
在一些实施例中,MCU 301获取固件数据和固件校验码的方式不同时,升级成功所代表的含义不同。在第一种实现方式中,当模块校验码和固件校验码一致时,确定升级成功,该升级成功表示光模块200成功完成升级。在第二种实现方式中,光模块200的升级分为多个阶段,当一个固件数据包对应的固件校验码与模块校验码一致时,确定升级成功,该升级成功仅代表当前MCU 301所接收的固件数据包的内容成功写入固件,即本阶段升级成功,不能代表光模块200成功完成升级。在第二种实现方式中,只有当所有固件数据包的内容均成功写入固件时,光模块200成功完成升级。
在一些实施例中,MCU 301还被配置为:当光模块200接收所有固件数据包,且每个固件数据包对应的模块校验码和固件校验码一致时,切换至第一固件区运行。
示例性地,以固件文件分为5个固件数据包为例,相当于光模块200的升级分为5个阶段。当光模块200接收第1个固件数据包1,且该固件数据包1对应的模块校验码和固件校验码一致时,确定固件数据包1的内容成功写入固件。接着可以接收下一个固件数据包2,以此类推,直至5个固件数据包中每个固件数据包对应的模块校验码和固件校验码一致时,光模块200的5个升级阶段均成功完成,固件文件所包括的5个固件数据包的固件数据均成功写入固件,光模块200升级成功,切换至第一固件区运行。
在一些实施例中,MCU 301还被配置为:若模块校验码和固件校验码不一致,继续运行第二固件区。
示例性地,若第一模块校验码和第一固件校验码不一致,确定升级失败,上位机停止下发下一个固件数据包,并发送指令保证光模块200不做切换,以确保光模块200的安全。
在一些实施例中,接收缓存区,还被配置为接收并缓存来自上位机的固件数据包。 读取缓存区,还被配置为读取并缓存写入后的固件数据,并根据写入后的固件数据计算模块校验码。
示例性地,接收缓存区接收并保存来自上位机的固件数据包,根据固件数据包获取固件数据和固件校验码。MCU 301将固件数据写入第一固件区,覆盖固件中的原始数据,保存写入后的固件数据。接收缓存区保存固件校验码。通过读取缓存区读取第一固件区中的写入后的固件数据计算模块校验码。
在本公开一些实施例中,为了触发比对过程,在解析固件数据之前还包括:接收上位机发送的数据发送完成指令。上位机完成固件文件的发送后,向光模块200发送数据发送完成指令。光模块200接收到数据发送完成指令后,将固件数据写入第一固件区,并根据写入后的固件数据计算模块校验码。
光模块200接收固件文件后,修改数据接收完成标志位的标识,上位机根据数据接收完成标志位判断上位机是否完成固件文件的发送。上位机接收到数据接收完成信号后,向光模块200发送数据发送完成指令(例如0107h指令)。光模块200接收该数据发送完成指令触发比对过程。光模块200将全部写入后的固件数据读出,并根据写入后的固件数据计算模块校验码,与上位机最后发来的固件校验码进行比对。
在一些实施例中,微处理器MCU 301还包括标记区和计算区。计算区被配置为:读取固件校验码和模块校验码,将固件校验码和模块校验码进行比对,若固件校验码与模块校验码一致,则修改标记区的升级标记位,将升级标志位修改为升级成功标识,并切换至第一固件区运行。若固件数据校验码与模块固件校验码不一致,将升级标志位修改为升级失败标识,并保持第二固件区运行,同时向上位机发送升级标志位的信息。客户通过上位机读取光模块200的升级标志位的信息,即可知道光模块200升级是否出现错误。为确保光模块200升级正确,如果固件校验码与模块校验码不一致,上位机根据接收到的升级失败标识,向光模块200发送退出升级指令,光模块200保留升级前的固件数据。
本公开一些实施例提供的光模块200,通过加入整个固件文件的校验机制,或将固件文件分为若干个数据包,通过加入对单个固件数据包的校验机制,确保写入后的固件数据与固件文件一致,如果写入后的固件数据与固件文件不一致,通过将升级标志位修改为升级失败标识,上位机通过升级失败标识判断升级失败,上位机确保光模块200升级失败后正常运行,不切换到新固件,继续运行第二固件区。也可以重新写入固件文件进行固件升级。
本公开一些实施例提供的光模块200,通过上位机直接进行固件升级以及光模块200的配置数据的修改,客户可以直接升级固件,也可以直接进行光模块200配置数据的修改,方便客户直接操作,提高了优化参数的效率。
本公开一些实施例提供一种光模块升级方法,如图8所示,包括:步骤801-步骤806。
步骤801、接收来自上位机的固件升级指令,进入固件升级模式。
示例性地,接收来自上位机的升级文件,解析升级文件的文件头获取指令字段,根据指令字段确定升级指令。文件头包括所述指令字段;升级指令包括固件升级指令。
首先上位机(例如:客户主机)发送0041h指令(Firmware Update Features,固件更新指令)。0041h指令能获取到光模块200对于固件升级的支持。例如,光模块200可以获取:0101h指令自带的数据长度,0103h指令或0104h指令发送的每个数据包长度等信息。
上位机从升级文件中读取指定长度的数据,然后用0101h指令向光模块200发送该数据,告知光模块200进行升级。上位机从升级文件中读取指定长度的数据,然后用0103h指令或0104h指令向光模块200发送该数据。光模块200接收上位机发送的固件升级指令(例如:0101h指令)进入固件升级模式。为确认固件文件是否适用于本光模块200,光模块200通过解析升级文件的文件头获取固件升级指令。升级文件的文件头通常具有一定长度,用于验证升级文件的有效性,避免光模块200升级作物导致光模块200“变砖”,保证光模块200升级的安全性。通常可使用一些字节用于验证升级文件的有效性,另外一些字节用于自定义使用。在本公开一些实施例中,一部分字节用于标识固件是否需要升级、配置数据是否需要修改以及哪些数据需要修改等。
光模块200解析升级文件的文件头,根据升级文件的文件头确定升级指令,其中升级指令包括固件升级指令和配置数据升级指令。在本公开一些实施例中,为便于精准实现客户对光模块200的固件的升级,以及光模块200中配置数据的修改,固件升级指令用于光模块200中固件升级,配置数据升级指令用于光模块200中配置数据的修改。
光模块200根据文件头确定升级指令,若升级指令包括固件升级指令,则根据接收到的固件代码升级光模块200中的固件;若升级指令包括配置数据升级指令,则根据接收到的配置数据修改光模块200中配置数据。在本公开一些实施例中,升级文件中可仅包括固件升级指令或配置数据升级指令,即上位机下发的升级文件仅用于执行固件升级或修改光模块中的配置数据。还可以同时包括固件升级指令和配置数据升级指令,即上位机下发的升级文件同时用于执行固件升级和修改光模块中的配置数据。
为便于光模块200识别并确定升级指令,升级文件的文件头中包括指令字段,指令字段用于标识升级指令。光模块200获取升级文件的文件头,解析升级文件的文件头获取指令字段,根据指令字段确定升级指令。指令字段指在文件头中用于标识升级指令的某些字节,例如,可以选择若干字节标识固件升级指令,选择另外若干字节标识配置数据升级指令。当光模块200解析升级文件的文件头时获取到若干标识固件升级指令的字节,则可确定升级指令包括固件升级指令;当光模块解析升级文件的文件头时获取到若干标识配置数据升级指令的字节,则可确定升级指令包括配置数据升级指令。
在本公开一些实施例中,光模块200中配置数据的种类多样,为便于光模块200能够精准有效快速的进行配置数据修改升级,升级文件中通常根据配置数据的数据功能进行数据区划分,例如数据区被划分为数据区1、数据区2……,其中数据区1用于存储校验数据、数据区2用于存储查找表数据等,数据区的数量可以根据配置数据的数据功能种类进行选择。将配置数据根据功能进行数据区划分,便于各功能配置数据的管理。
光模块200确定固件升级指令后,进入固件升级模式。
步骤802、获取固件数据和固件校验码。
步骤803、写入固件数据。
示例性地,接收缓存区将固件数据写入至第一固件区,第一固件区保存写入后的固件数据。
步骤804、根据写入后的固件数据计算模块校验码。
示例性地,读取缓存区读取写入后的固件数据,并根据写入后的固件数据计算模块校验码。
步骤805、若模块校验码和固件校验码一致,确定升级成功。
步骤806、若模块校验码和固件校验码不一致,确定升级失败。
在一些实施例中,步骤802:获取固件数据和固件校验码有两种实现方式,第一种实现方式根据固件文件获取固件数据和固件校验码。第二种实现方式根据固件数据包获取固件数据和固件校验码。
第一种实现方式中,本公开一些实施例提供另一种光模块升级方法,如图9所示,包括:步骤801-步骤810。
步骤801、接收来自上位机的固件升级指令,进入固件升级模式。
步骤802、接收来自上位机的固件文件,固件文件包括固件数据和固件校验码。
步骤803、写入固件数据。
步骤804、根据写入后的固件数据计算模块校验码。
步骤805、若模块校验码和固件校验码一致,确定升级成功。
与图8所示的一种光模块升级方法相比,图9所示的另一种光模块升级方法在步骤805之后还包括步骤807-步骤808。通过修改升级标志位的标识,使得上位机可以根据升级标志位判断光模块200升级是否成功。
步骤807、将升级标志位修改为升级成功标识。
步骤808、切换至第一固件区运行,第一固件区被配置为保存写入后的固件数据。
步骤806、若模块校验码和固件校验码不一致,确定升级失败。
图9所示的另一种光模块升级方法在步骤806之后还包括步骤809和步骤810。
步骤809、将升级标志位修改为升级失败标识。
步骤810、继续运行第二固件区,第二固件区被配置为保存光模块升级前的固件数据。
第二种实现方式中,本公开一些实施例提供另一种光模块升级方法,如图10所示,包括:步骤801-步骤807,以及步骤809-步骤812。其中步骤802包括步骤8021-步骤8022。
步骤801、接收来自上位机的固件升级指令,进入固件升级模式。
步骤8021、接收来自上位机的固件数据包,解析固件数据包得到固件数据。
步骤8022、根据固件数据计算固件校验码。
步骤803、写入固件数据。
步骤804、根据写入后的固件数据计算模块校验码。
步骤805、若模块校验码和固件校验码一致,确定升级成功。
与图8所示的一种光模块升级方法相比,图10所示的另一种光模块升级方法在步骤805之后还包括步骤807、步骤811和步骤812。
步骤807、将升级标志位修改为升级成功标识。
步骤811、接收来自上位机的下一个固件数据包。
步骤812、当光模块接收所有固件数据包,且每个固件数据包对应的模块校验码和固件校验码一致时,切换至第一固件区运行。
步骤806、若模块校验码和固件校验码不一致,确定升级失败。
图10所示的另一种光模块升级方法在步骤806之后还包括步骤809-步骤810。
步骤809、将升级标志位修改为升级失败标识。
步骤810、继续运行第二固件区,第二固件区被配置为保存光模块200升级前的固件数据。
本公开一些实施例提供的光模块200升级方法,通过加入整个固件文件的校验机制,或者,将固件文件分为若干个数据包,通过加入对单个固件数据包的校验机制,确保写入后的固件数据与固件文件一致,如果写入后的固件数据与固件文件不一致,通过将升级标志位修改为升级失败标识,上位机通过升级失败标识判断升级失败,上位机确保光模块200升级失败后不切换到新固件,继续运行第二固件区,确保光模块200正常运行。也可以重新写入固件文件进行固件升级。该方法只涉及软件的设计,没有带来硬件组件的增加,便于修改和维护。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机执行指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本公开实施例所述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机执行指令可以存储 在非暂态计算机可读存储介质中,或者从一个非暂态计算机可读存储介质向另一个非暂态计算机可读存储介质传输,例如,计算机执行指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。非暂态计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
尽管在此结合各实施例对本公开进行了描述,然而,在实施所要求保护的本公开过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何在本公开揭露的技术范围内的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应该以权利要求的保护范围为准。

Claims (20)

  1. 一种光模块,包括:
    下壳体;
    上壳体,盖合在所述下壳体上以在所述上壳体和所述下壳体之间形成腔体;
    电路板,设置于所述腔体内,所述电路板的一端设有用于与上位机通信的金手指;
    微处理器MCU,设置于所述电路板上,与所述金手指连接,且被配置为:获取固件数据和固件校验码,并写入所述固件数据,根据写入后的固件数据计算模块校验码,若所述模块校验码和所述固件校验码一致,确定升级成功;若所述模块校验码和所述固件校验码不一致,确定升级失败。
  2. 根据权利要求1所述的光模块,其中,所述微处理器MCU包括:
    第一固件区,被配置为保存所述写入后的固件数据;
    第二固件区,被配置为保存所述光模块升级前的固件数据。
  3. 根据权利要求2所述的光模块,其中,所述微处理器MCU被配置为:接收来自所述上位机的固件文件,所述固件文件包括所述固件数据和所述固件校验码。
  4. 根据权利要求3所述的光模块,其中,所述微处理器MCU还被配置为:若所述模块校验码和所述固件校验码一致,切换至所述第一固件区运行。
  5. 根据权利要求2所述的光模块,其中,所述微处理器MCU还被配置为:接收来自所述上位机的固件数据包,解析所述固件数据包得到所述固件数据,并根据所述固件数据计算所述固件校验码。
  6. 根据权利要求5所述的光模块,其中,所述微处理器MCU还被配置为:若所述模块校验码和所述固件校验码一致,接收来自所述上位机的下一个固件数据包。
  7. 根据权利要求6所述的光模块,其中,所述微处理器MCU还被配置为:当所述光模块接收所有固件数据包,且每个所述固件数据包对应的模块校验码和固件校验码一致时,切换至所述第一固件区运行。
  8. 根据权利要求2-7中任一项所述的光模块,其中,所述微处理器MCU还被配置为:若所述模块校验码和所述固件校验码不一致,继续运行所述第二固件区。
  9. 根据权利要求1-8中任一项所述的光模块,其中,所述微处理器MCU还包括:
    接收缓存区,被配置为接收并缓存来自所述上位机的固件数据包或固件文件;
    读取缓存区,被配置为读取并缓存所述写入后的固件数据,并根据所述写入后的固件数据计算所述模块校验码。
  10. 一种光模块升级方法,包括:
    接收来自上位机的固件升级指令,进入固件升级模式;
    获取固件数据和固件校验码;
    写入所述固件数据;
    根据写入后的固件数据计算模块校验码;
    若所述模块校验码和所述固件校验码一致,确定升级成功;
    若所述模块校验码和所述固件校验码不一致,确定升级失败。
  11. 根据权利要求10所述的方法,其中,所述获取固件数据和固件校验码,包括:
    接收来自所述上位机的固件文件,所述固件文件包括所述固件数据和所述固件校验码。
  12. 根据权利要求11所述的方法,还包括:
    若所述模块校验码和所述固件校验码一致,切换至第一固件区运行,所述第一固件区被配置为保存所述写入后的固件数据。
  13. 根据权利要求10所述的方法,其中,所述获取固件数据和固件校验码,还包括:
    接收来自所述上位机的固件数据包,解析所述固件数据包得到所述固件数据;
    根据所述固件数据计算所述固件校验码。
  14. 根据权利要求13所述的方法,还包括:
    若所述模块校验码和所述固件校验码一致,接收来自所述上位机的下一个固件数据包。
  15. 根据权利要求14所述的方法,还包括:
    当所述光模块接收所有固件数据包,且每个所述固件数据包对应的模块校验码和固件校验码一致时,切换至第一固件区运行。
  16. 根据权利要求10-15中任一项所述的方法,还包括:
    若所述模块校验码和所述固件校验码一致,将升级标志位修改为升级成功标识;
    若所述模块校验码和所述固件校验码不一致,将所述升级标志位修改为升级失败标识。
  17. 根据权利要求10-16中任一项所述的方法,还包括:
    若所述模块校验码和所述固件校验码不一致,继续运行第二固件区,所述第二固件区被配置为保存所述光模块升级前的固件数据。
  18. 根据权利要求10-17中任一项所述的方法,其中,所述接收来自上位机的固件升级指令,进入固件升级模式,包括:
    接收来自所述上位机的升级文件,根据所述升级文件的文件头确定升级指令,所述升级指令包括所述固件升级指令。
  19. 根据权利要求18所述的方法,其中,所述根据所述升级文件的文件头确定升级指令包括:
    解析所述升级文件的文件头获取指令字段,根据所述指令字段确定所述升级指令; 所述文件头包括所述指令字段。
  20. 一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机程序指令,所述计算机程序指令在计算机上运行时,使得所述计算机执行如权利要求10-19中任一项所述的光模块升级方法。
PCT/CN2022/111406 2021-10-28 2022-08-10 光模块及其升级方法 WO2023071384A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202111260337.2 2021-10-28
CN202111260466.1A CN116055317A (zh) 2021-10-28 2021-10-28 一种防止在线升级错误的方法和光模块
CN202111260466.1 2021-10-28
CN202111260337.2A CN116055316A (zh) 2021-10-28 2021-10-28 一种防止在线升级错误的方法和光模块

Publications (1)

Publication Number Publication Date
WO2023071384A1 true WO2023071384A1 (zh) 2023-05-04

Family

ID=86159023

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/111406 WO2023071384A1 (zh) 2021-10-28 2022-08-10 光模块及其升级方法

Country Status (1)

Country Link
WO (1) WO2023071384A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761122A (zh) * 2013-12-31 2014-04-30 青岛歌尔声学科技有限公司 一种芯片固件的升级方法和系统
CN106507339A (zh) * 2016-09-18 2017-03-15 深圳市青柠互动科技开发有限公司 一种智能设备固件的空中升级系统及方法
CN108108174A (zh) * 2016-11-24 2018-06-01 青岛海信宽带多媒体技术有限公司 光模块及其固件升级的方法
CN109992289A (zh) * 2017-12-29 2019-07-09 深圳市优必选科技有限公司 传感器固件升级方法、装置及设备
CN110737449A (zh) * 2019-08-23 2020-01-31 上海商米科技集团股份有限公司 用于处理设备固件的方法、装置和机器可读存储介质
CN111399888A (zh) * 2020-03-11 2020-07-10 北京百度网讯科技有限公司 音频处理芯片的处理方法、装置及电子设备
CN112882734A (zh) * 2021-03-11 2021-06-01 北京百度网讯科技有限公司 升级方法及装置、计算机设备和介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761122A (zh) * 2013-12-31 2014-04-30 青岛歌尔声学科技有限公司 一种芯片固件的升级方法和系统
CN106507339A (zh) * 2016-09-18 2017-03-15 深圳市青柠互动科技开发有限公司 一种智能设备固件的空中升级系统及方法
CN108108174A (zh) * 2016-11-24 2018-06-01 青岛海信宽带多媒体技术有限公司 光模块及其固件升级的方法
CN109992289A (zh) * 2017-12-29 2019-07-09 深圳市优必选科技有限公司 传感器固件升级方法、装置及设备
CN110737449A (zh) * 2019-08-23 2020-01-31 上海商米科技集团股份有限公司 用于处理设备固件的方法、装置和机器可读存储介质
CN111399888A (zh) * 2020-03-11 2020-07-10 北京百度网讯科技有限公司 音频处理芯片的处理方法、装置及电子设备
CN112882734A (zh) * 2021-03-11 2021-06-01 北京百度网讯科技有限公司 升级方法及装置、计算机设备和介质

Similar Documents

Publication Publication Date Title
CN109768970B (zh) 一种基于可配置的通用协议生成方法
CN110324169B (zh) 一种接口管理的方法和装置
WO2021031652A1 (zh) 一种光模块波长配置方法、装置及光模块
TWI516816B (zh) 具有c型平面對準及固定特徵的光學收發器介面
CN103843302A (zh) 有状态环境中的网络适配器硬件状态迁移发现
CN111490893B (zh) 一种网络转发模型的建立方法、装置及系统
CN110380785A (zh) 一种数字诊断信息获取方法、装置及光模块
CN109819352B (zh) 一种光纤数据处理系统架构及处理方法
CN111555810A (zh) 一种光模块以及数据传输方法
EP2922267A1 (en) Method for achieving communication based on mbim interface and device therefor
CN110430016A (zh) 一种数据接收方法、装置及光模块
WO2019085723A1 (zh) 一种无线接入认证方法
CN114780519A (zh) 基于can通讯的dbc文件生成方法、装置、设备及介质
WO2023071384A1 (zh) 光模块及其升级方法
CN111641528A (zh) 设备管理方法、装置、存储介质和计算机可读介质
WO2024060926A1 (zh) 约束文件的导入方法、装置、设备及存储介质
CN108932134A (zh) 服务器bios远程更新方法
CN104104546A (zh) 一种基于脚本的snmp网管系统
CN109981342A (zh) 一种批量处理网络设备操作命令的方法及系统
CN115604095A (zh) 网络设备配置方法及系统
CN112925766B (zh) 一种数据安全管控装置、系统、方法及其可读存储介质
CN113098621B (zh) 光模块及基于双mcu光模块的波长自动轮询方法
WO2021088371A1 (zh) 一种rfid电子标签绑定方法及装置
CN116055316A (zh) 一种防止在线升级错误的方法和光模块
CN116055317A (zh) 一种防止在线升级错误的方法和光模块

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22885284

Country of ref document: EP

Kind code of ref document: A1