JPH04295955A - Arithmetic abnormality detecting device for controller - Google Patents

Arithmetic abnormality detecting device for controller

Info

Publication number
JPH04295955A
JPH04295955A JP3060089A JP6008991A JPH04295955A JP H04295955 A JPH04295955 A JP H04295955A JP 3060089 A JP3060089 A JP 3060089A JP 6008991 A JP6008991 A JP 6008991A JP H04295955 A JPH04295955 A JP H04295955A
Authority
JP
Japan
Prior art keywords
data
microcomputer
arithmetic
register
calculation
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
JP3060089A
Other languages
Japanese (ja)
Inventor
Naoaki Matsumoto
松  本   直  明
Nobuhiro Asai
浅  井   信  博
Yasunori Sakata
坂  田   康  典
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.)
Aisin Corp
Original Assignee
Aisin Seiki 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 Aisin Seiki Co Ltd filed Critical Aisin Seiki Co Ltd
Priority to JP3060089A priority Critical patent/JPH04295955A/en
Publication of JPH04295955A publication Critical patent/JPH04295955A/en
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE:To detect the abnormality of an arithmetic function of a microcomputer. CONSTITUTION:Plural microcomputers are connected so that a communication can be executed, and each microcomputer executes a prescribed operation, respectively and transmits its contents and result to the other by a communication, executes an operation, based on received data, and checks whether a result of executed operation and a received operation result identify with each other or not.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、マイクロコンピュ−タ
のような制御装置における演算異常の検出に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the detection of arithmetic abnormalities in a control device such as a microcomputer.

【0002】0002

【従来の技術】例えば車載電子装置においては、マイク
ロコンピュ−タを備えるものが多いが、この種の装置に
おいては、制御の信頼性を高めるために異常検出回路が
設けられる。この種の従来の異常検出回路は、マイクロ
コンピュ−タの暴走を検知するものであり、マイクロコ
ンピュ−タからソフトウェア処理によって一定周期のパ
ルス信号を出力するとともに、このパルス信号が正常に
現われているか否かを、ウォッチドッグタイマと呼ばれ
る外部回路で監視している。
2. Description of the Related Art For example, many in-vehicle electronic devices are equipped with a microcomputer, and this type of device is provided with an abnormality detection circuit in order to improve reliability of control. This type of conventional abnormality detection circuit detects a runaway of a microcomputer, and uses software processing to output a pulse signal of a constant period from the microcomputer, and also checks whether this pulse signal appears normally. This is monitored by an external circuit called a watchdog timer.

【0003】0003

【発明が解決しようとする課題】従来の異常検出回路で
は、マイクロコンピュ−タに暴走が生じた場合のように
、その処理内容が大幅に変化した場合には、パルスが停
止し、又はパルス幅が大きく変化するので異常を検知で
きるが、マイクロコンピュ−タ内部のごく一部分が故障
したような場合、例えば演算機能の一部が故障した場合
には、プログラムを実行する順序は正常のままであるの
で、正常なパルスが出力され続けることになり、その異
常を検出できない可能性が高い。しかし、演算機能の一
部のみが故障しその異常が検出できない場合であっても
、装置全体としては致命的な不具合が生じる可能性があ
る。この種の不具合の可能性は、車載装置、例えば車速
自動制御装置,自動ブレ−キ制御装置,パワ−ステアリ
ング装置等々のように高い信頼性を要求される装置の場
合には見過ごすことはできない。
[Problems to be Solved by the Invention] In conventional abnormality detection circuits, when the processing contents change significantly, such as when a microcomputer goes out of control, the pulse stops or the pulse width decreases. Abnormalities can be detected because the values change significantly, but if a small part of the microcomputer's internals breaks down, for example, if part of the arithmetic function breaks down, the order in which programs are executed remains normal. Therefore, normal pulses will continue to be output, and there is a high possibility that the abnormality will not be detected. However, even if only a part of the calculation function fails and the abnormality cannot be detected, there is a possibility that a fatal malfunction will occur in the entire device. The possibility of this type of failure cannot be overlooked in the case of on-vehicle devices that require high reliability, such as automatic vehicle speed control devices, automatic brake control devices, power steering devices, and the like.

【0004】従って本発明は、マイクロコンピュ−タ等
の制御装置の演算機能の異常を検出することを課題とす
る。
Therefore, it is an object of the present invention to detect abnormalities in the arithmetic function of a control device such as a microcomputer.

【0005】[0005]

【課題を解決するための手段】上記課題を解決するため
に、本発明においては、メモリ,デ−タ入出力機能,及
びデ−タ演算機能を有する独立した制御手段を複数備え
る制御装置の演算異常検出装置において:前記複数の制
御手段をお互いにデ−タ入出力自在に接続し、各々の制
御手段に、所定の演算対象デ−タに対して予め定めた演
算機能を実行する演算手段;実行した演算の演算機能コ
−ド,演算対象デ−タ,及び演算の結果を相手側の制御
手段に送信する送信手段;該送信手段が送信する情報を
受信する受信手段;及び受信した演算対象デ−タに対し
て受信した演算機能コ−ドに対応する演算機能を実行し
、その演算結果を受信した演算結果と比較して異常の有
無を識別する異常検出手段;を設ける。
[Means for Solving the Problems] In order to solve the above problems, the present invention provides a control device having a plurality of independent control means each having a memory, a data input/output function, and a data calculation function. In the abnormality detection device: the plurality of control means are connected to each other so that data can be freely input/output, and each control means has a calculation means for executing a predetermined calculation function on predetermined calculation target data; A transmitting means for transmitting the arithmetic function code of the executed computation, the computation target data, and the result of the computation to the control means of the other party; a receiving means for receiving the information transmitted by the transmitting means; and the received computation target. Abnormality detection means is provided which executes an arithmetic function corresponding to the received arithmetic function code on the data and compares the arithmetic result with the received arithmetic result to identify the presence or absence of an abnormality.

【0006】[0006]

【作用】本発明においては、マイクロコンピュ−タのよ
うな独立した制御手段を複数設け、一方の制御手段にお
ける演算の結果と他方の制御手段における演算の結果と
を対比することによって演算異常の有無が識別される。 即ち、演算の機能コ−ド(加算,減算,乗算等の区分を
示すコ−ド),演算対象デ−タ(演算する数値,又は演
算する数値を保持するレジスタを特定するコ−ド,又は
メモリアドレスのデ−タ),及び(送信側の)演算結果
を相手側に送り、受信したデ−タの機能コ−ドと演算対
象デ−タとに基づいた演算を実行すれば、送信側におけ
る演算の結果と同じ結果が得られるのが普通である。従
って、受信した送信側の演算結果と受信側の演算結果と
が一致する時には、送信側と受信側は共に演算機能が正
常であり、そうでなければ送信側と受信側のいずれか一
方の演算機能が異常であるとみなしうる。マイクロコン
ピュ−タには様々な演算機能が備わっているが、本発明
では演算の機能コ−ドをも受信側に送信するので、様々
な演算機能について順番に異常の有無をチェックするこ
とができる。
[Operation] In the present invention, a plurality of independent control means such as microcomputers are provided, and the result of calculation in one control means is compared with the result of calculation in the other control means to determine whether there is an abnormality in calculation. is identified. In other words, the function code of the operation (a code that indicates the classification of addition, subtraction, multiplication, etc.), the data to be operated on (the code that specifies the numerical value to be operated on, or the register that holds the numerical value to be operated on, or If you send the data (memory address data) and the calculation result (on the sending side) to the other party, and execute the calculation based on the function code of the received data and the data to be calculated, the sending side Usually, the same result as the operation in is obtained. Therefore, when the received calculation result on the sending side and the calculation result on the receiving side match, the calculation function of both the sending side and the receiving side is normal.If not, the calculation function of either the sending side or the receiving side is normal. The function can be considered abnormal. Microcomputers are equipped with various calculation functions, and since the present invention also transmits the calculation function code to the receiving side, it is possible to sequentially check for abnormalities in the various calculation functions. .

【0007】後述する実施例においては、演算結果とし
て、数値だけでなく、演算の結果に応じて変化するフラ
グレジスタの内容をも相手側に送信し、各フラグの機能
をも演算結果とともに比較している。これによって、演
算異常の有無をより確実に検出しうる。
In the embodiment described later, not only the numerical value but also the contents of a flag register that changes depending on the result of the calculation are sent to the other party as the result of the calculation, and the function of each flag is also compared with the result of the calculation. ing. This makes it possible to more reliably detect the presence or absence of a calculation abnormality.

【0008】[0008]

【実施例】図1に本発明を実施する一形式のシステムの
主要部の構成を示す。このシステムは車載電子装置であ
り、具体的には車輪の回転速度を検出し、その検出結果
に応じてブレ−キ圧を制御するアンチスキッド制御装置
である。即ち、各車輪のロックの有無を検出し、車輪が
ロックしそうな時には圧力制御弁を制御してブレ−キ圧
を弱め、車輪のロックを防止する。このシステムのブレ
−キ圧制御に関する基本的な構造及び制御方法は、例え
ば特開昭60−35647号公報に開示されたような従
来の装置と同様であり、本発明の特徴ではないのでその
説明は省略する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows the configuration of the main parts of one type of system for implementing the present invention. This system is an in-vehicle electronic device, specifically an anti-skid control device that detects the rotational speed of the wheels and controls the brake pressure according to the detection results. That is, it detects whether or not each wheel is locked, and when a wheel is likely to lock, the pressure control valve is controlled to weaken the brake pressure and prevent the wheels from locking. The basic structure and control method for brake pressure control of this system is the same as that of a conventional device such as that disclosed in JP-A-60-35647, and is not a feature of the present invention, so it will be explained here. is omitted.

【0009】図1を参照すると、左前輪(FL)及び左
後輪(RL)の回転速度を検出する車速センサ1Lが出
力する車速信号(2つ)は、インタ−フェ−ス2を介し
てマイクロコンピュ−タ3に入力され、右前輪(FR)
及び右後輪(RR)の回転速度を検出する車速センサ1
Rが出力する車速信号(2つ)は、インタ−フェ−ス2
を介してマイクロコンピュ−タ4に入力される。一方の
マイクロコンピュ−タ3は左前輪及び左後輪の各ブレ−
キ圧を制御する圧力制御用電磁弁(図示せず)のソレノ
イドの通電制御を行ない、他方のマイクロコンピュ−タ
4は右前輪及び右後輪の各ブレ−キ圧を制御する圧力制
御弁(図示せず)のソレノイドの通電制御を行なう。し
かし、左前輪及び左後輪の圧力制御を行なうためには右
前輪及び右後輪の車輪速情報も必要であり、右前輪及び
右後輪の圧力制御を行なうためには左前輪及び左後輪の
車輪速情報も必要であるので、マイクロコンピュ−タ3
とマイクロコンピュ−タ4は、お互いにシリアル通信線
を介して通信を行なうことによって、相手側が検出した
車輪速度情報をも入手する。この実施例では、マイクロ
コンピュ−タ3及び4は、3本の信号線を介して互いに
シリアル通信可能に接続されている。
Referring to FIG. 1, vehicle speed signals (two) output from a vehicle speed sensor 1L that detects the rotational speed of the front left wheel (FL) and the rear left wheel (RL) are transmitted via an interface 2. Input to microcomputer 3, right front wheel (FR)
and a vehicle speed sensor 1 that detects the rotational speed of the right rear wheel (RR).
The vehicle speed signals (two) output by R are connected to interface 2.
The data is inputted to the microcomputer 4 via. One microcomputer 3 controls each brake of the left front wheel and the left rear wheel.
The other microcomputer 4 controls the pressure control valve (not shown) that controls the brake pressure of the right front wheel and the right rear wheel. energization control of a solenoid (not shown). However, in order to perform pressure control on the left front wheel and left rear wheel, wheel speed information on the right front wheel and right rear wheel is also required. Since wheel speed information is also required, microcomputer 3
By communicating with each other via a serial communication line, the microcomputer 4 also obtains wheel speed information detected by the other party. In this embodiment, microcomputers 3 and 4 are connected to each other via three signal lines so that they can communicate serially.

【0010】後述するように、マイクロコンピュ−タ3
及び4は、各々、異常検出を行なうようになっており、
異常が検出された場合には、オアゲ−ト7の入力端子に
異常信号(低レベルL)を印加する。オアゲ−ト7は、
そのいずれかの入力端子がLレベルになると、出力端子
からLレベルの禁止信号を出力する。この禁止信号は、
ソレノイドドライバ5及び6の制御禁止端子に印加され
る。各ソレノイドドライバは、禁止信号が印加されると
ソレノイドの付勢を禁止する。その禁止状態では、各ブ
レ−キ圧の低減制御が行なわれず、ドライバのブレ−キ
ペダルの踏み具合いに応じたブレ−キ圧が生成されるの
で安全である。
As described later, the microcomputer 3
and 4 are designed to detect abnormalities, respectively.
If an abnormality is detected, an abnormality signal (low level L) is applied to the input terminal of the OR gate 7. Or Gate 7 is
When any of the input terminals becomes L level, an L level inhibition signal is output from the output terminal. This prohibition signal is
It is applied to the control inhibit terminals of the solenoid drivers 5 and 6. Each solenoid driver inhibits energization of the solenoid when an inhibit signal is applied. In the prohibited state, the reduction control of each brake pressure is not performed, and the brake pressure is generated in accordance with the degree to which the driver presses the brake pedal, so it is safe.

【0011】マイクロコンピュ−タ3と4は、同一構成
のシングルチップマイクロコンピュ−タ(内部ROMの
プログラムは多少異なる)であり、各々の内部には、マ
イクロプロセッサ,ROM,RAM,プログラマブルタ
イマ,シリアルインタ−フェ−ス等々がハ−ドウェアと
して備わっている。
Microcomputers 3 and 4 are single-chip microcomputers with the same configuration (internal ROM programs are slightly different), and each includes a microprocessor, ROM, RAM, programmable timer, serial Interfaces and the like are provided as hardware.

【0012】シリアルインタ−フェ−スの構成を図2に
示す。図2を参照すると、このユニットには送信レジス
タ31,パラレルイン・シリアルアウト・シフトレジス
タ32,送信制御回路33,モ−ド制御回路34,割込
制御回路35,フラグレジスタ36,フラグ制御回路3
7,レ−ト発生器38,受信レジスタ39,シリアルイ
ン・パラレルアウト・シフトレジスタ40,受信制御回
路41及び内部クロック発生器42が備わっている。こ
のユニット自体は特別な構成ではないが、このユニット
を使用して行なうシリアル通信処理の内容が重要である
ので、このユニットの動作について簡単に説明する。
FIG. 2 shows the configuration of the serial interface. Referring to FIG. 2, this unit includes a transmission register 31, a parallel-in/serial-out shift register 32, a transmission control circuit 33, a mode control circuit 34, an interrupt control circuit 35, a flag register 36, and a flag control circuit 3.
7, a rate generator 38, a reception register 39, a serial-in/parallel-out shift register 40, a reception control circuit 41, and an internal clock generator 42. Although this unit itself does not have a special configuration, the contents of the serial communication processing performed using this unit are important, so the operation of this unit will be briefly explained.

【0013】シリアル信号入力端子RXから入力される
シリアル信号は、シフトレジスタ40によって8ビット
(1バイト)の並列信号に変換され、受信レジスタ39
に転送される。受信レジスタ39の内容はマイクロコン
ピュ−タのソフトウェア処理によって読取ることができ
る。また、送信レジスタ31にストアされる8ビットの
送信デ−タは、シフトレジスタ32に印加され、1ビッ
トずつのシリアルデ−タに変換されてシリアル信号出力
端子TXから出力される。送信レジスタ31にはマイク
ロコンピュ−タのソフトウェア処理によって任意の8ビ
ットデ−タを書込むことができる。シフトレジスタ32
及び40のビットシフトのタイミング、即ちシリアル信
号の転送レ−トは、内部クロック発生器42の出力する
クロック、又は外部クロック入力端子CKIから入力さ
れるクロックの周期と、モ−ド制御回路34に設定され
る転送レ−ト情報に基づいて、レ−ト発生器38が決定
する。この例では、シリアル通信のために一方のマイク
ロコンピュ−タ3はそれ自身の内部クロックを使用する
が、他方のマイクロコンピュ−タ4は外部クロック入力
端子CKIから入力されるクロックを使用する。そのた
め、図1に示すように、マイクロコンピュ−タ3のクロ
ック出力端子CKOがマイクロコンピュ−タ4の外部ク
ロック入力端子CKIに接続されている。従って、マイ
クロコンピュ−タ3及び4は同一周期のクロックパルス
を使用してシリアルデ−タ伝送を行なうことになる。シ
フトレジスタ32のビットシフトによって全ビット、即
ち1バイトのデ−タ出力が完了すると、フラグ制御回路
37の制御によってフラグレジスタ36上の1つのビッ
ト(送信可能フラグ)がセットされる。またシフトレジ
スタ40のビットシフトによって全ビット、即ち1バイ
トのデ−タ入力が完了すると、フラグ制御回路37の制
御によってフラグレジスタ36上の1つのビット(受信
有フラグ)がセットされる。フラグレジスタ36の各ビ
ットの内容は、マイクロコンピュ−タのソフトウェア処
理によって読取ることができる。また、フラグレジスタ
36の情報は割込制御回路35にも印加されており、送
信可能フラグ又は受信有フラグがセットされると、マイ
クロコンピュ−タに対して通信割込み要求を発生する。 但し、送信可能フラグに対する通信割込要求及び受信有
フラグに対する通信割込要求に対しては、各々、マイク
ロコンピュ−タのソフトウェア処理によって割込みを禁
止することができる。
The serial signal input from the serial signal input terminal RX is converted into an 8-bit (1 byte) parallel signal by the shift register 40, and then sent to the reception register 39.
will be forwarded to. The contents of the receive register 39 can be read by microcomputer software processing. Furthermore, the 8-bit transmission data stored in the transmission register 31 is applied to the shift register 32, where it is converted into 1-bit serial data and outputted from the serial signal output terminal TX. Any 8-bit data can be written into the transmission register 31 by software processing by a microcomputer. shift register 32
The timing of the bit shift of 40 and 40, that is, the transfer rate of the serial signal, is determined by the cycle of the clock output from the internal clock generator 42 or the clock input from the external clock input terminal CKI and the mode control circuit 34. The rate generator 38 determines the rate based on the set transfer rate information. In this example, one microcomputer 3 uses its own internal clock for serial communication, while the other microcomputer 4 uses a clock input from an external clock input terminal CKI. Therefore, as shown in FIG. 1, the clock output terminal CKO of the microcomputer 3 is connected to the external clock input terminal CKI of the microcomputer 4. Therefore, microcomputers 3 and 4 transmit serial data using clock pulses of the same period. When the output of all bits, ie, one byte of data, is completed by bit shifting of the shift register 32, one bit (transmission enable flag) on the flag register 36 is set under the control of the flag control circuit 37. Further, when all bits, that is, one byte of data input is completed by bit shifting of the shift register 40, one bit (receiving flag) on the flag register 36 is set under the control of the flag control circuit 37. The contents of each bit of the flag register 36 can be read by software processing of a microcomputer. The information in the flag register 36 is also applied to the interrupt control circuit 35, and when the transmit enable flag or the receive flag is set, a communication interrupt request is generated to the microcomputer. However, each of the communication interrupt requests for the transmittable flag and the communication interrupt request for the receive flag can be inhibited by software processing of the microcomputer.

【0014】図3に、マイクロコンピュ−タ3の処理の
メインル−チンを示す。図3を参照して説明する。ステ
ップS1では、初期化処理を実行する。即ち、各種モ−
ド設定,出力ポ−トの初期化,メモリクリア等を実行し
た後、後で使用する各種メモリに対して各々初期値をス
トアし、更に内部タイマや割込みの設定を実行する。ス
テップS3〜S10の処理は一定周期(5msec )
毎に1回実行される。即ち、ステップS2で内部タイマ
の値をチェックし、それが5msec になる毎にタイ
マを再セットするとともに次のステップS3に進み、ス
テップS10が終了すると再びS2に戻り、この動作を
繰り返す。
FIG. 3 shows the main processing routine of the microcomputer 3. This will be explained with reference to FIG. In step S1, initialization processing is executed. That is, various modes
After executing the code setting, output port initialization, memory clearing, etc., initial values are stored in various memories to be used later, and internal timer and interrupt settings are executed. The processing of steps S3 to S10 is performed at a constant cycle (5 msec)
Executed once every time. That is, in step S2, the value of the internal timer is checked, and every time the value reaches 5 msec, the timer is reset and the process proceeds to the next step S3. When step S10 is completed, the process returns to S2 and repeats this operation.

【0015】ステップS3では、車速センサ1Lが出力
する2つの信号(FL,RL)を読取り、車速を検出し
てその結果をメモリにストアする。実際には、車速セン
サが出力する各信号は車速に応じて周期の変化するパル
スであるので、一定期間に現われるパルスの数を計数す
ることによって車速を測定する。
In step S3, the two signals (FL, RL) output by the vehicle speed sensor 1L are read, the vehicle speed is detected, and the results are stored in the memory. In reality, each signal output by the vehicle speed sensor is a pulse whose period changes depending on the vehicle speed, so the vehicle speed is measured by counting the number of pulses that appear in a certain period of time.

【0016】ステップS4では、マイクロコンピュ−タ
3及び4の演算機能のチェックのための送信用デ−タを
生成し、該デ−タをメモリにストアする。この処理の詳
細については後で説明する。
In step S4, transmission data for checking the arithmetic functions of the microcomputers 3 and 4 is generated, and the data is stored in the memory. Details of this processing will be explained later.

【0017】次のステップS5ではフラグTFGをセッ
トし、ステップS6では入力エンドコマンド(予め定め
た値の1バイトデ−タ)をシリアル通信線TXを介して
、マイクロコンピュ−タ4に送信する。ステップS7で
はフラグTFGがリセットするまで待機する。
In the next step S5, a flag TFG is set, and in step S6, an input end command (1-byte data of a predetermined value) is transmitted to the microcomputer 4 via the serial communication line TX. In step S7, the process waits until the flag TFG is reset.

【0018】ステップS6を実行した後で、マイクロコ
ンピュ−タ4からデ−タが送られて来ると、受信割込み
要求が発生し、それに応答して「受信割込み処理」IN
T1が実行される。「受信割込み処理」INT1の中で
フラグTFGがリセットされると、メインル−チンの処
理は次のステップS8に進む。つまり「受信割込み処理
」はメインル−チンのS6とS7の間で実行される。
After executing step S6, when data is sent from the microcomputer 4, a reception interrupt request is generated, and in response, a ``reception interrupt processing'' IN is issued.
T1 is executed. When the flag TFG is reset in the "receiving interrupt processing" INT1, the main routine processing advances to the next step S8. That is, the "reception interrupt processing" is executed between S6 and S7 of the main routine.

【0019】ステップS8では、マイクロコンピュ−タ
3及び4の演算機能のチェックを実行する。この処理の
詳細については後で説明する。
In step S8, the arithmetic functions of the microcomputers 3 and 4 are checked. Details of this processing will be explained later.

【0020】ステップS9では、検出した4つの車輪の
回転速度に基づいて、ブレ−キ圧を制御するための各種
演算を実行し、次のステップS10では左前輪及び左後
輪位置のブレ−キ圧を制御する制御弁の各々の制御量を
決定する制御信号をソレノイドドライバ5に対して出力
する。この制御の内容は、一般に知られているブレ−キ
圧制御の内容と同様であるのでその説明は省略する。
In step S9, various calculations for controlling the brake pressure are executed based on the detected rotation speeds of the four wheels, and in the next step S10, the brake pressure at the left front wheel and left rear wheel positions is adjusted. A control signal that determines the control amount of each control valve that controls pressure is output to the solenoid driver 5. The details of this control are the same as those of the generally known brake pressure control, so a description thereof will be omitted.

【0021】図4に、マイクロコンピュ−タ4の処理の
メインル−チンを示す。図4を参照して説明する。ステ
ップS21では、初期化処理を実行する。即ち、各種モ
−ド設定,出力ポ−トの初期化,メモリクリア等を実行
した後、後で使用する各種メモリに対して各々初期値を
ストアし、更に内部タイマや割込みの設定を実行する。 ステップS23〜S32の処理は一定周期(5msec
 )毎に1回実行される。即ち、ステップS22で内部
タイマの値をチェックし、それが5msec になる毎
にタイマを再セットするとともに次のステップS23に
進み、ステップS32が終了すると再びS22に戻り、
この動作を繰り返す。
FIG. 4 shows the main processing routine of the microcomputer 4. This will be explained with reference to FIG. In step S21, initialization processing is executed. That is, after setting various modes, initializing output ports, clearing memory, etc., it stores initial values for each type of memory that will be used later, and also sets internal timers and interrupts. . The processing of steps S23 to S32 is performed at a fixed period (5 msec).
) is executed once for each That is, the value of the internal timer is checked in step S22, and the timer is reset every time the value reaches 5 msec, and the process proceeds to the next step S23. When step S32 is completed, the process returns to S22 again.
Repeat this action.

【0022】ステップS23では、車速センサ1Rが出
力する2つの信号(FR,RR)を読取り、車速を検出
してその結果をメモリにストアする。実際には、車速セ
ンサが出力する各信号は車速に応じて周期の変化するパ
ルスであるので、一定期間に現われるパルスの数を計数
することによって車速を測定する。
In step S23, the two signals (FR, RR) output by the vehicle speed sensor 1R are read, the vehicle speed is detected, and the results are stored in the memory. In reality, each signal output by the vehicle speed sensor is a pulse whose period changes depending on the vehicle speed, so the vehicle speed is measured by counting the number of pulses that appear in a certain period of time.

【0023】ステップS24では、マイクロコンピュ−
タ3及び4の演算機能のチェックのための送信用デ−タ
を生成し、該デ−タをメモリにストアする。この処理の
詳細については後で説明する。
In step S24, the microcomputer
Transmission data for checking the arithmetic functions of the data processors 3 and 4 is generated, and the data is stored in memory. Details of this processing will be explained later.

【0024】次のステップS25ではフラグENDFG
がセットされるまで待機し、それがセットされると、ス
テップS26でENDFGをリセットし、ステップS2
7でフラグTFGBをセットし、ステップS28でデ−
タ転送要求コマンド(予め定めた値の1バイトデ−タ)
をシリアル通信線TXを介して、マイクロコンピュ−タ
3に送信する。次のステップS29では、フラグTFG
がリセットされるまで待機する。
In the next step S25, the flag ENDFG is
Waits until ENDFG is set, and when it is set, resets ENDFG in step S26, and then returns to step S2.
The flag TFGB is set in step S28, and the data is set in step S28.
Data transfer request command (1 byte data with predetermined value)
is transmitted to the microcomputer 3 via the serial communication line TX. In the next step S29, the flag TFG
Wait until it is reset.

【0025】マイクロコンピュ−タ3からデ−タ(入力
エンドコマンド)が送られて来ると、受信割込み要求が
発生し、それに応答して「受信割込み処理」INT2が
実行される。「受信割込み処理」INT2の中でフラグ
ENDFGがセットされると、S25からS26に進む
。ステップS28でデ−タ転送要求コマンドを出力した
後で、マイクロコンピュ−タ3からデ−タが送られて来
ると、再び受信割込み要求が発生し、それに応答して「
受信割込み処理」INT2が実行される。この割込み処
理INT2の中でフラグTFGBがリセットされると、
メインル−チンの処理は次のステップS30に進む。
When data (input end command) is sent from the microcomputer 3, a reception interrupt request is generated, and in response, a "reception interrupt process" INT2 is executed. When the flag ENDFG is set in "reception interrupt processing" INT2, the process advances from S25 to S26. After the data transfer request command is output in step S28, when data is sent from the microcomputer 3, a reception interrupt request is generated again, and in response, the
Reception interrupt processing "INT2" is executed. When flag TFGB is reset in this interrupt processing INT2,
The main routine processing advances to the next step S30.

【0026】ステップS30では、マイクロコンピュ−
タ3及び4の演算機能のチェックを実行する。この処理
の詳細については後で説明する。
In step S30, the microcomputer
Check the arithmetic functions of data controllers 3 and 4. Details of this processing will be explained later.

【0027】ステップS31では、検出した4つの車輪
の回転速度に基づいて、ブレ−キ圧を制御するための各
種演算を実行し、次のステップS32では右前輪及び右
後輪位置のブレ−キ圧を制御する制御弁の各々の制御量
を決定する制御信号をソレノイドドライバ6に対して出
力する。この制御の内容は、一般に知られているブレ−
キ圧制御の内容と同様であるのでその説明は省略する。
In step S31, various calculations for controlling the brake pressure are executed based on the detected rotational speeds of the four wheels, and in the next step S32, the brake pressure at the right front wheel and right rear wheel positions is adjusted. A control signal that determines the control amount of each control valve that controls pressure is output to the solenoid driver 6. The contents of this control are generally known as
Since the details are the same as the key pressure control, the explanation thereof will be omitted.

【0028】次に、マイクロコンピュ−タ3とマイクロ
コンピュ−タ4との間のシリアルデ−タ通信の内容につ
いて更に詳しく説明する。マイクロコンピュ−タ3の「
受信割込み処理」INT1の内容を図6に示し、マイク
ロコンピュ−タ4の「受信割込み処理」INT2の内容
を図7に示し、シリアルデ−タ通信を主体とする処理の
流れを図5に示す。なお図5及びこれ以降の説明におい
ては、マイクロコンピュ−タをマイコンと称している。 またこの例では、シリアルデ−タ通信のモ−ドとして、
クロック同期方式,転送レ−トが1Mボ−,デ−タ長が
8ビット,スタ−トビットが1ビット,ストップビット
が1ビット,及び全2重通信をそれぞれ設定してある。
Next, the content of serial data communication between microcomputer 3 and microcomputer 4 will be explained in more detail. Microcomputer 3's ``
FIG. 6 shows the contents of the "receiving interrupt process" INT1, FIG. 7 shows the contents of the "receiving interrupt process" INT2 of the microcomputer 4, and FIG. 5 shows the flow of the process mainly consisting of serial data communication. Note that in FIG. 5 and the following explanation, the microcomputer is referred to as a microcomputer. In this example, the serial data communication mode is
A clock synchronization method, a transfer rate of 1M baud, a data length of 8 bits, a start bit of 1 bit, a stop bit of 1 bit, and full duplex communication are set.

【0029】各図を参照して通信処理の流れを順を追っ
て説明する。図5に示すように、マイコン3が「入力エ
ンドコマンド」を送信すると、マイコン4側のシリアル
インタ−フェ−スで受信有フラグがセットされ、割込要
求が発生するので、マイコン4は割込処理(INT2)
を開始する。この場合、まずステップS61で受信レジ
スタ(39)の内容を読取る。この時にはフラグTFG
Bがまだセットされていないので、次にステップS62
を通ってS71に進む。この場合、受信レジスタから読
んだデ−タの値が予め定めた入力エンドコマンドである
ので、次のステップS72でフラグENDFGをセット
した後、ステップS73で、予めメモリ上に割当てたレ
ジスタSARB,SCB,LARB,及びLCBに、そ
れぞれ、受信デ−タ格納アドレス,受信デ−タバイト数
,送信デ−タロ−ドアドレス,及び送信デ−タバイト数
をストアする。レジスタSARB及びLARBに入るア
ドレス値は、それぞれ図10に示す受信バッファ(IN
PBUF)及び送信バッファ(OUTBUF)の先頭ア
ドレスに対応する。この後、マイコン4は割込処理を終
了する。
The flow of communication processing will be explained step by step with reference to each figure. As shown in Figure 5, when the microcomputer 3 sends the "input end command", the reception flag is set on the serial interface of the microcomputer 4, and an interrupt request is generated. Processing (INT2)
Start. In this case, first, in step S61, the contents of the reception register (39) are read. At this time, the flag TFG
Since B has not yet been set, the next step is step S62.
The process then proceeds to S71. In this case, since the value of the data read from the reception register is a predetermined input end command, the flag ENDFG is set in the next step S72, and then in step S73, the registers SARB and SCB allocated in advance on the memory are , LARB, and LCB respectively store the received data storage address, the number of received data bytes, the transmitted data load address, and the number of transmitted data bytes. The address values entering registers SARB and LARB are respectively stored in the receive buffer (IN
PBUF) and the start address of the transmission buffer (OUTBUF). After this, the microcomputer 4 ends the interrupt processing.

【0030】マイコン4は、割込処理を終了した後、メ
インル−チンのステップS28で、デ−タ転送要求コマ
ンドをマイコン3に対して送信する。それによって、マ
イコン3側のシリアルインタ−フェ−スで受信有フラグ
がセットされ、割込要求が発生するので、マイコン3は
割込処理(INT1)を開始する。この場合、まずステ
ップS41で受信レジスタ(39)の内容を読取り、次
のS42でシリアル通信割込みを禁止する。この割込み
が禁止されている間は、マイコン4からマイコン3にシ
リアルデ−タが送信されて来ても割込みは発生しない。 つまり多重割込みは生じない。この時には、受信レジス
タから読んだ内容が予め定めた「デ−タ転送要求コマン
ド」と一致するので、次にステップS43を通ってS4
4に進む。ステップS44では、レジスタSAR,SC
,LAR,及びLCに、それぞれ、受信デ−タ格納アド
レス,受信デ−タバイト数,送信デ−タロ−ドアドレス
,及び送信デ−タバイト数をストアする。レジスタSA
R及びLARに入るアドレス値は、それぞれ図10に示
す受信バッファ(INPBUF)及び送信バッファ(O
UTBUF)の先頭アドレスに対応する。
After the microcomputer 4 finishes the interrupt processing, it sends a data transfer request command to the microcomputer 3 in step S28 of the main routine. As a result, the reception flag is set on the serial interface of the microcomputer 3 and an interrupt request is generated, so the microcomputer 3 starts interrupt processing (INT1). In this case, the contents of the reception register (39) are first read in step S41, and serial communication interrupts are prohibited in the next step S42. While this interrupt is prohibited, no interrupt is generated even if serial data is transmitted from the microcomputer 4 to the microcomputer 3. In other words, multiple interrupts do not occur. At this time, since the content read from the reception register matches the predetermined "data transfer request command", the data is then passed through step S43 and sent to step S4.
Proceed to step 4. In step S44, registers SAR, SC
, LAR, and LC store the received data storage address, the number of received data bytes, the transmitted data load address, and the number of transmitted data bytes, respectively. register SA
The address values entering R and LAR are respectively stored in the receive buffer (INPBUF) and transmit buffer (O
Corresponds to the start address of UTBUF).

【0031】この後、マイコン3からマイコン4へのデ
−タ送信が開始される。つまり、ステップS46−S4
8−S50−S51を通り、又はS46−S47−S5
1を通ってステップS52に進む毎に、レジスタLAR
の内容をアドレスとするメモリ(送信バッファOUTB
UF上のいずれか1バイト)の内容を送信レジスタ(3
1)にストアし、レジスタ(ポインタ)LARの内容を
+1し、レジスタ(カウンタ)LCの内容を−1する。 1バイトのデ−タを送信レジスタに書込むことによって
、そのデ−タがシリアル信号に変換されてマイコン4に
送信される。ステップS51では、シリアルインタ−フ
ェ−スの送信可能フラグをチェックしている。つまり、
1バイトのデ−タ送信が完了する毎に、送信可能フラグ
がセットされるので、1バイトのデ−タ送信が完了する
毎にステップS52が実行され、次のデ−タが送信され
、実質上連続的にデ−タ送信が行なわれる。また、ステ
ップS48ではシリアルインタ−フェ−スの受信有フラ
グをチェックしているが、マイコン4からのデ−タを受
信した時には、該受信有フラグがセットされるので、デ
−タを受信すると次のステップS49が実行される。ス
テップS49では、受信レジスタ(39)の内容を、レ
ジスタ(ポインタ)SARの値をアドレスとするメモリ
(受信バッファINPBUF上のいずれか1バイト)に
ストアし、レジスタSARの内容を+1し、レジスタ(
カウンタ)SCの内容を−1する。
After this, data transmission from the microcomputer 3 to the microcomputer 4 is started. That is, steps S46-S4
8-S50-S51 or S46-S47-S5
1 to step S52, the register LAR
Memory whose address is the contents of (transmission buffer OUTB
The contents of the transmit register (any 1 byte on the UF) are sent to the transmit register (3
1), increment the contents of register (pointer) LAR by +1, and decrement the contents of register (counter) LC by -1. By writing one byte of data to the transmission register, the data is converted into a serial signal and transmitted to the microcomputer 4. In step S51, the transmission enable flag of the serial interface is checked. In other words,
Each time the data transmission of 1 byte is completed, the transmittable flag is set, so step S52 is executed every time the data transmission of 1 byte is completed, the next data is transmitted, and the data is actually sent. Data transmission is performed continuously. Also, in step S48, the reception flag of the serial interface is checked, and when data is received from the microcomputer 4, the reception flag is set, so when data is received, The next step S49 is executed. In step S49, the contents of the receive register (39) are stored in the memory (any one byte on the receive buffer INPBUF) whose address is the value of the register (pointer) SAR, the contents of the register SAR are incremented by 1, and the contents of the register (39) are
Counter) Decrement the contents of SC by 1.

【0032】送信すべきデ−タを全て送信し終ると、レ
ジスタLCの値が0になり、以降はステップS51に進
まないのでステップS52が実行されず、デ−タの送信
は終了する。また予定した受信デ−タを全て受信し終る
と、レジスタSCの内容が0になり、以降はステップS
48に進まないのでステップS49が実行されず、デ−
タの受信は終了する。デ−タの送信と受信が終了すると
、つまり、LC=0でしかもSC=0になると、ステッ
プS47からS53に進む。そしてS53でフラグTF
Gをリセットし、次のステップS54でシリアル通信割
込みを許可してメインル−チンに戻る。
When all the data to be transmitted has been transmitted, the value of the register LC becomes 0 and the process does not proceed to step S51, so step S52 is not executed and the data transmission ends. Furthermore, when all of the scheduled reception data has been received, the contents of register SC become 0, and from then on, step S
Since the process does not proceed to step S48, step S49 is not executed and the data is
Data reception ends. When data transmission and reception are completed, that is, when LC=0 and SC=0, the process advances from step S47 to S53. And flag TF in S53
G is reset, serial communication interrupt is enabled in the next step S54, and the process returns to the main routine.

【0033】マイコン4においては(図7参照)、マイ
コン3からの1バイト目のデ−タ(入力エンドコマンド
の次のデ−タ)が送られて来ると、割込み処理を再び開
始し、この時にはフラグTFGBがセットされているの
で、ステップS63に進む。S63ではシリアル通信割
込みを禁止する。この割込みが禁止されている間は、マ
イコン3からのデ−タの受信があっても、またマイコン
4のシリアルインタ−フェ−スにおいて送信可フラグが
セットされても、再び割込みが発生することはない。つ
まり多重割込みは生じない。
When the microcomputer 4 (see FIG. 7) receives the first byte of data (the data following the input end command) from the microcomputer 3, it restarts the interrupt processing and Since the flag TFGB is sometimes set, the process advances to step S63. At S63, serial communication interrupts are prohibited. While this interrupt is disabled, an interrupt will not occur again even if data is received from microcomputer 3 or even if the transmit enable flag is set on the serial interface of microcomputer 4. There isn't. In other words, multiple interrupts do not occur.

【0034】次のステップS64では、受信レジスタ(
39)の内容を、レジスタ(ポインタ)SARBの内容
をアドレスとするメモリ(受信バッファINPBUF上
の1バイト)にストアし、レジスタSARBの内容を+
1し、レジスタ(カウンタ)SCBの内容を−1する。 従って、マイコン3からマイコン4へのデ−タ送信が開
始された直後にマイコン4のデ−タ受信動作が開始され
る。またそれと同時に、マイコン4のデ−タ送信動作も
開始される。即ち、ステップS65−S66を通り、又
はS68−S75−S66を通ってS67に進む毎に、
レジスタ(ポインタ)LARBの内容をアドレスとする
メモリ(送信バッファOUTBUF上の1バイト)の内
容が送信レジスタ(31)にストアされ、レジスタLA
RBの内容が+1され、レジスタ(カウンタ)LCBの
内容が−1される。送信レジスタにデ−タがストアされ
ると、そのデ−タがシリアル信号に変換されてマイコン
3に送信される。ステップS66では、マイコン4のシ
リアルインタ−フェ−スにおける送信可能フラグをチェ
ックしている。つまり、1バイトのデ−タ送信が完了す
る毎に、送信可能フラグがセットされるので、1バイト
のデ−タ送信が完了する毎にステップS67が実行され
、次のデ−タが送信され、実質上連続的にデ−タ送信が
行なわれる。
In the next step S64, the receiving register (
39) in the memory (1 byte on the receive buffer INPBUF) whose address is the contents of register (pointer) SARB, and save the contents of register SARB to +
1, and the contents of register (counter) SCB are decremented by 1. Therefore, immediately after the data transmission from the microcomputer 3 to the microcomputer 4 is started, the data receiving operation of the microcomputer 4 is started. At the same time, the data transmission operation of the microcomputer 4 is also started. That is, each time the process passes through steps S65-S66 or passes through S68-S75-S66 and proceeds to S67,
The contents of the memory (1 byte on the transmit buffer OUTBUF) whose address is the contents of the register (pointer) LARB are stored in the transmit register (31), and the contents of the register LARB are stored in the transmit register (31).
The contents of RB are incremented by +1, and the contents of register (counter) LCB are decremented by -1. When data is stored in the transmission register, the data is converted into a serial signal and transmitted to the microcomputer 3. In step S66, the transmission enable flag on the serial interface of the microcomputer 4 is checked. In other words, each time transmission of 1 byte of data is completed, the transmission enable flag is set, so each time transmission of 1 byte of data is completed, step S67 is executed and the next data is transmitted. , data transmission is performed substantially continuously.

【0035】また、2バイト目以降のデ−タの受信があ
った時には、ステップS69を通ってS70に進み、前
記ステップS64と同様に受信した1バイトのデ−タを
入力する。ステップS69では、マイコン4のシリアル
インタ−フェ−スにおける受信有フラグをチェックして
いる。つまり、1バイトのデ−タを受信する毎に、ステ
ップS70を実行し、受信デ−タを入力する。連続的に
デ−タが送信されれば、デ−タの受信も連続的に行なわ
れる。
When data from the second byte onward is received, the process advances to step S70 through step S69, and the received one-byte data is input in the same manner as step S64. In step S69, the reception flag on the serial interface of the microcomputer 4 is checked. That is, each time one byte of data is received, step S70 is executed and the received data is input. If data is transmitted continuously, data reception is also performed continuously.

【0036】送信すべきデ−タを全て送信し終ると、レ
ジスタLCBの値が0になり、以降はステップS66に
進まないのでステップS67が実行されず、デ−タの送
信は終了する。また予定した受信デ−タを全て受信し終
ると、レジスタSCBの内容が0になり、以降はステッ
プS69に進まないのでステップS70が実行されず、
デ−タの受信は終了する。デ−タの送信と受信が終了す
ると、つまり、LCB=0でしかもSCB=0になると
、ステップS75からS76に進む。そしてS76でフ
ラグTFGBをリセットし、次のステップS77でシリ
アル通信割込みを許可してメインル−チンに戻る。
When all the data to be transmitted has been transmitted, the value of the register LCB becomes 0 and the process does not proceed to step S66, so step S67 is not executed and the data transmission ends. Furthermore, when all the scheduled reception data has been received, the contents of the register SCB become 0, and the process does not proceed to step S69, so step S70 is not executed.
Data reception ends. When data transmission and reception are completed, that is, when LCB=0 and SCB=0, the process advances from step S75 to S76. Then, in step S76, the flag TFGB is reset, and in the next step S77, serial communication interrupt is enabled, and the process returns to the main routine.

【0037】つまりこの実施例では、図5に示すように
、マイコン3からマイコン4に送られる入力エンドコマ
ンドとマイコン4からマイコン3に送られるデ−タ転送
要求コマンドとによってマイコン3,4のシリアル通信
動作開始の同期をとった後、マイコン3ではデ−タの送
信と受信とを必要回数だけ実行し、マイコン4でもデ−
タの受信と送信とを必要回数だけ実行する。マイコン3
とマイコン4はいずれも、デ−タの送信中にデ−タを受
信することができ、デ−タの受信中にデ−タを送信する
ことができる。しかも、シリアル通信動作を開始した後
は割込みが発生しないので、各種レジスタの退避及び復
帰の動作が繰り返し生じることはなく、最短時間で通信
制御を処理しうる。多重割込みを避けられるのでレジス
タ退避用のスタックメモリの消費も少なく済む。送信デ
−タのバイト数と受信デ−タのバイト数とが同等であれ
ば、デ−タの送信と受信とがほぼ同時に終了する。
In other words, in this embodiment, as shown in FIG. After synchronizing the start of communication operation, microcontroller 3 sends and receives data as many times as necessary, and microcontroller 4 also sends and receives data.
Data reception and transmission are performed as many times as necessary. Microcomputer 3
Both the microcomputer 4 and the microcomputer 4 can receive data while transmitting data, and can transmit data while receiving data. Moreover, since no interrupt occurs after the serial communication operation is started, the operation of saving and restoring various registers does not occur repeatedly, and communication control can be processed in the shortest possible time. Since multiple interrupts can be avoided, the consumption of stack memory for saving registers can also be reduced. If the number of bytes of transmitted data is equal to the number of bytes of received data, data transmission and reception are completed almost simultaneously.

【0038】次に、マイコン3及び4の演算機能の異常
検出について説明する。簡単に言えば、マイコン3とマ
イコン4に同一の演算を実行させ、その結果が等しいか
否かを調べることによって異常発生の有無を識別するよ
うにしている。2つのマイコンに同一の演算を実行させ
るために、一方のマイコンが実行した演算の機能コ−ド
,演算対象デ−タ,及び演算結果を他方のマイコンに送
信し、他方のマイコンは受信した機能コ−ドに対応する
演算を、受信した演算対象デ−タに対して実行し、その
結果を受信した演算結果と比較するようにしている。 またこの動作は、マイコン3とマイコン4の両方が行な
うようにしてある。
Next, abnormality detection in the arithmetic functions of the microcomputers 3 and 4 will be explained. Simply put, the microcomputers 3 and 4 are made to execute the same calculation, and by checking whether the results are equal or not, it is possible to identify whether or not an abnormality has occurred. In order to have two microcontrollers execute the same operation, one microcontroller sends the function code, operation target data, and operation result of the operation executed to the other microcontroller, and the other microcontroller transmits the received function. An operation corresponding to the code is executed on the received operation target data, and the result is compared with the received operation result. Further, this operation is performed by both the microcomputer 3 and the microcomputer 4.

【0039】図10に、マイコン3側の送信バッファO
UTBUF,受信バッファINPBUF,及び命令テ−
ブルのメモリマップを示す。なおマイコン4側にも同じ
く送信バッファ,受信バッファ,及び命令テ−ブルが設
けられており、送信バッファの車速デ−タがFR及びR
Rに変わり、受信バッファの車速デ−タがFL及びRL
に変わる点のみが異なる。送信バッファOUTBUFの
全デ−タは、前述のシリアル通信動作によって相手側の
マイコンに送信され、送信されたデ−タが受信バッファ
INPBUF上にストアされる。デ−タの送信を開始す
る前に、図3に示すステップS4(又は図4のステップ
24)で、送信バッファOUTBUF上には、演算機能
チェックのためのデ−タが用意される。
FIG. 10 shows the transmission buffer O on the microcomputer 3 side.
UTBUF, receive buffer INPBUF, and instruction table
shows the memory map of the bull. The microcomputer 4 side is also provided with a transmission buffer, a reception buffer, and an instruction table, and the vehicle speed data in the transmission buffer is stored in the FR and R.
The vehicle speed data in the reception buffer changes to FL and RL.
The only difference is that it changes to . All the data in the transmission buffer OUTBUF is transmitted to the other party's microcomputer by the aforementioned serial communication operation, and the transmitted data is stored in the reception buffer INPBUF. Before starting data transmission, data for a calculation function check is prepared on the transmission buffer OUTBUF in step S4 shown in FIG. 3 (or step 24 in FIG. 4).

【0040】ステップS4の詳細を図8に示す。図8を
参照して説明する。なおマイコン4におけるステップS
24は図8と同一であるので、その説明は省略する。ス
テップS81ではレジスタINSCNTの内容を+1す
る。次のステップS82ではレジスタINSCNTの内
容をチェックし、その内容が13以上であると、次のス
テップS83でINSCNTを0にクリアする。つまり
、レジスタINSCNTの値は、図8の処理を実行する
毎に1ずつ更新され、0〜12の範囲で変化する。ステ
ップS84では、レジスタINSCNTの内容に応じて
次の処理を選択する。
Details of step S4 are shown in FIG. This will be explained with reference to FIG. Note that step S in microcomputer 4
24 is the same as in FIG. 8, so its explanation will be omitted. In step S81, the contents of the register INSCNT are incremented by 1. In the next step S82, the contents of the register INSCNT are checked, and if the contents are 13 or more, INSCNT is cleared to 0 in the next step S83. That is, the value of the register INSCNT is updated by 1 every time the process shown in FIG. 8 is executed, and changes in the range of 0 to 12. In step S84, the next process is selected depending on the contents of the register INSCNT.

【0041】即ち、INSCNTの値が0,1,2,3
,4,5,6,7,8,9,10,11及び12である
時には、それぞれステップS85で加算演算処理,減算
演算処理,乗算演算処理,除算演算処理,右シフト演算
処理,左シフト演算処理,AND(論理積)演算処理,
OR(論理和)演算処理,EXOR(排他的論理和)演
算処理,NEG(2進数の補数)演算処理,INC(1
加算)演算処理,DEC(1減算)演算処理,及びCL
R(クリア)演算処理を実行する。いずれの演算処理に
おいても、送信バッファOUTBUF上に演算対象デ−
タをストアした後、そのデ−タを演算する。演算対象デ
−タは、送信バッファの第1オペランド(L,H)及び
第2オペランドの位置にストアされる。例えば加算演算
処理において、A+Bを演算する場合、Aが第1オペラ
ンドになり、Bが第2オペランドになる。この実施例で
は、加算,減算,乗算,AND,OR,EXORの各演
算処理の場合、第1オペランド(L,H)に0をストア
し、第2オペランドには予め定めた固定値をストアして
おく。除算の時には、第1オペランドの上位8ビット(
H)にも予め定めた固定値をストアしておく。 右シフト,左シフト,NEG,INC,DEC及びCL
Rの演算処理においては、第2オペランドに演算対象と
なる固定値をストアしておく。ステップS85における
演算の結果は、次のステップS86で送信バッファの演
算結果(L,H)の位置にストアされる。なお、乗算及
び除算では演算結果が16ビットになるので、その上位
8ビット及び下位8ビットをそれぞれ演算結果(H)及
び演算結果(L)にストアするが、それ以外の演算では
、結果が8ビットになるので、その結果を送信バッファ
の演算結果(L)にストアし、演算結果(H)には0を
ストアする。また、マイクロプロセッサには、演算の結
果に応じて変化しうる複数のフラグを保持するレジスタ
が設けられているが、そのレジスタの内容も演算結果と
して送信バッファの演算フラグの位置にストアされる。
[0041] That is, the value of INSCNT is 0, 1, 2, 3.
, 4, 5, 6, 7, 8, 9, 10, 11 and 12, addition operation processing, subtraction operation processing, multiplication operation processing, division operation processing, right shift operation processing, left shift operation processing is performed in step S85, respectively. processing, AND (logical product) operation processing,
OR (logical sum) processing, EXOR (exclusive OR) processing, NEG (binary complement) processing, INC (1
addition) calculation processing, DEC (1 subtraction) calculation processing, and CL
R (clear) Executes arithmetic processing. In any calculation process, the calculation target data is stored on the transmission buffer OUTBUF.
After storing the data, the data is operated on. The data to be operated on is stored in the first operand (L, H) and second operand positions of the transmission buffer. For example, in addition operation processing, when calculating A+B, A becomes the first operand and B becomes the second operand. In this embodiment, for addition, subtraction, multiplication, AND, OR, and EXOR operations, 0 is stored in the first operand (L, H), and a predetermined fixed value is stored in the second operand. I'll keep it. During division, the upper 8 bits of the first operand (
A predetermined fixed value is also stored in H). Right shift, left shift, NEG, INC, DEC and CL
In the calculation process of R, a fixed value to be calculated is stored in the second operand. The result of the calculation in step S85 is stored in the transmission buffer at the position of the calculation result (L, H) in the next step S86. Note that in multiplication and division, the result is 16 bits, so the upper 8 bits and lower 8 bits are stored in the operation result (H) and operation result (L), respectively, but for other operations, the result is 8 bits. Since the result is a bit, the result is stored in the operation result (L) of the transmission buffer, and 0 is stored in the operation result (H). Furthermore, the microprocessor is provided with a register that holds a plurality of flags that can change depending on the result of an operation, and the contents of the register are also stored as the operation result in the location of the operation flag in the transmission buffer.

【0042】演算の結果に応じて変化するフラグには、
N(演算結果の最上位ビットの状態に応じて定まる),
Z(演算結果が0か否かに応じて定まる),V(オ−バ
−フロ−の有無に応じて定まる),C(最上位ビットか
らの桁上げ、又は最下位ビットからの桁下げの有無に応
じて定まる)等がある。
Flags that change depending on the result of the operation include:
N (determined according to the state of the most significant bit of the operation result),
Z (determined depending on whether the operation result is 0 or not), V (determined depending on the presence or absence of overflow), C (carry up from the most significant bit or down from the least significant bit) (determined depending on the presence or absence) etc.

【0043】このようにして送信バッファOUTBUF
上に用意された演算機能チェック用のデ−タは、車速デ
−タとともに相手側のマイコンに送信され、相手側の受
信バッファINPBUF上にストアされる。そして、図
3のステップS8又は図4のステップS30で、受信バ
ッファ上のデ−タを参照して演算機能がチェックされる
。ステップS8の処理の詳細を図9に示す。図9を参照
して説明する。なお、ステップS30の内容はS8と同
一であるのでその説明は省略する。
In this way, the transmit buffer OUTBUF
The arithmetic function check data prepared above is transmitted to the other party's microcomputer together with the vehicle speed data, and stored on the other party's receiving buffer INPBUF. Then, in step S8 of FIG. 3 or step S30 of FIG. 4, the arithmetic function is checked with reference to the data on the reception buffer. Details of the process in step S8 are shown in FIG. This will be explained with reference to FIG. Note that the contents of step S30 are the same as S8, so the explanation thereof will be omitted.

【0044】ステップS91では、受信バッファINP
BUF上の受信命令コ−ドINSRCVの値をチェック
する。INSRCVは、送信側のINSCNTに相当す
る。つまり、INSRCVの値が送信側で実行した演算
の種類を示しているので、ステップS91ではINSR
CVの値に応じて次の演算処理を選択する。即ち、受信
命令コ−ドが0,1,2,3,4,5,6,7,8,9
,10,11及び12の時には、ステップS92でそれ
ぞれ、加算演算処理,減算演算処理,乗算演算処理,除
算演算処理,右シフト演算処理,左シフト演算処理,A
ND演算処理,OR演算処理,EXOR演算処理,NE
G演算処理,INC演算処理,DEC演算処理,及びC
LR演算処理を実行する。
In step S91, the reception buffer INP
Check the value of the receive instruction code INSRCV on the BUF. INSRCV corresponds to INSCNT on the transmitting side. In other words, since the value of INSRCV indicates the type of operation executed on the sending side, in step S91, INSRCV is
The next calculation process is selected according to the value of CV. That is, the received instruction code is 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
, 10, 11, and 12, in step S92, addition operation processing, subtraction operation processing, multiplication operation processing, division operation processing, right shift operation processing, left shift operation processing, A
ND operation processing, OR operation processing, EXOR operation processing, NE
G calculation processing, INC calculation processing, DEC calculation processing, and C
Executes LR calculation processing.

【0045】これらの演算処理においては、受信バッフ
ァINPBUF上の第1オペランド及び第2オペランド
の値を演算対象として使用し、送信側が実際に実行した
演算と同一の演算処理を実行する。そしてその演算の結
果を、次のステップS93で、受信バッファINPBU
F上の演算結果(L,H)及び演算フラグと比較する。 それらが両方とも一致している場合には、ステップS9
4からS95に進むが、いずれか一方でも一致しない時
には、ステップS97に進み、エラ−処理を実行する。 ステップS95では、自分自身の比較命令に関する演算
機能が正常か否かをチェックする。実際には、互いに異
なる2つの数値(予め定めた固定値:例えば5と6)に
ついて比較命令を実行し、その結果が不一致であれば正
常とみなすが、一致したと判断された時には、異常とみ
なしステップS97に進む。ステップS97では、2つ
のマイコン3及び4の少なくとも一方の演算機能が異常
であるので、オアゲ−ト7に禁止信号(L)を印加し、
ソレノイドドライバ5及び6の両方の付勢を禁止する。
In these calculation processes, the values of the first and second operands on the reception buffer INPBUF are used as calculation targets, and the same calculation processes as those actually executed by the transmitting side are executed. The result of the calculation is then sent to the reception buffer INPBU in the next step S93.
Compare with the calculation result (L, H) on F and the calculation flag. If they both match, step S9
The process proceeds from step 4 to S95, but if either one does not match, the process proceeds to step S97 to execute error processing. In step S95, it is checked whether the arithmetic function regarding its own comparison instruction is normal. In reality, a comparison command is executed for two different numerical values (predetermined fixed values: for example, 5 and 6), and if the results do not match, it is considered normal, but when it is determined that they match, it is considered abnormal. The process proceeds to a deemed step S97. In step S97, since the calculation function of at least one of the two microcomputers 3 and 4 is abnormal, a prohibition signal (L) is applied to the OR gate 7.
Activation of both solenoid drivers 5 and 6 is prohibited.

【0046】なお上記実施例においては、演算機能をチ
ェックするために、演算の機能コ−ドとして命令カウン
タ(INSCNT)の値を相手側のマイコンに送信する
場合を説明したが、マイコンが直接実行できる命令コ−
ドの値をINSCNTの代わりに送信バッファOUTB
UFに書込み相手側のマイコンに送信してもよい。その
場合、例えば図10に示すような命令テ−ブル(B1〜
BDは各々16進数表示で示されたマイコンの命令コ−
ド)を設けておけば、命令カウンタの値から簡単に命令
コ−ドを得ることができる。
In the above embodiment, a case was explained in which the value of the instruction counter (INSCNT) is sent to the other microcomputer as the function code of the computation in order to check the computation function. Command code that can be used
The value of the send buffer OUTB instead of INSCNT.
The data may be written to the UF and sent to the other microcomputer. In that case, for example, an instruction table (B1 to
Each BD contains the microcomputer's instruction code shown in hexadecimal notation.
If a code (code) is provided, the instruction code can be easily obtained from the value of the instruction counter.

【0047】なお、上記実施例ではマイコンの暴走検出
が省略されているが、実施例の異常検出では演算機能の
異常は検出できるがマイコンの暴走などは検出できない
ので、ウォッチドッグタイマなどを用いた公知の暴走検
知回路を付加した方が好ましいのは勿論である。
Note that in the above embodiment, the detection of runaway of the microcomputer is omitted; however, the abnormality detection of the embodiment can detect an abnormality in the arithmetic function, but cannot detect runaway of the microcomputer, so a watchdog timer or the like is used. Of course, it is preferable to add a known runaway detection circuit.

【0048】[0048]

【発明の効果】以上のとおり本発明によれば、複数の制
御手段(マイコン3,4)の各々が自分自身の演算結果
と相手側の演算結果とを対比するので、いずれの制御手
段の演算機能に異常が生じた場合であっても、相手側の
異常を確実に検出することができる。しかも、演算の機
能コ−ド,演算対象デ−タ及び演算の結果を通信によっ
て相手側に伝送するので、一方の制御手段と他方の制御
手段とが実行する演算は常に同一であり、演算の内容を
変更する場合にも、両方の制御手段のプログラムを変更
する必要はなく、演算の種類や内容(演算対象の数値な
ど)は各々の制御手段において任意に変更しうる。
As described above, according to the present invention, since each of the plurality of control means (microcomputers 3 and 4) compares its own calculation results with the calculation results of the other side, the calculation of any control means Even if an abnormality occurs in a function, the abnormality on the other party can be reliably detected. Moreover, since the function code of the calculation, the data to be calculated, and the result of the calculation are transmitted to the other party through communication, the calculations executed by one control means and the other control means are always the same, and the calculations performed by one control means and the other control means are always the same. Even when changing the contents, there is no need to change the programs of both control means, and the type and contents of calculations (numerical values to be calculated, etc.) can be changed arbitrarily in each control means.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】  実施例のシステムの主要電装部の構成を示
すブロック図である。
FIG. 1 is a block diagram showing the configuration of main electrical components of a system according to an embodiment.

【図2】  マイコンのシリアルインタ−フェ−スの構
成を示すブロック図である。
FIG. 2 is a block diagram showing the configuration of a serial interface of a microcomputer.

【図3】  マイコン3のメインル−チンを示すフロ−
チャ−トである。
[Figure 3] Flowchart showing the main routine of microcomputer 3
It is a chart.

【図4】  マイコン4のメインル−チンを示すフロ−
チャ−トである。
[Figure 4] Flowchart showing the main routine of microcomputer 4
It is a chart.

【図5】  マイコン3と4の間の通信手順を示すタイ
ムチャ−トである。
5 is a time chart showing a communication procedure between microcomputers 3 and 4. FIG.

【図6】  マイコン3の通信割込処理を示すフロ−チ
ャ−トである。
6 is a flowchart showing communication interrupt processing of the microcomputer 3. FIG.

【図7】  マイコン4の通信割込処理を示すフロ−チ
ャ−トである。
7 is a flowchart showing communication interrupt processing of the microcomputer 4. FIG.

【図8】  図3のステップS4の詳細を示すフロ−チ
ャ−トである。
8 is a flowchart showing details of step S4 in FIG. 3. FIG.

【図9】  図3のステップS8の詳細を示すフロ−チ
ャ−トである。
9 is a flowchart showing details of step S8 in FIG. 3. FIG.

【図10】  マイコン上の主要なメモリ割当を示すメ
モリマップである。
FIG. 10 is a memory map showing major memory allocation on the microcomputer.

【符号の説明】[Explanation of symbols]

1L,1R:車速センサ 3,4:マイクロコンピュ−タ(第1及び第2の制御ユ
ニット) 5,6:ソレノイドドライバ 32:パラレルイン・シリアルアウト・シフトレジスタ
(送信手段) 40:シリアルイン・パラレルアウト・シフトレジスタ
(受信手段) INT1,INT2:通信割込処理 OUTBUF:送信バッファ INPBUF:受信バッファ S4,S24:(演算手段) S8,S30:(異常検出手段)
1L, 1R: Vehicle speed sensor 3, 4: Microcomputer (first and second control unit) 5, 6: Solenoid driver 32: Parallel in/serial out/shift register (transmission means) 40: Serial in/parallel Out shift register (reception means) INT1, INT2: Communication interrupt processing OUTBUF: Transmission buffer INPBUF: Reception buffer S4, S24: (calculation means) S8, S30: (abnormality detection means)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  メモリ,デ−タ入出力機能,及びデ−
タ演算機能を有する独立した制御手段を複数備える制御
装置の演算異常検出装置において:前記複数の制御手段
をお互いにデ−タ入出力自在に接続し、各々の制御手段
に、所定の演算対象デ−タに対して予め定めた演算機能
を実行する演算手段;実行した演算の演算機能コ−ド,
演算対象デ−タ,及び演算の結果を相手側の制御手段に
送信する送信手段;該送信手段が送信する情報を受信す
る受信手段;及び受信した演算対象デ−タに対して受信
した演算機能コ−ドに対応する演算機能を実行し、その
演算結果を受信した演算結果と比較して異常の有無を識
別する異常検出手段;を設けたことを特徴とする、制御
装置の演算異常検出装置。
[Claim 1] Memory, data input/output function, and data
In a calculation abnormality detection device for a control device equipped with a plurality of independent control means each having a data calculation function: The plurality of control means are connected to each other so that data can be freely input/output, and each control means is provided with predetermined data to be calculated. - arithmetic means for executing a predetermined arithmetic function on the data; arithmetic function code of the executed arithmetic;
Transmitting means for transmitting data to be computed and results of computation to control means on the other side; Receiving means for receiving information transmitted by the transmitting means; and a computing function received for the received data to be computed. An arithmetic anomaly detection device for a control device, comprising: an anomaly detecting means for executing an arithmetic function corresponding to the code and comparing the arithmetic result with the received arithmetic result to determine whether there is an anomaly. .
JP3060089A 1991-03-25 1991-03-25 Arithmetic abnormality detecting device for controller Pending JPH04295955A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3060089A JPH04295955A (en) 1991-03-25 1991-03-25 Arithmetic abnormality detecting device for controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3060089A JPH04295955A (en) 1991-03-25 1991-03-25 Arithmetic abnormality detecting device for controller

Publications (1)

Publication Number Publication Date
JPH04295955A true JPH04295955A (en) 1992-10-20

Family

ID=13132018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3060089A Pending JPH04295955A (en) 1991-03-25 1991-03-25 Arithmetic abnormality detecting device for controller

Country Status (1)

Country Link
JP (1) JPH04295955A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010502918A (en) * 2006-09-05 2010-01-28 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Drive system and method for monitoring hydraulic drive
JP2010287010A (en) * 2009-06-11 2010-12-24 Mitsubishi Electric Corp Control system
JP2011085997A (en) * 2009-10-13 2011-04-28 Mitsubishi Electric Corp Control system
US8369969B2 (en) 2009-06-11 2013-02-05 Mitsubishi Electric Corporation Distributed significant control monitoring system and device with transmission synchronization

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010502918A (en) * 2006-09-05 2010-01-28 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Drive system and method for monitoring hydraulic drive
JP2010287010A (en) * 2009-06-11 2010-12-24 Mitsubishi Electric Corp Control system
US8369969B2 (en) 2009-06-11 2013-02-05 Mitsubishi Electric Corporation Distributed significant control monitoring system and device with transmission synchronization
US8688241B2 (en) 2009-06-11 2014-04-01 Mitsubishi Electric Corporation Distributed control system for monitoring a significant control
JP2011085997A (en) * 2009-10-13 2011-04-28 Mitsubishi Electric Corp Control system

Similar Documents

Publication Publication Date Title
US4274138A (en) Stored program control system with switching between instruction word systems
US8166230B2 (en) Memory systems and methods of initializing the same
JPH0734179B2 (en) Automatic flight controller with multiple heterogeneous data processing channels.
US5954813A (en) Data processor with transparent operation during a background mode and method therefor
JPH04295955A (en) Arithmetic abnormality detecting device for controller
JP4784311B2 (en) Electronic control system for vehicles
US5735583A (en) Device for detecting failure of microcomputer in antilock controller
JPH04294650A (en) Bi-directional data transmitter between plural controllers
JPH07302207A (en) Device and method for bus collation type processing
US6115832A (en) Process and circuitry for monitoring a data processing circuit
JP3729893B2 (en) Microcomputer failure detection method
EP0640925B1 (en) Data processing system having serial interface
JP2001175494A (en) System and method for doubly diagnosing normality of arithmetic processing of microprocessor
JPH06230994A (en) Abnormality detecting device for cpu system
JPH0822448A (en) Microcomputer
JP2914837B2 (en) Control device with abnormality diagnosis function
JPH1083355A (en) Memory checking mechanism for vehicle controller
JPS5987558A (en) Resetting system
JPS62287362A (en) Controller
JP2837522B2 (en) I / O instruction control method
JP2601828Y2 (en) Vehicle control system
JPS60110073A (en) Data transmitter of multi-computer system
JPH0264702A (en) Method for synchronizing outputs in controller using plural data processings
JPS6133551A (en) Monitoring device of microprocessor
JPH07104841A (en) Abnormality detecting method for programmable controller