JPH0722281B2 - 車載コンピュータ間のデータ通信方法 - Google Patents

車載コンピュータ間のデータ通信方法

Info

Publication number
JPH0722281B2
JPH0722281B2 JP2298449A JP29844990A JPH0722281B2 JP H0722281 B2 JPH0722281 B2 JP H0722281B2 JP 2298449 A JP2298449 A JP 2298449A JP 29844990 A JP29844990 A JP 29844990A JP H0722281 B2 JPH0722281 B2 JP H0722281B2
Authority
JP
Japan
Prior art keywords
data
computer
byte
communication
transmission
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.)
Expired - Lifetime
Application number
JP2298449A
Other languages
English (en)
Other versions
JPH04170829A (ja
Inventor
能之 十川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Subaru Corp
Original Assignee
Fuji Jukogyo KK
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 Fuji Jukogyo KK filed Critical Fuji Jukogyo KK
Priority to JP2298449A priority Critical patent/JPH0722281B2/ja
Publication of JPH04170829A publication Critical patent/JPH04170829A/ja
Publication of JPH0722281B2 publication Critical patent/JPH0722281B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、シリアルチャンネルによって結合された車載
コンピュータ間のデータ通信方法に関する。
[従来の技術] 近年、自動車などの車輌においては、複数のコンピュー
タを搭載するものが多くなり、例えば、特開昭61−4915
4号公報には、第1,第2のマイクロコンピュータを備
え、複数種類の制御項目を分担処理させる技術が開示さ
れている。
さらに、複数のコンピュータによる分散処理では、各コ
ンピュータをシリアルチャンネルで結合し、互いに必要
とするデータを直列伝送しており、このデータの直列伝
送には、クロック同期式を採用し、双方向通信を行なう
ものが多い。
この場合、各コンピュータ間のデータ通信においては、
データを2回受信し、各受信データを比較して一致した
場合、有効データとする方法が採用され、通信データの
信頼性を確保するようにしている。
また、特開昭63−290033号公報には、データ送信側装置
から受信側装置へ、送信データと、その反転データとを
交互に送信し、受信側装置でデータの反転が検出された
とき送信データ正常と判断し、データの反転が検出され
ないとき送信データの誤りと判断することで、同時に複
数ビットの誤りを検出可能とした技術が開示されてい
る。
[発明が解決しようとする課題] しかしながら、クロック同期式の双方向通信においては
送信と受信とが同時に行われるため、各コンピュータの
通信インターフェースは、送信と受信とを兼用する送受
信バッファを備えるものが多く、上述のように、データ
を2回送信し、各受信データを比較して一致した場合に
有効データとする方法では、例えば第1のコンピュータ
からデータを送信した場合、万一、相手側の第2のコン
ピュータに異常が生じると、この第2のコンピュータで
は送信値を送受信バッファにセットできず、この送受信
バッファに蓄えられたデータが、次の送受信サイクル
で、そのままエコーバックされて第1のコンピュータに
返信されてしまう。
従って、当然ながら第1のコンピュータでは2回の受信
値が同一データとなり、上述した方法では第2のコンピ
ュータの異常を検出できず、返信値が有効データとみな
されるおそれがある。
また、上記先行例(特開昭63−290033号公報)に開示さ
れている技術では、その目的を達成するための手段とし
て、データ送信側装置においてデータレジスタからの送
信データをデータ反転回路により反転し、データレジス
タからの送信データとデータ反転回路からの反転データ
とをセレクタ回路により交互に受信側装置に出力する一
方、このセレクタ回路から交互に出力される送信データ
及び反転データを受信側装置のレジスタでラッチし、こ
のレジスタでラッチされ出力されるデータと、セレクタ
回路からのデータとを反転検出回路により比較し、反転
が検出されたとき送信データ正常と判断し、反転が検出
されないとき送信データの誤りと判断するようにしてい
るため、データ反転回路、セレクタ回路、ラッチとして
のレジスタ、及び、反転検出回路等の多くの付加回路を
必要とし、これらの付加回路を必要とする分、ハードウ
ェア構成が複雑となるばかりでなく、コストアップを招
くことになる。
また、この先行例に開示されている技術を、車輌に搭載
された第1のコンピュータと第2のコンピュータとの双
方向通信システムに適用した場合には、第2のコンピュ
ータにおける送受信バッファに相当するデータレジスタ
からの送信データをデータ反転回路により反転し、か
つ、送信データ及びデータ反転回路により反転されたデ
ータをセレクタ回路を介して交互に第1のコンピュータ
側に送信することになり、第1のコンピュータ側では、
レジスタ及び反転検出回路を設け、第2のコンピュータ
側から正規の送信データが送信されているときにはレジ
スタに前回の反転されたデータをラッチし、第2のコン
ピュータ側から反転されたデータが送信されているとき
にはレジスタに前回の送信データをラッチすることにな
るため、第2のコンピュータ側のセレクタ回路から出力
されるデータとレジスタにラッチされたデータとを反転
検出回路により比較し、送信データの有効性を判断しな
ければならず、各回路の同期を正確に取る必要が生じる
等の新たな課題が派生する。
また、上記先行例に開示されている技術を適用した場
合、第2のコンピュータにおける送受信バッファに相当
するデータレジスタからデータをデータ反転回路により
反転させることになり、データレジスタからの送信デー
タと、これを反転したデータとを比較しても、第2のコ
ンピュータに異常が生じたときのデータを認識すること
はできない。
すなわち、第1のコンピュータから第2のコンピュータ
へデータを送信したとき、第2のコンピュータに異常が
生じると、第2のコンピュータでは第1のコンピュータ
からの送信データに応じた返信値を送受信バッファに相
当するデータレジスタにセットできず、これ以前にデー
タレジスタに蓄えられたデータが、次の送受信サイクル
でそのままエコーバックされ第1のコンピュータに送信
されてしまう。
このため、第2のコンピュータに異常が生じたときにデ
ータレジスタからエコーバックされるデータであって
も、このデータと、このデータをデータ反転回路により
反転したデータとが交互に第1のコンピュータ側に送信
されることになり、第1のコンピュータ側では受信した
データが交互に反転しているため、第2のコンピュータ
の異常を検出できずに第2のコンピュータからの返信値
を有効と誤判断してしまい、双方向通信におけるデータ
の有効性を判断できない。
本発明は上記事情に鑑み、第2のコンピュータに生じた
異常によるデータを第1のコンピュータで認識し、デー
タの有効性を正確に判断して双方向通信の信頼性を向上
することが可能な車載コンピュータ間のデータ通信方法
を提供することを目的とする。
[課題を解決するための手段] 上記目的を達成するため本発明は、車輌に搭載された第
1のコンピュータと第2のコンピュータとをシリアルチ
ャンネルで結合し、双方向通信を行う車載コンピュータ
間のデータ通信方法において、上記第1のコンピュータ
では、上記第2のコンピュータへデータ読み出しのコマ
ンドを含むデータを送信し、次に、上記第2のコンピュ
ータへ同じデータを送信したときに上記第2のコンピュ
ータから返信された所定のビット数からなる第1のデー
タを保持した後、さらに、上記第2のコンピュータへ同
じデータを送信し、上記第2のコンピュータでは、上記
第1のコンピュータからデータ読み出しのコマンドを含
むデータを最初に受信したとき、このデータの内容に応
じてメモリから上記第1のデータを読み出し、次に、上
記第1のコンピュータから同じデータを受信したとき、
上記第1のデータを上記第1のコンピュータに送信し、
その後、さらに上記第1のコンピュータから同じデータ
を受信したときには、上記第1のデータの全ビットを反
転した第2のデータを上記第1のコンピュータに送信
し、上記第1のコンピュータにおいて、上記第2のコン
ピュータから上記第2のデータを受信した後、受信した
上記第2のデータを全ビット反転し、この反転したデー
タと保持した上記第1のデータとを比較して、両データ
が一致するとき、上記第1のデータの受信値を有効と判
断し、両データが相違するとき、異常と判断することを
特徴とする。
[作用] 本発明では、第1のコンピュータから第2のコンピュー
タへデータ読み出しのコマンドを含むデータを送信する
と、このデータの内容に応じて第2のコンピュータでメ
モリから所定ビット数の第1のデータが読み出され、こ
の第1のデータが、第1のコンピュータから第2のコン
ピュータへ同じデータが再度送信されたときに返信され
て第1のコンピュータで保持される。そして、第1のコ
ンピュータから第2のコンピュータへ、さらっに同じデ
ータを送信すると、第1のデータの全ビットを反転した
第2のデータが第2のコンピュータから第1のコンピュ
ータへ送信され、この第2のデータが第1のコンピュー
タで全ビット反転されて第1のデータと比較され、両デ
ータが一致するとき第1のデータの受信値が有効と判断
され、相違するとき異常と判断される。
[発明の実施例] 以下、図面を参照して本発明の実施例を説明する。
図面は本発明の一実施例を示し、第1図はメインコンピ
ュータの通信手順を示すフローチャート、第2図はサブ
コンピュータの通信手順を示すフローチャート、第3図
は制御装置の回路ブロック図、第4図は送受信バッファ
を示す説明図、第5図はクロック同期通信のタイムチャ
ート、第6図は通信ブロックの構成を示す説明図であ
る。
第3図において、符号1は自動車などの車輌に搭載され
る電子制御装置(ECU)であり、このECU1には、第1の
コンピュータとしてのメインコンピュータ1a及び第2の
コンピュータとしてのサブコンピュータ1bの2つのマイ
クロコンピュータが内蔵され、さらに、駆動回路1cなど
の周辺回路が内蔵されている。
上記メインコンピュータ1aは、例えば8ビットのメイン
CPU10、ROM11、RAM12、I/Oインターフェイス13、シリア
ルインターフェイス(SCI)14、及び、タイマ15がバス
ライン16を介して接続され、また、上記サブコンピュー
タ1bは、例えば8ビットのサブCPU20、ROM21、RAM22、I
/Oインターフェイス23、シリアルインターフェイス(SC
I)24、及び、タイマ25がバスライン26を介して接続さ
れている。
そして、上記メインコンピュータ1aのI/Oインターフェ
イス13では、入力ポートに運転状態を検出するセンサ・
スイッチ類30が接続されるとともに、出力ポートに駆動
回路1cを介してインジェクタ、点火コイルなどのアクチ
ュエータ類31が接続され、一方、上記サブコンピュータ
1bのI/Oインターフェイス23では、入力ポートにノック
センサ32が接続されている。
上記ROM11には、燃料噴射制御、点火時期制御などのエ
ンジン制御プログラム、サブコンピュータ1bとのデータ
通信のための通信プログラム、および、制御用固定デー
タ類が記憶されており、一方、上記ROM21には、ノック
検出処理プログラム及びメインコンピュータ1aとのデー
タ通信のための通信プログラムが記憶されている。
上記メインCPU10では、システム起動時、点火時期マッ
プなどの固定データをSCI14を介してサブコンピュータ1
bに転送し、次いで、上記センサ・スイッチ類30からの
エンジン運転状態パラメータに基づいて点火時期、燃料
噴射パルス幅などを演算してアクチュエータ類31に出力
するとともに、上記サブコンピュータ1bへ点火時期など
のエンジンコントロール情報を送信する。
上記サブCPU20では、上記メインコンピュータ1aからの
エンジンコントロール情報をSCI24を介して受信し、ノ
ックセンサ32からの信号を処理してメインコンピュータ
1aに送信する。その結果、ノック発生の場合には、メイ
ンコンピュータ1aは点火時期を遅角補正してノックを解
消させ、常に適切な状態にエンジンを制御する。
上記SCI14,24は、クロック信号CLK、送信信号TX、及
び、受信信号RXの各ラインで互いに接続され、第4図に
示すように、シフトレジレタからなる送受信バッファ40
に受信データが蓄えられて所定のタイミングで各CPU10,
20に取込まれ、また、各CPU10,20から書込まれたデータ
が所定のタイミングで送信される。
すなわち、上記送受信バッファ40に受信されるデータ
は、クロック信号CLKに同期して1パルスに1ビットの
シリアルデータとして順に記憶され、8ビットのデータ
が蓄積されると、各CPU10,20に1バイト分のパラレルデ
ータとして取込まれる。次いで、各CPU10,20から上記送
受信バッファ40に1バイトの返信データが書込まれ、次
の送受信タイミングでシリアルデータとして送信され
る。
この際、上記メインコンピュータ1aのタイマ15から上記
クロック信号CLKが供給されて上記メインCPU10と上記サ
ブCPU20との間でクロック同期式の全二重双方向通信が
行われ、第5図に示すように、通信データDATAのLSB
(ビット0)からMSB(ビット7)までの各ビットが、
上記クロック信号CLKの立上がりのタイミングでストロ
ーブされる。
次に、ECU1における各コンピュータ1a,1b間の通信手順
について説明する。
メインコンピュータ1aとサブコンピュータ1bとの間のデ
ータ通信においては、第6図に示すように、DATA1,DATA
2,DATA3からなる3バイトのデータを1ブロックとし
て、周期T(例えば、T=4ms)のバイトサイクルの通
信が行われ、この1ブロックの通信ブロックT XBに続け
て非通信状態であるブランク区間T BLANKをおき、この
ブランク区間T BLANKにより先頭データである第1バイ
トデータDATA1を検出する。
この先頭データにおいては、通信モードを指示するコマ
ンドC OMが上位2ビットによって示され、このコマンド
C OMは、例えば、以下の示すような体系となっている。
01…ライトモード (メインコンピュータ1aからサブコ ンピュータ1bへのデータ書込み) 10…リードモード (サブコンピュータ1bからメインコ ンピュータ1aへのデータ読出し) 11…ベースアドレスモード (後述するベースアドレスの設定) 第2バイト以降のデータ通信は、第1バイトのデータ通
信のタイミングでサブコンピュータ1bから通信可能のコ
ードが返信されたとき開始され、各モードに応じ、以下
のように動作する。
(ライトモード及びベースアドレスモード) メインコンピュータ1aから第2バイト目の書込みデータ
を送信すると、サブコンピュータ1bから第1バイト目で
受信した値が返信される。メインコンピュータ1aでは、
第1バイト送信値と第2バイト目でのサブコンピュータ
1bからの返信値との一致をとることにより、第1バイト
送信値がサブコンピュータ1bで正常に受信されたか否か
を確認でき、通信が正常のとき第3バイト送信値を第2
バイト送信値と同一のデータとし、通信が異常のとき第
3バイト送信値を第2バイト送信値の全ビットを反転し
たチェックデータとして送信する。
一方、サブコンピュータ1bでは、第2バイト受信値と第
3バイト受信値との一致をとることにより、第1バイト
から第3バイトまでの受信値が正常か否かを判別でき、
異常の場合には受信データの書込みを中止する。
(リードモード) メインコンピュータ1aからは、第1バイトから第3バイ
トまでコマンドC OMを含む同一データを送信し、一方、
サブコンピュータ1bは、第2バイトで読出しデータ(第
1のデータ)を返信し、さらに、この読出しデータの全
ビットを反転した値(第2のデータ)を第3バイトで返
信する。
メインコンピュータ1aでは、サブコンピュータ1bからの
第2バイト受信値(第1のデータの受信値)と、サブコ
ンピュータ1bからの第3バイト受信値(第2のデータの
受信値)を全ビット反転した値とを比較し、これらのデ
ータの一致をとることによりサブコンピュータ1bから受
信した読出しデータが正常か否かを判別できる。
以下、第1図及び第2図のフローチャートに従って各コ
ンピュータ1a、1bの通信手順を具体的に説明する。
(メインコンピュータ1aの通信手順) 第1図のフローチャートは、バイトサイクルの周期T毎
に起動されるメインコンピュータ1aの通信ルーチンであ
り、最初のステップS101は、送信カウンタのカウント値
M CNTによって条件分岐する多岐選択のステップであ
る。すなわち、1バイト毎の通信に対応して0から1,2,
3へとカウントアップされる送信カウンタのカウント値M
CNTに応じ、ステップS101からステップS102,S104,S11
3,S124へと、それぞれ分岐する。
まず、上記ステップS101で送信カウンタのカウント値M
CNTが“0"であるときには、通信のブランク区間T BLANK
であり、上記ステップS101からステップS102へ分岐して
通信のモードを設定し、次いで、ステップS103へ進んで
送信カウンタをカウントアップし(M CNT←M CNT+
1)、ルーチンを抜ける。
そして、次回のルーチンが起動され、ステップS101で送
信カウンタのカウント値M CNTが“1"で先頭データの送
信の場合には、ステップS101からステップS104へ分岐し
て前回設定したモードを判定し、ベースアドレス設定モ
ードのときステップS104からステップS105へ、ライトモ
ードのときステップS104からステップS106へ、リードモ
ードのときステップS104からステップS107へと分岐す
る。
まず、ベースアドレス設定モードについて説明すると、
このベースアドレス設定モードにおいては、ステップS1
05で、コマンドC OMの2ビットを上位として、この上位
2ビットにベースアドレスAD BASEの下位6ビットAD BA
SE/Lを加えた1バイトのデータを送信データT XDATAに
セットし(T XDATA←C OM+AD BASE/L)、ステップS108
へ進む。
上記ベースアドレスAD BASEは、サブCPU20のメモリ空間
に対するアドレス指定の際に予め基準となるアドレスで
あり、ベースアドレスAD BASEの設定以降、1バイト未
満のオフセットアドレスAD OFFSETのみを指定し、実際
の物理アドレスをベースアドレスAD BASEとオフセット
アドレスAD OFFSETとの論理和で指定することにより、
通信バイト数の低減を図るものである。
すなわち、上記サブコンピュータ1bが8ビットである場
合、そのアドレス空間64Kバイト(16進数で0000〜FFF
F)の指定は、通常2バイトのデータを要するが、一
旦、上述のベースアドレスAD BASEを設定すれば、以降
は1バイト未満のオフセットアドレス値AD OFFSETによ
る論理アドレスで物理アドレスを指定することができ、
通信バイト数を少なくしてデータ転送の際の効率を向上
することができるのである。
一方、上記ステップS104でライトモードのときには、ス
テップS106でコマンドC OMの2ビットにオフセットアド
レスAD OFFSET(6ビット)を加えた1バイトのデータ
を送信データT XDATAにセットして(T XDATA←C OM+AD
OFFSET)ステップS108へ進み、リードモードのときに
は、ステップS107で、同様にコマンドC OMの2ビットに
オフセットアドレスAD OFFSET(6ビット)を加えた1
バイトのデータを送信データT XDATAにセットし(T XDA
TA←C OM+AD OFFSET)、ステップS108へ進む。
そして、上記各ステップS105,S106,S107からステップS1
08へ進むと、送信データT XDATAを第1バイトデータDAT
A1として(DATA1←T XDATA)RAM12のワークエリアにス
トアし、ステップS109でSCI14を介してサブコンピュー
タ1bに送信するとともに、サブコンピュータ1bから1バ
イトの返信データを受信してステップS110へ進む。
ステップS110では、上記ステップS109で受信したサブコ
ンピュータ1bからのデータを調べ、このデータの上位2
ビットが“00"のとき、サブコンピュータ1bは通信可能
の状態と判別してステップS111へ進み、送信カウンタを
カウントアップして(M CNT←M CNT+1)ルーチンを抜
ける。
一方、上記ステップS110でサブコンピュータ1bからのデ
ータの上位2ビットが“11"のときには、サブコンピュ
ータ1bは通信不可と判別してステップS112へ分岐し、送
信カウンタをクリアして(M CNT←0)ルーチンを抜
け、次のサイクルをブランクとして、再び第1バイトか
らのデータ通信を行なう。
次に、再びルーチンが起動され、ステップS101で送信カ
ウンタのカウント値M CNTが“2"、すなわち第2バイト
データDATA2の送信のときには、ステップS113でモード
判定を行ない、ベースアドレス設定モードのとき、ステ
ップS113からステップS114へ進んでベースアドレスAD B
ASEの上位バイトAD BASE/Uを送信データT XDATAにセッ
トし(T XDATA←AD BASE/U)、ステップS116へ進む。
また、上記ステップS113でライトモードのときには、上
記ステップS113からステップS115へ進み、既にアドレス
指定してあるサブコンピュータ1bのメモリに書込むべき
ライトデータW DATAを送信データT XDATAにセットし(T
XDATA←W DATA)、ステップS116へ進む。
そして、上記ステップS114あるいはステップS115からス
テップS116へ進むと、送信データT XDATAを第2バイト
データDATA2として(DATA2←T XDATA)RAM12のワークエ
リアにストアし、ステップS117でサブコンピュータ1bに
送信するとともに、サブコンピュータ1bから1バイトの
返信データを受信してステップS118へ進む。
ステップS118では、上記ステップS117でサブコンピュー
タ1bから受信したデータR XDATAが、既にサブコンピュ
ータ1bへ送信した第1バイトデータDATA1と一致するか
否かを調べ、R XDATA=DATA1のとき、通信が正常に実行
されたと判定してステップS118からステップS123へジャ
ンプし、上記ステップS118でR XDATA≠DATA1のときに
は、通信が正常に行われず、正しいデータがサブコンピ
ュータ1bにて受信されなかったと判定して上記ステップ
S118からステップS119へ進んでエラーフラグFLAG1をセ
ットし(FLAG1←1)、ステップS123へ進んで送信カウ
ンタをカウントアップし(M CNT←M CNT+1)、ルーチ
ンを抜ける。
すなわち、通信ブロックT XBの先頭データである第1バ
イトデータDATA1がメインコンピュータ1aから送信され
ると、同時にサブコンピュータ1bからメインコンピュー
タ1aに対して受信可能か否かを示すコードが返信され、
通信可能の場合、第2バイトデータDATA2がメインコン
ピュータ1aから通信モードに応じて送信される。サブコ
ンピュータ1bは、メインコンピュータ1aから受信した第
1バイトデータDATA1を、メインコンピュータ1aからの
第2バイトデータDATA2の送信タイミングで返信するた
め、メインコンピュータ1aでは、RAM12のワークエリア
にストアした第1バイトデータDATA1とサブコンピュー
タ1bからの受信データR XDATAとが一致するか否かによ
り、通信が正常に実行されたか否かを判別することがで
きるのである。
一方、上記ステップS113でリードモードのときには、上
記ステップS113からステップS120へ進み、コマンドC OM
の2ビットにオフセットアドレスAD OFFSET(6ビッ
ト)を加えた1バイトのデータを送信データT XDATAに
セットし(T XDATA←C OM+AD OFFSET)、ステップS121
でサブコンピュータ1bとの送受信を実行する。
このリードモードにおいては、第2バイトの送信データ
T XDATAは、第1バイトデータDATA1と同じデータを送信
し、先にアドレス指定したメモリの内容をサブコンピュ
ータ1bから受信すると、ステップS122で、この受信デー
タR XDATAを第2バイトデータDATA2としてRAM12のワー
クエリアにストアし(DATA2←R XDATA)、ステップS123
で送信カウンタをカウントアップして(M CNT←M CNT+
1)ルーチンを抜ける。
さらに、次の通信ルーチンにおいて、ステップS101で送
信カウンタのカウント値M CNTが“3"、すなわち第3バ
イトデータDATA3の送信のときには、ステップS124でモ
ード判定を行ない、ベースアドレス設定モードのとき、
ステップS124からステップS125へ進んでベースアドレス
AD BASEの上位バイトAD BASE/Uを送信データT XDATAに
再びセットして(T XDATA←AD BASE/U)ステップS127へ
進み、ライトモードのときには、ステップS124からステ
ップS126へ進んでライトデータW DATAを送信データT XD
ATAに再びセットし(T XDATA←W DATA)、ステップS127
へ進む。
ステップS127では、エラーフラグFLAG1の値により、前
回、通信が正常に行われたか否かを判別し、FLAG1=0
すなわち通信が正常に実行れたときにはステップS129へ
ジャンプしてサブコンピュータ1bに対する送受信を実行
し、FLAG1=1すなわち通信に異常があったときにはス
テップS127からステップS128へ進んで、送信データT XD
ATAの全ビットを反転し、ステップS129でサブコンピュ
ータ1bに対する送受信を実行する。つまり、第2バイト
までのデータ通信が正常に実行された場合、第3バイト
データDATA3は第2バイトデータDATA2と同一のデータを
送信し、通信が異常の場合、第3バイトデータDATA3は
第2バイトデータDATA2を全ビット反転したデータを送
信するのである。
次いで、上記ステップS129からステップS130へ進むと、
サブコンピュータ1bから受信したデータR XDATAとサブ
コンピュータ1bに送信した第2バイトデータDATA2とが
一致するか否かにより通信が正常に行われたか否かを判
別する。
通信が正常に行われた場合、サブコンピュータ1bから
は、既に送信した第2バイトデータDATA2と同一のデー
タが返信されるため、上記ステップS130でR XDATA=DAT
A2のときには3バイトのデータの通信が正常に実行され
たと判別でき、上記ステップS130からステップS137へジ
ャンプして送信カウンタをクリアして(M CNT←0)ル
ーチンを抜ける。
また、上記ステップS130でR XDATA≠DATA2のときには、
通信に異常があるため上記ステップS130からステップS1
31へ進んでエラーフラグFLAG2をセットし(FLAG2←
1)、ステップS137で送信カウンタをクリアして(M CN
T←0)ルーチンを抜ける。
一方、上記ステップS124でリードモードのときには、上
記ステップS124からステップS132へ進んでコマンドC OM
の2ビットにオフセットアドレスAD OFFSET(6ビッ
ト)を加えた1バイトのデータを送信データT XDATAに
セットし(T XDATA←C OM+AD OFFSET)、この送信デー
タT XDATAをステップS133でサブコンピュータ1bに送信
するとともに、サブコンピュータ1bから1バイトの返信
データを受信する。
次いで、上記ステップS133からステップS134へ進むと、
サブコンピュータ1bから受信したデータR XDATAの全ビ
ットを反転した値▲ ▼が、既にサブコン
ピュータ1bから受信した第2バイトデータDATA2と一致
するか否かを判別する。
すなわち、サブコンピュータ1bからの第3バイト目の返
信データは、第2バイト目の返信データの全ビットを反
転した値であるため、この第3バイト目の返信データを
受信した値R XDATAの全ビットを反転して元に戻し、第
2バイトデータDATA2と比較することによりデータの有
効性を判別できる。
従って、サブコンピュータ1bに異常が発生し、SCI24の
送受信バッファ40に正規の返信データがセットされない
場合、従来のように単に連続した2つの受信データの一
致によりデータの有効性を判別すると、メインコンピュ
ータ1aから送信したデータ(コマンドC OMの2ビットに
オフセットアドレスAD OFFSETの6ビットを加えたデー
タ)が上記ステップS121およびステップS133でエコーバ
ックされ、データが有効と誤判定されてしまうが、本発
明によれば、サブコンピュータ1bの異常を正しく認識し
てデータの有効性を正確に判別でき、信頼性を大幅に向
上することができるのである。
そして、上記ステップS134では▲ ▼=DA
TA2の場合には、通信が正常に行われているため、上記
ステップS134からステップS135へ進んでサブコンピュー
タ1bから受信したデータR XDATAの全ビットを反転した
値▲ ▼(あるいはすでにRAM22のワーク
エリアにストアしてある第2バイトデータDATA2)を確
定データとしてRAM12のデータエリアにストアし、ステ
ップS137へ進んで送信カウンタをクリアして(M CNT←
0)ルーチンを抜ける。
一方、上記ステップS134で▲ ▼≠DATA2
の場合には、通信に異常があるため、上記ステップS134
あらステップS136へ進んでエラーフラグFLAG2をセット
し(FLAG2←1)、ステップS137で送信カウンタをクリ
アして(M CNT←0)ルーチンを抜ける。
なお、各エラーフラグFLAG1,FLAG2のクリアは、別ルー
チンでエラーチェックを行い、クリアする。
(サブコンピュータ1bの通信手順) 一方、サブコンピュータ1bにおいては、メインコンピュ
ータ1aからのデータ受信毎に第2図に示す通信ルーチン
が起動され、まず、ステップS201で受信間隔を時間変数
T Rにセットし(T R←受信間隔)、次いで、この時間変
数T Rと設定値T SETとをステップS202で比較する。
この設定値T SETは、1ブロックのデータの通信におけ
るバイトサイクルの周期T(例えば、T=4ms)よりも
長く、通信ブロックT XB間のブランク区間T BLANKを識
別可能な値(例えば、T SET=6ms)に設定されており、
上記ステップS202で、T R>T SETのときには、受信間隔
が通常のバイトサイクルの周期Tよりも長く、ブランク
区間T BLANKを経て初めてのデータ受信すなち先頭の第
1バイトのデータ受信であると判別でき、ステップS203
で受信カウンタのカウント値S CNTをクリアする(S CNT
←0)。
尚、このときのメインコンピュータ1aからの先頭データ
の送信タイミングでは、後述する受信許可コードSCを返
信してサブコンピュータ1bが通信可能状態か否かをメイ
ンコンピュータ1aに知らせ、通信可能のときメインコン
ピュータ1aとの2バイト目以降のデータ通信が開始され
る。
そして、上記ステップS203からステップS204へ進むと、
受信データR XDATAの上位2ビット(R XDATA)B7B6、す
なわちコマンドC OMを解釈し、 (R XDATA)B7B6=11、すなわちベースアドレスモード
を指示するコマンドC OMのときには、上記ステップS204
からステップS205へ進んでベースアドレスモードに設定
してステップS207へ進み、 (R XDATA)B7B6=01、すなわちライトモードを指示す
るコマンドC OMのときには、上記ステップS204からステ
ップS206へ進んでライトモードに設定してステップS207
へ進む。
そして、上記ステップS205あるいはステップS206からス
テップS207へ進むと、受信データR XDATAを第1バイト
目のデータDATA1としてRAM22のワークエリアにストアし
(DATA1←R XDATA)、ステップS208で受信データR XDAT
Aをメインコンピュータ1aへの返信データ(サブコンピ
ュータ1bからの送信データ)T XDATAにセットし(T XDA
TA←R XDATA)、ステップS222へ進んで受信カウンタの
カウント値S CNTをカウントアップし(S CNT←S CNT+
1)、ルーチンを抜ける。
また、上記ステップS204で(R XDATA)B7B6=10、すな
わちリードモードを指示するコマンドC OMのときには、
上記ステップS204からステップS209へ進んでリードモー
ドに設定し、ステップS210でベースアドレスAD BASEと
オフセットアドレスAD OFFSETにより定まるRAM22の物理
アドレスからメモリの内容(AD BASE+AD OFFSET)を読
出し、このメモリの内容(AD BASE+AD OFFSET)をメイ
ンコンピュータ1aへの返信データT XDATAにセットし(T
XDATA←(AD BASE+AD OFFSET))、同様に、ステップ
S222で受信カウンタS CNTをカウントアップして(S CNT
←S CNT+1)ルーチンを抜ける。
上記ステップS208あるいはステップS210でセットされた
返信データT XDATAは、次のメインコンピュータ1aから
の第2バイトのデータ送信のタイミングで返信され、ベ
ースアドレスモード及びライトモードのときには、メイ
ンコンピュータ1aからの第1バイトのデータDATA1と同
じチェックデータが返信され、また、リードモードのと
きには、ベースアドレスAD BASEとオフセットアドレスA
D OFFSETによって指定されたRAM22の内容(AD BASE+AD
OFFSET)が返信される。
一方、上記ステップS202でTR≦T SET、すなわち、第2
バイト目以降のデータ受信であるときには、上記ステッ
プS202からステップS211へ分岐し、受信カウンタのカウ
ント値S CNTから第2バイトのデータ受信か第3バイト
のデータ受信かを判別する。
上記ステップS211でS CNT=1すなわち第2バイトのデ
ータ受信のときには、上記ステップS211からステップS2
12へ進んでモード判定を行ない、ベースアドレスモード
及びライトモードのときには、ステップS213で受信デー
タR XDATAを第2バイトのデータDATA2としてRAM22のワ
ークアリアにストアする(DATA2←R XDATA)。
そして、上記ステップS213からステップS214へ進み、前
回受信した第1バイトのデータDATA1をメインコンピュ
ータ1aへの返信データT XDATAにセットし(T XDATA←DA
TA1)、ステップS222で受信カウンタをカウントアップ
して(S CNT←S CNT+1)ルーチンを抜ける。
また、上記ステップS212でリードモードのときには、上
記ステップS212からステップS215へ進み、ベースアドレ
スAD BASEとオフセットアドレスAD OFFSETにより定まる
RAM22の物理アドレスのメモリの内容(AD BASE+AD OFF
SET)を全ビット反転し、この全ビットを反転した値
(▲ ▼)をメイン
コンピュータ1aへの返信データT XDATAにセットし(T X
DATA←(▲
▼))、同様に、ステップS222で受信カウンタS CNTを
カウントアップして(S CNT←S CNT+1)ルーチンを抜
ける。
一方、上記ステップS211でS CNT≠1のときには、第3
バイトのデータ通信であり、上記ステップS211からステ
ップS216へ進んでモード判定を行ない、リードモードの
とき、上記ステップS216からステップS221へジャンプ
し、ベースアドレスモードのとき、ステップS217でメイ
ンコンピュータ1aからの受信データR XDATAとRAM22にス
トアした第2バイトのデータDATA2とを比較する。
上述したように、メインコンピュータ1aから送信される
データは、通信が正常に行われている場合、第2バイト
と第3バイトのデータは同じデータであり、通信に異常
がある場合、第3バイトのデータは第2バイトのデータ
を全ビット反転したデータであるため、上記ステップS2
17でR XDATA≠DATA2のときには、通信に際して異常があ
るため上記ステップS217からステップS221へジャンプ
し、R XDATA=DATA2のときには通信は正常であるため、
上記ステップS217からステップS218へ進んで第2バイト
データDATA2を上位バイトにセットするとともに、第1
バイトのデータDATA1の下位6ビットを上位シフトして
下位2ビットを“00"とするバイトデータ(DATA1)00を
下位バイトにセットし、ベースアドレスAD BASEを設定
して(AD BASE←DATA2+(DATA1)00)ステップS221へ
進む。
また、上記ステップS216でライトモードの場合には、上
記ステップS216からステップS219へ進み、同様に、メイ
ンコンピュータ1aからの受信データR XDATAとRAM22にス
トアした第2バイトのデータDATA2とを比較して、R XDA
TA≠DATA2のとき、上記ステップS219からステップS221
へジャンプし、R XDATA=DATA2のとき、上記ステップS2
19からステップS220へ進んで、メインコンピュータ1aか
らの受信データR XDATAを確定データとして、ベースア
ドレスAD BASEとオフセットアドレスAD OFFSETにより定
まるRAM22の物理アドレスに書込み((AD BASE+AD OFF
SET)←R XDATA)、ステップS221へ進む。
そして、各モードに応じて上記ステップS216,S218,S220
の各ステップからステップS221へ進むと、通信可能の場
合上位2ビットを“00"、通信不可の場合上位2ビット
を“11"とする受信許可コードSCをメインコンピュータ1
aへの返信データT XDATAにセットし、ステップS222で受
信カウンタS CNTをカウントアップして(S CNT←S CNT
+1)ルーチンを抜ける。
この受信許可コードSCは、メインコンピュータ1aによっ
て起動される次の通信ブロックT XBにおいて、先頭バイ
トのデータ送信タイミングでメインコンピュータ1aに返
信される。
[発明の効果] 以上説明したように本発明によれば、第1のコンピュー
タと第2のコンピュータとの間でシリアルチャンネルを
介して双方向通信を行う際に、第2のコンピュータへデ
ータ読み出しのコマンドを含むデータを送信すると、こ
のデータの内容に応じて第2のコンピュータでメモリか
ら所定ビット数の第1のデータが読み出され、この第1
のデータが、第1のコンピュータから第2のコンピュー
タへ同じデータが再度送信されたときに返信されて第1
のコンピュータで保持される。そして、第1のコンピュ
ータから第2のコンピュータへ、さらに同じデータを送
信すると、第1のデータの全ビットを反転した第2のデ
ータが第2のコンピュータから第1のコンピュータへ送
信され、この第2のデータが第1のコンピュータで全ビ
ット反転されて第1のデータと比較され、両データが一
致するとき第1のデータの受信値が有効と判断され、相
違するとき異常と判断されるため、第2のコンピュータ
に異常が生じ、データが第1のコンピュータへエコーバ
ックされたとしても、エコーバックされたデータが第1
のコンピュータで全ビットが反転されて元のデータと比
較されるため両データが不一致となり、確実に第2のコ
ンピュータに生じた異常によるデータを認識することが
できる。
従って、第1のコンピュータからの送信データに応じ第
2のコンピュータから第1のコンピュータへ返信される
返信データの有効性を正確かつ確実に判別して双方向通
信の信頼性を向上することができる。
また、本発明によれば、データの有効性を判別するため
の付加回路を必要とせず、ハードウェア構成を変更せず
に対処することができるため、コストアップを招くこと
がない。
【図面の簡単な説明】
図面は本発明の一実施例を示し、第1図はメインコンピ
ュータの通信手順を示すフローチャート、第2図はサブ
コンピュータの通信手順を示すフローチャート、第3図
は制御装置の回路ブロック図、第4図は送受信バッファ
を示す説明図、第5図はクロック同期通信のタイムチャ
ート、第6図は通信ブロックの構成を示す説明図であ
る。 1a…メインコンピュータ 1b…サブコンピュータ T XDATA…送信データ R XDATA…受信データ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】車輌に搭載された第1のコンピュータと第
    2のコンピュータとをシリアルチャンネルで結合し、双
    方向通信を行う車載コンピュータ間のデータ通信方法に
    おいて、 上記第1のコンピュータでは、上記第2のコンピュータ
    へデータ読み出しのコマンドを含むデータを送信し、次
    に、上記第2のコンピュータへ同じデータを送信したと
    きに上記第2のコンピュータから返信された所定のビッ
    ト数からなる第1のデータを保持した後、さらに、上記
    第2のコンピュータへ同じデータを送信し、 上記第2のコンピュータでは、上記第1のコンピュータ
    からデータ読み出しのコマンドを含むデータを最初に受
    信したとき、このデータの内容に応じてメモリから上記
    第1のデータを読み出し、次に、上記第1のコンピュー
    タから同じデータを受信したとき、上記第1のデータを
    上記第1のコンピュータに送信し、その後、さらに上記
    第1のコンピュータから同じデータを受信したときに
    は、上記第1のデータの全ビットを反転した第2のデー
    タを上記第1のコンピュータに送信し、 上記第1のコンピュータにおいて、上記第2のコンピュ
    ータから上記第2のデータを受信した後、受信した上記
    第2のデータを全ビット反転し、この反転したデータと
    保持した上記第1のデータとを比較して、両データが一
    致するとき、上記第1のデータの受信値を有効と判断
    し、両データが相違するとき、異常と判断することを特
    徴とする車載コンピュータ間のデータ通信方法。
JP2298449A 1990-11-02 1990-11-02 車載コンピュータ間のデータ通信方法 Expired - Lifetime JPH0722281B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2298449A JPH0722281B2 (ja) 1990-11-02 1990-11-02 車載コンピュータ間のデータ通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2298449A JPH0722281B2 (ja) 1990-11-02 1990-11-02 車載コンピュータ間のデータ通信方法

Publications (2)

Publication Number Publication Date
JPH04170829A JPH04170829A (ja) 1992-06-18
JPH0722281B2 true JPH0722281B2 (ja) 1995-03-08

Family

ID=17859856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2298449A Expired - Lifetime JPH0722281B2 (ja) 1990-11-02 1990-11-02 車載コンピュータ間のデータ通信方法

Country Status (1)

Country Link
JP (1) JPH0722281B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006261948A (ja) * 2005-03-16 2006-09-28 Toyota Motor Corp 通信システム、送信装置及び受信装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007285745A (ja) * 2006-04-13 2007-11-01 Matsushita Electric Ind Co Ltd 角速度センサ
JP6133622B2 (ja) 2013-02-27 2017-05-24 日立オートモティブシステムズ株式会社 車両制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63290033A (ja) * 1987-05-21 1988-11-28 Nec Corp デ−タ送受信回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006261948A (ja) * 2005-03-16 2006-09-28 Toyota Motor Corp 通信システム、送信装置及び受信装置

Also Published As

Publication number Publication date
JPH04170829A (ja) 1992-06-18

Similar Documents

Publication Publication Date Title
US6237113B1 (en) Method of initializing a control unit connected to a diagnostic bus
US9042274B2 (en) Serial peripheral interface having a reduced number of connecting lines
US6898490B2 (en) Vehicle controller for controlling rewriting data in a nonvolatile memory
US20030184447A1 (en) Method for transmitting data from at lest one sensor to a control unit
US6690733B1 (en) Method for data transmission
US5367644A (en) Communication system
KR100362236B1 (ko) 다중데이타통신시스템
JPH0722281B2 (ja) 車載コンピュータ間のデータ通信方法
US5398238A (en) Data communication system
EP0620665B1 (en) Data transmission system for automotive vehicle
US5696776A (en) Data transmission method in a real-time data processing system
EP0085973B1 (en) Information transmission system
JPH0744516B2 (ja) 車載コンピュータ間のデータ通信方法
US6499067B1 (en) Serial communication apparatus and serial communication system
JPH09293028A (ja) 半導体記憶装置
WO1996037984A1 (en) A digital data bus system including arbitration
JP3442633B2 (ja) 車両多重伝送装置
CN1107956C (zh) 通过传输包的叠加减少接口等待时间的方法和设备
US6760854B2 (en) Method and apparatus for handling a framing error at a serial interface by forcing invalid commands to be read upon determine the command is invalid
US7228449B2 (en) Method and device for transmitting a selection signal from a processor to a peripheral by violating a symmetry of transmission of a data signal
JP3442632B2 (ja) 車両多重伝送装置
CN214585956U (zh) 一种控制电路及激光雷达
KR20110006980A (ko) 메인 mcu와 서브 mcu간 통신의 폭주 검출 방법
KR100245708B1 (ko) 이모빌라이져 시스템
JP2580146B2 (ja) 車両用通信制御装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080308

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090308

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090308

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100308

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100308

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110308

Year of fee payment: 16

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110308

Year of fee payment: 16