JP2008123147A - Remote rewrite method for electronic control unit - Google Patents

Remote rewrite method for electronic control unit Download PDF

Info

Publication number
JP2008123147A
JP2008123147A JP2006304706A JP2006304706A JP2008123147A JP 2008123147 A JP2008123147 A JP 2008123147A JP 2006304706 A JP2006304706 A JP 2006304706A JP 2006304706 A JP2006304706 A JP 2006304706A JP 2008123147 A JP2008123147 A JP 2008123147A
Authority
JP
Japan
Prior art keywords
data
register
program data
logic
hardware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006304706A
Other languages
Japanese (ja)
Inventor
Junichi Takai
純一 高井
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP2006304706A priority Critical patent/JP2008123147A/en
Publication of JP2008123147A publication Critical patent/JP2008123147A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To take measures for protection and safety when rewriting PLD data in an electronic control unit. <P>SOLUTION: A write logic 130 is provided for transferring and writing logic program and data from a control center 200 to a PLD 110. A buffer circuit 1001 can control the passage/blockage of the logic program and data, and an enable register 1101 passes the logic program and data only when the logic program and data are transferred to the PLD. A method includes the transfer of the logic program and data only when a hardware ID data fixedly and separately given to each electronic control unit matches a key code data remotely transferred from the outside, the transfer of the logic program and data after encrypting the hardware ID data, and the transfer of the logic program and data through an external serial EEPROM. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、マイクロ・プロセッサによる制御対象の制御のための論理プログラム・データを、プログラマブル・デバイスに書き込んでおく電子制御装置に係り、特にそれらの論理プログラムを装置から離れた場所から書き換えることによって、装置のハードウェアの動作モードを切り替えたり、変更したりするためのリモート書き換え方式に関わる。   The present invention relates to an electronic control device for writing logic program data for control of a controlled object by a microprocessor to a programmable device, and in particular, by rewriting these logic programs from a place away from the device, The present invention relates to a remote rewriting method for switching or changing the operation mode of the hardware of the apparatus.

現在、電子制御装置のハードウェア設計に於いては、その論理動作をハードウェア論理記述言語(HDL:Hardware Description Language)で記述し、その論理式(プログラム)をFPGA(Field Programmable Gate Array)や、CPLD(Complex Programmable Logic Device)といったプログラマブル・デバイス(プログラム可能な論理素子)に書き込むことによって、所望のハードウェア機能を実現することが常套手段となっている。   Currently, in the hardware design of an electronic control device, its logical operation is described in a hardware logic description language (HDL: Hardware Description Language), and its logical expression (program) is an FPGA (Field Programmable Gate Array), It has become common practice to implement desired hardware functions by writing to programmable devices (programmable logic elements) such as CPLDs (Complex Programmable Logic Devices).

従来、プリミティブな論理素子の組み合わせ接続によって実現されていた論理動作は、これらのプログラマブル・デバイスを使用することにより、配線を物理的に変更することなく、論理素子に書き込むデータを変更することによって、論理を変更をすることが可能となっている。   Conventionally, the logic operation realized by the combination connection of the primitive logic elements, by using these programmable devices, by changing the data to be written to the logic elements without physically changing the wiring, It is possible to change the logic.

現在、FPGAやCPLDといったプログラマブル・デバイスには、Configuration用論理プログラム・データの取り込み方法の差から、次のような3種類のタイプがある。   Currently, there are the following three types of programmable devices such as FPGA and CPLD due to the difference in the method of fetching configuration logic program data.

(1)PLD内部に、Configurationデータ格納メモリとしてOneTimeROM(1度だけの書き込みが可能なROM)を内蔵するタイプ。   (1) A type in which a OneTimeROM (ROM that can be written only once) is built in as a configuration data storage memory inside the PLD.

図5に示すように、内蔵ROMへの論理プログラム・データの書き込みは、装置の製造時に、専用のROMライタを用いて行う。このタイプは、制御基板に一旦実装すると、データの書き換えが不可能となり、論理プログラム・データの変更を行う場合には、デバイスそのものを交換しなければならない。但し、論理プログラム・データを取り込む時間が不要であり、立上げ時間が短いことが特長である。   As shown in FIG. 5, the writing of the logic program data to the built-in ROM is performed using a dedicated ROM writer when the apparatus is manufactured. With this type, once it is mounted on the control board, data cannot be rewritten, and when changing the logic program data, the device itself must be replaced. However, it does not require time for fetching logic program data, and is characterized by a short start-up time.

(2)PLD内部に、Configurationデータ格納メモリとして、SRAM(StaticRAM:電源が与えられている間だけ、データを保持するRandom Access Memory)を内蔵するタイプ。   (2) A type in which SRAM (StaticRAM: Random Access Memory that holds data only while power is supplied) is built in the PLD as a configuration data storage memory.

図6に示すように、シリアルI/Fを介して、外付けのシリアルROM(シリアルI/Fを持ったOneTimeROMまたは、EEPROM(Electric Erasable PROM)などから自動的にデータをダウンロードしたり、マイクロ・プロセッサのシリアルI/Fを介してソフトウェア的に書き込みを行うこともできる。このタイプは、装置の製造時にPLD本体にデータを書き込んでおく必要がなく、ISP(In System Programming)が可能であるが、立上げ時には、外部からの論理プログラム・データの注入(ダウンロード)に時間が掛かるため、それなりの遅延時間を考慮する必要がある。   As shown in FIG. 6, data is automatically downloaded from an external serial ROM (OneTimeROM with serial I / F or EEPROM (Electric Erasable PROM)) via a serial I / F, Writing can also be performed by software via a processor serial I / F. This type does not require data to be written in the PLD main unit at the time of manufacture of the apparatus, but can be ISP (In System Programming). When starting up, since it takes time to inject (download) the logic program data from the outside, it is necessary to consider a certain delay time.

(3)PLD内部に、Configurationデータ格納メモリとして、FlashROM(書き換え可能な不揮発メモリ)を内蔵するタイプ。   (3) A type in which FlashROM (a rewritable nonvolatile memory) is built in the PLD as a configuration data storage memory.

図7に示すように、現状では、内部FlashROMの書き換えのためのインタフェースとしては、JTAGポート(IEEE1149.1標準)に則った信号を用いるものが一般的である。このタイプは、ISP(In System Programming)が可能であり、且つ、通常使用時の立上げ時は、データを外部から取り込む必要がなく、OneTimeROM内蔵タイプと同様に短時間で動作するというメリットを持つ。   As shown in FIG. 7, at present, as an interface for rewriting the internal flash ROM, a signal that conforms to a JTAG port (IEEE1149.1 standard) is generally used. This type has the advantage that ISP (In System Programming) is possible, and it is not necessary to take in data from the outside when starting up in normal use, and it can be operated in a short time like the built-in OneTimeROM type. .

ここで、これらのプログラマブル・デバイス(以下PLDと記載)を用いた電子制御装置を鑑みると、一般的には、製品製造、出荷時にこのPLDに書き込まれるデータは固定されていて、何らかの変更要因(要求)が発生しなければこれらを書き換える必要はないため、上述のどのタイプのPLDを使用する場合についても、この論理プログラム・データを装置の運用現場で書き換えるための機構や、構造を備えることは少ない。   Here, in view of an electronic control device using these programmable devices (hereinafter referred to as PLD), generally, data written to the PLD at the time of product manufacture and shipment is fixed, and some change factor ( Since it is not necessary to rewrite these if no request) occurs, it is not necessary to have a mechanism or structure for rewriting this logical program data at the site of operation of the device, regardless of the type of PLD described above. Few.

これらの装置が、稀にこのPLDの論理プログラム・データの書き換えを必要とするケースとしては、その論理プログラム・データに何らかの問題があってそれが顕在化した場合や、装置の機能を追加したり、性能を向上させるためのバージョンアップを行う場合などが考えられる。現状では、これらの必要が生じた場合には、装置を一旦停止(電源オフ)して、取り外し、代替え品(予備品)などと交換した上で、現場または製造した工場等に於いて製品を分解してその論理プログラム・データの書き換え作業を実施するのが一般的である。   In rare cases, these devices need to rewrite the logic program data of the PLD. If there is some problem with the logic program data and it becomes obvious, or if the function of the device is added. For example, a version upgrade for improving performance may be considered. At present, when these needs arise, the device is temporarily stopped (power off), removed, replaced with a replacement (spare part), etc., and then the product is used at the site or the factory where it was manufactured. In general, the logical program / data is rewritten and decomposed.

一方、近年では、先述の通りPLDそのものがISP(In System Programming)機能を持ち、PLDを制御基板に実装(製造)した後に、基板の電源を投入して論理プログラム・データをPLDに書き込んだり、ダウンロードしたりして論理動作を行うことができるものも増えて来ている。先述の(2)、(3)のタイプのPLDがこれに相当する。この機構を用いることによって、電子制御装置に内蔵されたPLDの論理プログラム・データを遠隔操作で書き換える(変更する)ことも可能となっている。   On the other hand, in recent years, as described above, the PLD itself has an ISP (In System Programming) function, and after mounting (manufacturing) the PLD on the control board, the board is powered on to write logic program data to the PLD, More and more can be downloaded and perform logical operations. The PLDs of the types (2) and (3) described above correspond to this. By using this mechanism, it is possible to rewrite (change) the logic program data of the PLD incorporated in the electronic control device by remote control.

この機構を用いて、LAN回線や通信網を介した遠隔操作でPLDの論理プログラム・データを書き換える手法について提案されている(例えば、特許文献1、特許文献2参照)。
特開2005−258996号公報 特開平9−218781号公報
A method for rewriting PLD logic program data by remote control via a LAN line or a communication network using this mechanism has been proposed (for example, see Patent Document 1 and Patent Document 2).
JP 2005-258996 A Japanese Patent Laid-Open No. 9-218781

しかし、前記の特許文献1,2等によるPLDのデータ書き換えを実施する場合には、その安全性や信頼性には問題点を含んでいた。   However, when performing PLD data rewriting according to the above-mentioned Patent Documents 1 and 2, etc., there are problems in safety and reliability.

図8に、特許文献1の機構を利用して実現したPLDの遠隔書き込みのための機構の例を示す。この例は、先述の(2)、(3)のタイプのPLDを用いた制御装置をLAN回線を経由して遠隔地にあるコントロール・センタから書き換えるための仕組みである。   FIG. 8 shows an example of a mechanism for remote writing of a PLD realized by using the mechanism of Patent Document 1. This example is a mechanism for rewriting a control device using PLDs of the types (2) and (3) described above from a remote control center via a LAN line.

図8に於いて、100は、PLD(FPGAなど)を搭載した、電子制御装置である。200は遠隔地にあって当該の電子装置のPLDの論理プログラムの書き換えを指令するコントロール・センタ、300は書き換えデータを伝送するための通信網であり、LAN回線やIP網などがこれに相当する。   In FIG. 8, reference numeral 100 denotes an electronic control device on which a PLD (FPGA or the like) is mounted. Reference numeral 200 is a remote control center for instructing rewriting of the PLD logic program of the electronic device, and 300 is a communication network for transmitting rewritten data, such as a LAN line or an IP network. .

更に、同図に於いて、110が論理プログラム・データの書き換えの対象となるPLDの全体、120がそのPLDに制御される制御対象、130がこのPLDの論理プログラム・データの書き換えの際に使用される書き込みロジック(論理回路)の全体、140は100の制御装置に於けるデータ授受に使用される内部ローカル・バス、150は制御装置全体の制御と処理を司るCPU、160はメモリ回路、170は制御装置が300の通信網との間でデータを送受信するためのLAN制御回路である。   Furthermore, in the figure, 110 is the whole PLD to be rewritten by the logical program data, 120 is the control target controlled by the PLD, and 130 is used for rewriting the logical program data of the PLD. 140 is an internal local bus used for data exchange in 100 control devices, 150 is a CPU that controls and processes the entire control device, 160 is a memory circuit, 170 Is a LAN control circuit for the control device to send and receive data to and from 300 communication networks.

更に、同図に於いて、111は書き換え対象となるPLD内部のJTAGインタフェース、112はPLDのコンフィグレーション用データ格納用のRAM(Random Access Memory)またはFlashROM(Read Only Memory)、113はPLDのコア・ロジック部分(コンフィグレーション用論理プログラム・データに従って、実際に制御対象を制御するための論理回路マトリックス)である。一方、131は、130の書き込みロジック機構が、140のローカル・バスを介して150のCPUとデータの授受をするための「CPUインタフェース回路」、132は論理プログラム・データ書き込みのための制御信号のタイミング生成とデータ変換などを行うための「トランスファ(転送)制御回路」、133は、実際にPLDとの間で書き込むべき論理プログラム・データを授受するための「JTAGインタフェース回路」、134は論理プログラム・データ書き込みの際にDMA(Direct Memory Access:CPUを介在せずに160のメモリ内のデータを110のPLDに転送する場合に使用する方式)を使用する場合の「DMA制御回路」である。   Further, in the figure, 111 is a JTAG interface inside the PLD to be rewritten, 112 is a RAM (Random Access Memory) or FlashROM (Read Only Memory) for storing PLD configuration data, and 113 is a core of the PLD. A logic part (a logic circuit matrix for actually controlling a control target in accordance with configuration logic program data). On the other hand, 131 is a “CPU interface circuit” for 130 write logic mechanisms to exchange data with 150 CPUs via 140 local buses, and 132 is a control signal for writing logical program data. “Transfer (transfer) control circuit” for performing timing generation and data conversion, 133 is a “JTAG interface circuit” for actually transferring logical program data to be written with the PLD, and 134 is a logical program A “DMA control circuit” in the case of using DMA (Direct Memory Access: a method used when transferring data in 160 memories to 110 PLDs without a CPU) when writing data.

この機構では、200のコントロール・センタから100の制御装置内のPLD(110)の論理プログラム・データを書き換える必要が生じた場合、以下のSTEPにより書き込みを行う。   In this mechanism, when it becomes necessary to rewrite the logic program data of the PLD (110) in the control apparatus from the control center of 200, writing is performed by the following STEP.

(STEP1)200と100との間で予め定めているデータ授受手順(以下プロトコルと呼ぶ)に従って、コントロール・センタ側に用意している書き換え用の新論理プログラム・データを160のメモリに転送する。   (STEP 1) In accordance with a predetermined data exchange procedure (hereinafter referred to as a protocol) between 200 and 100, new logical program data for rewriting prepared on the control center side is transferred to 160 memories.

(STEP2)論理プログラム・データがメモリに格納されると、150のCPUまたは、134のDMAコントローラが動作して、160のメモリ内にある書き換えデータを131→132→133→111の回路を介して112のコンフィグレーション用データ格納メモリに転送(書き込み処理)する。   (STEP 2) When the logic program data is stored in the memory, 150 CPUs or 134 DMA controllers operate, and the rewrite data in the 160 memory is transferred through the circuit of 131 → 132 → 133 → 111. The data is transferred (written) to the configuration data storage memory 112.

このデータ転送(書き込み処理)が終了した後、100の制御装置全体に自己リセット(リブート処理)を発生させると、110のPLDは112に格納された新しい論理プログラム・データに従って、新しい制御機能を実現するようになる。   After this data transfer (write process) is completed, if a self-reset (reboot process) is generated in the entire 100 control devices, the 110 PLD implements a new control function according to the new logic program data stored in 112 Will come to do.

さて、ここまでの機能は、特許文献1の機構と内容で実現できる。しかし、この機構だけでは、PLDの書き換え処理に対する安全機構が含まれていないために、コントロール・センタからの誤った指令によって、書き換え対象の制御装置に誤ったデータが書き込まれてしまい、制御不能に陥ったり、制御装置に搭載されたS/WやF/Wのバグの影響でCPUが暴走したりすると、PLDのデータが書き換えられてしまい、装置が二度と立ち上がらなくなってしまうという状態に陥ったりする危険性があった。   Now, the function so far can be realized by the mechanism and contents of Patent Document 1. However, since this mechanism alone does not include a safety mechanism for PLD rewrite processing, incorrect data is written to the control device to be rewritten due to an incorrect command from the control center, and control becomes impossible. If the CPU goes out of control due to an S / W or F / W bug mounted on the control device, the PLD data will be rewritten, and the device will never stand up again. There was a danger.

つまり、制御装置におけるPLDのデータの書き換えは非常に慎重に行われなければならず、この書き換え機構については、十分な保護対策、安全対策が必要となる。   In other words, rewriting of PLD data in the control device must be performed very carefully, and sufficient protection measures and safety measures are required for this rewriting mechanism.

本発明の目的は、電子制御装置におけるPLDのデータの書き換えに、その保護対策、安全対策を講じることができるリモート書き換え方式を提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to provide a remote rewriting method capable of taking protection measures and safety measures for rewriting PLD data in an electronic control unit.

前記の課題を解決するための本発明は、以下の構成を特徴とする。   The present invention for solving the above-described problems is characterized by the following configuration.

(1)マイクロ・プロセッサと、このマイクロ・プロセッサによる制御対象の制御のための論理プログラムが書き込まれるプログラマブル・デバイスと、外部から前記マイクロ・プロセッサに遠隔伝送される前記論理プログラム・データを前記プログラマブル・デバイスに転送して書き込む書き込みロジックとを備えた電子制御装置に於いて、
前記書き込みロジックは、
前記論理プログラム・データの転送イネーブル(信号通過)/ディスエーブル(信号遮断)を制御可能にしたバッファ回路と、
前記プログラマブル・デバイスに前記論理プログラム・データを転送するときのみ、前記バッファ回路をディスエーブル状態からイネーブル状態に切り替えるイネーブル・レジスタとを備えたことを特徴とする。
(1) A micro processor, a programmable device in which a logic program for controlling a control target by the micro processor is written, and the logic program data remotely transmitted to the micro processor from the outside. In an electronic control unit with write logic that transfers and writes to the device,
The write logic is
A buffer circuit capable of controlling transfer enable (signal passage) / disable (signal cutoff) of the logic program data; and
And an enable register that switches the buffer circuit from a disabled state to an enabled state only when the logical program data is transferred to the programmable device.

(2)マイクロ・プロセッサと、このマイクロ・プロセッサによる制御対象の制御のための論理プログラム・データが書き込まれるプログラマブル・デバイスと、外部から前記マイクロ・プロセッサに遠隔伝送される前記論理プログラム・データを前記プログラマブル・デバイスに転送して書き込む書き込みロジックとを備えた電子制御装置に於いて、
前記書き込みロジックは、
前記論理プログラム・データの転送イネーブル(信号通過)/ディスエーブル(信号遮断)を制御可能にしたバッファ回路と、
電子制御装置別に固定的に与えられたハードウェアIDデータを予め格納したハードウェアIDレジスタと、
外部から前記マイクロ・プロセッサに遠隔伝送されるキーコード・データが書き込まれるキーコード・レジスタと、
前記プログラマブル・デバイスに前記論理プログラム・データを転送するとき、前記ハードウェアIDデータと前記キーコード・データが一致したときのみ、前記バッファ回路をディスエーブル状態からイネーブル状態に切り替えるコンパレータとを備えたことを特徴とする。
(2) a microprocessor, a programmable device in which logic program data for control of a control target by the microprocessor is written, and the logic program data transmitted remotely to the microprocessor from the outside In an electronic control device with write logic that transfers and writes to a programmable device,
The write logic is
A buffer circuit capable of controlling transfer enable (signal passage) / disable (signal cutoff) of the logic program data; and
A hardware ID register pre-stored with hardware ID data fixedly given to each electronic control unit;
A key code register in which key code data transmitted from the outside to the microprocessor is written;
A comparator that switches the buffer circuit from a disabled state to an enabled state only when the hardware ID data and the key code data match when transferring the logic program data to the programmable device. It is characterized by.

(3)マイクロ・プロセッサと、このマイクロ・プロセッサによる制御対象の制御のための論理プログラム・データが書き込まれるプログラマブル・デバイスと、外部から前記マイクロ・プロセッサに遠隔伝送される前記論理プログラム・データを前記プログラマブル・デバイスに転送して書き込む書き込みロジックとを備えた電子制御装置に於いて、
前記プログラマブル・デバイスは、電子制御装置別に固定的に与えられたハードウェアIDデータを予め格納したハードウェアIDレジスタと、前記プログラマブル・デバイスに書き込まれている現状の論理プログラム・データのレビジョンを格納したレビジョン・レジスタとを備え、
前記書き込みロジックは、
前記論理プログラム・データの転送イネーブル(信号通過)/ディスエーブル(信号遮断)を制御可能にしたバッファ回路と、
前記ハードウェアIDレジスタの内容と前記レビジョン表示レジスタの内容が前記マイクロ・プロセッサによって書き込まれる暗号化回路と、
前記マイクロ・プロセッサによって外部に通知された前記ハードウェアIDレジスタの内容と前記レビジョン表示レジスタの内容に対して、該外部でソフトウェア的に暗号化した暗号化データをキーコード・データとして書き込まれるキーコード・レジスタと、
前記プログラマブル・デバイスに前記論理プログラム・データを転送するとき、前記ハードウェアIDデータと前記キーコード・データが一致したときのみ、前記バッファ回路をディスエーブル状態からイネーブル状態に切り替えるコンパレータとを備えたことを特徴とする。
(3) a microprocessor, a programmable device in which logic program data for control of a control target by the microprocessor is written, and the logic program data transmitted from the outside to the microprocessor In an electronic control device with write logic that transfers and writes to a programmable device,
The programmable device stores a hardware ID register in which hardware ID data fixedly given for each electronic control device is stored in advance, and a revision of the current logic program data written in the programmable device. With a revision register,
The write logic is
A buffer circuit capable of controlling transfer enable (signal passage) / disable (signal cutoff) of the logic program data; and
An encryption circuit in which the contents of the hardware ID register and the contents of the revision display register are written by the microprocessor;
Key code written as key code data to the hardware ID register contents and the revision display register contents notified to the outside by the microprocessor, and the encrypted data encrypted externally by software・ Register and
A comparator that switches the buffer circuit from a disabled state to an enabled state only when the hardware ID data and the key code data match when transferring the logic program data to the programmable device. It is characterized by.

(4)前記書き込みロジックから出力された前記論理プログラム・データが書き込まれる外付けシリアルEEPROMを備え、
前記プログラマブル・デバイスは、制御装置全体の自己リセット時に前記シリアルEEPROMから前記論理プログラム・データを読み出す手段を備えたことを特徴とする。
(4) An external serial EEPROM into which the logic program data output from the write logic is written is provided.
The programmable device includes means for reading the logic program data from the serial EEPROM at the time of self-resetting of the entire control apparatus.

以上のとおり、本発明によれば、プログラマブル・デバイスの論理プログラム・データを外部から書き換えに、プログラム実行(ソフトウェア)の暴走や、ノイズの影響、更には故意による人的な破壊工作などによって、装置がその機能を失って、二度と復旧できなくなる危険性を徹底的に排除し、制御装置内のPLDのリモート書き換えを安全性高く実現できる。   As described above, according to the present invention, the logical program data of the programmable device can be rewritten from the outside, the program execution (software) runaway, the influence of noise, and further intentional human destruction, etc. However, it is possible to thoroughly eliminate the risk of losing its function and never be able to restore it, and to rewrite the PLD in the control device with high safety.

(実施形態1)
本実施形態では、基本的なデータ書き込みの処理ルート上に単純なバッファ回路を設け、これをイネーブル/ディスエーブル操作するためのイネーブル・レジスタを設けることを提案する。
(Embodiment 1)
In the present embodiment, it is proposed to provide a simple buffer circuit on the basic data write processing route and to provide an enable register for enabling / disabling the buffer circuit.

図1に、このための機構例を示す。同図に於いて、100〜170の各部は、図8の各部と同じものである。図1に於いて、1000が本実施形態において安全対策のために書き込みロジック内に追加される保護回路の全体である。1001は132の転送制御回路と、133のJTAGインタフェースの間のデータ・パス内に設けるバッファ回路であり、1001aのバッファ制御信号によって、イネーブル(信号通過)/ディスエーブル(信号遮断)の制御が行えるものである。また、1101は、1001aのバッファ制御信号を操作するための「イネーブル・レジスタ」であり、150のCPUによるアクセス操作によって、バッファ制御信号のレベルを変化させることができる。   FIG. 1 shows an example of a mechanism for this purpose. In the same figure, each part of 100-170 is the same as each part of FIG. In FIG. 1, reference numeral 1000 denotes an entire protection circuit added in the write logic for safety measures in this embodiment. Reference numeral 1001 denotes a buffer circuit provided in a data path between 132 transfer control circuits and 133 JTAG interface, and enable (signal passing) / disable (signal cutoff) can be controlled by a buffer control signal 1001a. Is. Reference numeral 1101 denotes an “enable register” for operating the buffer control signal 1001a, and the level of the buffer control signal can be changed by an access operation by 150 CPU.

この図1の機構において、まず、初期化状態(リセット後)では1101のイネーブル・レジスタはクリアされており、1001aのバッファ制御信号は、「ディスエーブル(信号遮断)」状態になっているものとする。この状態で以下のSTEPにより書き込みを行う。   In the mechanism of FIG. 1, first, in the initialization state (after reset), the enable register 1101 is cleared, and the buffer control signal 1001a is in the “disable (signal cut-off)” state. To do. In this state, writing is performed by the following STEP.

(STEP1)200と100との間で予め定めているデータ授受プロトコルに従って、コントロール・センタ側に用意している書き換え用の新論理プログラム・データを160のメモリに転送する。   (STEP 1) The new logical program data for rewriting prepared on the control center side is transferred to 160 memories in accordance with a data exchange protocol predetermined between 200 and 100.

(STEP2)CPUは、データ書き込みプロセスに先立って、1101のイネーブル・レジスタを操作し、1001aのバッファ制御信号を「イネーブル(信号通過)」方向に反転させる。   (STEP 2) Prior to the data writing process, the CPU operates the enable register 1101 to invert the buffer control signal 1001a in the “enable (signal passing)” direction.

(STEP3)論理プログラム・データが160のメモリに格納されると、150のCPU、または134のDMAコントローラが動作して、160のメモリ内にある書き換えデータを131→132→1001→133→111の回路を介して112のコンフィグレーション用データ格納メモリに転送(書き込み処理)する。   (STEP 3) When the logic program data is stored in the 160 memory, 150 CPUs or 134 DMA controllers operate, and the rewrite data in the 160 memory is changed from 131 → 132 → 1001 → 133 → 111. The data is transferred (written) to the configuration data storage memory 112 via the circuit.

このデータ転送(書き込み処理)が終了した後、100の制御装置全体に自己リセット(リブート処理)を発生させると、110のPLDは112に格納された新しい論理プログラム・データに従って、新しい制御機能を実現するようになる。また、このリセット処理によって、1101のイネーブル・レジスタはクリアされ、1001aのバッファ制御信号は、「ディスエーブル(信号遮断)」状態に戻る。   After this data transfer (write process) is completed, if a self-reset (reboot process) is generated in the entire 100 control devices, the 110 PLD implements a new control function according to the new logic program data stored in 112 Will come to do. This reset process clears the enable register 1101 and returns the buffer control signal 1001a to the “disabled (signal cut-off)” state.

この例の場合には、通常の制御装置の運用時には、1101のイネーブル・レジスタはクリアされていて、1001aのバッファ制御信号は、「ディスエーブル(信号遮断)」にあるため、ノイズ等の信号の乱れによって、この書き込みのためのJTAGインタフェースが誤動作して、112のコンフィグレーション用データの内容が書き換わってしまう恐れはない。また、CPUが正しく1101のイネーブル・レジスタを操作し、1001aのバッファ制御信号を「イネーブル(信号通過)」方向に反転させなければ、この132のコンフィグレーション用データの内容を書き換えることができないため、S/W実行が暴走して、書き換えの処理部を実行してしまったとしても、このコンフィグレーション用データの内容が書き換わってしまう恐れはない。   In this example, since the enable register 1101 is cleared and the buffer control signal 1001a is “disabled (signal cutoff)” during normal operation of the control device, the signal of noise or the like There is no possibility that the JTAG interface for writing will malfunction due to the disturbance and the contents of the 112 configuration data will be rewritten. Also, unless the CPU correctly operates the enable register 1101 and inverts the buffer control signal 1001a in the “enable (signal passing)” direction, the contents of the 132 configuration data cannot be rewritten. Even if the S / W execution runs out of control and the rewrite processing unit is executed, there is no fear that the contents of the configuration data will be rewritten.

このような仕組みを実現するために、図1に示す実施形態1の機構を用いれば、PLDのデータの書き換え処理に関して、誤書き込みに対する安全性を高めることが出来る。   In order to realize such a mechanism, the use of the mechanism according to the first embodiment shown in FIG. 1 can improve the safety against erroneous writing in the PLD data rewriting process.

(実施形態2)
本実施形態では、実施形態1の機構について更に安全性を高めるための機構を提案する。
(Embodiment 2)
In the present embodiment, a mechanism for further improving the safety of the mechanism of the first embodiment is proposed.

実施形態1の場合、一旦、S/Wが暴走して、図1の1101のイネーブル・レジスタを操作して、「イネーブル(信号通過)」方向に反転してしまうと、1000の保護回路が機能せず、図8の従来回路と全く同じ構成になってしまうため、本機構の特長である誤操作やノイズによる誤書き込みのロック機能が失われてしまうことになる。   In the case of the first embodiment, once the S / W goes out of control and the enable register 1101 in FIG. 1 is operated to invert in the “enable (signal passing)” direction, 1000 protection circuits function. Therefore, since the configuration is exactly the same as that of the conventional circuit of FIG. 8, the erroneous write lock function due to erroneous operation and noise, which is a feature of this mechanism, is lost.

そこで、図1における1101のイネーブル・レジスタの機構を進化させ、単純なCPUによるアクセスでは操作ができない仕組みとしたものが実施形態2である。   Therefore, the second embodiment is a mechanism in which the mechanism of the enable register 1101 in FIG.

図2に、実施形態2の機構例を示す。同図に於いて、100〜170の各部は、図1に於ける各部と同じものである。また、図2に於いて、1000が、本実施形態2として、安全対策のために書き込みロジック内に追加される保護回路の全体である。1001は132の転送制御回路と、133のJTAGインタフェースの間のデータ・パス内に設けるバッファ回路であり、1001aのバッファ制御信号によって、イネーブル(信号通過)/ディスエーブル(信号遮断)の制御が行えるものであることも図1と同様である。   FIG. 2 shows a mechanism example of the second embodiment. In the same figure, each part of 100-170 is the same as each part in FIG. In FIG. 2, reference numeral 1000 denotes the entire protection circuit added in the write logic as a safety measure in the second embodiment. Reference numeral 1001 denotes a buffer circuit provided in a data path between 132 transfer control circuits and 133 JTAG interface, and enable (signal passing) / disable (signal cutoff) can be controlled by a buffer control signal 1001a. It is the same as in FIG.

図2に於いて、1201〜1203の各部が実施形態2の特徴であるが、1201は、書き換え対象となる制御装置別に与えられる、ユニークなデータ(例えば製造シリアル番号のような唯一の従属データ)を固定的に格納したレジスタ(ハードウェアIDレジスタ)である。このレジスタは不揮発メモリなどで実現し、製造時に書き込みを行った後は、書き換えが不可能なものとする。次に、1202は150のCPUから131のCPUインタフェースを介してアクセス(書き換え)可能なキーコード・レジスタであり、PLDの論理プログラム・データ書き換え処理内では、200のコントロール・センタ側から送られてくるキーコード・データをCPUが受領して、ここに書き込む。1203は、比較回路(コンパレータ)であり、1201に予め格納されているユニークなハードウェアIDと、1202のキーコード・レジスタにセットされた値を比較して、一致したか否かの結果(1001a信号)を出力する。ここでは、2つの値が一致した場合に1001a信号をイネーブル(信号通過)側にし、それ以外の場合は、ディスエーブル(信号遮断)側にするものとする。   In FIG. 2, each part of 1201 to 1203 is a feature of the second embodiment, but 1201 is unique data (for example, only dependent data such as a manufacturing serial number) given to each control device to be rewritten. Is a register (hardware ID register) in which is stored in a fixed manner. This register is realized by a nonvolatile memory or the like, and cannot be rewritten after writing at the time of manufacture. Next, reference numeral 1202 denotes a key code register which can be accessed (rewritten) from 150 CPUs via the 131 CPU interface, and is sent from the 200 control center side in the PLD logical program data rewriting process. The CPU receives the incoming key code data and writes it here. Reference numeral 1203 denotes a comparison circuit (comparator), which compares a unique hardware ID stored in advance in 1201 with a value set in the key code register of 1202, and determines whether or not they match (1001a Signal). Here, the 1001a signal is set to the enable (signal passing) side when the two values match, and is set to the disable (signal cutoff) side otherwise.

ここで、装置がリセットされると、1202の「キーコード・レジスタ」はクリアされて、必ず、ハードウェアIDコードとは異なる値になるものとすると、1001aのバッファ制御信号(1203のコンパレータの出力)は、通常時(PLD書き換え処理時以外)には「ディスエーブル(信号遮断)」状態になっていることになる。この状態で、PLDの論理プログラム・データ書き換えは、以下のSTEPにより行う。   Here, when the device is reset, the “key code register” of 1202 is cleared, and if it always becomes a value different from the hardware ID code, the buffer control signal of 1001a (the output of the comparator of 1203) ) Is in a “disabled (signal cut-off)” state during normal times (except during PLD rewrite processing). In this state, PLD logic program data rewrite is performed in the following STEP.

(STEP1)200と100との間で予め定めているデータ授受プロトコルに従って、コントロール・センタ側に用意している書き換え用の新論理プログラム・データを160のメモリに転送する。   (STEP 1) The new logical program data for rewriting prepared on the control center side is transferred to 160 memories in accordance with a data exchange protocol predetermined between 200 and 100.

(STEP2)コントロール・センタ側では、PLDの論理プログラム・データの書き換えを行う対象の制御装置のハードウェアIDデータ(例えば製造シリアル番号のような唯一の従属データ)を予め控えて置き、PLDの論理プログラム・データ書き換えの際には、この当該装置のハードウェアIDデータを「キーコード・データ」情報として、当該装置のCPU(150)に引き渡す。   (STEP 2) On the control center side, the hardware ID data (for example, only subordinate data such as the manufacturing serial number) of the control device to be rewritten is pre-recorded and the PLD logic program data is rewritten. When rewriting program data, the hardware ID data of the device is transferred to the CPU (150) of the device as “key code data” information.

(STEP3)150のCPUは、200のコントロール・センタ側から引き渡された「キーコード・データ」情報を、1202のキーコード・レジスタに書き込む。   (STEP 3) The CPU 150 writes the “key code data” information delivered from the 200 control center side into the 1202 key code register.

この処理により、1203のコンパレータの2つの入力(1201に予め格納されているユニークなハードウェアIDと、1202のキーコード・レジスタにセットされた値)が一致することになり、その出力信号1001a信号は、「イネーブル(信号通過)」方向を示し、1001のバッファがイネーブルになる。   By this processing, the two inputs of the comparator 1203 (the unique hardware ID stored in advance 1201 and the value set in the key code register 1202) match, and the output signal 1001a signal Indicates the “enable (signal passing)” direction, and the buffer 1001 is enabled.

(STEP4)PLD書き換え用の論理プログラム・データはメモリに格納されると、150のCPUまたは、134のDMAコントローラが動作して、160のメモリ内にある書き換えデータを131→132→1001→133→111の回路を介して112のコンフィグレーション用データ格納メモリに転送(書き込み処理)する。   (STEP 4) When the logical program data for PLD rewrite is stored in the memory, 150 CPUs or 134 DMA controllers operate, and the rewrite data in the 160 memory is changed from 131 → 132 → 1001 → 133 → The data is transferred (written) to the configuration data storage memory 112 via the circuit 111.

このデータ転送(書き込み処理)が終了した後、100の制御装置全体に自己リセット(リブート処理)を発生させると、110のPLDは112に格納された新しい論理プログラム・データに従って、新しい制御機能を実現するようになる。また、このリセット処理によって、1202のキーコード・レジスタは初期化(クリア)され、1201と1202の値は不一致となるので、1001aのバッファ制御信号(1203のコンパレータの出力)は、「ディスエーブル(信号遮断)」状態に戻る。   After this data transfer (write process) is completed, if a self-reset (reboot process) is generated in the entire 100 control devices, the 110 PLD implements a new control function according to the new logic program data stored in 112 Will come to do. In addition, the reset process initializes (clears) the key code register 1202, and the values 1201 and 1202 do not match. Therefore, the buffer control signal 1001a (the output of the comparator 1203) is "disabled ( The signal is cut off.

この例の場合には、通常の制御装置の運用時には、1202のキーコード・レジスタは初期化(クリア)され、1201と1202の値は不一致で、1001aのバッファ制御信号(1203のコンパレータの出力)は、「ディ一ブル(信号遮断)」にあるため、ノイズ等の信号の乱れによって、この書き込みのためのJTAGインタフェースが誤動作して、112のコンフィグレーション用データの内容が書き換わってしまう恐れはない。また、PLDの論理プログラム・データの書き換えを指示する200のコントロール・センタが、制御装置のハードウェアID情報を正しく認知していて.これを正しく装置のCPUに伝達し、CPUがこれを正しくキーコード・レジスタにセットしない限り、1001aのバッファ制御信号は「イネーブル(信号通過)」方向にならないので、112のコンフィグレーション用データの内容を書き換えることができない。このため、S/W実行が暴走して、書き換えの処理部を実行してしまったとしても、このコンフィグレーション用データの内容が書き換わってしまう恐れは殆ど考えられない。   In this example, when the normal control device is operated, the key code register 1202 is initialized (cleared), the values 1201 and 1202 do not match, and the buffer control signal 1001a (the output of the comparator 1203) Is in the “disable (signal cut-off)” state, there is a risk that the JTAG interface for this writing will malfunction due to disturbance of the signal such as noise and the contents of the 112 configuration data will be rewritten. Absent. In addition, the 200 control centers instructing to rewrite the PLD logic program data correctly recognize the hardware ID information of the control device. Unless this is correctly transmitted to the CPU of the apparatus, and the CPU does not correctly set this in the key code register, the buffer control signal of 1001a will not be in the “enable (signal passing)” direction, so the contents of the 112 configuration data Cannot be rewritten. For this reason, even if the S / W execution runs out of control and the rewrite processing unit is executed, there is almost no possibility that the contents of the configuration data will be rewritten.

このような仕組みを実現するために、図2に示す実施形態2の機構を用いれば、PLDのデータの書き換え処理に関して、誤書き込みに対する安全性を更に高めることが出来る。   If the mechanism of the second embodiment shown in FIG. 2 is used in order to realize such a mechanism, the safety against erroneous writing can be further improved in the data rewriting process of the PLD.

(実施形態3)
本実施形態は、実施形態2の機構について更に安全性を高めるための機構を提案する。
(Embodiment 3)
The present embodiment proposes a mechanism for further improving the safety of the mechanism of the second embodiment.

実施形態2の場合、S/Wの暴走によるPLDデータの誤書き込みや、本来のターゲットでない装置(ハードウェアIDが異なる装置)に対する誤った書き込み動作等を防ぐためにかなり高い安全性を持つことが可能になっているが、本実施形態3では更に高い信頼性を持たせ、PLDの書き換えを行うべき制御装置に予め書き込まれている論理プログラム・データのレビジョン等まで一致しなければ、新しいデータへの書き換えを行わないような仕組みを提案する。   In the case of the second embodiment, it is possible to have a considerably high safety in order to prevent erroneous writing of PLD data due to S / W runaway or erroneous writing operation to a device that is not the original target (device having a different hardware ID). However, in the third embodiment, if higher reliability is provided and the revision of the logical program data written in the control device to which the PLD is to be rewritten does not match, the new data is transferred. Propose a mechanism to avoid rewriting.

そのために、既にPLDに書き込まれた対象ハードウェアIDや、論理プログラム・データのレビジョン等を元にPLDの論理プログラム・データの書き換えの対象となる装置内で、これらの情報を元に暗号化した「暗号化データ」を生成すると共に、既にPLDに書き込まれた対象ハードウェアIDや、論理プログラム・データのレビジョン等の情報を、書き換え処理の通信プロトコルに先立って、100装置から200のコントロール・センタに通知し、コントロール・センタからはこれらをS/W的に暗号化した「暗号化データ」をキーコード・データとして、書き込みデータと共に当該装置に伝達して処理を行うようにするのが実施形態3である。   For this purpose, encryption was performed based on this information in the device that is the target of rewriting of the PLD logical program data based on the target hardware ID already written in the PLD, the revision of the logical program data, etc. In addition to generating “encrypted data”, information such as the target hardware ID already written in the PLD and the revision of the logical program data is transferred from 100 devices to 200 control centers prior to the communication protocol for rewrite processing. In this embodiment, the control center transmits “encrypted data” obtained by encrypting these in S / W as key code data to the apparatus together with the write data for processing. 3.

図3に、実施形態3の機構例を示す。同図に於いて、100〜170の各部は、図2に於ける各部と同じものである。また、図3に於いて、1000が、本実施形態3として、安全対策のために書き込みロジック内に追加される保護回路の全体である。1001は132の転送制御回路と、133のJTAGインタフェースの間のデータ・パス内に設けるバッファ回路であり、1001aのバッファ制御信号によって、イネーブル(信号通過)/ディスエーブル(信号遮断)の制御が行えるものであることは図2と同様である。   FIG. 3 shows a mechanism example of the third embodiment. In the same figure, each part of 100-170 is the same as each part in FIG. In FIG. 3, reference numeral 1000 denotes the entire protection circuit added in the write logic for safety measures as the third embodiment. Reference numeral 1001 denotes a buffer circuit provided in a data path between 132 transfer control circuits and 133 JTAG interface, and enable (signal passing) / disable (signal cutoff) can be controlled by a buffer control signal 1001a. It is the same as in FIG.

図3では、1301から1304の機構が実施形態3の特徴となっている。1301は、150のCPUによって与えられたデータを暗号化するためのエンクリプション論理回路であり、その暗号化データは1302の「暗号化データ・レジスタ」に格納される。 1303は、書き換え対象となる制御装置の固体に対して与えられる、ユニークなデータ(例えば製造シリアル番号のような唯一の従属データ)を格納している「ハードウェアID・レジスタ」不揮発レジスタ、1304はPLDに書き込まれている現状の論理プログラム・データのレビジョンを示す「レビジョン・レジスタ」であって、これらは、PLDのコンフィグレーション用論理プログラム・データの一部として作成してPLD内に機能を埋め込んでおくものとする。1303と1304は140のローカル・バスを経由して150のCPUが読み出せるように構成する。   In FIG. 3, the mechanisms 1301 to 1304 are the features of the third embodiment. Reference numeral 1301 denotes an encryption logic circuit for encrypting data given by the CPU 150, and the encrypted data is stored in an “encrypted data register” 1302. Reference numeral 1303 denotes a “hardware ID register” nonvolatile register that stores unique data (for example, only subordinate data such as a manufacturing serial number) given to the individual control device to be rewritten. “Revision register” indicating the revision of the current logic program data written in the PLD, which is created as part of the PLD configuration logic program data and embedded in the PLD. Shall be left in place. 1303 and 1304 are configured so that 150 CPUs can read via 140 local buses.

一方、1202と1203の各部は実施形態2(図2)と同じものであるが、1202は、150のCPUから131のCPUインタフェースを介してアクセス(書き換え)可能なレジスタであり、PLDの論理プログラム・データ書き換え処理内では、200のコントロール・センタ側から送られてくるキーコード・データをCPUが受領して、ここに書き込む。1203は、比較回路(コンパレータ)であり、1201に予め格納されているユニークなハードウェアIDと、1202のキーコード・レジスタにセットされた値を比較して、一致したか否かの結果(1001a信号)を出力する。ここでは、2つの値が一致した場合に1001a信号をイネーブル(信号通過)側にし、それ以外の場合は、ディスエーブル(信号遮断)側にする.
ここで、装置がリセットされると、1202の「キーコード・レジスタ」はクリアされて、必ず、1302の「暗号化データ・レジスタ」の出力とは異なる値になるものとすると、1001aのバッファ制御信号(1203のコンパレータの出力)は、通常時(PLD書き換え処理時以外)には「ディスエーブル(信号遮断)」状態になっていることになる。この状態で、PLDの論理プログラム・データ書き換えは、以下のSTEPにより行う。
On the other hand, each part of 1202 and 1203 is the same as that of the second embodiment (FIG. 2), but 1202 is a register that can be accessed (rewritten) from 150 CPUs via the CPU interface 131 and is a PLD logical program. In the data rewriting process, the CPU receives key code data sent from the control center side of 200 and writes it here. Reference numeral 1203 denotes a comparison circuit (comparator), which compares a unique hardware ID stored in advance in 1201 with a value set in the key code register of 1202, and determines whether or not they match (1001a Signal). Here, the 1001a signal is set to the enable (signal passing) side when the two values match, and is set to the disable (signal cutoff) side otherwise.
Here, when the device is reset, the “key code register” of 1202 is cleared, and if it always becomes a value different from the output of the “encrypted data register” of 1302, the buffer control of 1001a The signal (the output of the comparator 1203) is in a “disabled (signal cut-off)” state at the normal time (except during the PLD rewrite process). In this state, PLD logic program data rewrite is performed in the following STEP.

(STEP1)150のCPUは、110のPLD内の、1303部の「ハードウェアIDレジスタ」と1304部の「レビジョン・レジスタ」の内容を読み出す。   (STEP 1) The CPU 150 reads the contents of the “hardware ID register” of 1303 and the “revision register” of 1304 in the 110 PLD.

(STEP2)150のCPUは、STEP1で読み込んだ1303部の「ハードウェアIDレジスタ」と1304部の「レビジョン・レジスタ」の内容を、1301部の「暗号化回路」に流し込む。この処理によって、暗号化回路の出力は、1302の「暗号化データ・レジスタ」に格納される。   (STEP 2) The CPU 150 flows the contents of 1303 “hardware ID register” and 1304 “revision register” read in STEP 1 into 1301 “encryption circuit”. By this processing, the output of the encryption circuit is stored in “encrypted data register” 1302.

(STEP3)150のCPUは、STEP1で読み込んだ1303部の「ハードウェアIDレジスタ」と1304部の「レビジョン・レジスタ」の内容を、170のLAN制御部と300の通信綱を介して200のコントロール・センタ側に通知する。   (STEP 3) The CPU of 150 controls the contents of 1303 “Hardware ID Register” and 1304 “Revision Register” read in STEP 1 through 200 LAN control units and 300 communication lines. -Notify the center side.

(STEP4)200のデータ・センタでは、100の当該装置との間で予め定めているデータ授受プロトコルに従って、コントロール・センタ側に用意している書き換え用の新論理プログラム・データを160のメモリに転送する。   (STEP 4) In the data center of 200, the new logical program data for rewriting prepared on the control center side is transferred to the memory of 160 in accordance with a data exchange protocol determined in advance with 100 devices concerned. To do.

(STEP5)更に、200のコントロール・センタ側では、STEP3で受け取った1303部の「ハードウェアIDレジスタ」と1304部の「レビジョン・レジスタ」の内容をソフトウェア的に暗号化し、「暗号化データ」を生成する。   (STEP 5) Further, on the 200 control center side, the contents of 1303 parts of “Hardware ID Register” and 1304 parts of “Revision Register” received in STEP 3 are encrypted by software, and “encrypted data” is stored. Generate.

(STEP6)200のコントロール・センタはSTEP5で生成した「暗号化データ」を「キーコード・データ」として150のCPUに伝達する。   (STEP 6) The control center 200 transmits the “encrypted data” generated in STEP 5 to the 150 CPUs as “key code data”.

(STEP7)150のCPUは、200のコントロール・センタ側から引き渡された「キーコード・データ」情報を、1202のキーコード・レジスタに書き込む。   (STEP 7) The CPU of 150 writes the “key code data” information delivered from the control center side of 200 to the key code register of 1202.

この処理により、1203のコンパレータの2つの入力(1302に格納されている「暗号化データ」と、1202のキーコード・レジスタにセットされた値)が一致することになり、その出力信号1001a信号は、「イネーブル(信号通過)」方向を示し、1001のバッファがイネーブルになる。   By this processing, the two inputs of the comparator 1203 (“encrypted data” stored in 1302 and the value set in the key code register 1202) match, and the output signal 1001a signal is , Indicates the “enable (signal passing)” direction, and the buffer 1001 is enabled.

(STEP8)PLD書き換え用の論理プログラム・データはメモリに格納されると、150のCPUまたは、134のDMAコントローラが動作して、160のメモリ内にある書き換えデータを131→132→1001→133→111の回路を介して112のコンフィグレーション用データ格納メモリに転送(書き込み処理)する。   (STEP 8) When the logic program data for PLD rewrite is stored in the memory, 150 CPUs or 134 DMA controllers operate, and the rewrite data in the 160 memory is changed from 131 → 132 → 1001 → 133 → The data is transferred (written) to the configuration data storage memory 112 via the circuit 111.

このデータ転送(書き込み処理)が終了した後、100の制御装置全体に自己リセット(リブート処理)を発生させると、110のPLDは112に格納された新しい論理プログラム・データに従って、新しい制御機能を実現するようになる。また、このリセット処理によって、1202のキーコード・レジスタは初期化(クリア)され、1201と1202の値は不一致となるので、1001aのバッファ制御信号(1203のコンパレータの出力)は、「ディスエーブル(信号遮断)」状態に戻る。   After this data transfer (write process) is completed, if a self-reset (reboot process) is generated in the entire 100 control devices, the 110 PLD implements a new control function according to the new logic program data stored in 112 Will come to do. In addition, the reset process initializes (clears) the key code register 1202, and the values 1201 and 1202 do not match. Therefore, the buffer control signal 1001a (the output of the comparator 1203) is "disabled ( The signal is cut off.

この例の場合には、通常の制御装置の運用時には、1202のキーコード・レジスタは初期化(クリア)され、1201と1202の値は不一致で、1001aのバッファ制御信号(1203のコンパレータの出力)は、「ディスエーブル(信号遮断)」にあるため、ノイズ等の信号の乱れによって、この書き込みのためのJTAGインタフェースが誤動作して、112のコンフィグレーション用データの内容が書き換わってしまう恐れはない。   In this example, when the normal control device is operated, the key code register 1202 is initialized (cleared), the values 1201 and 1202 do not match, and the buffer control signal 1001a (the output of the comparator 1203) Is “disabled (signal cut-off)”, there is no possibility that the JTAG interface for this writing malfunctions due to disturbance of the signal such as noise and the contents of the 112 configuration data are rewritten. .

また、PLDの論理プログラム・データの書き換えを指示する200のコントロール・センタが、書き込むべき制御装置の1303部の「ハードウェアIDレジスタ」と1304部の「レビジョン・レジスタ」の内容を正しく受信して認知し、予め定められた暗号化方式でこれを正しく暗号化して、更にこれを「キーコード・データ」として当該装置のCPUに伝達し、 CPUがこれを正しくキーコード・レジスタにセットされる一方、書き込みを行われる当該制御装置側でも、1303部の「ハードウェアIDレジスタ」と1304部の「レビジョン・レジスタ」の内容を正しく暗号化して、1302の「暗号化データ・レジスタ」に格納していない限り、1001aのバッファ制御信号は「イネーブル(信号通過)」方向にならないので、112のコンフィグレーション用データの内容を書き換えることができない。   Also, the 200 control centers instructing the rewriting of the PLD logic program data correctly receive the contents of the “hardware ID register” 1303 and the “revision register” 1304 of the control device to be written. Recognize it, encrypt it correctly with a predetermined encryption method, and transmit it to the CPU of the device as “key code data”, which is then correctly set in the key code register On the control device side to which writing is performed, the contents of the “hardware ID register” in 1303 and the “revision register” in 1304 are correctly encrypted and stored in the “encrypted data register” in 1302. Unless otherwise, the buffer control signal of 1001a is not in the “enable (signal passing)” direction. , It is impossible to rewrite the contents of the data 112's configuration.

このような、仕組みにより本実施形態では、非常に高い安全性を保持した、PLD論理プログラム・データ書き換えの機構を提供することができる。   With such a mechanism, the present embodiment can provide a PLD logic program / data rewriting mechanism that maintains extremely high safety.

(実施形態4)
本実施形態4は、基本的な安全性確保のための保護方式は、実施形態3と同様であるが、これをシリアルROMに論理プログラム・データを格納しておき、ここからPLD内のコンフィグレーション用RAMにデータをダウンロードして動作するタイプのPLDに適用する場合の構成例である。
(Embodiment 4)
In the fourth embodiment, the protection method for ensuring basic safety is the same as that in the third embodiment. However, the logical program data is stored in the serial ROM, and the configuration in the PLD is then stored. This is a configuration example when applied to a PLD of a type that operates by downloading data to a RAM for operation.

図4に、実施形態4の構成例を示す。同図では、図3(実施形態3)の111部と133部のJTAGインタフェースが、114と135のシリアル・インタフェースに置き換えられており、このシリアル・インタフェース信号バス上に、180のシリアルEEPROMが追加されている。   FIG. 4 shows a configuration example of the fourth embodiment. In this figure, the 111 and 133 JTAG interfaces in FIG. 3 (Embodiment 3) are replaced with 114 and 135 serial interfaces, and 180 serial EEPROMs are added to the serial interface signal bus. Has been.

この機構の場合も、手順(プロトコル)の(STEP1)〜(STEP7)までは、実施形態3と全く同じであり、(STEP8)のプロセス以降が次のように異なる。   Also in this mechanism, steps (protocol) (STEP 1) to (STEP 7) are exactly the same as those in the third embodiment, and the processes after (STEP 8) are different as follows.

(STEP8)PLD書き換え用の論理プログラム・データは160のメモリに格納されているが、150のCPUまたは、134のDMAコントローラが動作して、160のメモリ内にある書き換えデータを131→132→1001→135→180の回路を介して180のシリアルEEPROM内に転送(書き込み処理)が行われる。   (STEP 8) The logic program data for PLD rewrite is stored in 160 memory, but 150 CPUs or 134 DMA controllers are operated, and the rewrite data in the 160 memory is changed from 131 → 132 → 1001. Transfer (write processing) is performed in 180 serial EEPROMs through the circuit of → 135 → 180.

(STEP9)上記の(STEP8)のデータ転送(書き込み処理)が終了した後、100の制御装置全体に自己リセット(リブート処理)を発生すると、110のPLDは114のシリアル・インタフェースを介して、180のシリアルEEPROMからデータを読み出し、112のコンフィグレーション用RAMにデータを転送し、このRAMに転送された新しい論理プログラム・データに従って、新しい制御機能を実現するようになる。また、このリセット処理によって、1202のキーコード・レジスタは初期化(クリア)され、1201と1202の値は不一致となるので、1001aのバッファ制御信号(1203のコンパレータの出力)は、「ディスエーブル(信号遮断)」状態に戻る。   (STEP 9) After the data transfer (write process) in (STEP 8) is completed, if a self-reset (reboot process) is generated in the entire 100 control devices, the 110 PLD is switched to 180 through the 114 serial interface. The data is read from the serial EEPROM, and the data is transferred to the configuration RAM 112, and a new control function is realized according to the new logic program data transferred to the RAM. In addition, the reset process initializes (clears) the key code register 1202, and the values 1201 and 1202 do not match. Therefore, the buffer control signal 1001a (the output of the comparator 1203) is "disabled ( The signal is cut off.

この例の場合も、通常の制御装置の運用時には、1202のキーコード・レジスタは初期化(クリア)され、1201と1202の値は不一致で、1001aのバッファ制御信号(1203のコンパレータの出力)は、「ディスエ一ブル(信号遮断)」にあるため、ノイズ等の信号の乱れによって、この書き込みのためのシリアル・インタフェースが誤動作して、180のシリアルEEPROMの内容が書き換わってしまう恐れはない。   Also in this example, during the normal operation of the control device, the key code register of 1202 is initialized (cleared), the values of 1201 and 1202 do not match, and the buffer control signal of 1001a (the output of the comparator of 1203) is Therefore, there is no possibility that the serial interface for writing malfunctions and the contents of the 180 serial EEPROMs are rewritten due to disturbance of signals such as noise.

また、PLDの論理プログラム・データの書き換えを指示する200のコントロール・センタが、書き込むべき制御装置の1303部の「ハードウェアIDレジスタ」と1304部の「レビジョン・レジスタ」の内容を正しく受信し認知し、予め定められた暗号化方式でこれを正しく暗号化して、更にこれを「キーコード・データ」として当該装置のCPUに伝達し、 CPUがこれを正しくキーコード・レジスタにセットされる一方、書き込みを行われる当該の制御装置側でも、1303部の「ハードウェアIDレジスタ」と1304部の「レビジョン・レジスタ」の内容を正しく暗号化して、1302の「暗号化データ・レジスタ」に格納していない限リ、1001aのバッファ制御信号は「イネーブル(信号通過)」方向にならないので、180のシリアルEEPROMの内容を書き換えることができない。   In addition, the 200 control centers that instruct rewriting of the PLD logic program data correctly receive and recognize the contents of the “hardware ID register” of 1303 parts and the “revision register” of 1304 parts of the control device to be written. Then, this is correctly encrypted by a predetermined encryption method and further transmitted as “key code data” to the CPU of the device, while the CPU is correctly set in the key code register, The control device side to which data is written also correctly encrypts the contents of the “hardware ID register” in 1303 and the “revision register” in 1304 and stores them in the “encrypted data register” in 1302. As long as there is not, the buffer control signal of 1001a does not go in the “enable (signal passing)” direction. , It is impossible to rewrite the content of the serial EEPROM 180.

このような、仕組みにより本実施形態では、非常に高い安全性を保持した、PLD論理プログラム・データ書き換えの機構を提供することができる。   With such a mechanism, the present embodiment can provide a PLD logic program / data rewriting mechanism that maintains extremely high safety.

なお、本実施形態の仕組みは実施形態1または実施形態2の構成に適用して同等の作用効果を得ることができる。   Note that the mechanism of the present embodiment can be applied to the configuration of the first embodiment or the second embodiment to obtain equivalent operational effects.

本発明の実施形態1を示すPLDデータ遠隔書き換え機構の構成例。The structural example of the PLD data remote rewriting mechanism which shows Embodiment 1 of this invention. 本発明の実施形態2を示すPLDデータ遠隔書き換え機構の構成例。The structural example of the PLD data remote rewriting mechanism which shows Embodiment 2 of this invention. 本発明の実施形態3を示すPLDデータ遠隔書き換え機構の構成例。The structural example of the PLD data remote rewriting mechanism which shows Embodiment 3 of this invention. 本発明の実施形態4を示すPLDデータ遠隔書き換え機構の構成例。The structural example of the PLD data remote rewriting mechanism which shows Embodiment 4 of this invention. 従来のOneTimeROM内蔵型PLDの構成。Configuration of a conventional OneTimeROM built-in PLD. 従来のConfigurationRAM内臓型PLDの構成。Configuration of a conventional configuration RAM built-in type PLD. 従来のFlashROM内蔵型PLDの構成。Configuration of a conventional flash ROM built-in type PLD. 従来のPLDデータ遠隔書き換え機構の構成例。2 shows a configuration example of a conventional PLD data remote rewriting mechanism.

符号の説明Explanation of symbols

100 電子制御装置
200 コントロール・センタ
110 PLD
130 書き込みロジック
111 JTAGインタフェース
112 データ格納用RAMまたはFlashROM
113 コア・ロジック部分
131 CPUインタフェース回路
132 トランスファ(転送)制御回路
133 JTAGインタフェース回路
134 DMA制御回路
1000 保護回路
1001 バッファ回路
1101 イネーブル・レジスタ
1201 ハードウェアIDレジスタ
1202 キーコード・レジスタ
1203 コンパレータ
1301 エンクリプション論理回路
1302 暗号化データ・レジスタ
1303 ハードウェアID・レジスタ
1304 レビジョン・レジスタ
180 シリアルEEPROM
100 Electronic control device 200 Control center 110 PLD
130 Write Logic 111 JTAG Interface 112 Data Storage RAM or FlashROM
113 Core Logic Portion 131 CPU Interface Circuit 132 Transfer (Transfer) Control Circuit 133 JTAG Interface Circuit 134 DMA Control Circuit 1000 Protection Circuit 1001 Buffer Circuit 1101 Enable Register 1201 Hardware ID Register 1202 Key Code Register 1203 Comparator 1301 Encryption Logic Circuit 1302 Encrypted data register 1303 Hardware ID register 1304 Revision register 180 Serial EEPROM

Claims (4)

マイクロ・プロセッサと、このマイクロ・プロセッサによる制御対象の制御のための論理プログラムが書き込まれるプログラマブル・デバイスと、外部から前記マイクロ・プロセッサに遠隔伝送される前記論理プログラム・データを前記プログラマブル・デバイスに転送して書き込む書き込みロジックとを備えた電子制御装置に於いて、
前記書き込みロジックは、
前記論理プログラム・データの転送イネーブル(信号通過)/ディスエーブル(信号遮断)を制御可能にしたバッファ回路と、
前記プログラマブル・デバイスに前記論理プログラム・データを転送するときのみ、前記バッファ回路をディスエーブル状態からイネーブル状態に切り替えるイネーブル・レジスタとを備えたことを特徴とする電子制御装置のリモート書き換え方式。
Microprocessor, programmable device in which a logical program for controlling the control object by the microprocessor is written, and the logical program data transmitted from the outside to the microprocessor are transferred to the programmable device In an electronic control device having write logic for writing
The write logic is
A buffer circuit capable of controlling transfer enable (signal passage) / disable (signal cutoff) of the logic program data; and
An electronic controller remote rewrite system, comprising: an enable register that switches the buffer circuit from a disabled state to an enabled state only when transferring the logic program data to the programmable device.
マイクロ・プロセッサと、このマイクロ・プロセッサによる制御対象の制御のための論理プログラム・データが書き込まれるプログラマブル・デバイスと、外部から前記マイクロ・プロセッサに遠隔伝送される前記論理プログラム・データを前記プログラマブル・デバイスに転送して書き込む書き込みロジックとを備えた電子制御装置に於いて、
前記書き込みロジックは、
前記論理プログラム・データの転送イネーブル(信号通過)/ディスエーブル(信号遮断)を制御可能にしたバッファ回路と、
電子制御装置別に固定的に与えられたハードウェアIDデータを予め格納したハードウェアIDレジスタと、
外部から前記マイクロ・プロセッサに遠隔伝送されるキーコード・データが書き込まれるキーコード・レジスタと、
前記プログラマブル・デバイスに前記論理プログラム・データを転送するとき、前記ハードウェアIDデータと前記キーコード・データが一致したときのみ、前記バッファ回路をディスエーブル状態からイネーブル状態に切り替えるコンパレータとを備えたことを特徴とする電子制御装置のリモート書き換え方式。
Microprocessor, programmable device in which logical program data for control of control target by this microprocessor is written, and said programmable program data that is remotely transmitted to said microprocessor from outside In an electronic control device with write logic that transfers and writes to
The write logic is
A buffer circuit capable of controlling transfer enable (signal passage) / disable (signal cutoff) of the logic program data; and
A hardware ID register pre-stored with hardware ID data fixedly given to each electronic control unit;
A key code register in which key code data transmitted from the outside to the microprocessor is written;
A comparator that switches the buffer circuit from a disabled state to an enabled state only when the hardware ID data and the key code data match when transferring the logic program data to the programmable device. A remote rewriting method for electronic control devices.
マイクロ・プロセッサと、このマイクロ・プロセッサによる制御対象の制御のための論理プログラム・データが書き込まれるプログラマブル・デバイスと、外部から前記マイクロ・プロセッサに遠隔伝送される前記論理プログラム・データを前記プログラマブル・デバイスに転送して書き込む書き込みロジックとを備えた電子制御装置に於いて、
前記プログラマブル・デバイスは、電子制御装置別に固定的に与えられたハードウェアIDデータを予め格納したハードウェアIDレジスタと、前記プログラマブル・デバイスに書き込まれている現状の論理プログラム・データのレビジョンを格納したレビジョン・レジスタとを備え、
前記書き込みロジックは、
前記論理プログラム・データの転送イネーブル(信号通過)/ディスエーブル(信号遮断)を制御可能にしたバッファ回路と、
前記ハードウェアIDレジスタの内容と前記レビジョン表示レジスタの内容が前記マイクロ・プロセッサによって書き込まれる暗号化回路と、
前記マイクロ・プロセッサによって外部に通知された前記ハードウェアIDレジスタの内容と前記レビジョン表示レジスタの内容に対して、該外部でソフトウェア的に暗号化した暗号化データをキーコード・データとして書き込まれるキーコード・レジスタと、
前記プログラマブル・デバイスに前記論理プログラム・データを転送するとき、前記ハードウェアIDデータと前記キーコード・データが一致したときのみ、前記バッファ回路をディスエーブル状態からイネーブル状態に切り替えるコンパレータとを備えたことを特徴とする電子制御装置のリモート書き換え方式。
Microprocessor, programmable device in which logical program data for control of control target by this microprocessor is written, and said programmable program data that is remotely transmitted to said microprocessor from outside In an electronic control device with write logic that transfers and writes to
The programmable device stores a hardware ID register in which hardware ID data fixedly given for each electronic control device is stored in advance, and a revision of the current logic program data written in the programmable device. With a revision register,
The write logic is
A buffer circuit capable of controlling transfer enable (signal passage) / disable (signal cutoff) of the logic program data; and
An encryption circuit in which the contents of the hardware ID register and the contents of the revision display register are written by the microprocessor;
Key code written as key code data to the hardware ID register contents and the revision display register contents notified to the outside by the microprocessor, and the encrypted data encrypted externally by software・ Register and
A comparator that switches the buffer circuit from a disabled state to an enabled state only when the hardware ID data and the key code data match when transferring the logic program data to the programmable device. A remote rewriting method for electronic control devices.
前記書き込みロジックから出力された前記論理プログラム・データが書き込まれる外付けシリアルEEPROMを備え、
前記プログラマブル・デバイスは、制御装置全体の自己リセット時に前記シリアルEEPROMから前記論理プログラム・データを読み出す手段を備えたことを特徴とする請求項1〜3のいずれか1項に記載の電子制御装置のリモート書き換え方式。
An external serial EEPROM into which the logic program data output from the write logic is written;
4. The electronic control device according to claim 1, wherein the programmable device includes means for reading the logic program data from the serial EEPROM at the time of self-reset of the entire control device. 5. Remote rewrite method.
JP2006304706A 2006-11-10 2006-11-10 Remote rewrite method for electronic control unit Pending JP2008123147A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006304706A JP2008123147A (en) 2006-11-10 2006-11-10 Remote rewrite method for electronic control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006304706A JP2008123147A (en) 2006-11-10 2006-11-10 Remote rewrite method for electronic control unit

Publications (1)

Publication Number Publication Date
JP2008123147A true JP2008123147A (en) 2008-05-29

Family

ID=39507854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006304706A Pending JP2008123147A (en) 2006-11-10 2006-11-10 Remote rewrite method for electronic control unit

Country Status (1)

Country Link
JP (1) JP2008123147A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117968A (en) * 2008-11-14 2010-05-27 National Institute Of Advanced Industrial Science & Technology System and method for protecting logic program data of reconfigurable logic device
JP2014222546A (en) * 2014-08-22 2014-11-27 ルネサスエレクトロニクス株式会社 Automobile
JP2015142361A (en) * 2014-01-30 2015-08-03 コニカミノルタ株式会社 Electronic apparatus with programmable logic circuit device, and rewriting method
JP2015142359A (en) * 2014-01-30 2015-08-03 コニカミノルタ株式会社 Electronic apparatus with programmable logic circuit device
US9769132B2 (en) 2012-12-20 2017-09-19 Mitsubishi Electric Corporation Control system for securely protecting a control program when editing, executing and transmitting the control program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117968A (en) * 2008-11-14 2010-05-27 National Institute Of Advanced Industrial Science & Technology System and method for protecting logic program data of reconfigurable logic device
US9769132B2 (en) 2012-12-20 2017-09-19 Mitsubishi Electric Corporation Control system for securely protecting a control program when editing, executing and transmitting the control program
JP2015142361A (en) * 2014-01-30 2015-08-03 コニカミノルタ株式会社 Electronic apparatus with programmable logic circuit device, and rewriting method
JP2015142359A (en) * 2014-01-30 2015-08-03 コニカミノルタ株式会社 Electronic apparatus with programmable logic circuit device
JP2014222546A (en) * 2014-08-22 2014-11-27 ルネサスエレクトロニクス株式会社 Automobile

Similar Documents

Publication Publication Date Title
US7290236B1 (en) Configuration and/or reconfiguration of integrated circuit devices that include programmable logic and microprocessor circuitry
KR100770227B1 (en) Reprogrammable secure software in an embedded processor
EP2702526B1 (en) Method and apparatus for securing programming data of a programmable device
US11392368B2 (en) Electronic control system for updating circuit
EP1536332B1 (en) Programmable configuration integrated circuit
JP5246863B2 (en) Logic program data protection system and protection method for reconfigurable logic device
JP2008123147A (en) Remote rewrite method for electronic control unit
JP4209771B2 (en) General purpose computer architecture
JP4040026B2 (en) In-circuit configuration structure for built-in configurable logic array
JP4659371B2 (en) In-circuit setting structure with non-volatile memory for built-in configurable logic array
US9495178B2 (en) Electronics apparatus able to revise micro-program and algorithm to revise micro-program
JP2005258996A (en) Remote maintenance system for fpga
US6584540B1 (en) Flash memory rewriting circuit for microcontroller
JP2018120438A (en) Electronic control device and program rewriting system
JP2006100991A (en) Non-volatile logic circuit and system lsi having the same
JP4724076B2 (en) Process control system
JP4953788B2 (en) Electronic equipment
JP6036719B2 (en) Electronic device having programmable logic circuit device and rewriting method
JP2007042038A (en) Device and method for controlling terminal equipment
JP4117111B2 (en) Process control system
KR101900729B1 (en) Method for running PLC operating system
JP2006341460A (en) Copying machine system with printing function and copying machine or printer controller in said system
JP2004280653A (en) Data updating method for programmable logic controller
JP5552930B2 (en) Information processing apparatus and rewriting method
JP2008016663A (en) Reconfigurable integrated circuit device