KR102246979B1 - Communication module and firmware updating system thereof - Google Patents

Communication module and firmware updating system thereof Download PDF

Info

Publication number
KR102246979B1
KR102246979B1 KR1020200166066A KR20200166066A KR102246979B1 KR 102246979 B1 KR102246979 B1 KR 102246979B1 KR 1020200166066 A KR1020200166066 A KR 1020200166066A KR 20200166066 A KR20200166066 A KR 20200166066A KR 102246979 B1 KR102246979 B1 KR 102246979B1
Authority
KR
South Korea
Prior art keywords
firmware
area
communication module
stored
communication
Prior art date
Application number
KR1020200166066A
Other languages
Korean (ko)
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
Application filed by (주) 라이트론 filed Critical (주) 라이트론
Priority to KR1020200166066A priority Critical patent/KR102246979B1/en
Application granted granted Critical
Publication of KR102246979B1 publication Critical patent/KR102246979B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/40Transceivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/07Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
    • H04B10/075Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal
    • H04B10/077Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal using a supervisory or additional signal
    • H04B10/0775Performance monitoring and measurement of transmission parameters

Landscapes

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

Abstract

The present invention relates to a communication module and a firmware update system thereof, and more specifically, to a firmware update system of a communication module, comprising: a plurality of communication modules connected to each other by optical communication cables; and a communication network management device connected to the communication modules through optical communication and managing the communication modules. The communication network management device transmits update data including firmware to be updated to a first communication module, which is a communication module requiring firmware update among the communication modules, through at least one second communication module provided between the communication network management device and the first communication module among the communication modules. The first communication module updates the firmware based on the received update data. Accordingly, it is possible to perform a restart to update firmware without communication failure.

Description

통신 모듈 및 이의 펌웨어 갱신 시스템 {Communication module and firmware updating system thereof}Communication module and firmware updating system thereof {Communication module and firmware updating system thereof}

본 발명은 통신 모듈 및 이의 펌웨어 갱신 시스템에 관한 것으로, 더욱 상세하게는 통신 모듈이 정상 동작을 수행하는 와중에도, 펌웨어의 갱신을 가능하도록 한 통신 모듈 및 이의 펌웨어 갱신 시스템에 관한 것이다.The present invention relates to a communication module and a firmware update system thereof, and more particularly, to a communication module capable of updating firmware while the communication module performs a normal operation, and a firmware update system thereof.

광 트랜시버 모듈은 통신 모듈에 실장되어, 신호의 전광/광전 변환에 필요한 자체 동작 제어 관리와 통신 회선의 유지 관리를 위해 통신 모듈과 성능 감시 정보를 SFF-8472 규격에 따라 신호를 송수신하는 기능을 한다.The optical transceiver module is mounted on the communication module and transmits and receives signals according to the SFF-8472 standard for the communication module and performance monitoring information for self-operation control management and maintenance of communication lines required for all-optical/photoelectric conversion of signals. .

이러한 광 트랜시버 모듈은 소형화와 저전력화 요구에 따라 자원이 제한된 마이크로 컨트롤러를 포함하여 구성되며, 마이크로 컨트롤러는 내부에 내장된 ROM에 기록된 펌웨어에 의해 동작하게 된다.The optical transceiver module includes a microcontroller with limited resources in accordance with the demand for miniaturization and low power consumption, and the microcontroller is operated by firmware recorded in an internal ROM.

통상적으로 광 트랜시버 모듈은 요구되는 목적과 기능에 따라 다양한 종류의 마이크로 컨트롤러가 사용되며, 마이크로 컨트롤러 제조사의 독자적인 방식으로 ROM에 펌웨어가 기록되게 된다. 이러한 광 트랜시버 모듈의 펌웨어는 필요에 의해 갱신될 수 있으며, 이를 위해서 종래에는 광 트랜시버 모듈을 통신 시스템에서 분리시켜 별도의 장치를 통해서 펌웨어 갱신된 후, 재장착되는 과정을 통해서 이루어지고 있어, 펌웨어 갱신이 수행되는 동안, 광 트랜시버 모듈이 통신 시스템에서 제거되어 있기 때문에 기능을 수행할 수 없을 뿐 아니라, 통신 시스템 자체도 통신이 불가능한 문제점이 있다.In general, various types of microcontrollers are used for optical transceiver modules according to the required purpose and function, and firmware is recorded in the ROM in an independent method of the microcontroller manufacturer. The firmware of such an optical transceiver module can be updated as needed. To this end, the firmware is updated through a separate device by separating the optical transceiver module from the communication system, and then re-installing the optical transceiver module. During this operation, since the optical transceiver module is removed from the communication system, not only cannot the function be performed, but also the communication system itself has a problem in that communication is impossible.

뿐만 아니라, 작업자의 접근이 용이한 위치에 설치되어 있는 광 트랜시버 모듈의 경우 그나마 용이하게 펌웨어 갱신이 이루어질 수 있으나, 원격지 또는 무인국사에서 운영되는 통신 시스템에 포함되어 있는 광 트랜시버 모듈의 펌웨어 갱신을 수행하기 위해서는 시간, 비용, 공간의 제약이 따르게 된다.In addition, in the case of the optical transceiver module installed in a location where the operator can easily access, the firmware can be updated easily, but the firmware of the optical transceiver module included in the communication system operated at a remote location or an unmanned station office is updated. In order to do so, time, cost, and space are limited.

이와 관련해서, 국내등록특허 제10-1845290호("장치 관리 명령을 통한 펌웨어 갱신 방법 및 장치")에서는 장치 관리 명령을 통하여 펌웨어를 갱신하는 방법 및 장치를 개시하고 있다.In this regard, Korean Patent Registration No. 10-1845290 ("Firmware update method and apparatus through device management command") discloses a method and apparatus for updating firmware through a device management command.

국내등록특허 제10-1845290호(등록일자 2018.03.29.)Domestic Registration Patent No. 10-1845290 (Registration Date 2018.03.29.)

본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 광 트랜시버 모듈이 정상 동작을 수행하는 도중에도 펌웨어의 갱신이 가능하도록 함으로써, 종래의 펌웨어 갱신에 비해 유지보수 비용과 시간을 절감하고, 통신 장애 없이도 펌웨어 갱신과 이에 따른 광 트랜시버 모듈의 재시작을 제어할 수 있는 통신 모듈 및 이의 펌웨어 갱신 시스템을 제공하는 것이다.The present invention was conceived to solve the problems of the prior art as described above, and an object of the present invention is to maintain the firmware compared to the conventional firmware update by enabling the firmware to be updated even during normal operation of the optical transceiver module. It is to provide a communication module and a firmware update system thereof that can reduce maintenance cost and time, and control firmware update and subsequent restart of an optical transceiver module without communication failure.

본 발명의 일 실시예에 따른 통신 모듈은, 양방향으로 광통신 신호를 송신 또는 수신하는 광 트랜시버와, 상기 광 트랜시버를 제어하는 제1 제어부와, 메모리를 포함하는 광 트랜시버 모듈 및 상기 광 트랜시버 모듈과 성능감시채널로 연결되어, 상기 광 트랜시버 모듈의 성능 상태를 감시하는 제2 제어부를 포함하고, 상기 제2 제어부는 상기 광 트랜시버 모듈로부터 수신한 데이터를 이용하여, 상기 성능감시채널을 통해 상기 제1 제어부의 펌웨어를 갱신하는 것이 바람직하다.A communication module according to an embodiment of the present invention includes an optical transceiver for transmitting or receiving an optical communication signal in both directions, a first control unit for controlling the optical transceiver, an optical transceiver module including a memory, and the optical transceiver module. And a second control unit connected to a monitoring channel to monitor a performance state of the optical transceiver module, and the second control unit uses data received from the optical transceiver module, and the first control unit through the performance monitoring channel It is advisable to update its firmware.

더 나아가, 상기 메모리는 복수의 펌웨어 저장 영역, 활성 펌웨어 정보 및 오류검출코드 정보를 포함하는 펌웨어 정보 영역 및 전원 인가시, 우선 구동되는 펌웨어 매니져 프로그램 저장 영역을 포함하고, 상기 제2 제어부는 상기 제1 제어부가 상기 복수의 펌웨어 저장 영역 중 어느 하나인 제1 영역에 저장된 펌웨어에 기초하여 동작하는 상태에서, 상기 복수의 펌웨어 저장 영역 중 다른 하나인 제2 영역에 상기 광 트랜시버 모듈로부터 수신한 데이터에 기초하여 갱신할 펌웨어를 저장하고, 상기 제2 영역에 저장된 상기 갱신할 펌웨어의 무결성 여부를 판단하며, 상기 제2 영역에 저장된 상기 갱신할 펌웨어가 무결성인 것으로 판단되면, 상기 제2 영역에 저장된 펌웨어가 활성화되도록 상기 펌웨어 정보 영역을 설정하되, 상기 제2 영역에 저장된 상기 갱신할 펌웨어가 비정상인 것으로 판단되면, 상기 제1 영역에 저장된 펌웨어의 활성화가 유지되도록 상기 펌웨어 정보 영역을 설정하는 것이 바람직하다.Further, the memory includes a plurality of firmware storage areas, a firmware information area including active firmware information and error detection code information, and a firmware manager program storage area that is driven first when power is applied, and the second control unit 1 In a state in which the control unit operates based on the firmware stored in a first area, which is one of the plurality of firmware storage areas, the data received from the optical transceiver module is stored in a second area, which is another of the plurality of firmware storage areas. The firmware to be updated is stored based on the firmware to be updated, the integrity of the firmware to be updated stored in the second area is determined, and if the firmware to be updated stored in the second area is determined to be integrity, the firmware stored in the second area If it is determined that the firmware to be updated stored in the second area is abnormal, the firmware information area is set so that activation of the firmware stored in the first area is maintained. .

더 나아가, 상기 제1 제어부는 상기 광 트랜시버 모듈에 전원이 인가되면, 상기 오류검출코드 정보에 기초하여 상기 펌웨어 정보 영역에 저장된 데이터가 정상인지 판단하고, 상기 펌웨어 정보 영역에 저장된 데이터가 비정상이라고 판단되면, 상기 활성 펌웨어 정보를 사전에 설정된 기본 정보로 리셋하여 상기 펌웨어 정보 영역에 저장된 데이터가 정상 데이터가 되도록 보정하는 것이 바람직하다.Furthermore, when power is applied to the optical transceiver module, the first control unit determines whether the data stored in the firmware information area is normal based on the error detection code information, and determines that the data stored in the firmware information area is abnormal. If so, it is preferable to correct the data stored in the firmware information area to become normal data by resetting the active firmware information to preset basic information.

더 나아가, 상기 제1 제어부는 상기 활성 펌웨어 정보에 기초하여 활성화 대상 펌웨어를 설정하고, 상기 오류검출코드 정보에 기초하여 활성화 대상 펌웨어의 무결성을 판단하며, 상기 활성화 대상 펌웨어가 정상이라고 판단되면, 활성화를 수행하는 것이 바람직하다.Furthermore, the first control unit sets the activation target firmware based on the active firmware information, determines the integrity of the activation target firmware based on the error detection code information, and when it is determined that the activation target firmware is normal, activation It is preferable to perform.

더 나아가, 상기 제1 제어부는 상기 활성화 대상 펌웨어가 비정상이라고 판단되면, 상기 복수의 펌웨어 저장 영역 중 활성화 대상 펌웨어 저장 영역 이외의 영역에 저장된 펌웨어의 무결성을 판단하고, 정상으로 판단된 펌웨어 중 어느 하나를 활성화 대상 펌웨어로 새롭게 설정하여, 활성화를 수행하는 것이 바람직하다.Furthermore, when it is determined that the activation target firmware is abnormal, the first control unit determines the integrity of the firmware stored in an area other than the activation target firmware storage area among the plurality of firmware storage areas, and any one of the firmware determined to be normal It is desirable to perform activation by newly setting the firmware to be activated.

더 나아가, 상기 제1 제어부는 상기 복수의 펌웨어 저장 영역에 저장된 모든 펌웨어가 비정상이라고 판단되면, 부트로더(bootloader)를 실행하는 것이 바람직하다.Furthermore, it is preferable that the first control unit execute a bootloader when it is determined that all firmware stored in the plurality of firmware storage areas is abnormal.

본 발명의 일 실시예에 따른 통신 모듈의 펌웨어 갱신 시스템은, 서로 광통신 케이블로 연결된 복수 개의 통신 모듈 및 상기 복수의 통신 모듈과 광통신으로 연결되고, 상기 통신 모듈을 관리하는 통신망 관리 장치를 포함하고, 상기 통신망 관리 장치는 상기 복수의 통신 모듈 중 펌웨어 갱신이 필요한 통신 모듈인 제1 통신 모듈에 상기 복수의 통신 모듈 중 상기 통신망 관리 장치와 상기 제1 통신 모듈 사이에 구비된 적어도 하나의 제2 통신 모듈을 통해서 갱신할 펌웨어를 포함한 갱신 데이터를 전달하여, 상기 제1 통신 모듈은 수신한 상기 갱신 데이터에 기초하여 펌웨어를 갱신하는 것이 바람직하다.A firmware update system for a communication module according to an embodiment of the present invention includes a plurality of communication modules connected to each other by an optical communication cable, and a communication network management device connected to the plurality of communication modules through optical communication and managing the communication module, The communication network management device includes at least one second communication module provided between the communication network management device and the first communication module among the plurality of communication modules in a first communication module that is a communication module requiring firmware update among the plurality of communication modules. It is preferable that the first communication module updates the firmware based on the received update data by transmitting update data including the firmware to be updated.

본 발명의 일 실시예에 따른 통신 모듈의 펌웨어 갱신 방법은, 제2 제어부에서, 통신 모듈의 광 트랜시버 모듈에 포함되는 복수의 펌웨어 저장 영역 중 어느 하나인 제1 영역에 저장된 펌웨어에 기초하여 동작하는 상태에서, 복수의 펌웨어 저장 영역 중 다른 하나인 제2 영역에 수신한 데이터를 기초하여 갱신할 펌웨어를 저장하는 갱신 펌웨어 저장단계(S100), 제2 제어부에서, 상기 갱신 펌웨어 저장단계(S100)에 의해 저장된 상기 갱신할 펌웨어의 무결성 여부를 판단하는 무결성 판단단계(S200) 및 제2 제어부에서, 상기 무결성 판단단계(S200)의 판단 결과에 따라, 상기 갱신할 펌웨어가 무결성인 것으로 판단되면, 상기 제2 영역에 저장된 상기 갱신할 펌웨어가 활성화되도록 통신 모듈의 광 트랜시버 모듈에 포함되는 펌웨어 정보 영역을 설정하는 펌웨어 영역 설정단계(S300)를 포함하여 구성되며, 상기 무결성 판단단계(S200)의 판단 결과에 따라, 상기 갱신할 펌웨어가 비정상인 것으로 판단되면, 상기 제1 영역에 저장된 펌웨어의 활성화 상태가 유지되도록 펌웨어 정보 영역을 설정하는 것이 바람직하다.The firmware update method of a communication module according to an embodiment of the present invention, in a second control unit, operates based on firmware stored in a first area, which is one of a plurality of firmware storage areas included in the optical transceiver module of the communication module. In the state, the update firmware storage step (S100) of storing the firmware to be updated based on the received data in the second area, which is another one of the plurality of firmware storage areas, in the second control unit, the updated firmware storage step (S100). If the integrity determination step (S200) of determining whether the firmware to be updated stored by the integrity of the firmware to be updated is determined, and the second control unit, according to the determination result of the integrity determination step (S200), when the firmware to be updated is determined to be integrity, the 2, the firmware region setting step (S300) of setting a firmware information region included in the optical transceiver module of the communication module so that the firmware to be updated stored in the region is activated, and the determination result of the integrity determination step (S200) is Accordingly, when it is determined that the firmware to be updated is abnormal, it is preferable to set the firmware information area so that the activated state of the firmware stored in the first area is maintained.

더 나아가, 상기 펌웨어 영역 설정단계(S300)를 수행하고 난 후, 통신 모듈에서, 저장된 오류검출코드 정보에 기초하여, 펌웨어 정보 영역에 저장된 데이터가 정상인지 판다하는 정상여부 판단단계(S400), 통신 모듈에서, 상기 정상여부 판단단계(S400)의 판단 결과에 따라, 상기 펌웨어 정보 영역에 저장된 데이터가 정상인 것으로 판단되면, 저장된 활성 펌웨어 정보에 기초하여 활성화 대상 펌웨어를 설정하는 활성 펌웨어 설정단계(S500), 통신 모듈에서, 상기 활성 펌웨어 설정 단계(S500)에 의해 설정한 상기 활성화 대상 펌웨어의 무결성을 판단하는 무결성 판단단계(S600) 및 통신 모듈에서, 상기 무결성 판단단계(S600)의 판단 결과에 따라, 상기 활성화 대상 펌웨어가 무결성인 것으로 판단되면, 활성화를 수행하는 활성화 단계(S700)를 더 포함하여 구성되는 것이 바람직하다.Further, after performing the firmware area setting step (S300), the communication module determines whether the data stored in the firmware information area is normal based on the stored error detection code information (S400), communication In the module, if it is determined that the data stored in the firmware information area is normal according to the determination result of the normality determination step (S400), an active firmware setting step (S500) of setting an activation target firmware based on the stored active firmware information (S500). , In the communication module, the integrity determination step (S600) of determining the integrity of the activation target firmware set by the active firmware setting step (S500), and in the communication module, according to the determination result of the integrity determination step (S600), If it is determined that the firmware to be activated is integrity, it is preferable to further include an activation step (S700) of performing activation.

더 나아가, 통신 모듈에서, 상기 정상여부 판단단계(S400)의 판단 결과에 따라, 상기 펌웨어 정보 영역에 저장된 데이터가 비정상인 것으로 판단되면, 상기 활성화 펌웨어 정보를 사전에 설정된 기본 정보로 리셋하는 것이 바람직하다.Furthermore, in the communication module, if it is determined that the data stored in the firmware information area is abnormal according to the determination result of the normality determination step (S400), it is preferable to reset the activated firmware information to preset basic information. Do.

더 나아가, 통신 모듈에서, 상기 무결성 판단단계(S600)의 판단 결과에 따라, 상기 활성화 대상 펌웨어가 비정상인 것으로 판단되면, 활성화 대상 펌웨어 저장 영역 이외의 영역에 저장된 펌웨어의 무결성을 판단하고, 정상으로 판단된 펌웨어 중 어느 하나를 활성화 대상 펌웨어로 새롭게 설정하는 것이 바람직하다.Furthermore, in the communication module, if it is determined that the activation target firmware is abnormal according to the determination result of the integrity determination step (S600), it determines the integrity of the firmware stored in an area other than the activation target firmware storage area, and returns to normal. It is desirable to newly set any one of the determined firmware as an activation target firmware.

상기와 같은 구성에 의한 본 발명의 통신 모듈 및 이의 펌웨어 갱신 시스템은 광 트랜시버 모듈이 정상 동작을 수행하는 도중에도 펌웨어의 갱신이 가능하도록 함으로써, 종래의 펌웨어 갱신에 비해 유지보수 비용과 시간을 절감하고, 통신 장애 없이도 펌웨어 갱신과 이에 따른 광 트랜시버 모듈의 재시작을 제어할 수 있는 장점이 있다.The communication module and its firmware update system of the present invention having the above configuration enables firmware to be updated even while the optical transceiver module is performing normal operation, thereby reducing maintenance cost and time compared to the conventional firmware update. In addition, there is an advantage in that it is possible to control the firmware update and the restart of the optical transceiver module accordingly without a communication failure.

즉, 통신 모듈이 정상 동작 중에도 펌웨어의 갱신을 수행할 수 있어, 펌웨어 갱신으로 인한 유지보수 비용과 시간을 절감하고, 통신 장애없이 갱신 펌웨어로의 재시작을 수행할 수 있는 장점이 있다.That is, since the firmware can be updated even during normal operation of the communication module, there is an advantage in that maintenance cost and time due to firmware update can be reduced, and restart to the updated firmware can be performed without communication failure.

또한, 광 트랜시버 모듈의 성능감시채널을 이용함으로써, 펌웨어 갱신을 위한 별도의 인터페이스가 필요하지 않으며, 광 트랜시버 모듈의 성능감시채널의 프로토콜 제어를 통해서 이기종의 광 트랜시버 모듈에도 적용할 수 있는 장점이 있다.In addition, by using the performance monitoring channel of the optical transceiver module, a separate interface for firmware update is not required, and there is an advantage that it can be applied to heterogeneous optical transceiver modules through protocol control of the performance monitoring channel of the optical transceiver module. .

뿐만 아니라, 펌웨어의 활성/비활성 저장 영역 구분으로, 다시 말하자면, 서로 다른 기능의 펌웨어를 각각의 영역에 저장하여 필요에 따라 선택적으로 펌웨어를 실행할 수 있기 때문에, 다중의 펌웨어 수용이 가능하며, 이를 활용한 기능 확장이 가능한 장점이 있다.In addition, it is possible to accommodate multiple firmwares and utilize them as firmware of different functions can be stored in each area and selectively executed as needed by dividing the firmware's active/inactive storage area. There is an advantage that one function can be extended.

도 1은 본 발명의 일 실시예에 따른 통신 모듈을 나타낸 구성 예시도이다.
도 2는 본 발명의 일 실시예에 따른 통신 모듈의 광 트랜시버 모듈에 포함되어 있는 메모리를 나타낸 구성 예시도이다.
도 3은 본 발명의 일 실시예에 따른 통신 모듈의 펌웨어 갱신 시스템을 나타낸 구성 예시도이다.
도 4는 본 발명의 일 실시예에 따른 통신 모듈의 펌웨어 갱신 방법을 나타낸 순서 예시도이다.
도 5는 본 발명의 일 실시예에 따른 통신 모듈 및 이의 펌웨어 갱신 시스템을 통한 갱신된 펌웨어로의 전환 흐름 예시도이다.
도 6은 본 발명의 일 실시예에 따른 통신 모듈 및 이의 펌웨어 갱신 시스템을 통한 갱신 절차의 타이밍 예시도이다.
1 is a diagram illustrating a configuration of a communication module according to an embodiment of the present invention.
2 is a diagram illustrating a configuration of a memory included in an optical transceiver module of a communication module according to an embodiment of the present invention.
3 is an exemplary configuration diagram illustrating a firmware update system of a communication module according to an embodiment of the present invention.
4 is a flowchart illustrating a method of updating firmware of a communication module according to an embodiment of the present invention.
5 is an exemplary diagram illustrating a flow of switching to an updated firmware through a communication module and a firmware update system thereof according to an embodiment of the present invention.
6 is an exemplary timing diagram of an update procedure through a communication module and a firmware update system thereof according to an embodiment of the present invention.

이하 첨부한 도면들을 참조하여 본 발명의 통신 모듈 및 이의 펌웨어 갱신 시스템을 상세히 설명한다. 다음에 소개되는 도면들은 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 예로서 제공되는 것이다. 따라서, 본 발명은 이하 제시되는 도면들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 또한, 명세서 전반에 걸쳐서 동일한 참조번호들은 동일한 구성요소들을 나타낸다.Hereinafter, a communication module and a firmware update system thereof of the present invention will be described in detail with reference to the accompanying drawings. The drawings introduced below are provided as examples in order to sufficiently convey the spirit of the present invention to those skilled in the art. Accordingly, the present invention is not limited to the drawings presented below and may be embodied in other forms. In addition, the same reference numbers throughout the specification indicate the same elements.

이 때, 사용되는 기술 용어 및 과학 용어에 있어서 다른 정의가 없다면, 이 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 통상적으로 이해하고 있는 의미를 가지며, 하기의 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 설명은 생략한다.In this case, unless there are other definitions in the technical terms and scientific terms used, they have the meanings commonly understood by those of ordinary skill in the art to which this invention belongs, and the gist of the present invention in the following description and accompanying drawings Descriptions of known functions and configurations that may unnecessarily obscure are omitted.

더불어, 시스템은 필요한 기능을 수행하기 위하여 조직화되고 규칙적으로 상호 작용하는 장치, 기구 및 수단 등을 포함하는 구성 요소들의 집합을 의미한다.In addition, a system refers to a set of components including devices, devices, and means that are organized and regularly interact to perform a required function.

본 발명의 일 실시예에 따른 통신 모듈 및 이의 펌웨어 갱신 시스템은, 광 트랜시버 모듈을 통신 모듈(통신 시스템)로부터의 분리 없이, 장착된 상태서 광 트랜시버 모듈의 성능 감시와 관리를 위한 채널(I2C)을 통한 갱신할 펌웨어를 전송받아 펌웨어 갱신을 수행할 수 있어, 통신서비스 중단 없이 펌웨어 갱신(업데이트)을 수행할 수 있는 통신 모듈 및 이의 펌웨어 갱신 시스템에 관한 것이다. 이를 통해서, 통신 모듈이 정상 동작 중에도 펌웨어의 갱신을 수행할 수 있어, 펌웨어 갱신으로 인한 유지보수 비용과 시간을 절감하고, 통신 장애없이 갱신 펌웨어로의 재시작을 수행할 수 있는 장점이 있다.A communication module and a firmware update system thereof according to an embodiment of the present invention provide a channel (I2C) for monitoring and managing the performance of the optical transceiver module in a mounted state without separating the optical transceiver module from the communication module (communication system). The present invention relates to a communication module capable of performing a firmware update by receiving a firmware to be updated through a firmware update, thereby performing a firmware update (update) without interrupting a communication service, and a firmware update system thereof. Through this, since the firmware can be updated even while the communication module is in normal operation, there is an advantage in that maintenance cost and time due to the firmware update can be reduced, and restart to the updated firmware can be performed without communication failure.

이러한 본 발명의 일 실시예에 따른 통신 모듈은 도 1에 도시된 바와 같이, 광 트랜시버와, 제1 제어부와, 메모리를 포함하는 광 트랜시버 모듈 및 제2 제어부로 구성되는 것이 바람직하다. 이러한 구성들을 통해서, 펌웨어는 외부 관리자에 의해 통신망(다수의 통신 모듈이 연결된)을 거쳐 갱신을 원하는 광 트랜시버가 위치한 통신 모듈에 전달되고, 통신 모듈은 광 트랜시버 성능 감시 채널을 통해 정해진 프로토콜을 이용하여 펌웨어 갱신을 수행하는 것이 바람직하다.As shown in FIG. 1, the communication module according to an embodiment of the present invention preferably includes an optical transceiver, a first control unit, an optical transceiver module including a memory, and a second control unit. Through these configurations, the firmware is transmitted to the communication module in which the optical transceiver desired to be updated is located via a communication network (to which a number of communication modules are connected) by an external administrator, and the communication module uses a specified protocol through the optical transceiver performance monitoring channel. It is desirable to perform a firmware update.

각 구성에 대해서 자세히 알아보자면,To learn more about each configuration,

상기 광 트랜시버 모듈은 양방향으로 광통신 신호를 송신 또는 수신하는 광 트랜시버, 상기 광 트랜시버를 제어하는 제1 제어부(마이크로 컨트롤러)와 메모리를 포함하여 구성되는 것이 바람직하다.Preferably, the optical transceiver module includes an optical transceiver that transmits or receives optical communication signals in both directions, a first control unit (microcontroller) that controls the optical transceiver, and a memory.

상기 제2 제어부는 상기 광 트랜시버 모듈과 성능감시채널(I2C)로 연결되어, 상기 광 트랜시버 모듈의 성능 상태를 감시하는 것이 바람직하다.It is preferable that the second control unit is connected to the optical transceiver module through a performance monitoring channel (I2C) to monitor the performance state of the optical transceiver module.

이 때, 상기 제2 제어부는 상기 광 트랜시버 모듈로부터 수신한 데이터를 이용하여, 상기 성능감시채널을 통해 상기 제1 제어부의 펌웨어를 갱신하는 것이 바람직하다.In this case, it is preferable that the second control unit updates the firmware of the first control unit through the performance monitoring channel using the data received from the optical transceiver module.

이를 위해, 상기 광 트랜시버 모듈의 메모리는 도 3에 도시된 바와 같이, 복수의 펌웨어 저장 영역, 펌웨어 정보 영역 및 펌웨어 매니져 프로그램 저장 영역을 포함하여 구성되는 것이 바람직하다.To this end, it is preferable that the memory of the optical transceiver module includes a plurality of firmware storage areas, a firmware information area, and a firmware manager program storage area, as shown in FIG. 3.

상세하게는, 상기 복수의 펌웨어 저장 영역은, 광 트랜시버 모듈의 펌웨어 기록 영역으로서, 적어도 둘 이상의 펌웨어 저장 영역을 포함하여 구성됨으로써, 선택되는 어느 하나의 펌웨어 저장 영역에는 현재 동작에 기초되는 펌웨어가 저장되고, 다른 하나의 펌웨어 저장 영역에는 갱신할 펌웨어가 저장되는 것이 바람직하다.Specifically, the plurality of firmware storage areas are firmware recording areas of the optical transceiver module, and are configured to include at least two firmware storage areas, so that firmware based on the current operation is stored in any one selected firmware storage area. It is preferable that the firmware to be updated is stored in the other firmware storage area.

상기 펌웨어 정보 영역은, 활성 펌웨어 정보(상기 복수의 펌웨어 저장 영역을 기초로 동작에 적용될 선택 펌웨어 정보, 펌웨어 버전 정보, 통신 모듈의 프로그램 정보 등)와 오류검출코드(무결성 확인용 CRC-16값 등) 정보를 포함하여 구성되는 것이 바람직하다.The firmware information area includes active firmware information (selected firmware information to be applied to an operation based on the plurality of firmware storage areas, firmware version information, program information of a communication module, etc.) and an error detection code (CRC-16 value for integrity verification, etc.). ) It is desirable to include information.

상기 펌웨어 매니져 프로그램 저장 영역은, 전원 인가시 우선 구동되며 통신모듈의 운용 펌웨어 실행을 위한 프로그램 영역으로, 활성 펌웨어 정보를 이용하여 복수의 펌웨어 저장 영역 중 활성화가 이루어질, 다시 말하자면, 갱신할 펌웨어가 저장된 펌웨어 저장 영역으로의 동작 제어를 수행하는 것이 바람직하다.The firmware manager program storage area is a program area that is first driven when power is applied and is for executing the operating firmware of the communication module, and is activated among a plurality of firmware storage areas using active firmware information, in other words, the firmware to be updated is stored. It is preferable to perform operation control to the firmware storage area.

상기 제2 제어부는 상기 제1 제어부가 상기 복수의 펌웨어 저장 영역 중 어느 하나인 제1 영역에 저장됨 펌웨어에 기초하여 동작하는 상태에서, 상기 복수의 펌웨어 저장 영역 중 다른 하나인 제2 영역에 상기 광 트랜시버 모듈로부터 수신한 데이터에 기초하여 갱신할 펌웨어를 저장하는 것이 바람직하다.In a state in which the first control unit is stored in a first area, which is one of the plurality of firmware storage areas, the second control unit is in a second area that is another of the plurality of firmware storage areas. It is desirable to store firmware to be updated based on data received from the optical transceiver module.

또한, 상기 제2 제어부는 상기 제2 영역에 저장된 상기 갱신할 펌웨어의 무결성 여부를 판단하는 것이 바람직하다.In addition, it is preferable that the second control unit determine whether or not the integrity of the firmware to be updated stored in the second area.

판단 결과에 따라, 상기 제2 영역에 저장된 상기 갱신할 펌웨어가 무결성인 것으로 판단되면, 상기 제2 영역에 저장된 펌웨어가 활성화될 수 있도록 이를 상기 펌웨어 정보 영역으로 전달하여 활성 펌웨어 정보 등의 설정을 제어하는 것이 바람직하다.According to the determination result, if it is determined that the firmware to be updated stored in the second area is integrity, the firmware stored in the second area is transferred to the firmware information area so that the firmware stored in the second area can be activated to control the setting of active firmware information, etc. It is desirable to do it.

이와 반대로, 판단 결과에 따라, 상기 제2 영역에 저장된 상기 갱신할 펌웨어가 비정상인 것으로 판단되면, 상기 제1 영역에 저장된 펌웨어의 활성화가 유지되도록, 다시 말하자면 현재 동작 중인 펌웨어 활성화 상태가 그대로 유지되도록 상기 펌웨어 정보 영역으로 전달하여 활성 펌웨어 정보 등의 설정을 제어하는 것이 바람직하다.Conversely, if it is determined that the firmware to be updated stored in the second area is abnormal according to the determination result, the activation of the firmware stored in the first area is maintained, that is, the active firmware activation state is maintained as it is. It is preferable to control settings such as active firmware information by transferring it to the firmware information area.

상기 제2 제어부는 상술한 과정을 통해서, 상기 광 트랜시버 모듈에 활성화될 펌웨어의 설정을 제어하게 된다. 이러한 과정을 수행한 이 후, 상기 제1 제어부는 상기 광 트랜시버 모듈에 전원이 인가되면, 상기 오류검출코드 정보에 기초하여 상기 펌웨어 정보 영역에 저장된 데이터가 정상인지 판단하는 것이 바람직하다.The second control unit controls the setting of firmware to be activated in the optical transceiver module through the above-described process. After performing this process, when power is applied to the optical transceiver module, it is preferable that the first control unit determine whether the data stored in the firmware information area is normal based on the error detection code information.

다시 말하자면, 현재 상기 펌웨어 정보 영역에는 상기 제2 제어부의 판단에 따른 활성 펌웨어 정보 등의 설정이 제어되어 있기 때문에, 상기 제1 제어부는 이러한 상기 제2 제어부의 판단 설정이 제대로 이루어졌는지 다시 한번 확인하는 것이 바람직하다.In other words, since the setting of active firmware information, etc. according to the determination of the second control unit is currently controlled in the firmware information area, the first control unit checks once again whether the determination setting of the second control unit is properly made. It is desirable.

이를 위해, 상기 제1 제어부는 상기 광 트랜시버 모듈에 전원이 인가되면, 상기 오류검출코드 정보에 기초하여 상기 펌웨어 정보 영역에 저장된 데이터가 정상인지 판단하고, 판단 결과에 따라, 상기 펌웨어 정보 영역에 저장된 데이터가 비정상이라고 판단되면 상기 활성 펌웨어 정보를 사전에 설정된 기본 정보로 리셋하여 상기 펌웨어 정보 영역에 저장된 데이터가 정상 데이터가 되도록 보정하는 것이 바람직하다.To this end, when power is applied to the optical transceiver module, the first control unit determines whether the data stored in the firmware information area is normal based on the error detection code information, and according to the determination result, the first control unit is stored in the firmware information area. When it is determined that the data is abnormal, it is preferable to reset the active firmware information to preset basic information to correct the data stored in the firmware information area to become normal data.

즉, 펌웨어는 공통 모듈과 응용 모듈로 구분하며, 펌웨어의 공통 모듈은 동일한 구조가 되도록 하는 것이 바람직하다. 상기 제1 제어부의 초기화에 관련된 기능은 항상 동일한 주소에 위치하도록 빌드(build)하는 것이 바람직하다.That is, the firmware is divided into a common module and an application module, and it is desirable that the common module of the firmware have the same structure. It is preferable to build the function related to the initialization of the first control unit so that it is always located at the same address.

상기 제1 제어부는 상기 활성 펌웨어 정보에 기초하여 활성화 대상 펌웨어를 설정하고, 다시 말하자면, 상기 제1 영역에 저장된 펌웨어를 유지할지, 또는 상기 제2 영역에 저장된 갱신할 펌웨어로 변경할지를 설정하고, 상기 오류검출코드 정보에 기초하여 활성화 대상 펌웨어의 무결성을 판단하는 것이 바람직하다.The first control unit sets an activation target firmware based on the active firmware information, that is, whether to maintain the firmware stored in the first area or change to the firmware to be updated stored in the second area, and the It is preferable to determine the integrity of the firmware to be activated based on the error detection code information.

상기 활성화 대상 펌웨어의 무결성 판단을 통해서 상기 활성화 대상 펌웨어가 정상이라고 판단되면, 활성화를 수행하여 펌웨어 유지 또는 펌웨어 변경을 수행하는 것이 바람직하다.When it is determined that the activation target firmware is normal through the integrity determination of the activation target firmware, it is preferable to perform activation to perform firmware maintenance or firmware change.

이와 달리, 상기 활성화 대상 펌웨어의 무결성 판단을 통해서 상기 활성화 대상 펌웨어가 비정상이라고 판단되면, 상기 복수의 펌웨어 저장 영역 중 활성화 대상 펌웨어 저장 영역 이외의 영역에 저장된 펌웨어의 무결성을 판단하는 것이 바람직하다. 즉, 활성화 대상 펌웨어의 설정 변경을 위해, 설정한 상기 활성화 대상 펌웨어 외의 펌웨어에 대한 무결성을 검증한 후, 정상이라고 판단된 펌웨어 중 어느 하나를 활성화 대상 펌웨어로 새롭게 설정하여, 활성화를 수행하여 펌웨어 유지 또는 펌웨어 변경을 수행하는 것이 바람직하다.In contrast, when it is determined that the activation target firmware is abnormal through the integrity determination of the activation target firmware, it is preferable to determine the integrity of the firmware stored in an area other than the activation target firmware storage area among the plurality of firmware storage areas. That is, in order to change the setting of the activation target firmware, after verifying the integrity of firmware other than the set activation target firmware, one of the firmware determined to be normal is newly set as the activation target firmware, and the firmware is maintained by performing activation. Alternatively, it is desirable to perform a firmware change.

이러한 펌웨어 전환 순서는 도 5를 참고로 하여, 펌웨어 전환 명령을 수신하고 수행 중인 펌웨어의 응용 모듈에서 최상위 레벨로 이동하게 된다. 이 후, 모든 인터럽트를 비활성화하고, 프로그램 코드의 시작 포인트를 전환될 펌웨어의 시작 주소로 변경하게 된다. 제1 제어부의 스택 포인터를 초기화한 후, 업그레이드된 펌웨어의 응용 프로그램의 시작 주소로 점프함으로써, 펌웨어 전환이 이루어지게 된다.This firmware conversion sequence is moved to the highest level in the application module of the firmware being executed after receiving the firmware conversion command with reference to FIG. 5. After that, all interrupts are disabled, and the starting point of the program code is changed to the starting address of the firmware to be converted. After initializing the stack pointer of the first control unit, the firmware is changed by jumping to the start address of the application program of the upgraded firmware.

즉, 도 6에 도시된 바와 같이, 제2 제어부에서 활성 펌웨어 영역을 확인하고, 펌웨어 기록 모드 제어 신호를 생성하여 제1 제어부로 전송하게 된다. 제1 제어부에서 모드 변경을 수행하고 난 후, 제2 제어부에서 이를 확인하고 펌웨어 갱신을 위한 데이터를 전송하는 것이 바람직하다. 제1 제어부에서 데이터의 무결성 확인 후, 펌웨어 비활성 영역에 이를 저장한 후, 제2 제어부에서의 활성 영역 변경 제어를 통해서 펌웨어 저장 영역의 동작 상태가 변경되어 펌웨어 업그레이드가 통신 장애 없이 이루어지게 된다.That is, as shown in FIG. 6, the second control unit checks the active firmware area, generates a firmware recording mode control signal, and transmits it to the first control unit. After performing the mode change in the first control unit, it is preferable that the second control unit checks the mode and transmits data for updating the firmware. After the first controller checks the integrity of the data, the firmware is stored in the non-active area, and the operation state of the firmware storage area is changed through the active area change control in the second controller, so that the firmware upgrade is performed without communication failure.

이 때, 상기 제1 제어부는 상기 복수의 펌웨어 저장 영역에 저장된 모든 펌웨어가 비정상이라고 판단되면, 부트로더(bootloader) 영역을 실행하여, 통신 모듈의 초기화 동작을 수행하는 것이 바람직하다.In this case, when it is determined that all firmware stored in the plurality of firmware storage areas is abnormal, the first control unit preferably executes a bootloader area to perform an initialization operation of the communication module.

이러한 기술적 특징을 갖는 통신 모듈들에 대한 펌웨어 갱신 시스템은 도 2에 도시된 바와 같이, 복수의 통신 모듈은 서로 광통신 케이블로 연결되는 것이 바람직하며, 네트워크 구조가 도 2에 도시된 ring type 외에도 다양한 다른 형태로도 구성될 수 있어, 네트워크 구조에 대해서 한정하는 것은 아니다.In the firmware update system for communication modules having such technical characteristics, as shown in FIG. 2, it is preferable that a plurality of communication modules are connected to each other by an optical communication cable, and the network structure is various other than the ring type shown in FIG. Since it can be configured in a form, it is not limited to the network structure.

펌웨어 갱신 여부나 갱신할 업그레이드된 펌웨어를 입력하는 통신망 관리 장치는, 상기 복수의 통신 모듈과 광통신으로 연결되고, 상기 통신 모듈을 관리하는 것이 바람직하다.It is preferable that the communication network management apparatus for inputting whether the firmware is updated or the upgraded firmware to be updated is connected to the plurality of communication modules through optical communication, and manages the communication modules.

상기 통신망 관리 장치는 상기 복수의 통신 모듈 중 펌웨어 갱신이 필요한 통신 모듈인 제1 통신 모듈에, 상기 복수의 통신 모듈 중 상기 통신망 관리 장치와 상기 제1 통신 모듈 사이에 구비된 적어도 하나의 제2 통신 모듈을 통해서 갱신할 펌웨어를 포함한 갱신 데이터를 전달하는 것이 바람직하다.The communication network management device includes at least one second communication provided between the communication network management device and the first communication module among the plurality of communication modules in a first communication module that is a communication module requiring firmware update among the plurality of communication modules. It is desirable to deliver update data including firmware to be updated through the module.

이를 통해서, 상기 제1 통신 모듈은 수신한 상기 갱신 데이터에 기초하여 상술한 과정을 통해서 펌웨어 갱신을 수행하는 것이 바람직하다.Through this, it is preferable that the first communication module performs firmware update through the above-described process based on the received update data.

도 4는 본 발명의 일 실시예에 따른 통신 모듈의 펌웨어 갱신 방법으로서, 도 4에 도시된 바와 같이, 갱신 펌웨어 저장단계(S100), 무결성 판단단계(S200), 펌웨어 영역 설정단계(S300), 정상여부 판단단계(S400), 활성 펌웨어 설정단계(S500), 무결성 판단단계(S600) 및 활성화 단계(S700)를 포함하여 구성되는 것이 바람직하다.FIG. 4 is a method for updating firmware of a communication module according to an embodiment of the present invention, as shown in FIG. 4, storing an updated firmware (S100), determining integrity (S200), setting a firmware area (S300), It is preferable to include a normal determination step (S400), an active firmware setting step (S500), an integrity determination step (S600), and an activation step (S700).

상기 갱신 펌웨어 저장단계(S100)는 상기 제2 제어부에서, 통신 모듈의 광 트랜시버 모듈에 포함되는 복수의 펌웨어 저장 영역 중 어느 하나인 제1 영역에 저장된 펌웨어에 기초하여 동작하는 상태에서, 복수의 펌웨어 저장 영역 중 다른 하나인 제2 영역에 수신한 데이터를 기초하여, 갱신할 펌웨어를 저장하는 것이 바람직하다.In the step of storing the updated firmware (S100), the second control unit operates based on firmware stored in a first area, which is one of a plurality of firmware storage areas included in the optical transceiver module of the communication module. It is preferable to store the firmware to be updated based on the received data in the second area, which is another one of the storage areas.

이 때, 상기 제2 영역은 상기 복수의 통신 모듈 중 펌웨어 갱신이 필요한 통신 모듈인 제1 통신 모듈에, 상기 복수의 통신 모듈 중 상기 통신망 관리 장치와 상기 제1 통신 모듈 사이에 구비된 적어도 하나의 제2 통신 모듈을 통해서 갱신할 펌웨어를 포함한 데이터를 전달받는 것이 바람직하다.In this case, the second area is a first communication module that is a communication module requiring firmware update among the plurality of communication modules, and at least one of the plurality of communication modules is provided between the communication network management device and the first communication module. It is desirable to receive data including firmware to be updated through the second communication module.

상기 무결성 판단단계(S200)는 상기 제2 제어부에서, 상기 갱신 펌웨어 저장단계(S100)에 의해 저장된 상기 갱신할 펌웨어의 무결성 여부를 판단하는 것이 바람직하다.In the integrity determination step (S200), it is preferable that the second control unit determines whether or not the integrity of the firmware to be updated stored in the update firmware storage step (S100).

상기 펌웨어 영역 설정단계(S300)는 상기 제2 제어부에서, 상기 무결성 판단단계(S200)의 판단 결과에 따라, 상기 갱신할 펌웨어가 무결성인 것으로 판단되면, 상기 제2 영역에 저장된 상기 갱신할 펌웨어가 활성화되도록 메모리의 펌웨어 정보 영역을 설정 제어하는 것이 바람직하다.In the firmware area setting step (S300), when the second control unit determines that the firmware to be updated is integrity, according to the determination result of the integrity determination step (S200), the firmware to be updated stored in the second area is It is preferable to set and control the firmware information area of the memory to be activated.

이 때, 본 발명의 일 실시예에 따른 통신 모듈의 펌웨어 갱신 방법은 상기 무결성 판단단계(S200)의 판단 결과에 따라, 상기 갱신할 펌웨어가 비정상인 것으로 판단되면, 상기 제1 영역에 저장된 펌웨어의 활성화 상태가 유지되도록 펌웨어 정보 영역을 설정 제어하는 것이 바람직하다.At this time, in the firmware update method of the communication module according to an embodiment of the present invention, if it is determined that the firmware to be updated is abnormal according to the determination result of the integrity determination step (S200), the firmware stored in the first area is It is preferable to set and control the firmware information area so that the active state is maintained.

상기 정상여부 판단단계(S400)는 상기 제1 제어부에서, 메모리에 저장된 오류검출코드 정보에 기초하여, 상기 펌웨어 영역 설정단계(S300)에 의해 설정 제어된 펌웨어 정보 영역에 저장된 데잉터가 정상인지 판단하는 것이 바람직하다.In the determining whether the data is normal (S400), the first control unit determines whether the data stored in the firmware information area set and controlled by the firmware area setting step (S300) is normal based on the error detection code information stored in the memory. It is desirable to do it.

상기 제1 제어부에서, 상기 정상여부 판단단계(S400)의 판단 결과에 따라, 상기 펌웨어 정보 영역에 저장된 데이터가 정상인 것으로 판단되면, 상기 활성 펌웨어 설정단계(S500)를 수행하는 것이 바람직하다.If the first control unit determines that the data stored in the firmware information area is normal according to the determination result of the normality determination step (S400), it is preferable to perform the active firmware setting step (S500).

상기 활성 펌웨어 설정단계(S500)는 저장된 활성 품웨어 정보에 기초하여 활성화 대상 펌웨어를 설정하는 것이 바람직하다.In the active firmware setting step (S500), it is preferable to set the activation target firmware based on the stored active productware information.

또한, 상기 제1 제어부에서, 상기 정상여부 판단단계(S400)의 판단 결과에 따라, 상기 펌웨어 정보 영역에 저장된 데이터가 비정상인 것으로 판단되면, 상기 활성화 펌웨어 정보를 사전에 설정된 기본 정보로 리셋하는 것이 바람직하다.In addition, when the first control unit determines that the data stored in the firmware information area is abnormal according to the determination result of the normality determination step (S400), resetting the activated firmware information to preset basic information desirable.

상기 활성 펌웨어 설정단계(S500)를 수행하고 난 후, 상기 제1 제어부에서, 상기 무결성 판단단계(S600)를 통해서, 상기 활성 펌웨어 설정단계(S500)에 의해 설정한 상기 활성화 대상 펌웨어의 무결성을 다시 한번 판단하는 것이 바람직하다.After performing the active firmware setting step (S500), in the first control unit, the integrity of the activation target firmware set by the active firmware setting step (S500) is re-established through the integrity determination step (S600). It is advisable to judge once.

상기 활성화 단계(S700)는 상기 제1 제어부에서, 상기 무결성 판단단계(S600)의 판단 결과에 따라, 상기 활성화 대상 펌웨어가 무결성인 것으로 판단되면, 활성화를 수행하는 것이 바람직하며, 이와 반대로, 상기 무결성 판단단계(S600)의 판단 결과에 따라, 상기 활성화 대상 펌웨어가 비정상인 것으로 판단되면, 활성화 대상 펌웨어 저장 영역 이외의 영역에 저장된 펌웨어의 무결성을 판단하여, 정상으로 판단된 펌웨어 중 어느 하나를 활성화 대상 펌웨어로 새롭게 설정한 후, 동작을 수행하는 것이 바람직하다.In the activation step (S700), when it is determined that the activation target firmware is integrity according to the determination result of the integrity determination step (S600) in the first control unit, it is preferable to perform activation. If it is determined that the activation target firmware is abnormal according to the determination result of the determination step (S600), the integrity of the firmware stored in an area other than the activation target firmware storage area is determined, and any one of the firmware determined as normal is activated. It is desirable to perform the operation after newly setting the firmware.

본 발명의 일 실시예에 따른 통신 모듈 및 이의 펌웨어 갱신 시스템을 통한 펌웨어 전환이 이루어질 경우, 광 트랜시버 모듈은 최적의 상태를 유지하기 위해 광소자를 제어하고 트랜시버의 주변 온도 변화에 따른 광소자의 특성 변화를 끊임없이 보정하게 된다. 광소자는 디지털 또는 아날로그 신호에 의해 제어되며, 공간의 제약으로 마이크로 컨트롤러의 IO를 통해 직접 제어하게 된다. 펌웨어 갱신으로 재시작되면, 마이크로 컨트롤러를 구성하는 레지스터는 초기화되고 펌웨어에 의해 재설정되기 때문에, 정상 동작 중 마이크로 컨트롤러의 초기화는 광소자를 제어하는 IO 포트도 초기화되어 광소자의 불안정한 상태를 유발하게 된다. 불안정한 상태를 통신 장애로 이어질 수 있기 때문에, 통신 장애를 피하기 위해서는 마이크로 컨트롤러의 포트 출력을 안정된 상태로 유지하여야 하며, 이를 위해, 펌웨어 갱신 후 신규 펌웨어로의 전환 실행시, HW 리셋이나, 펌웨어를 처음부터 시작하지 않고, 마이크로 컨트롤러가 초기화되지 않도록 하여 통신 장애의 문제점을 해소하는 것이 바람직하다.When the firmware is switched through the communication module and its firmware update system according to an embodiment of the present invention, the optical transceiver module controls the optical device to maintain an optimal state, and changes the characteristics of the optical device according to the change in the ambient temperature of the transceiver. It is constantly calibrated. The optical device is controlled by digital or analog signals, and due to space constraints, it is directly controlled through the IO of the microcontroller. When restarted by a firmware update, since the registers constituting the microcontroller are initialized and reset by the firmware, the initialization of the microcontroller during normal operation causes the IO port that controls the optical device to be initialized, causing an unstable state of the optical device. Since an unstable state can lead to communication failure, in order to avoid communication failure, the port output of the microcontroller must be kept in a stable state. To this end, when switching to a new firmware after updating the firmware, HW reset or firmware is reset for the first time. It is desirable to solve the problem of communication failure by not starting from the beginning and not initializing the microcontroller.

이상과 같이 본 발명에서는 구체적인 구성 소자 등과 같은 특정 사항들과 한정된 실시예 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것 일 뿐, 본 발명은 상기의 일 실시예에 한정되는 것이 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, in the present invention, specific matters such as specific components, etc. and limited embodiments have been described, but this is provided only to help a more general understanding of the present invention, and the present invention is limited to the above-described embodiment. It is not, and those of ordinary skill in the field to which the present invention pertains can make various modifications and variations from this description.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허 청구 범위뿐 아니라 이 특허 청구 범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention is limited to the described embodiments and should not be determined, and all things that have equivalent or equivalent modifications to the claims as well as the claims to be described later belong to the scope of the spirit of the present invention. .

Claims (11)

양방향으로 광통신 신호를 송신 또는 수신하는 광 트랜시버와, 상기 광 트랜시버를 제어하는 제1 제어부와, 메모리를 포함하는 광 트랜시버 모듈; 및
상기 광 트랜시버 모듈과 성능감시채널로 연결되어, 상기 광 트랜시버 모듈의 성능 상태를 감시하는 제2 제어부;를 포함하고,
상기 광 트랜시버 모듈의 메모리는
복수의 펌웨어 저장 영역; 활성 펌웨어 정보 및 오류검출코드 정보를 포함하는 펌웨어 정보 영역;을 포함하고,
상기 제2 제어부는
상기 광 트랜시버 모듈로부터 수신한 데이터를 이용하여, 상기 성능감시채널을 통해 상기 제1 제어부의 펌웨어를 갱신하며,
상기 광 트랜시버 모듈이 상기 제1 제어부의 상기 복수의 펌웨어 저장 영역 중 어느 하나인 제1 영역에 저장된 펌웨어에 기초하여 동작하는 상태에서,
상기 복수의 펌웨어 저장 영역 중 다른 하나인 제2 영역에 상기 광 트랜시버 모듈로부터 수신한 데이터에 기초하여 갱신할 펌웨어를 저장하고,
상기 제2 영역에 저장된 상기 갱신할 펌웨어의 무결성 여부를 판단하며,
상기 제2 영역에 저장된 상기 갱신할 펌웨어가 무결성인 것으로 판단되면, 상기 제2 영역에 저장된 상기 갱신할 펌웨어가 활성화되도록 상기 펌웨어 정보 영역을 설정하고,
상기 제2 영역에 저장된 상기 갱신할 펌웨어가 비정상인 것으로 판단되면, 상기 제1 영역에 저장된 상기 펌웨어의 활성화가 유지되도록 상기 펌웨어 정보 영역을 설정하되,
상기 복수의 펌웨어 저장 영역에 저장된 모든 펌웨어가 비정상이라고 판단되면, 부트로더(bootloader) 영역을 실행하여, 초기화 동작을 수행하는 것을 특징으로 하는 통신 모듈.
An optical transceiver module including an optical transceiver for transmitting or receiving optical communication signals in both directions, a first control unit for controlling the optical transceiver, and a memory; And
A second control unit connected to the optical transceiver module through a performance monitoring channel to monitor a performance state of the optical transceiver module; and
The memory of the optical transceiver module is
A plurality of firmware storage areas; Including; a firmware information area including active firmware information and error detection code information,
The second control unit
Using the data received from the optical transceiver module, updating the firmware of the first control unit through the performance monitoring channel,
In a state in which the optical transceiver module operates based on firmware stored in a first area, which is one of the plurality of firmware storage areas of the first control unit,
Stores firmware to be updated based on data received from the optical transceiver module in a second area, which is another one of the plurality of firmware storage areas,
Determine whether the firmware to be updated stored in the second area is integrity,
When it is determined that the firmware to be updated stored in the second area is determined to be integrity, the firmware information area is set so that the firmware to be updated stored in the second area is activated,
If it is determined that the firmware to be updated stored in the second area is abnormal, the firmware information area is set to maintain activation of the firmware stored in the first area,
When it is determined that all firmware stored in the plurality of firmware storage areas is abnormal, a bootloader area is executed to perform an initialization operation.
제 1항에 있어서,
상기 메모리는
전원 인가시, 우선 구동되는 펌웨어 매니져 프로그램 저장 영역;을 포함하는 것을 특징으로 하는 통신 모듈.
The method of claim 1,
The memory is
And a firmware manager program storage area that is first driven when power is applied.
제 2항에 있어서,
상기 제1 제어부는
상기 광 트랜시버 모듈에 전원이 인가되면, 상기 오류검출코드 정보에 기초하여 상기 펌웨어 정보 영역에 저장된 데이터가 정상인지 판단하고,
상기 펌웨어 정보 영역에 저장된 데이터가 비정상이라고 판단되면,
상기 활성 펌웨어 정보를 사전에 설정된 기본 정보로 리셋하여 상기 펌웨어 정보 영역에 저장된 데이터가 정상 데이터가 되도록 보정하는 것을 특징으로 하는 통신 모듈.
The method of claim 2,
The first control unit
When power is applied to the optical transceiver module, it is determined whether data stored in the firmware information area is normal based on the error detection code information,
If it is determined that the data stored in the firmware information area is abnormal,
And correcting the data stored in the firmware information area to become normal data by resetting the active firmware information to preset basic information.
제 3항에 있어서,
상기 제1 제어부는
상기 활성 펌웨어 정보에 기초하여 활성화 대상 펌웨어를 설정하고,
상기 오류검출코드 정보에 기초하여 활성화 대상 펌웨어의 무결성을 판단하며,
상기 활성화 대상 펌웨어가 정상이라고 판단되면, 활성화를 수행하는 것을 특징으로 하는 통신 모듈.
The method of claim 3,
The first control unit
Set the activation target firmware based on the active firmware information,
Determine the integrity of the firmware to be activated based on the error detection code information,
When it is determined that the activation target firmware is normal, activation is performed.
제 4항에 있어서,
상기 제1 제어부는
상기 활성화 대상 펌웨어가 비정상이라고 판단되면,
상기 복수의 펌웨어 저장 영역 중 활성화 대상 펌웨어 저장 영역 이외의 영역에 저장된 펌웨어의 무결성을 판단하고,
정상으로 판단된 펌웨어 중 어느 하나를 활성화 대상 펌웨어로 새롭게 설정하여, 활성화를 수행하는 것을 특징으로 하는 통신 모듈.
The method of claim 4,
The first control unit
If it is determined that the activation target firmware is abnormal,
Determine the integrity of the firmware stored in an area other than the activation target firmware storage area among the plurality of firmware storage areas,
A communication module, characterized in that performing activation by newly setting any one of the firmware determined to be normal as an activation target firmware.
삭제delete 제 1항 내지 제 5항 중 어느 한 항의 특징을 갖으며, 서로 광통신 케이블로 연결된 복수 개의 통신 모듈; 및
상기 복수의 통신 모듈과 광통신으로 연결되고, 상기 통신 모듈을 관리하는 통신망 관리 장치;를 포함하고,
상기 통신망 관리 장치는
상기 복수의 통신 모듈 중 펌웨어 갱신이 필요한 통신 모듈인 제1 통신 모듈에 상기 복수의 통신 모듈 중 상기 통신망 관리 장치와 상기 제1 통신 모듈 사이에 구비된 적어도 하나의 제2 통신 모듈을 통해서 갱신할 펌웨어를 포함한 갱신 데이터를 전달하여,
상기 제1 통신 모듈은 수신한 상기 갱신 데이터에 기초하여 펌웨어를 갱신하는 것을 특징으로 하는 통신 모듈의 펌웨어 갱신 시스템.
A plurality of communication modules having the characteristics of any one of claims 1 to 5 and connected to each other by an optical communication cable; And
Including; a communication network management device connected to the plurality of communication modules and optical communication, and managing the communication module,
The communication network management device
Firmware to be updated through at least one second communication module provided between the communication network management device and the first communication module among the plurality of communication modules in a first communication module that is a communication module requiring firmware update among the plurality of communication modules By delivering update data including,
The first communication module updates the firmware based on the received update data.
제 1항 내지 제 5항 중 어느 한 항의 특징을 갖는 통신 모듈의 펌웨어 갱신 방법에 있어서,
제2 제어부에서, 통신 모듈의 광 트랜시버 모듈에 포함되는 복수의 펌웨어 저장 영역 중 어느 하나인 제1 영역에 저장된 펌웨어에 기초하여 동작하는 상태에서, 복수의 펌웨어 저장 영역 중 다른 하나인 제2 영역에 수신한 데이터를 기초하여 갱신할 펌웨어를 저장하는 갱신 펌웨어 저장단계(S100);
제2 제어부에서, 상기 갱신 펌웨어 저장단계(S100)에 의해 저장된 상기 갱신할 펌웨어의 무결성 여부를 판단하는 무결성 판단단계(S200); 및
제2 제어부에서, 상기 무결성 판단단계(S200)의 판단 결과에 따라, 상기 갱신할 펌웨어가 무결성인 것으로 판단되면, 상기 제2 영역에 저장된 상기 갱신할 펌웨어가 활성화되도록 통신 모듈의 광 트랜시버 모듈에 포함되는 펌웨어 정보 영역을 설정하는 펌웨어 영역 설정단계(S300);
를 포함하여 구성되며,
상기 무결성 판단단계(S200)의 판단 결과에 따라, 상기 갱신할 펌웨어가 비정상인 것으로 판단되면, 상기 제1 영역에 저장된 펌웨어의 활성화 상태가 유지되도록 펌웨어 정보 영역을 설정하되,
상기 복수의 펌웨어 저장 영역에 저장된 모든 펌웨어가 비정상이라고 판단되면, 부트로더(bootloader) 영역을 실행하여, 초기화 동작을 수행하는 것을 특징으로 하는 통신 모듈의 펌웨어 갱신 방법.
In the firmware update method of a communication module having the features of any one of claims 1 to 5,
In the second control unit, while operating based on the firmware stored in the first area, which is one of the plurality of firmware storage areas included in the optical transceiver module of the communication module, the second area is the other of the plurality of firmware storage areas. An update firmware storage step (S100) of storing firmware to be updated based on the received data;
In the second control unit, the integrity determination step (S200) of determining whether the firmware to be updated stored in the updated firmware storage step (S100) is integrity; And
In the second control unit, when it is determined that the firmware to be updated is integrity according to the determination result of the integrity determination step (S200), the firmware to be updated stored in the second area is included in the optical transceiver module of the communication module to be activated. A firmware area setting step of setting a firmware information area to be used (S300);
Consists of including,
When it is determined that the firmware to be updated is abnormal according to the determination result of the integrity determination step (S200), a firmware information area is set so that the activated state of the firmware stored in the first area is maintained,
When it is determined that all firmware stored in the plurality of firmware storage areas is abnormal, a bootloader area is executed to perform an initialization operation.
제 8항에 있어서,
상기 펌웨어 영역 설정단계(S300)를 수행하고 난 후,
통신 모듈에서, 저장된 오류검출코드 정보에 기초하여, 펌웨어 정보 영역에 저장된 데이터가 정상인지 판단하는 정상여부 판단단계(S400);
통신 모듈에서, 상기 정상여부 판단단계(S400)의 판단 결과에 따라, 상기 펌웨어 정보 영역에 저장된 데이터가 정상인 것으로 판단되면, 저장된 활성 펌웨어 정보에 기초하여 활성화 대상 펌웨어를 설정하는 활성 펌웨어 설정단계(S500);
통신 모듈에서, 상기 활성 펌웨어 설정 단계(S500)에 의해 설정한 상기 활성화 대상 펌웨어의 무결성을 판단하는 무결성 판단단계(S600); 및
통신 모듈에서, 상기 무결성 판단단계(S600)의 판단 결과에 따라, 상기 활성화 대상 펌웨어가 무결성인 것으로 판단되면, 활성화를 수행하는 활성화 단계(S700);
를 더 포함하여 구성되는 것을 특징으로 하는 통신 모듈의 펌웨어 갱신 방법.
The method of claim 8,
After performing the firmware area setting step (S300),
In the communication module, based on the stored error detection code information, determining whether the data stored in the firmware information area is normal (S400);
In the communication module, if it is determined that the data stored in the firmware information area is normal according to the determination result of the normality determination step (S400), an active firmware setting step of setting an activation target firmware based on the stored active firmware information (S500 );
In the communication module, the integrity determination step (S600) of determining the integrity of the activation target firmware set by the active firmware setting step (S500); And
In the communication module, when it is determined that the firmware to be activated is integrity according to the determination result of the integrity determination step (S600), an activation step of performing activation (S700);
Firmware update method of the communication module, characterized in that the configuration further comprises a.
제 9항에 있어서,
통신 모듈에서, 상기 정상여부 판단단계(S400)의 판단 결과에 따라, 상기 펌웨어 정보 영역에 저장된 데이터가 비정상인 것으로 판단되면, 상기 활성 펌웨어 정보를 사전에 설정된 기본 정보로 리셋하는 것을 특징으로 하는 통신 모듈의 펌웨어 갱신 방법.
The method of claim 9,
In the communication module, when it is determined that the data stored in the firmware information area is abnormal according to the determination result of the normality determination step (S400), the active firmware information is reset to preset basic information. How to update the module's firmware.
제 9항에 있어서,
통신 모듈에서, 상기 무결성 판단단계(S600)의 판단 결과에 따라, 상기 활성화 대상 펌웨어가 비정상인 것으로 판단되면, 활성화 대상 펌웨어 저장 영역 이외의 영역에 저장된 펌웨어의 무결성을 판단하고, 정상으로 판단된 펌웨어 중 어느 하나를 활성화 대상 펌웨어로 새롭게 설정하는 것을 특징으로 하는 통신 모듈의 펌웨어 갱신 방법.
The method of claim 9,
In the communication module, if it is determined that the activation target firmware is abnormal according to the determination result of the integrity determination step (S600), the integrity of the firmware stored in an area other than the activation target firmware storage area is determined, and the firmware determined as normal Any one of the firmware update method of the communication module, characterized in that newly set as the activation target firmware.
KR1020200166066A 2020-12-01 2020-12-01 Communication module and firmware updating system thereof KR102246979B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200166066A KR102246979B1 (en) 2020-12-01 2020-12-01 Communication module and firmware updating system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200166066A KR102246979B1 (en) 2020-12-01 2020-12-01 Communication module and firmware updating system thereof

Publications (1)

Publication Number Publication Date
KR102246979B1 true KR102246979B1 (en) 2021-04-30

Family

ID=75740484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200166066A KR102246979B1 (en) 2020-12-01 2020-12-01 Communication module and firmware updating system thereof

Country Status (1)

Country Link
KR (1) KR102246979B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150106219A (en) * 2014-03-11 2015-09-21 삼성전자주식회사 Mobile system including firmware verification function and firmware update method thereof
US20170170905A1 (en) * 2015-12-15 2017-06-15 Sumitomo Electric Industries, Ltd. Optical transceiver and upgrading method of the same
KR101845290B1 (en) 2011-08-25 2018-04-04 엘지전자 주식회사 Method and device for updating firmware based on a device management command
US10193631B1 (en) * 2017-09-15 2019-01-29 Accelink Technologies Co., Ltd. Optical module and circuit and method to control the same
US10235307B2 (en) * 2016-08-12 2019-03-19 Sumitomo Electric Industries, Ltd. Optical transceiver and method of downloading data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101845290B1 (en) 2011-08-25 2018-04-04 엘지전자 주식회사 Method and device for updating firmware based on a device management command
KR20150106219A (en) * 2014-03-11 2015-09-21 삼성전자주식회사 Mobile system including firmware verification function and firmware update method thereof
US20170170905A1 (en) * 2015-12-15 2017-06-15 Sumitomo Electric Industries, Ltd. Optical transceiver and upgrading method of the same
US10235307B2 (en) * 2016-08-12 2019-03-19 Sumitomo Electric Industries, Ltd. Optical transceiver and method of downloading data
US10193631B1 (en) * 2017-09-15 2019-01-29 Accelink Technologies Co., Ltd. Optical module and circuit and method to control the same

Similar Documents

Publication Publication Date Title
EP1087294B1 (en) Method and apparatus of remotely updating firmware of a communication device
US10762033B2 (en) Method and apparatus for updating server firmware in server, and server
EP2328088A1 (en) Home network system, gateway device, and firmware update method
US20060159115A1 (en) Method of controlling information processing system, information processing system, direct memory access control device and program
CN112947977B (en) Online software upgrading method and system
US20120117557A1 (en) Method and system for upgrading wireless data card
US9864596B2 (en) Network switch system and operating method thereof
US20040068330A1 (en) Methods and apparatus for remote programming of field programmable gate arrays
CN103106083A (en) Loading method and loading device of firmware
CN114594970A (en) DSP software remote upgrading system and method
CN102081526B (en) Basic input/output system architecture
JP2007282148A (en) Pon system and automatic download method
KR102246979B1 (en) Communication module and firmware updating system thereof
EP3539004A1 (en) Mobile device external controller module
WO2019011007A1 (en) Communication method and device, and unmanned aerial vehicle
EP3923139B1 (en) Electronic control device and method for using non-volatile memory
KR20130011186A (en) A method for downloading firmware of module for plc
CN110609695A (en) Optical module firmware upgrading method and system and optical module
US20110268256A1 (en) Communication Apparatus, Programmable Device Incorporated in the Apparatus, and Method of Controlling Program Writing of the Device
JP2006318394A (en) Management method for uninterruptible power supply device in network system
JPH11249886A (en) Electronic equipment
KR101648402B1 (en) Application processing system
JP2005092603A (en) Transmission device
KR102333448B1 (en) Apparatus and method for updating software of guided weapon embedded devices
KR20200112137A (en) Apparatus and method for managing firmware of Programmable Logic Controller system, and the PLC system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant