KR20130112261A - Firmware upgrade method for traffic signal controller - Google Patents

Firmware upgrade method for traffic signal controller Download PDF

Info

Publication number
KR20130112261A
KR20130112261A KR1020120034502A KR20120034502A KR20130112261A KR 20130112261 A KR20130112261 A KR 20130112261A KR 1020120034502 A KR1020120034502 A KR 1020120034502A KR 20120034502 A KR20120034502 A KR 20120034502A KR 20130112261 A KR20130112261 A KR 20130112261A
Authority
KR
South Korea
Prior art keywords
control unit
index number
firmware
sub
main control
Prior art date
Application number
KR1020120034502A
Other languages
Korean (ko)
Other versions
KR101350211B1 (en
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 KR1020120034502A priority Critical patent/KR101350211B1/en
Publication of KR20130112261A publication Critical patent/KR20130112261A/en
Application granted granted Critical
Publication of KR101350211B1 publication Critical patent/KR101350211B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G99/00Subject matter not provided for in other groups of this subclass

Abstract

PURPOSE: A firmware upgrade method of a traffic signal controller is provided to make a sub control unit successively upgrade a firmware segment file by generating/transmitting the next index number by a main control unit when time-out is generated. CONSTITUTION: A file size capable of being transmitted per period is calculated through a period and a communication speed and a firmware upgrade file stored for upgrading the firmware is divided into a segment files based on the file size. A terminal generates an index number given to the segment files by the period, matches the generated index number to result information within the period and successively transmits to a server. The segment file matches the index number to the order and transmits the index number to the terminal. [Reference numerals] (10) F/W upgrade instruction (instruct by an operator's command); (101) Main control unit; (103) Sub control unit; (105) Traffic command center; (11,12) F/W upgrade instruction (Module ID: SCU); (13) Response to the F/W upgrade instruction; (14) Situation information request; (15) Response to the situation information request N=0 + F/W ID + F/W Datagram lndex (N); (16) Situation information request + F/W Datagram lndex (N); (17,BB) F/W Datagram Download (Module ID: SCU); (18) Next index number reception determination; (19) F/W Datagram Download response F/W Datagram lndex (Ns); (20) Response to the situation information request N=N+1 (increase before a SCU response); (21) Situation information request + F/W Datagram (padded to be 0 as the final value); (22) Completion of the response to the situation information request; (23,24) CRC32 inspection; (25) F/W upgrade instruction response (Error=CRC Error); (26) F/W upgrade instruction response (Error=CRC Error); (AA) N=Ns + F/W ID + F/W Datagram Index (N) when there is no Datagram (Ns); (CC) F/W Datagram Download response F/W Datagram lndex (0:completion); (DD,EE) Restart

Description

교통신호 제어기의 펌웨어 업그레이드 방법{Firmware Upgrade method For Traffic Signal Controller}Firmware Upgrade method For Traffic Signal Controller

본 발명은 교통신호 제어기의 원격 펌웨어 업그레이드 방법에 관한 것으로서, 상세하게로는 교통신호 제어기의 주제어부가 부제어부의 펌웨어 업그레이드 시 부제어부로부터 인덱스번호를 전송받지 못하는 타임아웃(Time Out)이 발생되면 자체적으로 다음 인덱스번호를 생성하여 초 단위 상황정보에 매칭시켜 센터로 전송함으로써 센터로부터 펌웨어 업그레이드 오류를 제거하여 원격으로 교통신호 제어기의 펌웨어를 오류없이 정확하게 업그레이드 할 수 있는 교통신호 제어기의 펌웨어 업그레이드 방법을 제공하기 위한 것이다.The present invention relates to a remote firmware upgrade method of a traffic signal controller. Specifically, when the main control part of the traffic signal controller does not receive an index number from the sub-controller when upgrading the sub-controller's firmware, it automatically By generating the next index number to match the situation information in seconds and transmits to the center by removing the firmware upgrade error from the center to provide a firmware upgrade method of the traffic signal controller that can remotely upgrade the firmware of the traffic signal controller without error It is to.

교통신호 제어기는 일반적으로 도로 및 교차로 등에 설치된 신호등들의 현시를 제어하며, 초 단위로 각 신호등들의 현시정보가 포함되는 상황정보를 생성하여 생성된 상황정보를 교통관제센터로 전송하고, 교통관제센터는 교통신호 제어기들로부터 전송받은 상황정보를 기반으로 도로 및 교차로 등의 상황을 모니터링 할 수 있게 된다.The traffic signal controller generally controls the appearance of traffic lights installed on roads and intersections, and transmits the generated situation information to the traffic control center by generating situation information including the current information of each traffic light in seconds. It is possible to monitor the situation of roads and intersections based on the situation information received from the traffic signal controllers.

또한 교통신호 제어기는 내부적으로 검지기 정보를 처리하고 초 단위로 상황정보를 교통관제센터로 전송하며 교통관제센터로부터 전송받은 데이터를 연산 처리하는 주제어부(MCU:Main Control Unit)와, 주제어부로부터 현시정보를 전송받아 신호등들의 스위치를 ON/OFF 하는 부제어부(SCU:Signal Control Unit)로 이루어지고, 이때 주제어부(MCU) 및 부제어부(SCU)들 각각에는 펌웨어(Firm Ware)가 설치된다. 이때 펌웨어는 소프트웨어와 하드웨어를 연결시켜주는 매개체로서 각각의 메인보드(Mainboard)에 엑세스(Access)되도록 한다.In addition, the traffic signal controller processes the detector information internally, transmits the status information to the traffic control center in seconds, and operates a main control unit (MCU) that calculates and processes the data received from the traffic control center, and displays it from the main control unit. The control unit (SCU: Signal Control Unit (SCU) for turning on / off the switch of the traffic lights received by receiving the information, and at this time, the firmware (Firm Ware) is installed in each of the main control unit (MCU) and the sub-control unit (SCU). At this time, the firmware is a medium that connects the software and the hardware to allow access to each mainboard.

또한 교통신호 제어기는 통상적으로 데이터 전송률이 2400bps인 모뎀통신을 통해 교통관제센터와 데이터 통신을 수행하고 있다. In addition, the traffic signal controller typically performs data communication with the traffic control center through a modem communication with a data rate of 2400bps.

이와 같이 구성되는 교통신호 제어기의 주제어부 및 부제어부 각각의 펌웨어를 업그레이드(Upgrade)하기 위해서는 교통신호 제어기는 주에저부가 교통관제센터로부터 펌웨어 업그레이드 파일을 다운로드 받아야 하나, 2400bps의 낮은 데이터 전송률을 갖는 모뎀통신을 통해 큰 용량의 펌웨어 업그레이드 파일을 다운로드 받는 경우 다운로드 동안에는 낮은 데이터 전송률로 인해 상황정보를 교통정보센터로 전송할 수 없게 되고, 이에 따라 교통관제센터는 실시간 도로 모니터링을 수행할 수 없게 된다. 이때 펌웨어 업그레이드 파일은 대략 200 ~ 300 킬로바이트의 크기를 갖기 때문에 2400bps 저속 통신환경에서는 전 대역을 모두 사용한다고 하더라도 다운로드를 완료하기 까지 대략 15분에서 20분정도의 시간이 소요된다.In order to upgrade the firmware of each of the main controller and the sub-control unit of the traffic signal controller configured as described above, the traffic signal controller must download the firmware upgrade file from the traffic control center. However, the modem has a low data rate of 2400 bps. In case of downloading a large firmware upgrade file through communication, due to the low data rate, the situation information cannot be transmitted to the traffic information center during the download, and thus the traffic control center cannot perform real-time road monitoring. In this case, the firmware upgrade file has a size of about 200 to 300 kilobytes, so it takes about 15 to 20 minutes to complete the download even if the entire bandwidth is used in the 2400bps low speed communication environment.

이러한 이유 때문에 교통신호 제어기의 펌웨어 업그레이드는 통상적으로 작업자가 직접 현장을 방문한 후 펌웨어 업그레이드 파일이 기 다운로드된 ROM을 기 설치된 ROM과 직접 교체하는 방식으로 이루어지고 있다.For this reason, the firmware upgrade of the traffic signal controller is typically performed by a worker visiting the site directly and replacing the downloaded ROM with a previously installed ROM.

그러나 이러한 인력을 통한 펌웨어 업그레이드 방법은 교차로 및 도로 곳곳에 설치된 교통신호 제어기들을 작업자가 일일이 방문하여 교체작업을 수행해야 하기 때문에 인력비용 및 수개월의 작업시간이 소요되는 문제점이 발생된다.However, this method of firmware upgrade through manpower has a problem in that manpower cost and months of work time are required because the worker has to visit the traffic signal controllers installed at intersections and roads to perform replacement work.

이러한 문제점을 극복하기 위하여 본 발명의 출원인은 공개특허 제10-2011-0120430호(명칭:초 단위 신호 관제를 유지하면서 신호기의 펌웨어를 업그레이드 하는 방법)를 출원하였다. In order to overcome this problem, the applicant of the present invention has applied for the Patent Publication No. 10-2011-0120430 (name: how to upgrade the firmware of the signal while maintaining the signal control in seconds).

도 1은 공개특허 제10-2011-0120430호(명칭:초 단위 신호 관제를 유지하면서 신호기의 펌웨어를 업그레이드 하는 방법)에 기재된 펌웨어 업그레이드 과정을 나타내는 플로차트이다.FIG. 1 is a flowchart illustrating a firmware upgrade process described in Korean Patent Laid-Open Publication No. 10-2011-0120430 (name: A method of upgrading the firmware of a signal while maintaining signal control in seconds).

도 1에서 도시된 바와 같이 주제어부(MCU)(101)는 센터(105)로부터 전송받은 Module ID가 부제어부(SCU)(103)일 때 식별 인덱스번호 '0'을 생성하여 생성된 인덱스번호 '0'을 수집된 상황정보에 매칭시켜 센터(105)로 전송하고(110), 센터(105)는 전송받은 인덱스번호 '0'과 펌웨어 업그레이드 조각파일, 상황정보 요청데이터들을 매칭시켜 주제어부(MCU)(101)로 전송한다(S120).As shown in FIG. 1, the main control unit (MCU) 101 generates an identification index number '0' when the Module ID received from the center 105 is the sub-control unit (SCU) 103. 0 'is matched to the collected situation information and transmitted to the center 105 (110), and the center 105 matches the received index number' 0 ', the firmware upgrade fragment file, and the context information request data. In step S120).

주제어부(MCU)(101)는 센터(105)로부터 전송받은 인덱스번호 '0'에 매칭된 펌웨어 업그레이드 조각파일을 부제어부(SCU)로 다운로드 시키고(S130), 부제어부(SCU)는 다음 인덱스번호 '1'을 생성하여 주제어부(MCU)로 전송한다(S140).The main control unit (MCU) 101 downloads the firmware upgrade fragment file matching the index number '0' received from the center 105 to the sub-control unit (SCU) (S130), and the sub-control unit (SCU) next index number. '1' is generated and transmitted to the main control unit (MCU) (S140).

주제어부(MCU)는 상황정보를 수집하며, 부제어부(SCU)로부터 전송받은 다음 인덱스번호 '1'을 수집된 상황정보에 매칭하여 상황정보 응답데이터를 센터(105)로 전송한다(S150).The main control unit (MCU) collects the situation information, and transmits the situation information response data to the center 105 by matching the index number '1' received from the sub-control unit (SCU) with the collected situation information (S150).

센터(105)는 전송받은 다음 인덱스번호 '1'과 펌웨어 업그레이드 조각파일, 상황정보 요청데이터를 매칭시켜 주제어부(MCU)로 전송한다(S160).The center 105 transmits the index number '1', the firmware upgrade fragment file, and the status information request data to the main control unit (MCU) after receiving the transmission (S160).

이러한 펌웨어 업그레이드 방법(이하, 종래의 펌웨어 업그레이드 방법이라고 하기로 함)은 교통신호 제어기가 저속 통신환경에서 상황정보를 누락없이 초 단위로 센터로 전송하면서도 대용량의 펌웨어를 업그레이드 시킬 수 있게 된다. 이키고, 이에 따라 기존에 수개월 소요되던 수천개의 교통신호 제어기들의 펌웨어 업그레이드 기간이 1시간 이내에 모두 처리될 수 있다.Such a firmware upgrade method (hereinafter, referred to as a conventional firmware upgrade method) allows a traffic signal controller to upgrade a large amount of firmware while transmitting situation information to the center in seconds without omission in a low speed communication environment. As a result, the firmware upgrade period of thousands of traffic signal controllers, which previously took several months, can be handled in less than an hour.

그러나 종래의 펌웨어 업그레이드 방법은 부제어부(103)가 다른 데이터 통신 및 프로세서 등의 이유로 기 설정된 기간(t) 내에 다음 인덱스번호 'N+1'이 매칭된 응답데이터를 주제어부(101)로 전송하지 못하는 타임아웃(Time Out)이 발생되는 경우 펌웨어 업그레이드 조각파일의 다운에 오류가 발생되는 일이 빈번하게 발생된다. However, in the conventional firmware upgrade method, the sub-control unit 103 does not transmit the response data whose next index number 'N + 1' is matched to the main control unit 101 within a preset period t for reasons of different data communication and a processor. In the event of a timeout that fails, errors often occur when the firmware upgrade fragment file is down.

도 2는 도 1의 주제어부에서 타임아웃(Time Out)이 발생될 때의 동작을 나타내는 플로차트이다.FIG. 2 is a flowchart illustrating an operation when a time out occurs in the main controller of FIG. 1.

도 2에 도시된 바와 같이 주제어부(101)는 센터(105)로부터 "n"번째 펌웨어 업그레이드 조각파일(이하, 펌웨어 조각파일(n)이라고 하기로 한다)과 인덱스번호 'N-1', 상황정보 요청데이터를 전송받으면(200) 전송받은 펌웨어 조각파일(n) 및 인덱스번호 'N-1'을 부제어부(103)로 전송한다. 이때 부제어부(103)는 펌웨어 조각파일(n)을 다운로드 받으며, 펌웨어 조각파일(n)을 n번째 파일로 인식하여 저장한다(S210).As shown in FIG. 2, the main control unit 101 has the " n " th firmware upgrade fragment file (hereinafter, referred to as firmware fragment file n) and the index number 'N-1' from the center 105. When receiving the information request data (200) transmits the received firmware fragment file (n) and the index number 'N-1' to the sub-control unit 103. At this time, the sub-control unit 103 downloads the firmware fragment file (n), and recognizes and stores the firmware fragment file (n) as the n-th file (S210).

이때 타임아웃(215)이 발생되면 주제어부(101)는 부제어부(103)로부터 응답데이터를 전송받지 못한 상태(다음 인덱스번호 'N'을 전송받지 못한 상태)에서 이전에 부제어부(103)로부터 전송받았던 인덱스번호 'N-1'을 다시 상황정보에 매칭시켜 센터(105)로 전송하게 된다(S220).At this time, when the timeout 215 occurs, the main control unit 101 does not receive the response data from the sub-control unit 103 (the state of not receiving the next index number 'N') from the sub-control unit 103 before. The received index number 'N-1' is matched to the situation information again and transmitted to the center 105 (S220).

또한 주제어부(101)는 타임아웃이 해제되면(225) 부제어부(103)로부터 다운로드가 완료되었다는 응답데이터와, 다음 인덱스번호 'N'을 전송받는다(S230).In addition, when the timeout is released (225), the main control unit 101 receives the response data that the download is completed from the sub-control unit 103 and the next index number 'N' (S230).

센터(105)는 전송받은 인덱스번호 'N-1'에 펌웨어 조각파일(n+1)을 매칭시켜 상황정보 요청데이터를 주제어부(101)로 전송한다(240).The center 105 matches the firmware fragment file n + 1 to the received index number 'N-1' and transmits the situation information request data to the main control unit 101 (240).

주제어부(101)는 센터(105)로부터 전송받은 펌웨어 조각파일(n+1)을 부제어부(103)로 전송하고, 부제어부(103)는 펌웨어 조각파일(n+1)을 다운로드 받는다. 이때 부제어부(103)는 n번째 파일로 단계 220(S220)을 통해 기 저장되어 있던 펌웨어 조각파일(n) 대신 현재 전송받은 펌웨어 조각파일(n+1)을 인식한다(S250).The main controller 101 transmits the firmware fragment file n + 1 received from the center 105 to the sub-control unit 103, and the sub-control unit 103 downloads the firmware fragment file n + 1. At this time, the sub-control unit 103 recognizes the currently received firmware fragment file (n + 1) instead of the firmware fragment file (n) previously stored through the step 220 (S220) as the n-th file (S250).

이와 같이 종래의 펌웨어 업그레이드 방법은 타임아웃이 발생되는 경우 특히 부제어부(103)의 펌웨어 업그레이드 시 펌웨어 조각파일(n)이 펌웨어 조각파일(n+1)에 의해 덮어져 누락되는 오류가 발생하는 문제점이 빈번하게 발생된다.As described above, in the conventional firmware upgrade method, when a timeout occurs, an error in which the firmware fragment file n is overwritten by the firmware fragment file n + 1, is missed, especially when the sub-control unit 103 upgrades the firmware. This happens frequently.

본 발명은 이러한 문제를 해결하기 위한 것으로, 주제어부가 타임아웃이 발생하여 부제어부로부터 다음 인덱스번호 'N+1'을 전송받지 못할 때 자체적으로 다음 인덱스번호 'Ns'(이때 Ns=N+1)를 생성하여 센터로 전송함으로써 펌웨어 조각파일을 순서에 따라 순차적으로 정확하게 다운로드 받을 수 있는 펌웨어 업그레이드 방법을 제공하기 위한 것이다.The present invention is to solve such a problem, when the main control unit does not receive the next index number 'N + 1' from the sub-control unit due to a timeout occurs (Ns = N + 1) It is to provide a firmware upgrade method that can be correctly and sequentially download the firmware fragment files in order by generating and transmitting to the center.

상기 과제를 해결하기 위한 본 발명의 해결수단은 기 설치된 펌웨어(Firm Ware)를 통해 특정연산을 수행하며 데이터 통신이 지원되는 단말기와, 상기 단말기에 통신망으로 연결되어 상기 단말기로부터 상기 특정연산에 대한 결과정보를 주기적으로 전송받는 서버로 구성된 상태에서, 상기 서버를 통해 상기 단말기의 펌웨어를 원격으로 업그레이드 하는 펌웨어 업그레이드 방법에 있어서: 상기 주기 및 통신 속도를 통해 상기 주기 당 전송 가능한 파일크기를 산출하며, 상기 펌웨어를 업그레이드하기 위하여 기 저장된 펌웨어 업그레이드 파일을 산출된 파일크기를 기준으로 복수개의 조각파일들로 분할하는 상기 서버의 분할단계; 상기 단말기는 상기 분할단계에서 분할되는 상기 조각파일들 각각에 부여되는 인덱스번호를 상기 주기 당 하나씩 생성하며, 상기 주기 내 결과정보에 생성된 상기 인덱스번호를 매칭시켜 상기 서버로 순차적으로 전송하는 생성 및 전송단계; 상기 생성 및 전송단계를 통해 전송받은 인덱스번호를 순서에 따른 조각파일에 매칭시켜 상기 단말기로 전송하는 조각파일 전송단계를 포함하고, 상기 서버 및 상기 단말기들은 상기 조각파일들 모두가 상기 단말기로 전송될 때까지 상기 생성 및 전송단계 및 상기 조각파일 전송단계를 반복적으로 수행하는 것이다.The solution of the present invention for solving the above problem is to perform a specific operation through the pre-installed firmware (Firm Ware) and a terminal that supports data communication, the result of the specific operation from the terminal connected to the communication network by the terminal A firmware upgrade method for remotely upgrading the firmware of the terminal through the server in a state configured as a server receiving information periodically, the file size per cycle is calculated based on the cycle and the communication speed, and Dividing the previously divided firmware upgrade file into a plurality of fragment files based on the calculated file size to upgrade the firmware; Generating, by the terminal, index numbers assigned to each of the fragment files divided in the partitioning step, one for each period, sequentially matching the index numbers generated in the result information within the period, and sequentially transmitting the index numbers to the server; Transmitting step; And a fragment file transmission step of matching the index number received through the generating and transmitting step with the fragment file in order and transmitting the fragment file to the terminal. The server and the terminal may transmit all the fragment files to the terminal. Until the generation and transmission step and the fragment file transmission step repeatedly.

또한 본 발명에서 상기 단말기는 상기 펌웨어가 설치되어 상기 특정연산을 수행하는 부제어부와, 상기 부제어부를 제어하여 상기 결과정보를 수집하며 상기 서버와 데이터를 송수신하는 부제어부를 포함하고, 상기 생성 및 전송단계는 상기 주제어부가 상기 결과정보를 수집하는 수집단계; 상기 부제어부가 상기 인덱스번호를 생성하는 제1 생성단계; 상기 주제어부가 상기 부제어부로부터 상기 생성단계에서 생성된 인덱스번호를 수신받는 수신단계; 상기 주제어부가 상기 주기 동안 상기 부제어부로부터 새로운 인덱스번호를 전송받았는지를 판단하는 판단단계; 상기 주제어부는 상기 판단단계를 통해 상기 주기 동안 상기 부제어부로부터 상기 새로운 인덱스번호를 전송받지 않았다고 판단하면 새로운 인덱스번호를 자체적으로 생성하는 제2 생성단계; 상기 주제어부는 상기 수집단계에서 수집된 결과정보에 상기 제2 생성단계에서 생성된 새로운 인덱스번호를 매칭시켜 상기 서버로 전송하는 제2 전송단계를 더 포함하는 것이 바람직하다.In the present invention, the terminal includes a sub-control unit for installing the firmware and performing the specific operation, and a sub-control unit for collecting the result information by controlling the sub-control unit and transmitting and receiving data with the server, the generation and The transmitting step includes a collecting step in which the main control unit collects the result information; A first generation step of generating, by the sub-controller, the index number; A receiving step of receiving, by the main control unit, the index number generated in the generating step from the sub-control unit; A determination step of determining whether the main control unit receives a new index number from the sub-control unit during the period; A second generation step of generating, by the main control unit, a new index number itself if it is determined that the new index number has not been received from the sub-control unit during the period through the determination step; The main control unit may further include a second transmission step of matching the new index number generated in the second generation step with the result information collected in the collection step and transmitting the new index number to the server.

또한 본 발명에서 상기 조각파일 전송단계 이후에 수행되며, 상기 주제어부는 이전 주기에 상기 서버로 전송한 인덱스번호에 매칭되는 조각파일을 수신하였는지를 판단하는 제2 판단단계와, 상기 주제어부는 상기 제2 판단단계에서 상기 이전 주기에 전송한 인덱스번호에 매칭되는 조각파일을 수신하지 않았다고 판단할 때 결과정보 전송 시 상기 이전 주기에 전송한 인덱스번호를 상기 결과정보에 매칭시켜 전송하는 제3 전송단계를 더 포함하는 것이 바람직하다.In addition, the present invention is performed after the fragment file transmission step, the second determination step of determining whether the main control unit receives a fragment file matching the index number transmitted to the server in the previous period, and the main control unit the second determination And determining that a fragment file matching the index number transmitted in the previous period is not received in the step, and transmitting the result by matching the index number transmitted in the previous period to the result information when transmitting the result information. It is desirable to.

또한 본 발명에서 상기 통신속도는 4800bps 미만인 것이 바람직하다.In addition, in the present invention, the communication speed is preferably less than 4800bps.

또한 본 발명에서 상기 단말기는 교통신호 제어기이고, 상기 결과정보는 신호등들의 현시정보인 것이 바람직하다.In the present invention, the terminal is a traffic signal controller, the result information is preferably the appearance information of traffic lights.

상기 과제와 해결수단을 갖는 본 발명에 따르면 주제어부가 타임아웃이 발생할 때 자체적으로 다음 인덱스번호(Ns)를 생성하여 센터로 전송함으로써 부제어부는 순차적으로 펌웨어 조각파일을 누락 없이 업그레이드 할 수 있게 된다.According to the present invention having the above problems and solutions, the sub-controller can upgrade the firmware fragment file without missing by sequentially generating the next index number (Ns) by itself when the main control unit timeout occurs.

또한 본 발명에 의하면 저속 통신환경에서도 초 단위 상황정보를 센터로 전송하면서도 교통신호 제어기의 펌웨어를 원격으로 업그레이드함으로써 인력비용 및 작업시간이 현저하게 절감된다.In addition, according to the present invention, even in a low-speed communication environment, the personnel cost and work time are significantly reduced by remotely upgrading the firmware of the traffic signal controller while transmitting the situation information to the center for a second.

도 1은 공개특허 제10-2011-0120430호(명칭:초 단위 신호 관제를 유지하면서 신호기의 펌웨어를 업그레이드 하는 방법)에 기재된 펌웨어 업그레이드 과정을 나타내는 플로차트이다.
도 2는 도 1의 주제어부에서 타임아웃(Time Out)이 발생될 때의 동작을 나타내는 플로차트이다.
도 3은 본 발명의 일실시예인 펌웨어 업그레이드 시스템을 나타내는 플로차트이다.
FIG. 1 is a flowchart illustrating a firmware upgrade process described in Korean Patent Laid-Open Publication No. 10-2011-0120430 (name: A method of upgrading the firmware of a signal while maintaining signal control in seconds).
FIG. 2 is a flowchart illustrating an operation when a time out occurs in the main controller of FIG. 1.
3 is a flowchart showing a firmware upgrade system according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 설명한다.Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.

도 3은 본 발명의 일실시예인 펌웨어 업그레이드 시스템을 나타내는 플로차트이다.3 is a flowchart showing a firmware upgrade system according to an embodiment of the present invention.

도 3의 교통신호 제어기(1)는 신호등들의 현시를 제어하며, 신호등들의 현시정보를 포함하는 상황정보를 주기적(초 단위)로 생성하여 교통관제센터로 전송하는 컨트롤러(Controller)이다. The traffic signal controller 1 of FIG. 3 is a controller that controls the appearance of traffic lights and generates the situation information including the information of the traffic lights periodically (in seconds) and transmits it to the traffic control center.

또한 교통신호 제어기는 내부적으로 검지기 정보를 처리하고 초 단위로 상황정보를 교통관제센터로 전송하며 교통관제센터로부터 전송받은 데이터를 연산 처리하는 주제어부(MCU:Main Control Unit)(3)와, 주제어부로부터 현시정보를 전송받아 신호등들의 스위치를 ON/OFF 하는 부제어부(SCU:Signal Control Unit)(5)로 이루어지고, 부제어부(3) 및 주제어부(5)들 각각에는 펌웨어가 설치된다.In addition, the traffic signal controller processes the detector information internally, transmits the status information to the traffic control center in seconds, and operates a main control unit (MCU) (3) that computes and processes the data received from the traffic control center, A sub-control unit (SCU: Signal Control Unit) (5) for receiving the appearance information from the unit to turn on / off the switch of the traffic lights, and the sub-control unit (3) and the main control unit (5) are each installed firmware.

교통관제센터(7)는 주기적으로 교통신호 제어기(1)로 상황정보를 요청하며, 수신된 상황정보를 기반으로 도로 상황을 실시간으로 모니터링 하는 서버이다.The traffic control center 7 periodically requests status information to the traffic signal controller 1 and is a server for monitoring road conditions in real time based on the received situation information.

도 3에 도시된 바와 같이 교통관제센터(7)는 주제어부(3) 및 부제어부(5)의 펌웨어 업그레이드 필요 시 주제어부(3)로 펌웨어 업그레이드 지시데이터를 주제어부(3)로 전송한다(10). 이때 교통관제센터(7)가 생성한 펌웨어 업그레이드 지시데이터는 다음의 표 1과 같이 구성되고, 펌웨어 업그레이드 지시데이터는 제조사를 식별할 수 있는 제조사코드, 업그레이드 대상이 주제어부(3)인지 또는 부제어부(5)인지를 식별할 수 있는 해당장치코드 및 제조사에서 정한 펌웨어 모듈번호가 포함되는 펌웨어 모듈 ID(F/W Moudule ID)와, 펌웨어 크기(FSIZE), 파일명(FNAME), 버전(VERSION), 재시작방법(REBOOT), CRC32값(CRC32)으로 구성된다.As illustrated in FIG. 3, the traffic control center 7 transmits firmware upgrade instruction data to the main controller 3 when the firmware upgrade of the main controller 3 and the sub-control unit 5 is required. 10). In this case, the firmware upgrade instruction data generated by the traffic control center 7 is configured as shown in Table 1 below, and the firmware upgrade instruction data includes a manufacturer code for identifying a manufacturer, whether the upgrade target is the main control unit 3, or an auxiliary control unit. (5) Firmware module ID (F / W Moudule ID) including applicable device code and firmware module number specified by the manufacturer, firmware size (FSIZE), file name (FNAME), version (VERSION), It consists of restart method (REBOOT) and CRC32 value (CRC32).

Figure pat00001
Figure pat00001

주제어부(3)는 교통관제센터(7)로부터 펌웨어 업그레이드 지시데이터를 전송받으면 전송받은 펌웨어 업그레이드 지시데이터를 통해 업그레이드 대상이 주제어부(3)인지 또는 부제어부(5)인지를 판단한다. 이때 주제어부(3)는 만약 업그레이드 대상이 주제어부(3)일 경우 교통관제센터(7)로 응답(Ack) 데이터를 전송하며(13), 만약 업그레이드 대상이 부제어부(5)일 경우 부제어부(5)로 펌웨어 업그레이드 지시데이터를 전송한다(11).When the main controller 3 receives the firmware upgrade instruction data from the traffic control center 7, the main controller 3 determines whether the upgrade target is the main controller 3 or the sub-control unit 5 based on the received firmware upgrade instruction data. At this time, the main control unit 3 transmits Ack data to the traffic control center 7 if the upgrade target is the main control unit 13, and if the upgrade target is the sub-control unit 5, the sub-control unit The firmware upgrade instruction data is transmitted to (5) (11).

또한 부제어부(5)는 주제어부(3)로부터 펌웨어 업그레이드 지시데이터를 전송받으면 응답데이터를 주제어부(3)로 전송하고(12), 주제어부(3)는 부제어부(5)로부터 전송받은 응답데이터를 교통관제센터(7)로 전송한다(13).In addition, when the sub-control unit 5 receives the firmware upgrade instruction data from the main control unit 3, the sub-control unit 5 transmits the response data to the main control unit 3 (12), and the main control unit 3 transmits the response received from the sub-control unit 5. The data is transmitted to the traffic control center 7 (13).

또한 교통관제센터(7)는 기 설정된 주기(초 단위)에 따라 주제어부(3)로 상황정보 요청데이터를 전송한다(14).In addition, the traffic control center 7 transmits the situation information request data to the main control unit 3 according to a preset period (second unit) (14).

주제어부(3)는 교통관제센터(7)로부터 상황정보 요청데이터를 전송받으면 우선 상황정보를 수집하며, 인덱스번호'0'을 생성한다. 또한 주제어부(3)는 수집된 상황정보에 업그레이드 대상인 펌웨어의 ID와 생성된 인덱스번호'0'을 매칭시켜 교통관제센터(7)로 전송한다(15).When the main control unit 3 receives the situation information request data from the traffic control center 7, it collects the situation information first and generates the index number '0'. In addition, the main control unit 3 matches the ID of the firmware to be upgraded with the generated index number '0' to the traffic control center 7 according to the collected situation information (15).

교통관제센터(7)는 전송받은 상황정보의 펌웨어 ID 및 인덱스번호'0'을 통해 펌웨어 업그레이드를 인식하며, 상황정보에 포함된 펌웨어 ID에 대응되는 기 저장된 펌웨어 업그레이드 파일로부터 옵셋 0부터 기 설정된 크기(최대값:240바이트)로 데이터를 분할한 후 주기적으로 전송되는 상황정보 요청데이터 전송 시 분할된 첫 번째 펌웨어 업그레이드 파일(이하, 펌웨어 조각파일(1)이라고 하기로 함)과 주제어부(3)로부터 전송받은 인덱스번호'0'을 매칭시켜 주제어부(3)로 전송한다(16).The traffic control center 7 recognizes the firmware upgrade through the firmware ID and the index number '0' of the received situation information, and preset size from offset 0 from the previously stored firmware upgrade file corresponding to the firmware ID included in the situation information. (Maximum value: 240 bytes) The first firmware upgrade file (hereinafter referred to as firmware fragment file (1)) and main controller (3) which are divided when the situation information request data is periodically transmitted after the data is divided The index number '0' received from the controller is matched and transmitted to the main control unit 3 (16).

이때 펌웨어 조각파일(n)은 표 2와 같은 형식으로 구성된다. At this time, the firmware fragment file (n) is configured in the format shown in Table 2.

Figure pat00002
Figure pat00002

주제어부(3)는 교통관제센터(7)로부터 상황정보 요청데이터를 전송받으면 상황정보를 수집한 후 만약 펌웨어 ID가 부제어부(5)이면 전송받은 첫 번째 조각파일인 펌웨어 조각파일(1)을 부제어부(5)로 전송하며(17), 만약 펌웨어 ID가 주제어부(3) 자신이면 펌웨어 조각파일(1)을 다운로드 한다.When the main control unit 3 receives the situation information request data from the traffic control center 7 and collects the situation information, if the firmware ID is the sub-control unit 5, the main control unit 3 receives the firmware fragment file 1 which is the first fragment file received. It transmits to the sub-control unit 5 (17), and if the firmware ID is the main control unit 3 itself, it downloads the firmware fragment file (1).

주제어부(3)는 수집된 상황정보를 교통관제센터(7)로 전송할 때 주기 내에 부제어부(5)로부터 다음 인덱스번호'1'을 수신하였는지를 판단한다(18).The main control unit 3 determines whether the next index number '1' is received from the sub-control unit 5 within the period when the collected situation information is transmitted to the traffic control center 7 (18).

부제어부(5)는 주제어부(3)로부터 펌웨어 조각파일(1)을 다운로드 받으면 다음 인덱스번호'1'을 생성한 후 첫 번째 조각파일(1)을 다운로드 하였다는 응답데이터에 생성된 인덱스번호'1'을 매칭시켜 주제어부(3)로 전송한다(19). When the sub-control unit 5 downloads the firmware fragment file 1 from the main control unit 3, the sub-control unit 5 generates the next index number '1' and then generates the index number '1' in the response data indicating that the first fragment file 1 has been downloaded. 1 'is matched and transmitted to the main controller 3 (19).

또한 주제어부(3)는 만약 주기(초 단위) 내에 부제어부(5)로부터 다음 인덱스번호'1'을 전송받지 못한 상황이면 타임아웃이 발생되었다고 판단하여 다음 인덱스번호'1'을 자체적으로 생성하여 생성된 다음 인덱스번호'1'을 수집된 상황정보 데이터에 첨가하여 교통관제센터(7)로 전송한다(20). 상기와 같이 본 발명의 일실시예는 주제어부(3)가 타임아웃으로 인해 부제어부(5)로부터 응답데이터 및 다음 인덱스번호를 전송받지 못할 때 자체적으로 다음 인덱스번호를 생성함으로써 종래의 펌웨어 업그레이드 방법에서 펌웨어 업그레이드 파일 다운로드 시 조각파일이 누락되는 오류를 개선할 수 있다.Also, if the main controller 3 does not receive the next index number '1' from the sub-control unit 5 within a period (second unit), it determines that a timeout has occurred and generates the next index number '1' by itself. The generated index number '1' is added to the collected situation information data and transmitted to the traffic control center 7 (20). As described above, the exemplary embodiment of the present invention generates the next index number by itself when the main control unit 3 does not receive the response data and the next index number from the sub-control unit 5 due to timeout. This can improve the error of missing fragment files when downloading firmware upgrade files.

교통관제센터(7), 주제어부(3) 및 부제어부(5)는 펌웨어 조각파일 전체가 다운로드 될 때까지 이러한 과정을 반복한다.The traffic control center 7, the main control unit 3, and the sub control unit 5 repeat this process until the entire firmware fragment file is downloaded.

또한 교통관제센터(7)는 마지막 인덱스에서 파일의 남은 부분을 정해진 크기가 되도록 00h값으로 PADDING하여 상황정보요청에 첨부하고(21), 주제어부(3)는 파일다운로드가 완료되면 펌웨어 ID와 인덱스값을 0으로 하여 상황정보를 센터에 전송한다(22).In addition, the traffic control center 7 adds the remaining portion of the file from the last index to 00h value so as to have a predetermined size and attaches it to the status information request (21). The situation information is transmitted to the center with the value 0 (22).

주제어부(3) 및 부제어부(5)는 다운로드된 파일에 대한 CRC검사(23, 24)를 수행하고, CRC검사결과가 정상이 아닌 경우, CRC ERROR를 보고하기 위해 센터에 펌웨어 업그레이드 지시에 대한 응답을 한번 더 전송(25, 26)한다.The main control unit 3 and the sub-control unit 5 perform CRC checks 23 and 24 on the downloaded file. If the CRC check result is not normal, the main control unit 3 and the sub-control unit 5 perform a firmware upgrade instruction to the center to report a CRC ERROR. Send another response (25, 26).

1: 교통신호 제어기 3:주제어부
5:부제어부 7:교통관제센터
1: Traffic signal controller 3: Main control unit
5: sub-control unit 7: traffic control center

Claims (5)

기 설치된 펌웨어(Firm Ware)를 통해 특정연산을 수행하며 데이터 통신이 지원되는 단말기와, 상기 단말기에 통신망으로 연결되어 상기 단말기로부터 상기 특정연산에 대한 결과정보를 주기적으로 전송받는 서버로 구성된 상태에서, 상기 서버를 통해 상기 단말기의 펌웨어를 원격으로 업그레이드 하는 펌웨어 업그레이드 방법에 있어서:
상기 주기 및 통신 속도를 통해 상기 주기 당 전송 가능한 파일크기를 산출하며, 상기 펌웨어를 업그레이드하기 위하여 기 저장된 펌웨어 업그레이드 파일을 산출된 파일크기를 기준으로 복수개의 조각파일들로 분할하는 상기 서버의 분할단계;
상기 단말기는 상기 분할단계에서 분할되는 상기 조각파일들 각각에 부여되는 인덱스번호를 상기 주기 당 하나씩 생성하며, 상기 주기 내 결과정보에 생성된 상기 인덱스번호를 매칭시켜 상기 서버로 순차적으로 전송하는 생성 및 전송단계;
상기 생성 및 전송단계를 통해 전송받은 인덱스번호를 순서에 따른 조각파일에 매칭시켜 상기 단말기로 전송하는 조각파일 전송단계를 포함하고,
상기 서버 및 상기 단말기들은 상기 조각파일들 모두가 상기 단말기로 전송될 때까지 상기 생성 및 전송단계 및 상기 조각파일 전송단계를 반복적으로 수행하는 것을 특징으로 하는 펌웨어 업그레이드 방법.
In a state in which the terminal performs a specific operation through the firmware (Firm Ware) and the server that supports data communication, and a server connected to the terminal via a communication network to receive the result information for the specific operation periodically from the terminal, In the firmware upgrade method for remotely upgrading the firmware of the terminal via the server:
A partitioning step of calculating the file size that can be transmitted per cycle through the period and the communication speed, and dividing the previously stored firmware upgrade file into a plurality of fragment files based on the calculated file size to upgrade the firmware; ;
Generating, by the terminal, index numbers assigned to each of the fragment files divided in the partitioning step, one for each period, sequentially matching the index numbers generated in the result information within the period, and sequentially transmitting the index numbers to the server; Transmitting step;
And a fragment file transmission step of matching the index number received through the generation and transmission step to fragment files in order and transmitting the fragment file to the terminal.
The server and the terminal is a firmware upgrade method, characterized in that for repeatedly performing the generation and transmission step and the fragment file transmission step until all of the fragment files are transmitted to the terminal.
청구항 1에서, 상기 단말기는 상기 펌웨어가 설치되어 상기 특정연산을 수행하는 부제어부와, 상기 부제어부를 제어하여 상기 결과정보를 수집하며 상기 서버와 데이터를 송수신하는 부제어부를 포함하고,
상기 생성 및 전송단계는
상기 주제어부가 상기 결과정보를 수집하는 수집단계;
상기 부제어부가 상기 인덱스번호를 생성하는 제1 생성단계;
상기 주제어부가 상기 부제어부로부터 상기 생성단계에서 생성된 인덱스번호를 수신받는 수신단계;
상기 주제어부가 상기 주기 동안 상기 부제어부로부터 새로운 인덱스번호를 전송받았는지를 판단하는 판단단계;
상기 주제어부는 상기 판단단계를 통해 상기 주기 동안 상기 부제어부로부터 상기 새로운 인덱스번호를 전송받지 않았다고 판단하면 새로운 인덱스번호를 자체적으로 생성하는 제2 생성단계;
상기 주제어부는 상기 수집단계에서 수집된 결과정보에 상기 제2 생성단계에서 생성된 새로운 인덱스번호를 매칭시켜 상기 서버로 전송하는 제2 전송단계를 더 포함하는 것을 특징으로 하는 펌웨어 업그레이드 방법.
The apparatus of claim 1, wherein the terminal includes a sub-control unit for installing the firmware and performing the specific operation, a sub-control unit for collecting the result information by controlling the sub-control unit, and transmitting and receiving data with the server.
The generating and transmitting step
A collection step of collecting, by the main control unit, the result information;
A first generation step of generating, by the sub-controller, the index number;
A receiving step of receiving, by the main control unit, the index number generated in the generating step from the sub-control unit;
A determination step of determining whether the main control unit receives a new index number from the sub-control unit during the period;
A second generation step of generating, by the main control unit, a new index number itself if it is determined that the new index number has not been received from the sub-control unit during the period through the determination step;
The main control unit further includes a second transmission step of matching the new index number generated in the second generation step with the result information collected in the collection step and transmitting the new index number to the server.
청구항 2에서, 상기 조각파일 전송단계 이후에 수행되며, 상기 주제어부는 이전 주기에 상기 서버로 전송한 인덱스번호에 매칭되는 조각파일을 수신하였는지를 판단하는 제2 판단단계와, 상기 주제어부는 상기 제2 판단단계에서 상기 이전 주기에 전송한 인덱스번호에 매칭되는 조각파일을 수신하지 않았다고 판단할 때 결과정보 전송 시 상기 이전 주기에 전송한 인덱스번호를 상기 결과정보에 매칭시켜 전송하는 제3 전송단계를 더 포함하는 것을 특징으로 하는 펌웨어 업그레이드 방법.The method of claim 2, wherein the fragment control is performed after the fragment file transmission step, wherein the main control unit determines whether the fragment file matching the index number transmitted to the server in the previous period is received, and the main control unit determines the second determination. And determining that a fragment file matching the index number transmitted in the previous period is not received in the step, and transmitting the result by matching the index number transmitted in the previous period to the result information when transmitting the result information. Firmware upgrade method characterized in that. 청구항 1 내지 3에서, 상기 통신속도는 4800bps 미만인 것을 특징으로 하는 펌웨어 업그레이드 방법.The firmware upgrade method of claim 1, wherein the communication speed is less than 4800bps. 청구항 4에서, 상기 단말기는 교통신호 제어기이고, 상기 결과정보는 신호등들의 현시정보인 것을 특징으로 하는 펌웨어 업그레이드 방법.5. The method of claim 4, wherein the terminal is a traffic signal controller, and the result information is the appearance information of traffic lights.
KR1020120034502A 2012-04-03 2012-04-03 Firmware Upgrade method For Traffic Signal Controller KR101350211B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120034502A KR101350211B1 (en) 2012-04-03 2012-04-03 Firmware Upgrade method For Traffic Signal Controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120034502A KR101350211B1 (en) 2012-04-03 2012-04-03 Firmware Upgrade method For Traffic Signal Controller

Publications (2)

Publication Number Publication Date
KR20130112261A true KR20130112261A (en) 2013-10-14
KR101350211B1 KR101350211B1 (en) 2014-01-24

Family

ID=49633293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120034502A KR101350211B1 (en) 2012-04-03 2012-04-03 Firmware Upgrade method For Traffic Signal Controller

Country Status (1)

Country Link
KR (1) KR101350211B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683930A (en) * 2018-12-17 2019-04-26 珠海格力电器股份有限公司 Air-conditioning equipment programme upgrade method, device, system and household appliance

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100927446B1 (en) * 2007-11-28 2009-11-19 웹싱크 주식회사 Transaction unit firmware upgrade method of mobile communication terminal and firmware upgrade system using same
KR101037922B1 (en) * 2009-02-09 2011-05-31 이상근 A download data broadcasting method for the traffic information system by dividing and sending data and the system
KR20110120430A (en) * 2010-04-29 2011-11-04 고은주 Firmware upgrade procedure for traffic signal controller

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683930A (en) * 2018-12-17 2019-04-26 珠海格力电器股份有限公司 Air-conditioning equipment programme upgrade method, device, system and household appliance
CN109683930B (en) * 2018-12-17 2020-07-24 珠海格力电器股份有限公司 Air conditioning equipment program upgrading method, device and system and household electrical appliance

Also Published As

Publication number Publication date
KR101350211B1 (en) 2014-01-24

Similar Documents

Publication Publication Date Title
KR100957900B1 (en) Remote updating system for elevator control programs
US10203949B2 (en) System and method for providing software updates
CN108279919A (en) A kind of New-energy electric vehicle remotely updating program method
CN110943750B (en) Train remote wireless communication device and method
CN109039779B (en) Equipment upgrading method, data transmission unit, controller local area network equipment and network
CN101841536B (en) Remote automatic upgrading method for digital monitoring equipment
US9471300B2 (en) Wireless firmware upgrades to an alarm security panel
EP2456257A1 (en) Method and system for upgrading wireless data card
CN107809324A (en) A kind of OBD equipment and its upgrade method
CN101621411B (en) Method and system for remotely updating microcontrollers
CN105450720B (en) GPS data acquisition and transmission method and device
CN101241364A (en) Local controller, remote management controller and method for automatically updating the local controller of an air conditioner system
CN112104501A (en) Remote software upgrading method for agricultural machinery subsoiling Internet of things terminal equipment
CN110427202A (en) A kind of system and method for car networking TBOX end FOTA
CN110262820A (en) Method, apparatus, system and storage medium based on MQTT protocol realization OTA upgrading
EP3249531B1 (en) Control means, in-vehicle program rewriting device equipped with same, and in-vehicle program rewriting method
CN111998510B (en) Air conditioner and control method thereof
CN113064612A (en) System program upgrading method, system and storage medium for electric bed with communication unit
CN109857435A (en) Equipment room diffusion type method for upgrading software under a kind of line
CN109960518A (en) Automobile method for upgrading software
JP2004310439A (en) Environment monitoring system, data logger to be used for the same system, and program therefor
KR101350211B1 (en) Firmware Upgrade method For Traffic Signal Controller
CN102158462A (en) Method for repairing remote diagnosis by using 2nd Generation (2G) or 3rd Generation (3G) module
CN115934130A (en) ECU (electronic control Unit) upgrading method, device, equipment and medium
CN109889368A (en) A kind of GPRS remote upgrade method based on STM32 controller

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170320

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171222

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 6