JP6964681B2 - Update system and update device - Google Patents

Update system and update device Download PDF

Info

Publication number
JP6964681B2
JP6964681B2 JP2019550045A JP2019550045A JP6964681B2 JP 6964681 B2 JP6964681 B2 JP 6964681B2 JP 2019550045 A JP2019550045 A JP 2019550045A JP 2019550045 A JP2019550045 A JP 2019550045A JP 6964681 B2 JP6964681 B2 JP 6964681B2
Authority
JP
Japan
Prior art keywords
update
divided data
data
update program
updated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019550045A
Other languages
Japanese (ja)
Other versions
JPWO2019087295A1 (en
Inventor
和樹 ▲濱▼田
光洋 杉村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019087295A1 publication Critical patent/JPWO2019087295A1/en
Application granted granted Critical
Publication of JP6964681B2 publication Critical patent/JP6964681B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ファームウェアを更新する更新システムおよび更新装置に関するものである。 The present invention relates to update system and update equipment to update the firmware.

従来、組み込み機器において、機器に不具合が発生した際の修正パッチの適用、あるいは機能の追加を目的として、ファームウェアの更新が行われている。最近では、ファームウェアを更新する方法として、様々な方法が提案され実用化されている。 Conventionally, in embedded devices, firmware has been updated for the purpose of applying a correction patch when a problem occurs in the device or adding a function. Recently, various methods have been proposed and put into practical use as a method for updating firmware.

ファームウェアの更新方法として、例えば、USB(Universal Serial Bus)メモリを用いた方法がある。この方法では、更新用プログラムが予め格納されたUSBメモリを組み込み機器に接続し、更新用プログラムを組み込み機器に読み込ませることにより、ファームウェアが更新される。 As a method of updating the firmware, for example, there is a method using a USB (Universal Serial Bus) memory. In this method, the firmware is updated by connecting the USB memory in which the update program is stored in advance to the embedded device and loading the update program into the embedded device.

また、ファームウェアの更新方法として、例えば、PC(Personal Computer)または専用機器を用いた方法がある。この方法では、組み込み機器に予め搭載されたシリアルインターフェースなどの有線インターフェースにPCまたは専用機器を接続し、更新用プログラムを組み込み機器に読み込ませることにより、ファームウェアが更新される。 Further, as a method of updating the firmware, for example, there is a method using a PC (Personal Computer) or a dedicated device. In this method, the firmware is updated by connecting a PC or a dedicated device to a wired interface such as a serial interface pre-installed in the embedded device and loading the update program into the embedded device.

さらに、ファームウェアの更新方法として、ネットワークを用いた方法がある(例えば、特許文献1参照)。特許文献1に記載の方法において、更新プログラムは、予めファイルサーバに格納され保持されている。第1の伝送装置は、ネットワークを介して更新用プログラムをファイルサーバから取得する。そして、第1の伝送装置は、取得した更新用プログラムを、当該ネットワークとは異なるネットワークを介して更新対象となる第2の伝送装置に送信する。これにより、組み込み機器の遠隔更新が行われる。 Further, as a method of updating the firmware, there is a method using a network (see, for example, Patent Document 1). In the method described in Patent Document 1, the update program is stored and held in the file server in advance. The first transmission device acquires the update program from the file server via the network. Then, the first transmission device transmits the acquired update program to the second transmission device to be updated via a network different from the network. As a result, the embedded device is remotely updated.

国際公開第2011/027457号International Publication No. 2011/027457

しかしながら、特許文献1に記載のファームウェア更新方法において、ネットワークの通信品質が低い場合、更新プログラムの一部のビット化けまたはビット抜け等により、更新プログラムが正常に受信されないことがある。更新プログラムが正常に受信されないと、ファームウェアを更新することができない。そのため、ファームウェアの更新の失敗を防ぐことを目的として、更新プログラムには、一般に、更新プログラムを正常に受信したか否かを判断するための誤り訂正符号または誤り検出符号が付与されている。 However, in the firmware update method described in Patent Document 1, if the communication quality of the network is low, the update program may not be received normally due to some garbled bits or missing bits of the update program. If the update program is not received normally, the firmware cannot be updated. Therefore, for the purpose of preventing the failure of the firmware update, the update program is generally provided with an error correction code or an error detection code for determining whether or not the update program has been normally received.

しかしながら、通常、誤り訂正符号または誤り検出符号は、更新プログラム全体に対して付与されているため、誤り検出処理は、更新プログラム全体の受信完了後に行われる。
すなわち、更新プログラムに誤りが検出された場合、更新プログラム全体の送受信を再度行う必要があるので、ファームウェアの更新処理に時間がかかる。
However, since the error correction code or the error detection code is usually given to the entire update program, the error detection process is performed after the reception of the entire update program is completed.
That is, when an error is detected in the update program, it is necessary to send and receive the entire update program again, so that it takes time to update the firmware.

本発明は、上記従来の技術における課題に鑑みてなされたものであって、ネットワークの通信品質が低い場合でも、短時間でファームウェアを更新することができる更新システムおよび更新装置を提供することを目的とする。 The present invention was made in view of the problems in the conventional art, even if the communication quality of the network is low, to provide an updated system and update equipment can update the firmware in a short time The purpose.

本発明の更新システムは、更新装置および被更新装置を備え、前記被更新装置のファームウェアを前記更新装置から送信されたファームウェアの更新プログラムに更新する更新システムであって、前記更新装置は、前記更新プログラムを取得する更新プログラム取得部と、前記更新プログラムを機能毎に複数の分割データに分割するデータ分割部と、前記分割データを記憶する記憶部と、記憶された複数の前記分割データを前記被更新装置に対して無線通信によって送信する送信制御部とを有し、前記被更新装置は、前記更新装置から複数の前記分割データを取得する分割データ取得部と、受信した複数の前記分割データを結合して前記更新プログラムを生成するデータ結合部とを有し、前記記憶部は、前記更新プログラムを取得した際に、前記更新プログラムのバージョン情報を記憶するとともに、複数の前記分割データを送信した際に、それぞれの複数の前記分割データのバージョン情報を記憶し、前記更新プログラム取得部は、記憶された前記更新プログラムの前記バージョン情報と、過去の更新プログラムの前記バージョン情報とを比較し、前記被更新装置に対して取得した前記更新プログラムを送信するか否かを判断し、前記データ分割部は、取得した前記更新プログラムのバージョンが過去の前記更新プログラムのバージョンよりも新しいと判断された場合に、取得した前記更新プログラムを複数の前記分割データに分割するとともに、複数の前記分割データに対してバージョン情報を付与し、それぞれの前記分割データの前記バージョン情報と、前記被更新装置に対して直近に送信された分割データのバージョン情報とを比較し、前記送信制御部は、バージョンが新しいと判断された分割データを前記被更新装置に対して送信するものである。 The update system of the present invention includes an update device and an update device, and is an update system that updates the firmware of the update device to the update program of the firmware transmitted from the update device, and the update device is the update. An update program acquisition unit that acquires a program, a data division unit that divides the update program into a plurality of divided data for each function , a storage unit that stores the divided data, and a plurality of stored divided data. It has a transmission control unit that transmits to the update device by wireless communication, and the updated device has a divided data acquisition unit that acquires a plurality of the divided data from the updated device, and a plurality of received divided data. It has a data combining unit that combines to generate the update program, and when the update program is acquired , the storage unit stores the version information of the update program and transmits a plurality of the divided data. At that time, the version information of each of the plurality of divided data is stored, and the update program acquisition unit compares the stored version information of the update program with the version information of the past update program, and the update program acquisition unit compares the stored version information with the version information of the past update program. When it is determined whether or not to transmit the acquired update program to the device to be updated, and the data division unit determines that the acquired version of the update program is newer than the past version of the update program. In addition to dividing the acquired update program into a plurality of the divided data, version information is added to the plurality of divided data, and the version information of each of the divided data and the updated device are provided. The transmission control unit transmits the divided data determined to be newer to the updated device by comparing the version information of the divided data transmitted most recently.

本発明によれば、ファームウェアの更新プログラムを複数の分割データに分割して被更新装置に送信することにより、ネットワークの通信品質が低い場合でも、短時間でファームウェアを更新することができる。 According to the present invention, by dividing the firmware update program into a plurality of divided data and transmitting the firmware update program to the device to be updated, the firmware can be updated in a short time even when the communication quality of the network is low.

実施の形態1に係る更新システムの構成の一例を示すブロック図である。It is a block diagram which shows an example of the structure of the update system which concerns on Embodiment 1. FIG. 図1の更新装置の構成の一例を示すハードウェアブロック図である。It is a hardware block diagram which shows an example of the structure of the update device of FIG. 図2の制御装置の構成の一例を示す機能ブロック図である。It is a functional block diagram which shows an example of the structure of the control device of FIG. 図1の被更新装置の構成の一例を示すハードウェアブロック図である。It is a hardware block diagram which shows an example of the structure of the device to be updated of FIG. 図4の制御装置の構成の一例を示す機能ブロック図である。It is a functional block diagram which shows an example of the structure of the control device of FIG. 更新装置によって外部機器から受信される更新プログラムのデータ構造の一例を示す概略図である。It is the schematic which shows an example of the data structure of the update program received from the external device by the update device. 実施の形態1による更新プログラムの分割について説明するための概略図である。It is the schematic for demonstrating the division of the update program by Embodiment 1. FIG. 実施の形態1に係る更新装置における更新プログラムの送信処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the transmission processing of the update program in the update apparatus which concerns on Embodiment 1. FIG. 実施の形態1に係る被更新装置における更新プログラムの受信処理の流れの一例を示すフローチャートである。It is a flowchart which shows an example of the flow of the reception process of the update program in the updated apparatus which concerns on Embodiment 1. FIG. 実施の形態2における更新プログラムの分割について説明するための概略図である。It is the schematic for demonstrating the division of the update program in Embodiment 2. FIG.

実施の形態1.
以下、本発明の実施の形態1に係る更新システムについて説明する。図1は、本実施の形態1に係る更新システム100の構成の一例を示すブロック図である。図1に示すように、更新システム100は、更新装置1および被更新装置2で構成されている。更新装置1と被更新装置2とは、近距離無線通信により互いに通信を行う。
Embodiment 1.
Hereinafter, the update system according to the first embodiment of the present invention will be described. FIG. 1 is a block diagram showing an example of the configuration of the update system 100 according to the first embodiment. As shown in FIG. 1, the update system 100 includes an update device 1 and an update device 2. The updating device 1 and the updated device 2 communicate with each other by short-range wireless communication.

更新装置1は、Web等を介してPC等の外部機器から被更新装置2におけるファームウェアの更新プログラムを取得し、近距離無線通信により、被更新装置2に対して更新プログラムを送信する。更新装置1として、例えば、近距離無線通信機能を有するスマートフォンまたはタブレット等の汎用機器が適用される。 The update device 1 acquires a firmware update program for the updated device 2 from an external device such as a PC via the Web or the like, and transmits the update program to the updated device 2 by short-range wireless communication. As the update device 1, for example, a general-purpose device such as a smartphone or tablet having a short-range wireless communication function is applied.

被更新装置2は、近距離無線通信により、更新装置1から送信された更新プログラムを受信し、現在のファームウェアを更新する。被更新装置2として、例えば、空気調和装置のリモートコントローラ等の特定の機能を実現することを目的とした組み込み機器が適用される。 The updated device 2 receives the update program transmitted from the update device 1 by short-range wireless communication, and updates the current firmware. As the device to be updated 2, for example, an embedded device intended to realize a specific function such as a remote controller of an air conditioner is applied.

なお、近距離無線通信とは、数メートルから数百メートル程度の距離での通信を行う規格の総称である。近距離無線通信は、低消費電力かつ低速という特徴を有しており、一般には低通信品質である。近距離無線通信として、例えば、Bluetooth(登録商標、以下省略する)、Zigbee(登録商標)、EnOcean(登録商標)、NFC(Near Field Communication)、および特定小電力無線などが挙げられる。なお、近距離無線通信は、上記の一例により限定されるものではない。 In addition, short-range wireless communication is a general term for standards that perform communication at a distance of several meters to several hundred meters. Short-range wireless communication is characterized by low power consumption and low speed, and generally has low communication quality. Examples of short-range wireless communication include Bluetooth (registered trademark, hereinafter omitted), Zigbee (registered trademark), EnOcean (registered trademark), NFC (Near Field Communication), and specified low-power radio. The short-range wireless communication is not limited to the above example.

[更新システム100の構成]
(更新装置1)
図2は、図1の更新装置1の構成の一例を示すハードウェアブロック図である。図2に示すように、更新装置1は、制御装置10、接続インターフェース(I/F)11、第1の通信インターフェース(I/F)12、記憶部13、表示部14および操作部15を備えている。
[Configuration of update system 100]
(Update device 1)
FIG. 2 is a hardware block diagram showing an example of the configuration of the update device 1 of FIG. As shown in FIG. 2, the update device 1 includes a control device 10, a connection interface (I / F) 11, a first communication interface (I / F) 12, a storage unit 13, a display unit 14, and an operation unit 15. ing.

接続I/F11は、有線あるいは無線によってPC等の外部機器と接続され、制御装置10の命令に基づき、外部機器との間で行われる通信を制御する。特に、本実施の形態1において、接続I/F11は、外部機器から、被更新装置2におけるファームウェアの更新プログラムを受信し、受信した更新プログラムを制御装置10に供給する。 The connection I / F 11 is connected to an external device such as a PC by wire or wirelessly, and controls communication performed with the external device based on a command of the control device 10. In particular, in the first embodiment, the connection I / F 11 receives the firmware update program of the updated device 2 from the external device, and supplies the received update program to the control device 10.

第1の通信I/F12は、Bluetooth等の近距離無線によって被更新装置2と接続され、制御装置10の命令に基づき、被更新装置2との間で行われる通信を制御する。特に、本実施の形態1において、第1の通信I/F12は、更新プログラムが分割された分割データを被更新装置2に送信する。 The first communication I / F 12 is connected to the updated device 2 by a short-range radio such as Bluetooth, and controls the communication performed with the updated device 2 based on the instruction of the control device 10. In particular, in the first embodiment, the first communication I / F 12 transmits the divided data in which the update program is divided to the updated device 2.

記憶部13は、各種のデータまたは制御装置10で実行されるプログラム等を保持する。記憶部13は、制御装置10の制御により、更新プログラムの書き込みおよび読み出しを行う。 The storage unit 13 holds various data, a program executed by the control device 10, and the like. The storage unit 13 writes and reads the update program under the control of the control device 10.

表示部14は、例えばLCD(Liquid Crystal Display)または有機EL(Electro Luminescence)ディスプレイ等によって構成されている。なお、表示部14として、例えば、LCDまたは有機ELディスプレイ上にタッチセンサを有するタッチパネルが積層されたタッチパネルディスプレイが用いられてもよい。 The display unit 14 is composed of, for example, an LCD (Liquid Crystal Display) or an organic EL (Electroluminescence) display. As the display unit 14, for example, a touch panel display in which a touch panel having a touch sensor is laminated on an LCD or an organic EL display may be used.

操作部15は、更新装置1を操作するために用いられる各種のキー等が設けられ、各キー等に対する操作に応じた操作信号を出力する。また、上述したように、表示部14がタッチパネルディスプレイである場合には、各種キーがソフトウェアキーとして表示部14に表示されるようにしてもよい。 The operation unit 15 is provided with various keys and the like used for operating the update device 1, and outputs an operation signal corresponding to the operation for each key and the like. Further, as described above, when the display unit 14 is a touch panel display, various keys may be displayed on the display unit 14 as software keys.

制御装置10は、外部機器から受け取った被更新装置2におけるファームウェアの更新プログラムを分割し、被更新装置2に対して送信する処理を行う。制御装置10は、マイクロコンピュータなどの演算装置上でソフトウェアを実行することにより各種機能が実現され、もしくは各種機能を実現する回路デバイスなどのハードウェア等で構成されている。 The control device 10 divides the firmware update program in the updated device 2 received from the external device, and performs a process of transmitting the firmware update program to the updated device 2. The control device 10 is composed of hardware such as a circuit device that realizes various functions by executing software on an arithmetic unit such as a microcomputer.

図3は、図2の制御装置10の構成の一例を示す機能ブロック図である。図3に示すように、制御装置10は、更新プログラム取得部101、データ分割部102、送信制御部103および分割データ記憶部104を備えている。 FIG. 3 is a functional block diagram showing an example of the configuration of the control device 10 of FIG. As shown in FIG. 3, the control device 10 includes an update program acquisition unit 101, a data division unit 102, a transmission control unit 103, and a division data storage unit 104.

更新プログラム取得部101は、被更新装置2におけるファームウェアの更新プログラムを、接続I/F11を介して取得し、データ分割部102に供給する。データ分割部102は、受け取った更新プログラムを、設定データ量単位で複数に分割し、複数の分割データを生成し、分割データ記憶部104に記憶する。データ分割部102は、例えば更新プログラムを分割するための分割アプリケーションであり、分割アプリケーションが有する分割機能によって更新プログラムの分割処理を行う。 The update program acquisition unit 101 acquires the firmware update program in the device to be updated 2 via the connection I / F 11 and supplies it to the data division unit 102. The data division unit 102 divides the received update program into a plurality of units in units of set data amounts, generates a plurality of division data, and stores the update program in the division data storage unit 104. The data division unit 102 is, for example, a division application for dividing the update program, and divides the update program by the division function of the division application.

分割データ記憶部104には、更新プログラムが分割された分割データが記憶される。なお、分割データは、上述したように、データ分割部102で分割される場合以外に、外部機器で分割データを生成し、分割データが外部機器から直接取得される場合がある。この場合、取得した分割データが分割データ記憶部104に記憶される。分割データを直接取得する場合については、後述する。 The divided data storage unit 104 stores the divided data in which the update program is divided. As described above, the divided data may be generated by an external device and the divided data may be directly acquired from the external device, in addition to the case where the divided data is divided by the data dividing unit 102. In this case, the acquired divided data is stored in the divided data storage unit 104. The case of directly acquiring the divided data will be described later.

送信制御部103は、被更新装置2から受信した受信応答の内容に基づき、被更新装置2に対して送信すべき分割データを決定する。送信制御部103は、データ分割部102で生成された複数の分割データを、第1の通信I/F12を介して被更新装置2に送信する。受信応答は、被更新装置2で分割データを正常に受信したか否かを示す情報である。 The transmission control unit 103 determines the divided data to be transmitted to the updated device 2 based on the content of the reception response received from the updated device 2. The transmission control unit 103 transmits the plurality of divided data generated by the data division unit 102 to the updated device 2 via the first communication I / F12. The reception response is information indicating whether or not the divided data is normally received by the updated device 2.

送信制御部103は、ある分割データを送信した後、当該分割データに対応する受信応答を被更新装置2から受信し、受信応答が分割データを正常に受信したことを示す場合、当該分割データの次の分割データを被更新装置2に対して送信する。一方、送信制御部103は、受信した当該分割データに対応する受信応答が分割データの受信異常を示す場合、当該分割データを被更新装置2に対して再送する。 After transmitting a certain divided data, the transmission control unit 103 receives a reception response corresponding to the divided data from the updated device 2, and when the received response indicates that the divided data has been normally received, the transmission control unit 103 receives the divided data. The next divided data is transmitted to the updated device 2. On the other hand, when the reception response corresponding to the received divided data indicates a reception abnormality of the divided data, the transmission control unit 103 retransmits the divided data to the updated device 2.

(被更新装置2)
図4は、図1の被更新装置2の構成の一例を示すハードウェアブロック図である。図4に示すように、被更新装置2は、制御装置20、第2の通信インターフェース(I/F)21、記憶部22、表示部23および操作部24を備えている。
(Updated device 2)
FIG. 4 is a hardware block diagram showing an example of the configuration of the device to be updated 2 of FIG. As shown in FIG. 4, the updated device 2 includes a control device 20, a second communication interface (I / F) 21, a storage unit 22, a display unit 23, and an operation unit 24.

第2の通信I/F21は、Bluetooth等の近距離無線によって更新装置1と接続され、制御装置20の命令に基づき、更新装置1との間で行われる通信を制御する。特に、本実施の形態1において、第2の通信I/F21は、更新プログラムが分割された分割データを更新装置1から受信する。 The second communication I / F 21 is connected to the update device 1 by a short-range radio such as Bluetooth, and controls the communication performed with the update device 1 based on the instruction of the control device 20. In particular, in the first embodiment, the second communication I / F 21 receives the divided data in which the update program is divided from the update device 1.

記憶部22は、各種のデータまたは制御装置20で実行されるプログラム等を保持する。記憶部22は、制御装置20の制御により、更新プログラムの書き込みおよび読み出しを行う。 The storage unit 22 holds various data, programs executed by the control device 20, and the like. The storage unit 22 writes and reads the update program under the control of the control device 20.

表示部23は、例えばLCDまたは有機ELディスプレイ等によって構成されている。なお、表示部23として、例えばタッチパネルディスプレイが用いられてもよい。また、表示部23は、必ずしも設けられる必要はない。操作部24は、更新装置1を操作するために用いられる各種のキー等が設けられ、各キー等に対する操作に応じた操作信号を出力する。また、上述したように、操作部24がタッチパネルディスプレイである場合には、各種キーがソフトウェアキーとして表示部23に表示されるようにしてもよい。 The display unit 23 is composed of, for example, an LCD or an organic EL display. A touch panel display may be used as the display unit 23, for example. Further, the display unit 23 does not necessarily have to be provided. The operation unit 24 is provided with various keys and the like used for operating the update device 1, and outputs an operation signal corresponding to the operation for each key and the like. Further, as described above, when the operation unit 24 is a touch panel display, various keys may be displayed on the display unit 23 as software keys.

制御装置20は、被更新装置2におけるファームウェアの更新プログラムを構成するデータを更新装置1から受信し、受信したデータに基づき、更新プログラムを生成する。制御装置20は、マイクロコンピュータなどの演算装置上でソフトウェアを実行することにより各種機能が実現され、もしくは各種機能を実現する回路デバイスなどのハードウェア等で構成されている。 The control device 20 receives data constituting the firmware update program in the updated device 2 from the update device 1, and generates an update program based on the received data. The control device 20 is composed of hardware such as a circuit device that realizes various functions by executing software on an arithmetic unit such as a microcomputer.

図5は、図4の制御装置20の構成の一例を示す機能ブロック図である。図5に示すように、制御装置20は、分割データ取得部201、データ検証部202、応答送信制御部203およびデータ結合部204を備えている。 FIG. 5 is a functional block diagram showing an example of the configuration of the control device 20 of FIG. As shown in FIG. 5, the control device 20 includes a divided data acquisition unit 201, a data verification unit 202, a response transmission control unit 203, and a data combination unit 204.

分割データ取得部201は、更新装置1から送信された更新プログラムの分割データを取得し、データ検証部202に供給する。データ検証部202は、受け取った分割データに含まれる誤り訂正符号または誤り検出符号を用いて、分割データが正常であるか否かを検証する。 The divided data acquisition unit 201 acquires the divided data of the update program transmitted from the update device 1 and supplies it to the data verification unit 202. The data verification unit 202 verifies whether or not the divided data is normal by using the error correction code or the error detection code included in the received divided data.

応答送信制御部203は、データ検証部202による検証結果に応じた受信応答を生成し、更新装置1に対して送信する。具体的には、応答送信制御部203は、分割データ取得部201で取得した分割データが正常に受信できた場合に、分割データが正常であることを示す受信応答を生成する。また、応答送信制御部203は、取得した分割データを正常に受信できなかった場合に、分割データが異常であることを示す受信応答を生成する。 The response transmission control unit 203 generates a reception response according to the verification result by the data verification unit 202 and transmits it to the update device 1. Specifically, the response transmission control unit 203 generates a reception response indicating that the divided data is normal when the divided data acquired by the divided data acquisition unit 201 can be normally received. Further, the response transmission control unit 203 generates a reception response indicating that the divided data is abnormal when the acquired divided data cannot be normally received.

データ結合部204は、受信した分割データが正常である場合に、受信した分割データを結合し、ファームウェアの更新プログラムを生成する。なお、データ結合部204は、すべての分割データを取得した場合に、分割データを結合してもよいし、分割データを取得するたびに結合してもよい。 When the received divided data is normal, the data combining unit 204 combines the received divided data and generates a firmware update program. The data combining unit 204 may combine the divided data when all the divided data are acquired, or may combine each time the divided data is acquired.

[更新プログラムの分割]
図6は、更新装置1によって外部機器から受信される更新プログラムのデータ構造の一例を示す概略図である。図6に示すように、更新プログラムは、当該更新プログラムの実体であるファームウェアデータと、送受信の際の誤りを訂正または検出するための誤り訂正符号または誤り検出符号とで構成されている。なお、以下では、誤り訂正符号または誤り検出符号のことを、誤り検出訂正情報と称して説明する。
[Split update program]
FIG. 6 is a schematic diagram showing an example of the data structure of the update program received from the external device by the update device 1. As shown in FIG. 6, the update program is composed of firmware data which is the substance of the update program and an error correction code or error detection code for correcting or detecting an error during transmission / reception. In the following, the error correction code or the error detection code will be referred to as error detection and correction information.

従来の更新システムにおいては、図6に示す更新プログラムが更新装置から被更新装置に対して一度に送信される。そして、被更新装置は、誤り検出訂正情報を用いて、受信した更新プログラムが正常であるか否かを判断している。ここで、被更新装置において更新プログラム全体が正常に受信されない場合には、更新プログラム全体の再送信が行われる。そのため、更新装置と被更新装置との間の通信品質が低い場合には、ファームウェアの更新処理に時間がかかる。 In the conventional update system, the update program shown in FIG. 6 is transmitted from the update device to the update device at once. Then, the updated device uses the error detection / correction information to determine whether or not the received update program is normal. Here, if the entire update program is not normally received by the device to be updated, the entire update program is retransmitted. Therefore, when the communication quality between the update device and the device to be updated is low, it takes time to update the firmware.

そこで、本実施の形態1に係る更新システム100では、更新装置1から被更新装置2に対して更新プログラムを送信する際に、更新プログラムが複数の分割データに分割される。そして、更新装置1は、複数に分割された分割データを、被更新装置2に対して順次送信する。 Therefore, in the update system 100 according to the first embodiment, when the update program is transmitted from the update device 1 to the updated device 2, the update program is divided into a plurality of divided data. Then, the update device 1 sequentially transmits the divided data divided into a plurality of pieces to the updated device 2.

図7は、本実施の形態1による更新プログラムの分割について説明するための概略図である。図7に示すように、図6の更新プログラムは、設定データ量単位で複数のデータに分割される。分割された複数のデータは、複数の分割データのデータ部にそれぞれ格納される。また、分割されたそれぞれの分割データでは、データ部に対して、ヘッダと、誤り検出訂正情報とが付与される。 FIG. 7 is a schematic diagram for explaining the division of the update program according to the first embodiment. As shown in FIG. 7, the update program of FIG. 6 is divided into a plurality of data in units of set data amounts. The plurality of divided data are stored in the data unit of the plurality of divided data. Further, in each of the divided data, a header and error detection / correction information are added to the data unit.

ヘッダには、分割データの順序を示す識別情報が記述されている。このように、分割データのヘッダに識別情報を記述することにより、更新装置1は、送信する分割データの順序を識別することができる。また、被更新装置2は、受信した複数の分割データを結合して更新プログラムを取得する際に、結合する分割データの順序を識別することができる。なお、識別情報は、ヘッダに限らず、例えば図示しないフッタあるいはその他の領域に記述されてもよい。 Identification information indicating the order of the divided data is described in the header. By describing the identification information in the header of the divided data in this way, the update device 1 can identify the order of the divided data to be transmitted. Further, the updated device 2 can identify the order of the divided data to be combined when the received divided data is combined to acquire the update program. The identification information is not limited to the header, and may be described in, for example, a footer (not shown) or another area.

[更新プログラムの送受信処理]
更新システム100における更新プログラムの送受信処理について説明する。以下では、更新装置1による更新プログラムの送信処理と、被更新装置2による更新プログラムの受信処理について説明する。
[Update transmission / reception processing]
The transmission / reception processing of the update program in the update system 100 will be described. Hereinafter, the update program transmission process by the update device 1 and the update program reception process by the update device 2 will be described.

(送信処理)
図8は、本実施の形態1に係る更新装置1における更新プログラムの送信処理の流れの一例を示すフローチャートである。更新装置1において、外部機器から被更新装置2におけるファームウェアの更新プログラムが取得されると、更新プログラムの送信処理が開始される。
(Transmission process)
FIG. 8 is a flowchart showing an example of the flow of the transmission processing of the update program in the update device 1 according to the first embodiment. When the update device 1 acquires the update program of the firmware in the update device 2 from the external device, the transmission process of the update program is started.

ステップS1において、データ分割部102は、取得した更新プログラムを設定データ量単位で分割する。そして、データ分割部102は、分割したそれぞれのデータを、ヘッダおよび誤り検出訂正情報が付与された複数の分割データのデータ部にそれぞれ格納する。ステップS2において、更新装置1が被更新装置2に接続されると、送信制御部103は、ステップS3において、複数の分割データのうち先頭の分割データを被更新装置2に送信する。 In step S1, the data division unit 102 divides the acquired update program in units of set data amounts. Then, the data division unit 102 stores each of the divided data in the data unit of the plurality of divided data to which the header and the error detection / correction information are added. When the update device 1 is connected to the updated device 2 in step S2, the transmission control unit 103 transmits the first divided data among the plurality of divided data to the updated device 2 in step S3.

ステップS4において、送信制御部103は、送信した分割データに対する受信応答を被更新装置2から受信したか否かを判断する。受信応答を受信したと判断した場合(ステップS4;Yes)、送信制御部103は、ステップS5において、受信した受信応答が正常であるか否かを判断する。受信応答が分割データを正常に受信したことを示す場合(ステップS5;Yes)には、処理がステップS6に移行する。また、受信応答が分割データの受信異常を示す場合(ステップS5;No)には、処理がステップS10に移行する。 In step S4, the transmission control unit 103 determines whether or not the reception response to the transmitted divided data has been received from the updated device 2. When it is determined that the received response has been received (step S4; Yes), the transmission control unit 103 determines in step S5 whether or not the received received response is normal. When the reception response indicates that the divided data has been normally received (step S5; Yes), the process proceeds to step S6. If the reception response indicates a reception abnormality of the divided data (step S5; No), the process proceeds to step S10.

ステップS6において、送信制御部103は、未送信の分割データが存在するか否かを判断する。未送信の分割データが存在しないと判断した場合(ステップS6;No)、送信制御部103は、ステップS7において、更新プログラムを正常に送信したと判断し、送信処理を終了する。未送信の分割データが存在すると判断した場合(ステップS6;Yes)、送信制御部103は、ステップS8において、分割データのヘッダに記述された識別情報に基づき、当該分割データの次の分割データを被更新装置2に対して送信する。そして、処理がステップS4に戻る。 In step S6, the transmission control unit 103 determines whether or not there is untransmitted divided data. When it is determined that there is no untransmitted divided data (step S6; No), the transmission control unit 103 determines in step S7 that the update program has been transmitted normally, and ends the transmission process. When it is determined that there is untransmitted divided data (step S6; Yes), the transmission control unit 103 selects the next divided data of the divided data based on the identification information described in the header of the divided data in step S8. It is transmitted to the device to be updated 2. Then, the process returns to step S4.

一方、ステップS4において、受信応答を受信していないと判断した場合(ステップS4;No)、送信制御部103は、ステップS9において、分割データを送信してから受信応答を受信するまでの時間がタイムアウト時間に達したか否かを判断する。送信制御部103により、タイムアウト時間に達したと判断された場合(ステップS9;Yes)には、処理がステップS10に移行する。送信制御部103により、タイムアウト時間に達していないと判断された場合(ステップS9;No)には、処理がステップS4に戻る。 On the other hand, if it is determined in step S4 that the reception response has not been received (step S4; No), the transmission control unit 103 takes time from transmitting the divided data to receiving the reception response in step S9. Determine if the timeout period has been reached. When the transmission control unit 103 determines that the timeout time has been reached (step S9; Yes), the process proceeds to step S10. If the transmission control unit 103 determines that the timeout time has not been reached (step S9; No), the process returns to step S4.

ステップS10において、送信制御部103は、分割データの再送回数が規定回数未満であるか否かを判断する。分割データの再送回数が規定回数未満である場合(ステップS10;Yes)、送信制御部103は、ステップS11において、当該分割データを被更新装置2に再送する。そして、処理がステップS4に戻る。一方、分割データの再送回数が規定回数以上である場合(ステップS10;No)、送信制御部103は、ステップS12において、更新プログラムの送信が失敗したと判断し、送信処理を終了する。 In step S10, the transmission control unit 103 determines whether or not the number of retransmissions of the divided data is less than the specified number of times. If the number of times the divided data is retransmitted is less than the specified number (step S10; Yes), the transmission control unit 103 retransmits the divided data to the updated device 2 in step S11. Then, the process returns to step S4. On the other hand, when the number of retransmissions of the divided data is equal to or greater than the specified number of times (step S10; No), the transmission control unit 103 determines in step S12 that the transmission of the update program has failed, and ends the transmission process.

なお、図8の例では、ステップS10において、分割データの再送回数に上限値を設けているが、これに限られず、再送時間に上限値を設け、分割データの再送時間が規定時間を超えるか否かで分割データの送信の正否を判断してもよい。 In the example of FIG. 8, in step S10, an upper limit value is set for the number of retransmissions of the divided data, but the present invention is not limited to this, and an upper limit value is set for the retransmission time, and whether the retransmission time of the divided data exceeds the specified time. You may judge whether or not the transmission of the divided data is correct or not.

また、この例では、更新プログラムが取得された場合に、ステップS1で更新プログラムが分割されるように説明したが、これに限られず、例えば、更新プログラムが分割される前に、更新プログラムのバージョンを確認する処理を行ってもよい。 Further, in this example, when the update program is acquired, the update program is divided in step S1, but the present invention is not limited to this, and for example, the version of the update program is before the update program is divided. You may perform the process of confirming.

具体的には、更新プログラムには、プログラムのバージョン情報が記述されており、更新プログラム取得部101は、更新プログラムを取得した際に、更新プログラムのバージョン情報を記憶部13に記憶する。そして、更新プログラム取得部101は、過去に被更新装置2に対して送信した更新プログラムのバージョン情報と、取得した更新プログラムのバージョン情報とを比較する。 Specifically, the version information of the program is described in the update program, and the update program acquisition unit 101 stores the version information of the update program in the storage unit 13 when the update program is acquired. Then, the update program acquisition unit 101 compares the version information of the update program transmitted to the updated device 2 in the past with the version information of the acquired update program.

比較の結果、取得した更新プログラムのバージョンが過去の更新プログラムのバージョンよりも新しい場合、更新プログラム取得部101は、取得した更新プログラムをデータ分割部102に供給する。そして、データ分割部102は、送信処理におけるステップS1の処理を実行する。一方、取得した更新プログラムのバージョンが過去の更新プログラムのバージョンと同一または過去の更新プログラムのバージョンよりも古い場合、更新プログラム取得部101は、取得した更新プログラムを破棄し、送信処理を終了する。 As a result of the comparison, when the acquired update program version is newer than the past update program version, the update program acquisition unit 101 supplies the acquired update program to the data division unit 102. Then, the data division unit 102 executes the process of step S1 in the transmission process. On the other hand, if the acquired update program version is the same as the past update program version or older than the past update program version, the update program acquisition unit 101 discards the acquired update program and ends the transmission process.

このように、取得した更新プログラムのバージョンが確認されることにより、更新装置1は、更新プログラムの不要な更新、または被更新装置2のファームウェアが古いバージョンに更新されるのを防ぐことができる。 By confirming the acquired version of the update program in this way, the update device 1 can prevent unnecessary updates of the update program or the firmware of the device to be updated 2 from being updated to an older version.

(受信処理)
図9は、本実施の形態1に係る被更新装置2における更新プログラムの受信処理の流れの一例を示すフローチャートである。被更新装置2に更新装置1が接続されると、更新プログラムの受信処理が開始される。
(Reception processing)
FIG. 9 is a flowchart showing an example of the flow of the update program reception process in the updated device 2 according to the first embodiment. When the update device 1 is connected to the update device 2, the update program reception process is started.

ステップS21において、分割データ取得部201は、分割データの受信待機状態となる。ステップS22において、分割データ取得部201は、分割データを受信すると、受信した分割データをデータ検証部202に供給する。 In step S21, the divided data acquisition unit 201 is in the divided data reception standby state. In step S22, when the divided data acquisition unit 201 receives the divided data, the divided data acquisition unit 201 supplies the received divided data to the data verification unit 202.

ステップS23において、データ検証部202は、受け取った分割データに含まれる誤り検出訂正情報を用いて、分割データ単位で当該分割データが正常であるか否かを検証する。データ検証部202によって分割データが正常であると判断した場合(ステップS23;Yes)、応答送信制御部203は、ステップS24において、分割データが正常であることを示す受信応答を生成し、更新装置1に対して送信する。なお、分割データが正常であると判断される場合とは、誤り検出符号によって分割データの誤りが検出されなかった場合、または、誤り訂正符号によって誤りが検出され、かつ誤りを訂正できた場合である。 In step S23, the data verification unit 202 verifies whether or not the divided data is normal in units of the divided data by using the error detection / correction information included in the received divided data. When the data verification unit 202 determines that the divided data is normal (step S23; Yes), the response transmission control unit 203 generates a reception response indicating that the divided data is normal in step S24, and the update device. Send to 1. The case where the divided data is judged to be normal is the case where the error of the divided data is not detected by the error detection code, or the case where the error is detected by the error correction code and the error can be corrected. be.

一方、データ検証部202によって分割データが異常であると判断した場合(ステップS23;No)、応答送信制御部203は、ステップS25において、分割データが異常であることを示す受信応答を生成し、更新装置1に対して送信する。そして、処理がステップS21に戻る。なお、分割データが異常であると判断される場合とは、誤り検出符号によって分割データの誤りが検出された場合、または、誤り訂正符号によって誤りが検出され、かつ誤りを訂正できなかった場合である。 On the other hand, when the data verification unit 202 determines that the divided data is abnormal (step S23; No), the response transmission control unit 203 generates a reception response indicating that the divided data is abnormal in step S25. It is transmitted to the update device 1. Then, the process returns to step S21. The case where the divided data is determined to be abnormal is the case where an error in the divided data is detected by the error detection code, or the case where the error is detected by the error correction code and the error cannot be corrected. be.

ステップS26において、データ結合部204は、すべての分割データを受信したか否かを判断する。すべての分割データが受信された場合(ステップS26;Yes)、データ結合部204は、ステップS27において、受信したすべての分割データを結合し、ファームウェアの更新プログラムを生成する。一方、すべての分割データが受信されていない場合(ステップS26;No)には、処理がステップS21に戻り、次の分割データの受信待機状態となる。 In step S26, the data combining unit 204 determines whether or not all the divided data have been received. When all the divided data are received (step S26; Yes), the data combining unit 204 combines all the received divided data in step S27 to generate a firmware update program. On the other hand, when all the divided data has not been received (step S26; No), the process returns to step S21, and the next divided data is in the reception standby state.

なお、この例において、データ結合部204は、すべての分割データを取得した場合に分割データを結合しているが、これはこの例に限られない。例えば、分割データを取得するたびに、データ結合部204は、受信した分割データを順次結合してもよい。 In this example, the data combining unit 204 combines the divided data when all the divided data are acquired, but this is not limited to this example. For example, each time the divided data is acquired, the data combining unit 204 may sequentially combine the received divided data.

上述の説明において、データ分割部102によって更新プログラムの分割処理が行われるようにしているが、これに限られず、例えば、外部機器によって更新プログラムの分割処理が予め行われるようにしてもよい。具体的には、外部機器には、更新プログラムを分割するための分割アプリケーションが予めインストールされる。外部機器では、分割アプリケーションによって更新プログラムの分割処理が行われる。分割アプリケーションは分割機能を有し、分割機能によって更新プログラムを設定データ量単位で複数の分割データに分割する。この場合、更新装置1は、外部機器から分割データを取得し、取得した分割データを被更新装置2に対して送信する。 In the above description, the data division unit 102 performs the division processing of the update program, but the present invention is not limited to this, and for example, the division processing of the update program may be performed in advance by an external device. Specifically, a split application for splitting the update program is pre-installed on the external device. In the external device, the update program is divided by the division application. The division application has a division function, and the division function divides the update program into a plurality of division data in units of set data amount. In this case, the update device 1 acquires the divided data from the external device and transmits the acquired divided data to the updated device 2.

以上のように、本実施の形態1に係る更新システム100において、更新装置1は、被更新装置2におけるファームウェアの更新プログラムを複数の分割データに分割し、被更新装置2に対して送信する。被更新装置2は、更新装置1から受信した複数の分割データを結合して更新プログラムを生成する。これにより、更新プログラムが複数の分割データとして被更新装置2に対して順次送信されるため、ビット化けまたはビット抜け等の異常が発生してデータを再送する場合でも、異常箇所に対応するデータのみを再送できる。そのため、ネットワークの通信品質が低く、低速であっても、短時間でファームウェアを更新することができる。 As described above, in the update system 100 according to the first embodiment, the update device 1 divides the firmware update program in the update device 2 into a plurality of divided data and transmits the update program to the update device 2. The updated device 2 generates an update program by combining a plurality of divided data received from the update device 1. As a result, the update program is sequentially transmitted to the updated device 2 as a plurality of divided data, so even if an abnormality such as garbled bits or missing bits occurs and the data is retransmitted, only the data corresponding to the abnormal part is transmitted. Can be resent. Therefore, even if the communication quality of the network is low and the speed is low, the firmware can be updated in a short time.

また、被更新装置2は、誤り検出訂正情報に基づき、更新装置1から受信した分割データが正常であるか否かを検証する。これにより、分割データ単位でデータの異常が検出されるため、更新プログラム全体でデータの異常を検出する場合と比較して、異常箇所の検出を迅速に行うことができる。 Further, the updated device 2 verifies whether or not the divided data received from the updated device 1 is normal based on the error detection and correction information. As a result, since the data abnormality is detected in the divided data unit, the abnormality portion can be detected more quickly than in the case where the data abnormality is detected in the entire update program.

さらに、被更新装置2は、受信した分割データが正常である場合に、分割データが正常であることを示す受信応答を更新装置1に対して送信し、受信した分割データが異常である場合に、分割データが異常であることを示す受信応答を更新装置1に対して送信する。
更新装置1は、分割データが正常であることを示す受信応答を被更新装置2から受信した場合に、次の分割データを送信し、分割データが異常であることを示す受信応答を被更新装置2から受信した場合に、送信した分割データを再送する。これにより、被更新装置2が必要とする分割データが判断されるため、更新装置1は、被更新装置2が必要とする分割データを確実に送信することができる。また、分割データに異常が発見された場合には、異常が発見された分割データのみが再送されるため、更新プログラム全体を再送する場合と比較して、再送時間が短くなり、ファームウェアの更新に必要な総所要時間を短縮することができる。
Further, the updated device 2 transmits a reception response indicating that the divided data is normal to the update device 1 when the received divided data is normal, and when the received divided data is abnormal. , A reception response indicating that the divided data is abnormal is transmitted to the update device 1.
When the update device 1 receives a reception response indicating that the divided data is normal from the updated device 2, the update device 1 transmits the next divided data, and receives a reception response indicating that the divided data is abnormal. When received from 2, the transmitted divided data is retransmitted. As a result, the divided data required by the updated device 2 is determined, so that the updated device 1 can reliably transmit the divided data required by the updated device 2. In addition, when an abnormality is found in the divided data, only the divided data in which the abnormality is found is retransmitted, so that the retransmission time is shorter than when the entire update program is retransmitted, and the firmware can be updated. The total required time can be shortened.

さらにまた、更新装置1は、分割データが異常であることを示す受信応答を受け取った場合に、設定回数に達するまで送信した分割データを再送する。これにより、更新装置1は、被更新装置2に対して正常な分割データを確実に送信することができる。 Furthermore, when the update device 1 receives a reception response indicating that the divided data is abnormal, the update device 1 retransmits the transmitted divided data until the set number of times is reached. As a result, the update device 1 can reliably transmit normal divided data to the update device 2.

実施の形態2.
次に、本発明の実施の形態2に係る更新システムについて説明する。本実施の形態2では、被更新装置2におけるファームウェアの更新プログラムを、機能毎に予め分割する点で、実施の形態1と相違する。なお、以下の説明において、実施の形態1と共通する構成には同一の符号を付し、詳細な説明を省略する。
Embodiment 2.
Next, the update system according to the second embodiment of the present invention will be described. The second embodiment is different from the first embodiment in that the firmware update program in the device to be updated 2 is divided in advance for each function. In the following description, the same reference numerals are given to the configurations common to those in the first embodiment, and detailed description thereof will be omitted.

被更新装置2のファームウェアを更新する場合、ファームウェア全体を更新する必要がない場合がある。例えば、ファームウェアには、実行プログラムとアイコン画像などの各種データとが含まれており、このうち、実行プログラムは変更せず、データのみを変更する場合などである。このような場合、実行プログラムの更新は不要となる。 When updating the firmware of the device to be updated 2, it may not be necessary to update the entire firmware. For example, the firmware includes various data such as an execution program and an icon image, and among them, there is a case where only the data is changed without changing the execution program. In such a case, it is not necessary to update the execution program.

そこで、本実施の形態2において、更新装置1は、ファームウェアの更新プログラムを機能毎に予め分割して保持し、被更新装置2が必要とする機能に対応する更新プログラムのみを被更新装置2に対して送信する。 Therefore, in the second embodiment, the update device 1 divides and holds the firmware update program for each function in advance, and only the update program corresponding to the function required by the updated device 2 is stored in the updated device 2. Send to.

図10は、本実施の形態2における更新プログラムの分割について説明するための概略図である。図10に示すように、外部機器から受信された更新プログラムは、更新装置1において機能毎に分割される。機能毎に分割された更新プログラムには、誤り検出訂正情報が付与される。この例において、更新プログラムは、機能Aおよび機能Bに対応する更新プログラムに分割されている。 FIG. 10 is a schematic diagram for explaining the division of the update program in the second embodiment. As shown in FIG. 10, the update program received from the external device is divided into functions in the update device 1. Error detection and correction information is added to the update program divided for each function. In this example, the update program is divided into update programs corresponding to function A and function B.

そして、更新プログラムを被更新装置2に対して送信する場合、機能毎に分割されたそれぞれの更新プログラムは、実施の形態1と同様に、設定データ量単位で複数のデータに分割される。分割された複数のデータは、複数の分割データのデータ部にそれぞれ格納され、データ部に対してヘッダと誤り検出訂正情報とが付与される。 Then, when the update program is transmitted to the device to be updated 2, each update program divided for each function is divided into a plurality of data in units of set data amount, as in the first embodiment. The plurality of divided data are stored in the data unit of the plurality of divided data, and a header and error detection / correction information are added to the data unit.

ここで、更新プログラムを機能毎に分割する場合、更新プログラムは、例えば実行プログラムとデータとに分割される。実行プログラムは、各種の処理を行う際に用いられる実行コードである。データは、例えば、アイコン画像、フォントデータ、音声データ、画像データまたは多言語対応用の言語定義などを含むものである。なお、更新プログラムの分割方法は、この例に限定されるものではない。 Here, when the update program is divided into functions, the update program is divided into, for example, an execution program and data. An execution program is an execution code used when performing various processes. The data includes, for example, icon images, font data, audio data, image data, language definitions for multilingual support, and the like. The method of dividing the update program is not limited to this example.

更新装置1のデータ分割部102は、被更新装置2に対してファームウェアの更新プログラムを送信する際に、予め分割された更新プログラムのうち、被更新装置2が更新を必要とする機能に対応する更新プログラムを分割して複数の分割データを生成する。そして、送信制御部103は、分割された複数の分割データを被更新装置2に対して送信する。なお、機能毎に分割された更新プログラムのデータ量が、例えば設定データ量単位以下である場合など十分に小さい場合、更新装置1は、更新プログラムをさらに複数の分割データに分割せずに、そのままのデータ量で被更新装置2に送信してもよい。 The data division unit 102 of the update device 1 corresponds to a function in which the update device 2 needs to be updated among the previously divided update programs when the firmware update program is transmitted to the update device 2. The update program is divided to generate multiple divided data. Then, the transmission control unit 103 transmits the plurality of divided data to the updated device 2. If the amount of data of the update program divided for each function is sufficiently small, for example, when it is less than or equal to the set data amount unit, the update device 1 does not further divide the update program into a plurality of divided data, but as it is. The data amount may be transmitted to the updated device 2.

なお、上述した例では、更新プログラムが機能毎に分割されるように説明したが、これに限られず、例えば、各機能の更新頻度に応じて更新プログラムが分割されてもよい。フォントデータなどは更新頻度が低く、ファームウェアを更新する度に必ず更新されるものではない。そこで、更新装置1は、外部機器から受信された更新プログラムを、フォントデータなどの更新頻度が低いデータと、更新頻度が高いデータとに分割する。 In the above-mentioned example, the update program is divided for each function, but the present invention is not limited to this, and the update program may be divided according to the update frequency of each function, for example. Font data etc. are updated infrequently and are not always updated every time the firmware is updated. Therefore, the update device 1 divides the update program received from the external device into data having a low update frequency such as font data and data having a high update frequency.

また、例えば、分割データのバージョンに応じて分割データが送信されてもよい。例えば、更新装置1は、更新プログラムを複数の分割データに分割し、それぞれの分割データにバージョン情報を付与する。そして、更新装置1は、更新プログラムを最新バージョンの分割データとそれ以外の分割データとに分類し、最新バージョンの分割データからなる更新プログラムのみを被更新装置2に対して送信する。 Further, for example, the divided data may be transmitted according to the version of the divided data. For example, the update device 1 divides the update program into a plurality of divided data, and adds version information to each divided data. Then, the update device 1 classifies the update program into the latest version of the divided data and the other divided data, and transmits only the update program composed of the latest version of the divided data to the updated device 2.

具体的には、まず、データ分割部102は、更新プログラムを分割して複数の分割データを生成した際に、生成した分割データに対してバージョン情報を付与する。バージョン情報は、例えば、分割データのヘッダに記述される。 Specifically, first, when the update program is divided and a plurality of divided data are generated, the data division unit 102 adds version information to the generated divided data. The version information is described in the header of the divided data, for example.

次に、データ分割部102は、記憶部13に記憶された直近に送信された分割データの内容と、送信しようとしている分割データの内容とを比較する。比較の結果、分割データの内容が一致しない場合には、データ分割部102は、当該分割データが最新バージョンであるものとして、記憶部13に記憶された分割データよりもバージョンが新しいことを示すバージョン情報を送信する分割データに付与する。一方、分割データの内容が一致する場合、データ分割部102は、当該分割データが過去に送信した分割データと同一であるものとして、過去の分割データと同一のバージョン情報を分割データに付与する。 Next, the data division unit 102 compares the content of the most recently transmitted divided data stored in the storage unit 13 with the content of the divided data to be transmitted. As a result of comparison, when the contents of the divided data do not match, the data dividing unit 102 assumes that the divided data is the latest version, and indicates that the version is newer than the divided data stored in the storage unit 13. It is given to the divided data to which the information is transmitted. On the other hand, when the contents of the divided data match, the data dividing unit 102 adds the same version information as the past divided data to the divided data, assuming that the divided data is the same as the divided data transmitted in the past.

そして、データ分割部102は、バージョンが新しいと判断した分割データを被更新装置2に送信すべきデータとし、当該分割データを被更新装置2に送信する。このように、バージョンが新しいと判断された分割データのみが被更新装置2に送信されることにより、更新装置1は、更新プログラム不要な更新、または被更新装置2のファームウェアが古いバージョンに更新されるのを防ぐことができる。 Then, the data dividing unit 102 sets the divided data determined to be newer in version as the data to be transmitted to the updated device 2, and transmits the divided data to the updated device 2. In this way, by transmitting only the divided data for which the version is determined to be new to the updated device 2, the update device 1 is updated without an update program, or the firmware of the updated device 2 is updated to an older version. Can be prevented.

以上のように、本実施の形態2に係る更新システム100において、更新装置1は、更新プログラムを機能毎に予め複数に分割して保持し、被更新装置2が更新を必要とする機能に対応する更新プログラムのみを被更新装置2に送信する。これにより、ファームウェア全体の更新プログラムを送信する場合と比較して、より短時間でファームウェアを更新することができる。 As described above, in the update system 100 according to the second embodiment, the update device 1 divides and holds the update program in advance for each function, and corresponds to the function that the updated device 2 needs to update. Only the update program to be updated is transmitted to the updated device 2. As a result, the firmware can be updated in a shorter time than when the update program for the entire firmware is sent.

以上、本発明の実施の形態1および2について説明したが、本発明は、上述した本発明の実施の形態1および2に限定されるものではなく、本発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。例えば、更新装置1は、更新プログラムの送受信をバックグラウンドで行ってもよい。更新装置1と被更新装置2との間で通信を行い、更新プログラムの送受信が行われている場合、更新プログラムのデータ量が大きいと通信時間が長時間となる。そのため、更新装置1は当該通信に拘束され、他の操作を行うことが困難となる場合がある。このような場合に、更新プログラムの送受信がバックグラウンドで行われることにより、更新装置1は、被更新装置2との通信による他の操作に対する影響を抑えることができる。 Although embodiments 1 and 2 of the present invention have been described above, the present invention is not limited to the above-described embodiments 1 and 2 of the present invention, and varies within the scope of the gist of the present invention. Can be transformed and applied. For example, the update device 1 may send and receive the update program in the background. When communication is performed between the update device 1 and the device to be updated 2 and the update program is transmitted / received, the communication time becomes long when the amount of data of the update program is large. Therefore, the update device 1 may be restricted by the communication, and it may be difficult to perform other operations. In such a case, since the update program is transmitted and received in the background, the update device 1 can suppress the influence of the communication with the update device 2 on other operations.

また、更新装置1と被更新装置2とは近距離無線通信を行うため、更新装置1が被更新装置2との無線範囲外に出てしまい、更新プログラムの分割データの送信中に通信が遮断される場合がある。このような場合、更新装置1は、通信が再開された際に、どの分割データを被更新装置2に送信すべきかを判断し、分割データの送信を再開するようにしてもよい。 Further, since the update device 1 and the update device 2 perform short-range wireless communication, the update device 1 goes out of the wireless range with the update device 2, and the communication is interrupted during the transmission of the divided data of the update program. May be done. In such a case, the update device 1 may determine which divided data should be transmitted to the updated device 2 when the communication is resumed, and restart the transmission of the divided data.

具体的には、更新装置1は、通信が遮断された場合に、送受信していた分割データのヘッダに記述された識別情報を記憶部13に記憶する。そして、更新装置1は、通信が再開された場合に、記憶部13から識別情報を読み出し、読み出した識別情報に基づき、送信を再開する分割データを判断する。これにより、更新装置1は、分割データの送受信中に通信が遮断された場合でも、次に送信すべき分割データを判断することができ、分割データを最初から送信し直すことなどによる通信の長時間化を抑制することができる。 Specifically, the update device 1 stores the identification information described in the header of the divided data transmitted / received in the storage unit 13 when the communication is interrupted. Then, when the communication is resumed, the update device 1 reads the identification information from the storage unit 13 and determines the divided data for resuming transmission based on the read identification information. As a result, even if the communication is interrupted during the transmission / reception of the divided data, the update device 1 can determine the divided data to be transmitted next, and the length of the communication by retransmitting the divided data from the beginning. Time can be suppressed.

さらに、被更新装置2におけるファームウェアの更新は、被更新装置2または被更新装置2によって操作される機器などが使用されない時間帯に行われるようにしてもよい。例えば、被更新装置2が空調機を操作するためのリモートコントローラである場合、ファームウェアの更新は、空調機が設置された店舗等の営業時間外または会社等の就業時間外といった空調機の稼働時間外に行われるとよい。また、例えば、ファームウェアの更新は、予約システム等のスケジュール機能から取得した空き時間などの空調稼働予定外の時間を利用して行われてもよい。 Further, the firmware update in the updated device 2 may be performed in a time zone in which the updated device 2 or the device operated by the updated device 2 is not used. For example, when the device to be updated 2 is a remote controller for operating the air conditioner, the firmware update is performed during the operating hours of the air conditioner such as outside the business hours of the store where the air conditioner is installed or outside the working hours of the company or the like. It should be done outside. Further, for example, the firmware may be updated by using a time other than the scheduled operation of air conditioning such as free time acquired from a schedule function of a reservation system or the like.

1 更新装置、2 被更新装置、10 制御装置、11 接続インターフェース、12 第1の通信インターフェース、13 記憶部、14 表示部、15 操作部、20 制御装置、21 第2の通信インターフェース、22 記憶部、23 表示部、24 操作部、100 更新システム、101 更新プログラム取得部、102 データ分割部、103 送信制御部、104 分割データ記憶部、201 分割データ取得部、202 データ検証部、203 応答送信制御部、204 データ結合部。 1 Update device, 2 Updated device, 10 Control device, 11 Connection interface, 12 First communication interface, 13 Storage unit, 14 Display unit, 15 Operation unit, 20 Control device, 21 Second communication interface, 22 Storage unit , 23 Display unit, 24 operation unit, 100 update system, 101 update program acquisition unit, 102 data division unit, 103 transmission control unit, 104 division data storage unit, 201 division data acquisition unit, 202 data verification unit, 203 response transmission control Part, 204 data join part.

Claims (9)

更新装置および被更新装置を備え、前記被更新装置のファームウェアを前記更新装置から送信されたファームウェアの更新プログラムに更新する更新システムであって、
前記更新装置は、
前記更新プログラムを取得する更新プログラム取得部と、
前記更新プログラムを機能毎に複数の分割データに分割するデータ分割部と、
前記分割データを記憶する記憶部と、
記憶された複数の前記分割データを前記被更新装置に対して無線通信によって送信する送信制御部と
を有し、
前記被更新装置は、
前記更新装置から複数の前記分割データを取得する分割データ取得部と、
受信した複数の前記分割データを結合して前記更新プログラムを生成するデータ結合部と
を有し、
前記記憶部は、
前記更新プログラムを取得した際に、前記更新プログラムのバージョン情報を記憶するとともに、複数の前記分割データを送信した際に、それぞれの複数の前記分割データのバージョン情報を記憶し、
前記更新プログラム取得部は、
記憶された前記更新プログラムの前記バージョン情報と、過去の更新プログラムの前記バージョン情報とを比較し、前記被更新装置に対して取得した前記更新プログラムを送信するか否かを判断し、
前記データ分割部は、
取得した前記更新プログラムのバージョンが過去の前記更新プログラムのバージョンよりも新しいと判断された場合に、取得した前記更新プログラムを複数の前記分割データに分割するとともに、複数の前記分割データに対してバージョン情報を付与し、
それぞれの前記分割データの前記バージョン情報と、前記被更新装置に対して直近に送信された分割データのバージョン情報とを比較し、
前記送信制御部は、
バージョンが新しいと判断された分割データを前記被更新装置に対して送信する
更新システム。
An update system including an update device and a device to be updated, and updating the firmware of the device to be updated with a firmware update program transmitted from the update device.
The update device is
The update program acquisition unit that acquires the update program, and
A data division unit that divides the update program into a plurality of division data for each function,
A storage unit that stores the divided data and
It has a transmission control unit that transmits a plurality of stored divided data to the updated device by wireless communication.
The updated device is
A divided data acquisition unit that acquires a plurality of the divided data from the update device,
It has a data combining unit that combines a plurality of received divided data to generate the update program.
The storage unit
When the update program is acquired, the version information of the update program is stored, and when a plurality of the divided data are transmitted, the version information of each of the plurality of the divided data is stored.
The update program acquisition unit
The stored version information of the update program is compared with the version information of the past update program, and it is determined whether or not to transmit the acquired update program to the updated device.
The data division unit
When it is determined that the acquired version of the update program is newer than the past version of the update program, the acquired update program is divided into a plurality of the divided data, and a version for the plurality of the divided data is obtained. Give information,
The version information of each of the divided data is compared with the version information of the divided data most recently transmitted to the updated device.
The transmission control unit
An update system that transmits divided data determined to be newer to the device to be updated.
前記分割データは、データが正常であるか否かを判断するための誤り検出訂正情報が付与されており、
前記被更新装置は、
前記誤り検出訂正情報に基づき、前記更新装置から受信した前記分割データが正常であるか否かを検証するデータ検証部と、
検証結果に応じて、前記分割データを受信したことを示す受信応答を前記更新装置に対して送信する応答送信制御部と
をさらに有する
請求項1に記載の更新システム。
The divided data is provided with error detection and correction information for determining whether or not the data is normal.
The updated device is
Based on the error detection and correction information, a data verification unit that verifies whether or not the divided data received from the update device is normal, and
The update system according to claim 1, further comprising a response transmission control unit that transmits a reception response indicating that the divided data has been received to the update device according to the verification result.
前記応答送信制御部は、
受信した前記分割データが正常である場合に、前記分割データが正常であることを示す受信応答を前記更新装置に対して送信し、
受信した前記分割データが異常である場合に、前記分割データが異常であることを示す受信応答を前記更新装置に対して送信する
請求項2に記載の更新システム。
The response transmission control unit
When the received divided data is normal, a reception response indicating that the divided data is normal is transmitted to the update device.
The update system according to claim 2, wherein when the received divided data is abnormal, a reception response indicating that the divided data is abnormal is transmitted to the update device.
前記送信制御部は、
前記被更新装置から受信した前記受信応答に基づき、前記被更新装置に対して送信すべき前記分割データを決定する
請求項2または3に記載の更新システム。
The transmission control unit
The update system according to claim 2 or 3, wherein the divided data to be transmitted to the updated device is determined based on the received response received from the updated device.
前記分割データは、データの順序を示す識別情報が付与されており、
前記送信制御部は、
送信した前記分割データが正常であることを示す受信応答を前記被更新装置から受信した場合に、前記識別情報に基づいて次の分割データを送信し、
送信した前記分割データが異常であることを示す受信応答を前記被更新装置から受信した場合に、前記送信した分割データを再送する
請求項1〜4のいずれか一項に記載の更新システム。
Identification information indicating the order of the data is added to the divided data.
The transmission control unit
When a reception response indicating that the transmitted divided data is normal is received from the updated device, the next divided data is transmitted based on the identification information.
The update system according to any one of claims 1 to 4, wherein when a reception response indicating that the transmitted divided data is abnormal is received from the updated device, the transmitted divided data is retransmitted.
前記データ結合部は、
前記識別情報に基づき、受信した複数の前記分割データを結合する
請求項5に記載の更新システム。
The data binding part is
The update system according to claim 5, wherein the plurality of received divided data are combined based on the identification information.
前記送信制御部は、
前記分割データが異常であることを示す受信応答を受け取った場合に、設定回数に達するまで前記送信した分割データを再送する
請求項1〜6のいずれか一項に記載の更新システム。
The transmission control unit
The update system according to any one of claims 1 to 6, wherein when a reception response indicating that the divided data is abnormal is received, the transmitted divided data is retransmitted until the set number of times is reached.
記送信制御部は、
前記複数に分割された更新プログラムのうち、前記被更新装置が必要とする機能に対応する前記分割された更新プログラムをさらに複数の分割データに分割し、分割した複数の前記分割データを前記被更新装置に対して送信する
請求項1〜のいずれか一項に記載の更新システム。
Before Symbol transmission control unit,
Among the plurality of divided update programs, the divided update program corresponding to the function required by the device to be updated is further divided into a plurality of divided data, and the divided plurality of divided data are subjected to the update. The update system according to any one of claims 1 to 7 , which is transmitted to the device.
被更新装置に接続され、前記被更新装置のファームウェアを更新する更新装置であって、
前記被更新装置のファームウェアを更新する更新プログラムを取得する更新プログラム取得部と、
記更新プログラムを機能毎に複数の分割データに分割するデータ分割部と、
前記分割データを記憶する記憶部と、
記憶された複数の前記分割データを前記被更新装置に対して無線通信によって送信する送信制御部と
を有し、
前記記憶部は、
前記更新プログラムを取得した際に、前記更新プログラムのバージョン情報を記憶するとともに、複数の前記分割データを送信した際に、それぞれの複数の前記分割データのバージョン情報を記憶し、
前記更新プログラム取得部は、
取得した前記更新プログラムの前記バージョン情報と、過去の更新プログラムの前記バージョン情報とを比較し、前記被更新装置に対して取得した前記更新プログラムを送信するか否かを判断し、
前記データ分割部は、
取得した前記更新プログラムのバージョンが過去の前記更新プログラムのバージョンよりも新しいと判断された場合に、取得した前記更新プログラムを複数の前記分割データに分割するとともに、複数の前記分割データに対してバージョン情報を付与し、
それぞれの前記分割データの前記バージョン情報と、前記被更新装置に対して直近に送信された分割データのバージョン情報とを比較し、
前記送信制御部は、
バージョンが新しいと判断された分割データを前記被更新装置に対して送信する
更新装置。
An update device that is connected to the device to be updated and updates the firmware of the device to be updated.
An update program acquisition unit that acquires an update program that updates the firmware of the device to be updated, and an update program acquisition unit.
A data dividing unit for dividing into a plurality of divided data for each function the previous SL updating program,
A storage unit that stores the divided data and
It has a transmission control unit that transmits a plurality of stored divided data to the updated device by wireless communication.
The storage unit
When the update program is acquired, the version information of the update program is stored, and when a plurality of the divided data are transmitted, the version information of each of the plurality of the divided data is stored.
The update program acquisition unit
The version information of the acquired update program is compared with the version information of the past update program, and it is determined whether or not to transmit the acquired update program to the updated device.
The data division unit
When it is determined that the acquired version of the update program is newer than the past version of the update program, the acquired update program is divided into a plurality of the divided data, and a version for the plurality of the divided data is obtained. Give information,
The version information of each of the divided data is compared with the version information of the divided data most recently transmitted to the updated device.
The transmission control unit
An update device that transmits divided data determined to be newer to the device to be updated.
JP2019550045A 2017-10-31 2017-10-31 Update system and update device Active JP6964681B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/039316 WO2019087295A1 (en) 2017-10-31 2017-10-31 Update system, update device, and device to be updated

Publications (2)

Publication Number Publication Date
JPWO2019087295A1 JPWO2019087295A1 (en) 2020-04-09
JP6964681B2 true JP6964681B2 (en) 2021-11-10

Family

ID=66332487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019550045A Active JP6964681B2 (en) 2017-10-31 2017-10-31 Update system and update device

Country Status (2)

Country Link
JP (1) JP6964681B2 (en)
WO (1) WO2019087295A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7450209B2 (en) * 2020-02-19 2024-03-15 パナソニックIpマネジメント株式会社 Information terminal, gateway device, intercom system, server system, processing method, and program
JP7489799B2 (en) 2020-03-24 2024-05-24 大阪瓦斯株式会社 Software Update System
KR102190196B1 (en) * 2020-05-06 2020-12-11 주식회사 수산이앤에스 Safety class controller and method for managing configuration information thereof
CN115827660B (en) * 2023-02-14 2023-05-12 本原数据(北京)信息技术有限公司 Data updating method and device, electronic equipment and nonvolatile storage medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187457A (en) * 1996-12-27 1998-07-21 Fuji Xerox Co Ltd Managing method for program and data
JP2000194562A (en) * 1998-12-24 2000-07-14 Nec Corp System and method for downloading program and recording medium
JP3654247B2 (en) * 2002-01-11 2005-06-02 日本電気株式会社 Mobile phone firmware distribution system, mobile phone terminal and firmware update program thereof
US7853946B2 (en) * 2003-02-28 2010-12-14 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and control program
JP4908731B2 (en) * 2003-07-31 2012-04-04 キヤノン株式会社 Information processing apparatus, information processing method, and information processing program
JP2012230474A (en) * 2011-04-25 2012-11-22 Japan Radio Co Ltd Program update system, and program update method
CN102340507A (en) * 2011-10-18 2012-02-01 中兴通讯股份有限公司 Large object transmission method and system

Also Published As

Publication number Publication date
WO2019087295A1 (en) 2019-05-09
JPWO2019087295A1 (en) 2020-04-09

Similar Documents

Publication Publication Date Title
JP6964681B2 (en) Update system and update device
EP3124885A1 (en) Air conditioning management system
US12032946B2 (en) Program update system, program transmission device, and program transmission method
CN106713044B (en) Data upgrading method and device
US20150119999A1 (en) Communication Apparatus, Communication System and Communication Method
CN107396185B (en) Upgrading method and system
US11381416B2 (en) Appliance control system and server
US20220318000A1 (en) Communication apparatus and program
JP2017062537A (en) Information processing apparatus, control method of information processing apparatus, and program
AU2021230848B2 (en) Communication apparatus, program, communication method, information processing method, information processing apparatus, and communication system
JP7156995B2 (en) update system
JP6961091B2 (en) Program transfer system and program transfer method
JP2010092324A (en) Broadcast receiver and software update method
US10852992B2 (en) Data management system, data management method, and program recording medium
JP2014116938A (en) Electronic tag device and communication method therefor
JP2015121887A (en) Information processing device and control method thereof, and program
JP6025971B2 (en) Communication adapter and program
US11356239B2 (en) Information processing apparatus, network system, and medium
JP2012221152A (en) Management device and management method
CN117687672A (en) Control method and device of display device, electronic device, storage medium and vehicle
US10719281B2 (en) Communication terminal, method of controlling communication terminal, and non-transitory computer-readable recording medium therefor
KR101978171B1 (en) Apparauts for controlling air conditioner, air conditioner system and method for apparauts for controlling air conditioner and air conditioner system
US20130013966A1 (en) Electronic apparatus, control method and computer-readable storage medium
KR20240079226A (en) Method and system for updating firmware in the robot
JP2016057657A (en) Information processing device, information processing system, request signal processing method, and request signal processing program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191209

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210921

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211019

R150 Certificate of patent or registration of utility model

Ref document number: 6964681

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150