JPH08293881A - 通信システム - Google Patents

通信システム

Info

Publication number
JPH08293881A
JPH08293881A JP27587795A JP27587795A JPH08293881A JP H08293881 A JPH08293881 A JP H08293881A JP 27587795 A JP27587795 A JP 27587795A JP 27587795 A JP27587795 A JP 27587795A JP H08293881 A JPH08293881 A JP H08293881A
Authority
JP
Japan
Prior art keywords
framing error
interrupt processing
communication system
data
predetermined
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.)
Granted
Application number
JP27587795A
Other languages
English (en)
Other versions
JP3099703B2 (ja
Inventor
Hirokazu Oguro
浩和 小黒
Katsumi Takaba
克己 鷹羽
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.)
Denso Corp
Original Assignee
NipponDenso 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 NipponDenso Co Ltd filed Critical NipponDenso Co Ltd
Priority to JP07275877A priority Critical patent/JP3099703B2/ja
Priority to DE69621490T priority patent/DE69621490T2/de
Priority to EP96101372A priority patent/EP0729249B1/en
Priority to US08/596,464 priority patent/US5790572A/en
Priority to KR19960004561A priority patent/KR100271117B1/ko
Priority to CN96100015A priority patent/CN1080502C/zh
Publication of JPH08293881A publication Critical patent/JPH08293881A/ja
Application granted granted Critical
Publication of JP3099703B2 publication Critical patent/JP3099703B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Selective Calling Equipment (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】 【目的】 スレーブ装置にフレーミングエラーが発生し
たら、この発生原因を区別し、この発生原因に応じて割
込みを禁止させたり許可することによって、最適なデー
タ通信を行えるようにする。 【構成】 割込み要求があったら、ステップ510に
て、この割込み要求がフレーミングエラーによって発生
したのかを判定する。そしてYESと判定されたらさら
にステップ515にて、フレーミングエラーが2回以上
連続して発生したかを判定する。もしNOなら割込みを
禁止せず(許可し)、YESならステップ525にて割
込みを禁止する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マスタ装置(例えばテ
スタのような外部装置)とスレーブ装置(例えばエンジ
ン制御装置のような電子制御装置)との間でデータの送
受信を行う通信システムに関する。
【0002】
【従来の技術】マスタ装置とスレーブ装置との間でデー
タの送受信を行う通信システムとしては、図9に示すよ
うに、マスタ100と複数のスレーブ110〜130と
が通信線140および接続手段150を介して接続さ
れ、マスタ100が通信線140上に送信した要求メッ
セージを、各スレーブ110〜130が受信したら、こ
の要求メッセージに対する応答メッセージを、優先順位
の高いスレーブから順に、通信線140上に送信するよ
うに構成されたものが一般的に知られている。
【0003】ここで、図9のシステムの構成を簡単に説
明すると、第1スレーブ110の内部には、主に通信を
司るCPU111と、主に制御を司るCPU112とが
設けられている。そして、CPU111には、マスタ1
00からの前記要求メッセージや、他のスレーブ12
0、130からの前記応答メッセージをモニタ可能な通
信I/O113が接続され、CPU112には、制御を
行うための制御I/O114が接続されている。また、
CPU111とCPU112とはデータバス115で接
続されている。
【0004】また、上記CPU111の内部には、シリ
アル通信が容易に行えるようなシリアルインターフェイ
ス116やRAM117、およびROM118等が設け
られている。また、他のスレーブ120、130の内部
構造も、上記第1スレーブ110と同じ構造である。
【0005】ところで、上記要求メッセージおよび応答
メッセージはそれぞれ、複数の1バイトデータ(但し、
最大11バイト)より構成されている。また、それぞれ
の1バイトデータは、図10に示すように、論理ローレ
ベルの1スタートビット(S)、データを示す8ビット
(0〜7)、論理ハイレベルの1ストップビット(P)
といった、合計10ビット長のデータで構成されてい
る。
【0006】このように、要求メッセージおよび応答メ
ッセージの1バイトデータが10ビット長のデータで構
成されていることに伴って、上記シリアルインターフェ
イス116は、具体的には図11に示すように構成され
ている。この構成によると、シリアルイン端子201か
ら入力されてきたシリアルインデータは、バッファ20
2を介してシリアルスティタスレジスタ203に取り込
まれる。
【0007】そして、このレジスタ203がスタートビ
ット(S)を検出したら、以降のデータビット(0〜
7)を、予め決められたボーレートでシリアルインシフ
トレジスタ204に1ビットずつシフトしていき、レジ
スタ203がストップビット(P)を検出したら、この
合計10ビットの1バイトデータをシリアルインデータ
レジスタ205に移して割込み要求を発生し(図12参
照)、ソフトウェアがデータバス206からシリアルイ
ンデータを読めるようにする。
【0008】反対に、シリアルアウトの場合は、ソフト
ウェアによって、出力データがデータバス206を介し
てシリアルアウトデータレジスタ207に書き込まれ、
シリアル出力がコントローラ208によって起動され
る。すると、レジスタ207はデータをシリアルアウト
シフトレジスタ209に移し、まずスタートビット
(S)を、バス210を介してシリアルアウト端子21
1から出力する。同様に、2ビット目(0)からストッ
プビット(P)までを出力したら、ソフトフェアに対し
て割込み要求を発生する。
【0009】ところで、上記のような通信システムにお
いては、マスタ100と各スレーブ110〜130との
間で上記各メッセージの送受信を行う前に、まず初期化
を行うわけだが、この初期化は、国際規格ISO−91
41−2で規定された通信手順に基づいて行われるのが
一般的である。以下、この国際規格に基づいた初期化の
通信手順について図13を用いて簡単に説明する。
【0010】まず、マスタ100が、通信線140の空
き時間(以下、アイドル時間という)が2ms以上であ
ることを確認したら、5bps(5ビット/secの
略)のボーレートで初期化アドレス(例えば33H)を
通信線140上に送信する。すると、最も優先順位の高
い第1スレーブ110は、アイドル時間がW1以上とな
ったことを確認してから、上記初期化アドレスによって
決定されるボーレート(例えば10.4kbps)で、
まず同期信号(例えば55H)を通信線140上に送信
する。
【0011】そして、第1スレーブ110は、この同期
信号の送信を完了したら、アイドル時間がW2以上とな
ったことを確認してから、キーワード1(KW1、例え
ば94H)を通信線140上に送信する。さらに、この
KW1の送信を完了したら、アイドル時間がW3以上と
なったことを確認してから、キーワード2(KW2、例
えば94H)を通信線140上に送信する。
【0012】そして、第1スレーブ110が上記KW2
の送信を完了したら、マスタ100が、アイドル時間が
W4以上となったことを確認してから、このKW2の反
転信号(例えば6BH)を通信線140上に送信する。
そして、マスタ100が上記反転信号の送信を完了した
ら、第1スレーブ110が、アイドル時間がW4以上と
なったことを確認してから、上記初期化アドレス信号の
反転信号(例えばCCH)を通信線140上に送信す
る。そして、この反転信号の送信完了をもって初期化処
理を終了する。
【0013】また、他のスレーブ120、130は、上
記マスタ100と第1スレーブ110との初期化処理
を、自分の通信I/Oを通じてモニタしながら、自分の
初期化を行う。なお、上記W1〜W4は上記国際規格で
決められた範囲内の時間で任意に設定されるもので、W
1の範囲は60〜300ms、W2の範囲は5〜20m
s、W3の範囲は0〜20ms、およびW4の範囲は2
5〜50msとして決められている。
【0014】このようにして初期化が終了してから、マ
スタ100と各スレーブ110〜130との間での、要
求メッセージと応答メッセージの送受信が、上記初期化
アドレスで決定されたボーレート(この場合は10.4
kbps)で開始される。なお、この送受信も上記国際
規格で規定された通信手順に基づいて行われる。以下、
この通信手順を図14を用いて簡単に説明する。
【0015】まず、マスタ100が、所定の処理の実行
を各スレーブ110〜130に要求する要求メッセージ
1を通信線140上に送信すると、この要求メッセージ
1の送信完了からアイドル時間P2(0〜50msの任
意の時間)後に、最も優先順位の高い第1スレーブ11
0が、要求メッセージ1に対する応答メッセージを通信
線140上に送信する。
【0016】そして、第1スレーブ110が応答メッセ
ージの送信を完了したら、次に優先順位の高い第2スレ
ーブ120が、アイドル時間P2の経過を確認してから
自分の応答メッセージを送信する。そして、第2スレー
ブ120が応答メッセージの送信を完了したら、最も優
先順位の低い第3スレーブ130が、アイドル時間P2
の経過を確認してから自分の応答メッセージを送信す
る。
【0017】そして、第3スレーブ130が応答メッセ
ージの送信を完了したら、マスタ100は、アイドル時
間P3(55ms〜5sの任意の時間)の経過を確認し
てから、次の要求メッセージ2を送信する。そして、各
スレーブ110〜130は、上記と同様の要領で、自分
の応答メッセージを順番に送信する。上述したように、
上記国際規格では、アイドル時間が2ms以上続けば、
図13の初期化アドレスを送信できるとしている。従っ
て、図14のように、例えば第3スレーブ130が応答
メッセージを送信完了してから、マスタ100が要求メ
ッセージ2を送信開始するまでの間のアイドル時間が、
55ms以上となることから、この間にマスタ100が
初期化アドレスを誤って送信してしまうことがある。す
わなち、10.4kbpsという速いボーレートで各メ
ッセージの送受信を行っている最中に、マスタ100が
5bpsという非常に遅い速度の初期化アドレスを送信
してしまうことがある。
【0018】このとき各スレーブ110〜130は、初
期化アドレスのまずスタートビット(ローレベル)をC
PU111のシリアルイン端子201(図11)から入
力し、レジスタ204、205に移して割込み処理を起
動させるわけだが、この場合、各スレーブ110〜13
0は、10.4kbpsのボーレートでデータを受信す
る状態であるため、上記5bpsのボーレートでスター
トビットを入力しただけでも、全てがローレベル信号か
らなる1バイトデータ(図10)が約200回入力され
たことになり、その結果、約200回の割込み要求が連
続して発生する。
【0019】また、この場合、上記約200回入力され
る1バイトデータは、図15(a)に示すように、全て
がローレベル信号からなるため、CPUは全ての割込み
時に正規のストップビット(ハイレベル信号)を検出で
きず、そのため、全ての割込み時にフレーミングエラー
(ストップビットが正規な値でないときに発生するエラ
ー)が発生する。
【0020】以上のように、速いボーレートで各メッセ
ージの送受信が行われている最中に、マスタ100が非
常に遅い速度の初期化アドレスを送信してしまった場合
には、各スレーブ110〜130では割込みが多発して
しまう。そのため、CPU111内では、割込み処理ば
かりが行われてしまい、ベースルーチンや他の処理がな
かなか先に進まず、その機能がストップしてしまう。
【0021】また、上記問題は、マスタ100が、各ス
レーブ110〜130のうちの複数(例えば各スレーブ
110〜130の全て)に対して初期化を行い、この複
数のスレーブとの間で通常の送受信(10.4kbp
s)を行っているときに、このうちの1つ(例えば第2
スレーブ120)のみに対して初期化を行うときにも発
生する。
【0022】そのため、従来では、フレーミングエラー
が発生したことを検出する検出手段を設け、この検出手
段がフレーミングエラーの発生を検出したときは、上記
のように割込み処理ばかりが行われてベースルーチンや
他の処理の機能がストップしてしまうときと判定し、図
15(b)に示すように割込み処理を禁止するようにし
ていた。
【0023】
【発明が解決しようとする課題】しかし、この場合、以
下のような問題が発生する。すなわち、上記のような通
信システムを例えば車両用として用いた場合、マスタ1
00や各スレーブ110〜130がメッセージを受信し
ている途中で、無線機などから受ける電波障害や点火系
のノイズ等をCPU111が受信し、このノイズが、図
16に示すように、たまたま上記ストップビットをつぶ
してしまうことがある。この場合、これをスレーブが受
信すると、当然ながらフレーミングエラーが発生する。
【0024】この場合は、確かにフレーミングエラーが
発生するが、その発生原因が、上記のように速いボーレ
ートで各メッセージの送受信を行っている最中に非常に
遅い速度の初期化アドレスが送信された場合のように、
割込み処理が多発する場合とは大きく異なる。しかし、
上記従来の方法では、この場合も、フレーミングエラー
が発生したということで割込み処理を禁止するので、各
スレーブは、図16に示すように、マスタ100や他の
スレーブからのメッセージを受信することができなくな
るといった問題があった。
【0025】また、マスタ100や各スレーブ110〜
130がメッセージを受信している途中で、車両を始動
させると、車両始動時の電源電圧低下によって各スレー
ブ110〜130への供給電圧が低下し、これに伴って
上記メッセージのデータがつぶされてしまうことがあ
る。このとき、上記メッセージのストップビットもつぶ
されてしまうこともあり、これをスレーブが受信する
と、当然ながらフレーミングエラーが発生する。
【0026】この場合におけるフレーミングエラーの発
生原因も、割込み処理が多発する場合とは大きく異なる
が、上記従来の方法によると、この場合にも、フレーミ
ングエラーが発生したということで割込み処理を禁止
し、各スレーブが、マスタ100や他のスレーブからの
メッセージが受信できないといった問題があった。そこ
で、本発明は上記問題に鑑み、フレーミングエラーが発
生したときに割込み処理を禁止する通信システムにおい
て、このフレーミングエラーが発生したときには、この
フレーミングエラーの発生原因を見極め、その原因が、
割込み処理を多発させるものであるときには、割込み処
理を禁止させて、ベースルーチンや他の処理の機能を優
先させることのできる通信システムを提供することを目
的とする。
【0027】
【課題を解決するための手段】上記目的を達成するた
め、請求項1〜10記載の発明では、マスタ装置(5)
とスレーブ装置(1、2)との間でデータの送受信を行
う通信システムにおいて、上記スレーブ装置(1、2)
が、割込み処理を通じて受信した所定バイトデータのス
トップビットが正規な値でないときに発生するフレーミ
ングエラーを検出するフレーミングエラー検出手段(ス
テップ515)と、このフレーミングエラー検出手段
(ステップ515)が、上記フレーミングエラーを高頻
度で検出したか否かを判定する高頻度判定手段(ステッ
プ520、546、549、552)と、この高頻度判
定手段(ステップ520、546、549、552)に
よって、上記フレーミングエラー検出手段(ステップ5
15)がフレーミングエラーを高頻度で検出したと判定
されたとき、上記割込み処理を禁止する割込み処理禁止
手段(ステップ525、547)とを備えたことを特徴
としている。
【0028】これによると、フレーミングエラー検出手
段がフレーミングエラーを検出したからといって、すぐ
に割込み処理を禁止するのではなく、さらに高頻度判定
手段によって、上記フレーミングエラー検出手段がフレ
ーミングエラーを高頻度で検出したと判定されたとき
に、割込み処理禁止手段によって割込み処理を禁止す
る。
【0029】従って、例えば、フレーミングエラー検出
手段がフレーミングエラーを検出しても、このフレーミ
ングエラーの発生原因が、例えばノイズがたまたまスト
ップビットをつぶしてしまった場合のように、フレーミ
ングエラーを高頻度で発生させないものの場合には、上
記割込み処理禁止手段による割込み処理の禁止が行われ
ないので、このときには、この割込み処理を通じた本来
のデータ通信を有効に機能させることができる。
【0030】また、上記フレーミングエラーの発生原因
が、フレーミングエラーを高頻度で発生させるものの場
合には、割込み処理禁止手段による割込み処理の禁止が
行われるので、このときには、ベースルーチンや他の処
理の機能が優先して行われる。特に請求項2記載の発明
では、マスタ装置が、要求メッセージと応答メッセージ
との送受信速度よりも通信速度が遅く、かつ所定バイト
データよりなる初期化アドレスを、通信線(3)上に送
信するように構成されたことを特徴としている。
【0031】これによると、マスタ装置とスレーブ装置
との間で、前記各メッセージの送受信を行っている最中
に、この送受信速度よりも遅い通信速度の初期化アドレ
スをマスタが送信し、スレーブ装置が、この初期化アド
レスを、割込み処理を通じて受信してしまう可能性があ
る。この場合、上述したように割込み処理が高頻度で発
生し、これに伴ってフレーミングエラーも高頻度で発生
するわけであるが、本発明では、高頻度判定手段および
割込み処理禁止手段が設けられているので、これらの手
段によって割込み処理が禁止される。従って、ベースル
ーチンや他の処理の機能を優先して行うことができる。
【0032】また、請求項3記載の発明では、スレーブ
装置が、割込み処理禁止手段(ステップ525、54
7)が上記割込み処理を禁止した後、上記初期化アドレ
スのビットデータを受信する初期化アドレス受信手段
(ステップ305)を備え、この初期化アドレス受信手
段(ステップ305)による受信処理が、上記初期化ア
ドレスの全ビットデータについて行われるように構成さ
れたことを特徴としている。
【0033】これによると、スレーブ装置は、割込み処
理を禁止した後に、初期化アドレスの全ビットデータを
受信するので、この初期化アドレスを、ベースルーチン
や他の処理の機能を優先させた状態で受信することがで
きる。また、請求項4、5記載の発明では、請求項3記
載の発明でいう初期化アドレス受信手段(ステップ30
5)が、初期化アドレスの1ビットデータを、所定タイ
ミングでサンプリングし、このサンプル値に基づいて、
上記1ビットデータをハイレベルとするかローレベルと
するかを決定するように構成されたことを特徴としてい
る。
【0034】これによると、初期化アドレスの1ビット
データを1回のみ受信して、この1回のデータに基づい
て、この1ビットデータをハイレベルとするかローレベ
ルとするかを決定してしまうと、例えば外部ノイズ等で
誤判定してしまうことがあるが、本発明のようにするこ
とにより、上記のような誤判定を防止することができ
る。
【0035】また、請求項6記載の発明では、初期化ア
ドレス受信手段(ステップ305)による、初期化アド
レスの全ビットデータの受信処理が完了したとき、割込
み処理を許可する割込み処理許可手段(ステップ31
0)を備えたことを特徴としている。これによると、初
期アドレスの全ビットデータを受信完了するまでは、割
込み処理禁止手段によって割込み処理が禁止され、初期
化アドレスの全ビットデータを受信完了したら、割込み
処理許可手段によって割込み処理が許可さる。
【0036】従って、スレーブ装置は、この初期化アド
レスの全ビットデータを、ベースルーチンや他の処理の
機能を優先させた状態で受信するとともに、初期化アド
レスの全ビットデータを受信完了した後は、再び割込み
処理を通じて、バイトデータを受信することができる。
また、請求項7記載の発明では、上記高頻度判定手段
が、フレーミングエラー検出手段(ステップ515)
が、フレーミングエラーを連続して所定回数以上検出し
たか否かを判定する手段(ステップ520)であること
を特徴としている。
【0037】これによると、フレーミングエラーが連続
して所定回数以上発生したときに、このフレーミングエ
ラーの発生原因が、割込み処理を連続して多発させるも
のであるとみなして、割込み処理が禁止される。また、
請求項8記載の発明では、上記高頻度判定手段が、上記
割込み処理が起動した回数に対する、上記フレーミング
エラー検出手段(ステップ515)によるフレーミング
エラー検出回数が所定割合以上か否かを判定する手段
(ステップ546、549)であることを特徴としてい
る。
【0038】また、請求項9記載の発明では、上記高頻
度判定手段が、上記フレーミングエラー検出手段(ステ
ップ515)が上記フレーミングエラーを初めて検出し
てからの時間に対する、上記フレーミングエラー検出手
段(ステップ515)によるフレーミングエラー検出回
数が所定割合以上か否かを判定する手段(ステップ54
6、552)であることを特徴としている。
【0039】これら請求項8、9記載の発明によると、
以下のような問題を解決することができる。例えば、マ
スタ装置とスレーブ装置とが速い速度で通信を行ってい
るときに、これよりも遅い通信速度の所定バイトデータ
(例えば上記初期化アドレス)を受信すると、通常はフ
レーミングエラーは連続して発生する。しかし、スレー
ブ装置が上記通信速度の遅いバイトデータを受信してい
る途中に、例えば外部ノイズ等を受けた場合には、この
外部ノイズ等によって、本来ならフレーミングエラーが
検出されなければならないところが、検出されなくなる
ことがある。つまり、フレーミングエラーが連続して検
出されない場合がある。
【0040】そこで、請求項8、9記載の発明のように
することによって、フレーミングエラーが連続して所定
回数以上発生しなくても、このフレーミングエラーが高
頻度で発生しているか否かを判定することができ、高頻
度と判定されたときに割込み処理を禁止することができ
るので、上記問題を解決することができる。また、請求
項10記載の発明では、請求項1ないし9いずれか1つ
記載のスレーブ装置が車両に搭載されていることを特徴
としている。
【0041】この場合、スレーブ装置に、上記のような
ノイズあるいは車両始動が原因でフレーミングエラーが
発生することがあるが、高頻度判定手段および割込み許
可手段によって割込み処理を許可するので、割込み処理
を通じた本来のデータ通信を有効に機能させることがで
きる。また、請求項11記載の発明では、マスタ装置
(5)に通信線(3)を介して接続されることによって
通信システムを構成するとともに、上記マスタ装置
(5)から送信された所定バイトデータのストップビッ
トを、上記通信線(3)を介して受信したとき、割込み
処理を起動させて、この所定バイトを受信するスレーブ
装置において、上記割込み処理を通じて受信した上記所
定バイトデータのストップビットが正規な値でないとき
に発生するフレーミングエラーを検出するフレーミング
エラー検出手段(ステップ515)と、このフレーミン
グエラー検出手段(ステップ515)が、上記フレーミ
ングエラーを高頻度で検出したか否かを判定する高頻度
判定手段(ステップ520、546、549、552)
と、この高頻度判定手段(ステップ520、546、5
49、552)によって、上記フレーミングエラー検出
手段(ステップ515)がフレーミングエラーを高頻度
で検出したと判定されたとき、上記割込み処理を禁止す
る割込み処理禁止手段(ステップ525、547)とを
備えたことを特徴としている。
【0042】このようにスレーブ装置を構成すれば、こ
のスレーブ装置を上記通信システムに用いたときに、こ
のスレーブ装置は、請求項1記載の発明のところで述べ
たように、フレーミングエラーの発生原因が、このフレ
ーミングエラーを高頻度で発生させないものの場合に
は、上記割込み処理禁止手段による割込み処理の禁止が
行われないので、このときには、この割込み処理を通じ
た本来のデータ通信を有効に機能させることができ、上
記発生原因が、割込み処理を連続して多発させるものの
場合には、割込み処理禁止手段による割込み処理の禁止
が行われるので、このときには、ベースルーチンや他の
処理の機能が優先して行われる。
【0043】
【発明の実施形態】次に、本発明を車両診断システムに
適用した第1実施形態について、図1ないし図5に基づ
いて説明する。本実施形態のシステムは、図1に示すよ
うに、車両に搭載されるスレーブ装置としての複数の電
子制御装置(エンジン制御装置1、トランスミッション
制御装置2等)と、外部接続されるマスタ装置としての
故障診断テスタ5とが、1本の通信線3および接続手段
4(ダイアグコネクタ)を介して接続され、これら故障
診断テスタ5と各電子制御装置との間で1対nのデータ
通信が実行される。
【0044】また、上記各電子制御装置には、上記1対
nのデータ通信を行う際の優先順位が予め決められてお
り、故障診断テスタ5が、各電子制御装置に所定の処理
の実行を要求する要求メッセージを通信線3上に送信し
たときに、優先順位の高い電子制御装置から順に、自分
の応答メッセージを通信線3上に送信するように構成さ
れている。なお、本実施形態では、トランスミッション
制御装置2→エンジン制御装置1の順で優先順位が設定
されている。
【0045】また、これら接続される故障診断テスタ5
と上記各車載電子制御装置との間では、その通信方式と
して上記国際規格(ISO−9141−2)に準拠した
プロトコルが用いられるものとする。以下、これら各要
素の詳細について説明する。ここでは、車載電子制御装
置の一例としてエンジン制御装置1を代表としてその構
成および機能を説明する。
【0046】エンジン制御装置1は、CPU11、RO
M12、RAM13、入力回路14、出力回路15、A
D変換回路(以下ADC回路という)16、および通信
回路17等をそれぞれ有して構成されている。ここで、
通信回路17は、通信線3をドライブする入出力バッフ
ァ回路である。また、入力回路14には、エンジン回転
数を検出するセンサ(具体的にはクランク角センサ)2
1や車速センサ22等のセンサから出力される、主にパ
ルス信号からなるセンサ信号が入力され、ADC回路1
6には、スロットルセンサ23、エアフローメータ2
4、水温センサ25、O2 センサ26等、車両各部に設
けられたセンサから出力されるアナログ信号からなるセ
ンサ信号が入力される。
【0047】これらの信号はいずれも、それら検出値に
対応したセンサデータとしてRAM13のデータ領域に
格納され、CPU11による燃料噴射量や点火時期の演
算のための演算値として利用される。なお、RAM13
には、上記データ領域の他に、後述する各カウンタ、各
バッファ、および各フラグ等を格納する領域がそれぞれ
形成されている。
【0048】また、CPU11は、ROM12に予め格
納されている制御プログラムに従って、RAM13に取
り込まれたセンサデータに基づく所定の演算を実行し
て、その都度の燃料噴射量や点火時期を求めるととも
に、故障診断テスタ5との間で後述する通信メッセージ
の授受、およびそのメッセージを通じて指定された診断
処理を実行する部分である。また、ROM12に格納さ
れた上記制御プログラムには、RAM13内の上記各カ
ウンタをソフトウェア的にカウント処理するカウンタプ
ログラムが含まれる。
【0049】なお、このCPU11を通じて求められた
燃料噴射量は出力回路15に与えられ、この出力回路1
5を通じて、上記求められた燃料噴射量に対応する信号
がエンジン制御手段27に出力される。エンジン制御手
段27としては例えば燃料噴射弁がある。また、CPU
11の内部には、シリアル通信が容易に行えるようなシ
リアルインターフェイス(図示しない)が設けられてお
り、このシリアルインターフェイスの内部構造は、図1
1に示した構造をなしている。
【0050】一方、故障診断テスタ5も、上記電子制御
装置と同じくCPU、ROM、RAM、通信回路等を備
えた構成である。そして、故障診断テスタ5の外側表面
に設けられた操作手段5a(具体的にはキーボード)を
通じて所定の診断モードが設定されたときは、この診断
モードに応じた要求メッセージが、ダイアグコネクタ4
を介して各電子制御装置に送信される。
【0051】なお、故障診断テスタ5では、上記要求メ
ッセージに対する応答メッセージの内容を、図示しない
表示器に一覧表示したりグラフ表示したりすることによ
って、診断結果を診断者に知らせることができる。ま
た、ダイアグコネクタ4には、イグニッションスイッチ
18を経て、バッテリー19より電源が供給されてお
り、故障診断テスタ5がこうして車載電子制御装置と電
気的に接続されるとき、このダイアグコネクタ4を介し
て故障診断テスタ5にも電源が供給されるようになって
いる。
【0052】以上のように構成された車両用通信システ
ムにおいて、故障診断テスタ5と各電子制御装置との間
で上記各メッセージの送受信を行う前に、故障診断テス
タ5と各電子制御装置との間で初期化処理が行われる。
この初期化処理は、図13を用いて既に述べた通りであ
るので、ここではその説明を省略する。そして、この初
期化処理が終わってから、故障診断テスタ5と各電子制
御装置との間で上記各メッセージの送受信が行われる。
また、この送受信についても図14を用いて既に説明し
た通りであるので、その説明を省略する。
【0053】次に、各電子制御装置における、上記初期
化処理および応答メッセージの送信処理について、図2
〜5を用いて具体的に説明する。なお、以下説明する処
理で用いられる各カウンタ、各バッファ、および各フラ
グは、イグニッションスイッチ18をオンして各電子制
御装置に電源が供給された初期状態においては、全て0
になっている。
【0054】まず、故障診断テスタ5が5bps(1b
it当たり200ms)の初期化アドレス(図13)を
送信したときに、この初期化アドレスを精度良く受信す
るために、2msごとに図2の割込みルーチンを起動
し、このステップ300にて、初期化アドレスの受信が
完了したか否かを、後述するアドレスデータバッファ
(1)〜(10)にデータが格納されているか否かをみ
ることによって判定する。
【0055】そして、ステップ300にて、初期化アド
レスの受信がまだ完了していない、すなわちアドレスデ
ータバッファ(1)〜(10)にデータが格納されてい
ないと判定されたときは、ステップ305にて、図3に
示すサブルーチンにジャンプして、初期化アドレスの1
ビットデータを受信する準備を行う。具体的には、まず
ステップ350にて、アドレス受信カウンタCT2Mを
インクリメントし、次のステップ355にて、通信線3
の状態がハイレベルか否かを判定する。
【0056】そして、通信線3がハイレベルであると判
定されたときは、次のステップ360にて、通信線3が
ハイレベルであると判定された回数をカウントするカウ
ンタCBUSHをインクリメントした後、ステップ36
5の処理に移り、反対に、通信線3がローレベルである
と判定されたときは、何もせずにステップ365の処理
に移る。
【0057】ステップ365では、上記カウンタCT2
Mが100になったか否かをみることによって、初期化
アドレスの1ビットデータを最後まで受信したか否かを
判定する。ここで、NOと判定されたときは、上記1ビ
ットデータを最後まで受信していないということなの
で、何もせずにこのサブルーチンを抜ける。反対に、Y
ESと判定されたときは、上記1ビットデータを最後ま
で受信したということなので、次のステップ370に
て、上記カウンタCT2Mをクリアして、次の1ビット
データの受信準備を行う。
【0058】そして、次のステップ375にて、上記カ
ウンタCBUSHが所定回数(本実施形態では50回)
以上か否かを判定し、YESと判定されたときは、今受
信した1ビットデータはハイレベルであるとみなして、
次のステップ380にて、上記アドレスデータバッファ
(m)にハイレベルとして1をセットする。その後、ス
テップ390にて、上記カウンタCBUSHをクリアし
て、次の1ビットデータの受信準備を行い、このサブル
ーチンを抜ける。
【0059】反対に、上記ステップ375にてNOと判
定されたときは、今受信した1ビットデータはローレベ
ルであるとみなし、ステップ385にて、上記アドレス
データバッファ(m)にローレベルとして0をセットす
る。その後、ステップ390の処理を行い、このサブル
ーチンを抜ける。そして、上記ステップ305(図2)
の処理を繰り返し、上記アドレスデータバッファ(1)
〜(10)の全てに初期化アドレスのデータが格納され
ると、ステップ300にてYESと判定されて、ステッ
プ310の処理を実行する。
【0060】このステップ310では、割込みマスクフ
ラグをセットすることによって、シリアルイン割込み処
理(以下、SIN割込み処理という)を許可するととも
に、フラグXFRERRをリセットする。なお、フラグ
XFRERRとは、フレーミングエラーが発生したとき
にセットされるフラグである。このフラグXFRERR
については図5を用いて後述する。
【0061】また、各電子制御装置では、上記図2、3
の処理とは別に、ベースループごとに図4のベースルー
チンが起動される。このルーチンのステップ400で
は、初期化アドレスの受信が完了しているか否かを、上
記アドレスデータバッファ(1)〜(10)に初期化ア
ドレスが格納されているか否かをみることによって判定
する。そして、まだ完了していないと判定されたとき
は、何もせずにこの処理を抜ける。
【0062】また、ステップ400にて、初期化アドレ
スの受信が完了したと判定されたときは、今度はステッ
プ405にて、初期化処理が全て完了したか否かを判定
する。すなわち、図13の「初期化アドレスの反転信
号」の送信が完了したか否かを判定する。そして、完了
していないと判定されたときは、ステップ410のサブ
ルーチンにジャンプする。
【0063】ステップ410では、図13の同期信号、
KW1、KW2、初期化アドレスの反転信号のうちの、
これから送信しようとする信号におけるアイドル時間
(W1〜W4)をROM12からテーブルサーチする。
例えば、これから送信しようとする信号が同期信号であ
れば、ステップ410では時間W1をROM12からテ
ーブルサーチする。
【0064】そして、次のステップ415にて、上記ア
イドル時間をカウントするアイドルカウンタが、ステッ
プ410でテーブルサーチしたアイドル時間以上となっ
たか否かを判定し、YESと判定されたときは、次のス
テップ420にて上記信号を送信してこの処理を抜け、
NOと判定されたときは、何もせずにこの処理を抜け
る。なお、上記アイドルカウンタは、図示しないタイマ
による時間割込み(例えば4ms割込み)に応じて1カ
ウントずつカウントアップされる。
【0065】なお、上記ステップ410には、故障診断
テスタ5からの「KW2の反転信号」を受信したか否か
の判定ステップも含まれている。一方、ステップ405
にて初期化処理が全て完了したと判定されたときは、次
のステップ425にて、故障診断テスタ5から要求メッ
セージを受信したか否かを判定する。
【0066】ここで、要求メッセージを受信していない
と判定されたときは、何もせずにこの処理を抜け、要求
メッセージを受信したと判定されたときは、ステップ4
30のサブルーチンにジャンプし、この要求メッセージ
に対する応答メッセージを作成する。そして、次のステ
ップ435にて、この応答メッセージを送信するのに必
要なアイドル時間P2(本実施形態では24ms)をR
OM12からテーブルサーチし、次のステップ440に
て、上記アイドルカウンタが上記テーブルサーチした時
間P2以上となったか否かを判定し、YESと判定され
たときは、ステップ445にて応答メッセージを送信
し、この処理を抜ける。
【0067】また、各電子制御装置は、初期化アドレス
の受信を完了したら、10.4kbpsのシリアル通信
を行う状態となる。このシリアル通信は、図5に示され
るSIN割込み処理を通じて行われるもので、以下、こ
のSIN割込み処理について説明する。なお、このSI
N割込み処理はCPUのシリアル入力割込みを通じて実
現される。
【0068】具体的には、故障診断テスタ5からの上記
「KW2の反転信号」または要求メッセージの1バイト
データ、あるいは他の電子制御装置からの上記「同期信
号」、「KW1」、「KW2」、「初期化アドレスの反
転信号」または応答メッセージの1バイトデータを受信
する度に、ステップ500のSIN割込み処理が起動さ
れる。
【0069】そして、次のステップ505にて、このS
IN割込み処理がオーバーランエラーによって発生した
ものか否かを、オーバーランエラー発生時にセットされ
るオーバーランエラーフラグに基づいて判定する。な
お、オーバーランエラーとは、図11のシリアルイン端
子201が10ビット長のシリアルインデータを入力
し、この10ビット長のデータをレジスタ204に移し
たときに、このデータの移動先であるレジスタ205
に、既にデータが格納されていることから発生するエラ
ーである。
【0070】そして、ステップ505で、このSIN割
込み処理がオーバーランエラーによって発生したもので
あると判定されたときは、ステップ510のサブルーチ
ンにジャンプして、SINエラー時の処理(例えばSI
Nデータを格納するシリアルデータバッファ等のクリ
ア)を行う。その後、ステップ560にて、SIN割込
み要求フラグをクリアして、次のバイトデータのSIN
割込みを受け付ける準備を行う。なお、上記SIN割込
み要求フラグは、割込み要求を受け付けたことを記憶し
ておくためのフラグであり、割込み要求が発生したとき
にハード的にセットされる。
【0071】また、上記ステップ505にて、このSI
N割込み処理はオーバーランエラーによって発生したも
のではないと判定されたときは、ステップ515にて、
このSIN割込み処理が、フレーミングエラーによって
発生したものか否かを、フレーミングエラー発生時にセ
ットされるフレーミングエラーフラグに基づいて判定す
る。なお、フレーミングエラーとは、ストップビットが
正規な値でないときに発生するエラーである。
【0072】このステップ515で、SIN割込み処理
がフレーミングエラーによって発生したと判定されたと
きは、ステップ520にて、フラグXFRERRがセッ
トされているか否かを判定することによって、フレーミ
ングエラーが2回以上連続して発生したか否かを判定す
る。そしてNO、つまり今回が初めてのフレーミングエ
ラーであると判定されたときは、ステップ535にて、
フラグXFRERRをセットして、ステップ510、5
60の処理を実行して、この処理を抜ける。
【0073】また、ステップ520にてYESと判定さ
れたときは、フレーミングエラーが2回以上連続して発
生したということなので、ステップ525にて、割込み
マスクフラグをリセットして、SIN割込み処理を禁止
する。つまり、SIN割込み要求がCPUに入ってこな
いようにして、初期化アドレスの受信準備を行う。これ
によって、図2の処理が途中停止することなく続けて行
われるようにする。
【0074】そして、ステップ530にて、上記アドレ
スデータバッファ(1)〜(10)をオールクリアし
て、図2のステップ300における判定がNOとなるよ
うにする。その後、ステップ510、560の処理を実
行して、この処理を抜ける。一方、ステップ515に
て、SIN割込み処理がフレーミングエラーによって発
生したものではないと判定されたときは、ステップ54
0にて、フラグXFRERRをリセットするとともに、
ステップ545のサブルーチンにジャンプして、SIN
データを上記シリアルデータバッファに格納する等の処
理を実行する。その後、ステップ560の処理を実行す
る。
【0075】以上のように本実施形態では、ステップ5
15にてフレーミングエラーが発生したと判定された場
合でも、さらにステップ520にて、フレーミングエラ
ーが2回以上連続して発生したか否かを判定し、2回以
上連続して発生したと判定されたときに限って、ステッ
プ525にてSIN割込み処理を禁止している。また、
2回連続して発生しなかった場合には、ステップ540
にてフラグXFRERRをリセットして、SIN割込み
処理の許可状態を継続させている。その理由は以下の通
りである。
【0076】すなわち、上述したように、ステップ51
5にてYESと判定されるときとしては、CPU11が
10.4kbpsのボーレートでデータ受信待ち状態の
ときに、5bpsの初期化アドレスを受信したときや、
例えば無線機などから受ける電波障害や点火系のノイズ
等がデータのストップビットをつぶしてしまい、これを
CPU11が受信したときがあげられる。
【0077】ここで、前者の場合、上述したようにフレ
ーミングエラーは多数回連続して発生する。すなわち、
ステップ520にてYESと判定される。従って、この
ときには、SIN割込み処理を禁止しないと、ベースル
ーチンや他の処理がなかなか先に進まない。従って、本
実施形態では、ステップ530にてSIN割込み処理を
禁止することによって、ベースルーチンや他の処理を優
先して行わせることができる。
【0078】また、後者の場合、このようにノイズがス
トップビットをつぶしてしまう偶然は2回以上続けて起
こることはまずないと考えて良い。つまり、次にステッ
プ515の判定を行うときにはNOと判定される。従っ
て、本実施形態では、このときにステップ540にてフ
ラグXFRERRをリセットし、SIN割込み処理の許
可状態を継続することによって、SIN割込みを通じた
本来のデータ通信を行えるようにすることができる。
【0079】また、本実施形態では、上記前者の場合の
ように、CPU11が10.4kbpsのボーレートで
データ受信待ち状態のときに、5bpsの初期化アドレ
スを受信したときには、ステップ525にてSIN割込
み処理を禁止するが、初期化アドレスの受信が完了した
ときには、図2のステップ300にてYESと判定さ
れ、ステップ310の処理を行うので、再びSIN割込
み処理を行うことができる。
【0080】なお、CPU11が10.4kbpsのボ
ーレートでデータ受信待ち状態のときに、5bpsの初
期化アドレスを受信したときにおける、データバス上の
データ信号、割込み要求信号、フレーミングエラー信
号、および割込み禁止信号のタイムチャートを、図6に
示す。次に、本発明の第2、第3実施形態を、上記第1
実施形態と異なる部分についてのみ説明する。
【0081】第2、第3実施形態は、下記、の事実
に鑑みて案出されたものである。 通常は、10.4kbpsのシリアル通信を行ってい
るときに、5bpsの初期化アドレスを受信すると、上
述したようにフレーミングエラーは連続して発生する。
しかし、初期化アドレスの受信途中に、外部ノイズ等を
受けたときのような場合には、この外部ノイズ等によっ
て、本来ならフレーミングエラーが発生しなければなら
ないところが、発生しなくなる場合がある。つまり、フ
レーミングエラーが連続して発生しなくなる場合があ
る。
【0082】上記のように、初期化アドレスの受信途
中に外部ノイズ等を受けるという偶然は、何回も連続し
て起こるということはまず考えられない。そこで、上記
、の事実に鑑みて、第2実施形態では、SIN割込
み処理の発生回数に対するフレーミングエラーの発生回
数が所定割合以上のときに、SIN割込み処理を禁止す
るようにした。また、第3実施形態では、フレーミング
エラーが初めて発生してからの所定時間の間に、フレー
ミングエラーが所定割合以上発生したときに、SIN割
込み処理を禁止するようにした。
【0083】つまり、第2、第3実施形態では、フレー
ミングエラーの発生が連続しない場合でも、その発生度
合いが高頻度であれば、SIN割込み処理を禁止するよ
うにした。以下、上記のようにするための具体的手段
を、第2実施形態については図7、第3実施形態につい
ては図8を用いて説明する。なお、上記第1実施形態
(図5)と同じ処理を行う部分については、これと同じ
符号を付したので、その説明は省略する。
【0084】第2実施形態では、図7において、故障診
断テスタ5からの上記「KW2の反転信号」または要求
メッセージの1バイトデータ、あるいは他の電子制御装
置からの上記「同期信号」、「KW1」、「KW2」、
「初期化アドレスの反転信号」または応答メッセージの
1バイトデータを受信する度に、ステップ500のSI
N割込み処理が起動される。
【0085】そして、次のステップ501では、SIN
割込み処理が起動された回数をカウントするカウンタC
SINをインクリメントする。その後、ステップ505
の判定処理を行い、YESと判定されたときはステップ
510の処理を行い、NOと判定されたときはステップ
515の判定処理を行う。このステップ515にてYE
Sと判定されたときは、ステップ521にて、フレーミ
ングエラーの発生回数をカウントするカウンタCFRM
ERをインクリメントした後、上記ステップ510の処
理を行う。また、ステップ515にてNOと判定された
ときは、ステップ545の処理を行う。
【0086】そして、次のステップ546では、上記カ
ウンタCFRMERが所定回数(本実施形態では3回)
以上となったか否かを判定する。ここで、YESと判定
されたときは、フレーミングエラーの発生回数が高頻度
であるとみなして、次のステップ547、548にて、
図5のステップ525、530と同様の処理を行う。そ
して、ステップ550、551にて、上記カウンタCS
INおよびCFRMERをともにクリアした後、ステッ
プ560の処理を行って、この処理を抜ける。
【0087】一方、上記ステップ546にてNOと判定
されたときは、次のステップ549にて、上記カウンタ
CSINが所定回数(本実施形態では5回)以上となっ
たか否かを判定する。ここで、NOと判定されたとき
は、上記ステップ560の処理を行った後、このルーチ
ンを抜ける。また、YESと判定されたときは、上記ス
テップ550、551、560の処理を行った後、この
ルーチンを抜ける。
【0088】以上説明したように、第2実施形態は、S
IN割込み処理が起動した回数に対するフレーミングエ
ラー発生回数が、所定割合以上(本実施形態では、5回
のSIN割込み処理発生に対して3回のフレーミングエ
ラー発生)のときに、SIN割込み処理を禁止するよう
にしたので、初期化アドレスの受信途中に外部ノイズ等
を受けたときのような場合でも、SIN割込み処理を禁
止することができる。
【0089】一方、第3実施形態では、図8において、
故障診断テスタ5からの上記「KW2の反転信号」また
は要求メッセージの1バイトデータ、あるいは他の電子
制御装置からの上記「同期信号」、「KW1」、「KW
2」、「初期化アドレスの反転信号」または応答メッセ
ージの1バイトデータを受信する度に、ステップ500
のSIN割込み処理が起動される。
【0090】そして、上記ステップ505の判定処理を
行い、YESと判定されたときはステップ510の処理
を行い、NOと判定されたときはステップ515の判定
処理を行う。また、このステップ515にてNOと判定
されたときはステップ545の処理を行い、YESと判
定されたときはステップ521の処理を行う。このステ
ップ521の処理を終えたら、次にステップ522に
て、上記カウンタCFRMERに1がセットされている
か否かをみることによって、今回始めてフレーミングエ
ラーが発生したか否かを判定する。
【0091】このステップ522にてYESと判定され
たときは、次のステップ523にて、フレーミングエラ
ーが初めて発生してからの時間をカウントするカウンタ
CTSINをクリアし、ステップ510の処理を行う。
また、ステップ522にてNOと判定されたときは、そ
のままステップ510の処理を行う。なお、上記カウン
タCTSINは、図示しないタイマ割込み(2ms割込
み)に応じて1カウントずつカウントアップされる。
【0092】そして、ステップ546の判定処理を行
い、YESと判定されたときはステップ547、548
の処理を行う。そして、ステップ553、554にて、
カウンタCSIN、CTSINをともにクリアし、ステ
ップ560の処理を行った後、このルーチンを抜ける。
また、ステップ546にてNOと判定されたときは、ス
テップ552にて、上記カウンタCTSINが所定時間
(本実施形態では20ms)以上になったか否かを判定
する。そして、NOと判定されたときは、ステップ56
0の処理に行ってから、このルーチンを抜ける。また、
YESと判定されたときは、上記ステップ553、55
4、560の処理を行った後、このルーチンを抜ける。
【0093】以上説明したように、本実施形態は、フレ
ーミングエラーが初めて発生してから所定時間(20m
s)の間に、フレーミングエラーが所定割合(3回)以
上発生したときに、SIN割込み処理を禁止するように
したので、初期化アドレスの受信途中に外部ノイズ等を
受けたときのような場合でも、SIN割込み処理を禁止
することができる。
【0094】(他の実施形態)図3のルーチンにおい
て、ステップ355、360の処理の代わりに、今受信
しているデータを受信バッファ(n)に格納するように
し、ステップ375での判定を、上記受信バッファ
(1)〜(100)に格納されたデータのうち、所定数
(例えば50)以上がハイレベルであるか否かを判定す
るようにしても良い。この場合、ステップ390では、
受信バッファ(1)〜(100)をオールクリアするこ
とになる。
【0095】また、上記第1実施形態のステップ520
では、フレーミングエラーが2回以上連続して発生した
か否かを、フラグXFRERRの状態に基づいて判定し
たが、例えばフレーミングエラーが連続して発生した回
数をカウントするカウンタを設け、このカウント値が所
定回数以上となったときに限って、SIN割込み処理を
禁止するようにしても良い。
【0096】この場合、上記所定回数を、車両始動時に
発生するフレーミングエラーの回数に設定することによ
って、車両始動時に発生したフレーミングエラーでは、
SIN割込みを許可して、SIN割込みを通じた本来の
データ通信を行えるようにすることができる。また、上
記各実施形態では、上記要求メッセージおよび応答メッ
セージを、複数の1バイトデータにて構成したが、複数
の2バイトデータにて構成しても良いし、複数の4バイ
トデータにて構成しても良いし、それ以上のもので構成
しても良い。
【0097】また、上記各実施形態では、故障診断テス
タ5をマスタ装置とし、電子制御装置をスレーブ装置と
したシステムについて説明したが、複数の電子制御装置
の任意の1つをマスタ装置、他の電子制御装置をスレー
ブ装置としたものについても適用することができる。ま
た、上記各実施形態では、本発明における通信システム
を車両に用いた場合について説明したが、車両以外のも
のにも適用することができる。
【0098】また、上記各実施形態では、マスタ装置と
複数のスレーブ装置との間で1対nのデータ通信を行う
通信システムについて説明したが、マスタ装置と1つの
スレーブ装置との間で1対1のデータ通信を行う通信シ
ステムにおいても適用することができる。
【図面の簡単な説明】
【図1】本発明第1実施形態の全体構成図である。
【図2】上記第1実施形態の各制御装置における、初期
化アドレスの受信処理を示すフローチャートである。
【図3】図2のステップ305の詳細を示すサブルーチ
ンである。
【図4】上記第1実施形態の各制御装置における、ベー
スルーチンを示すフローチャートである。
【図5】上記第1実施形態の各制御装置におけるシリア
ル入力割込処理を示すフローチャートである。
【図6】上記第1実施形態のCPUが、10.4kbp
sでデータ受信待ち状態のときに5bpsの初期化アド
レスを受信したときの、各信号のタイムチャートであ
る。
【図7】本発明第2実施形態の各制御装置におけるシリ
アル入力割込処理を示すフローチャートである。
【図8】本発明第3実施形態の各制御装置におけるシリ
アル入力割込処理を示すフローチャートである。
【図9】従来の通信システムの全体構成図である。
【図10】1バイトデータのビットフォーマットを示す
タイムチャートである。
【図11】図9システムのシリアルインターフェイス1
16の内部構造を示す模式図である。
【図12】CPUがシリアルインデータ入力を入力した
ときの各信号のタイムチャートである。
【図13】初期化処理時におけるマスタおよびスレーブ
からの信号のタイムチャートである。
【図14】マスタと各スレーブとの間での要求メッセー
ジおよび応答メッセージの送信手順を示すタイムチャー
トである。
【図15】(a)はCPUが10.4kbpsで通信中
に5bpsの初期化アドレスを受信したときの各信号の
タイムチャートであり、(b)は(a)に対して、フレ
ーミングエラーを検出したら割込みを禁止するようにし
たときの各信号のタイムチャートである。
【図16】ノイズによってフレーミングエラーが発生し
たときの各信号のタイムチャートである。
【符号の説明】
1…エンジン制御装置(スレーブ装置)、 2…トランスミッション制御装置(スレーブ装置)、3
…通信線、 5…故障診断テスタ(マスタ装置)。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 マスタ装置(5)とスレーブ装置(1、
    2)とが通信線(3)を介して接続され、 前記マスタ装置(5)は、所定の処理の実行を要求する
    ために、複数の所定バイトデータよりなる要求メッセー
    ジを前記通信線(3)上に送信し、 前記スレーブ装置(1、2)は、所定バイトデータのス
    トップビットを検出したとき、割込み処理を起動させ
    て、この所定バイトデータを受信するとともに、前記要
    求メッセージの全ての所定バイトデータを受信したと
    き、この要求メッセージに対して、複数の所定バイトデ
    ータよりなる応答メッセージを前記通信線(3)上に送
    信するように構成された通信システムにおいて、 前記スレーブ装置(1、2)は、 前記割込み処理を通じて受信した前記所定バイトデータ
    のストップビットが正規な値でないときに発生するフレ
    ーミングエラーを検出するフレーミングエラー検出手段
    (ステップ515)と、 このフレーミングエラー検出手段(ステップ515)
    が、前記フレーミングエラーを高頻度で検出したか否か
    を判定する高頻度判定手段(ステップ520、546、
    549、552)と、 この高頻度判定手段(ステップ520、546、54
    9、552)によって、前記フレーミングエラー検出手
    段(ステップ515)がフレーミングエラーを高頻度で
    検出したと判定されたとき、前記割込み処理を禁止する
    割込み処理禁止手段(ステップ525、547)とを備
    えることを特徴とする通信システム。
  2. 【請求項2】 前記マスタ装置(5)は、 前記要求メッセージと前記応答メッセージとの送受信速
    度よりも通信速度が遅く、かつ所定バイトデータよりな
    る初期化アドレスを、前記通信線(3)上に送信するよ
    うに構成されたことを特徴とする請求項1記載の通信シ
    ステム。
  3. 【請求項3】 前記スレーブ装置(1、2)は、 前記割込み処理禁止手段(ステップ525、547)が
    前記割込み処理を禁止した後、前記初期化アドレスのビ
    ットデータを受信する初期化アドレス受信手段(ステッ
    プ305)を備え、 この初期化アドレス受信手段(ステップ305)による
    受信処理が、前記初期化アドレスの全ビットデータにつ
    いて行われるように構成されたことを特徴とする請求項
    2記載の通信システム。
  4. 【請求項4】 前記初期化アドレス受信手段(ステップ
    305)は、 前記初期化アドレスの1ビットデータを、所定タイミン
    グでサンプリングし、このサンプル値に基づいて、前記
    1ビットデータをハイレベルとするかローレベルとする
    かを決定するように構成されたことを特徴とする請求項
    3記載の通信システム。
  5. 【請求項5】 前記初期化アドレス受信手段(ステップ
    305)は、 前記初期化アドレスの1ビットデータを、所定タイミン
    グでサンプリングするサンプリング手段(ステップ35
    5、360)と、 前記サンプリングの回数が所定回数となったか否かを判
    定するサンプリング回数判定手段(ステップ365)と
    を備え、 このサンプリング回数判定手段(ステップ365)によ
    って、前記サンプリングの回数が前記所定回数となった
    と判定されたとき、このサンプル値に基づいて、前記1
    ビットデータをハイレベルとするかローレベルとするか
    を決定する1ビットデータ決定手段(ステップ375、
    380、385)とを備えることを特徴とする請求項3
    記載の通信システム。
  6. 【請求項6】 前記初期化アドレス受信手段(ステップ
    305)による、前記初期化アドレスの全ビットデータ
    の受信処理が完了したとき、前記割込み処理を許可する
    割込み処理許可手段(ステップ310)を備えたことを
    特徴とする請求項3ないし5いずれか1つ記載の通信シ
    ステム。
  7. 【請求項7】 前記高頻度判定手段(ステップ520、
    546、549、552)は、 前記フレーミングエラー検出手段(ステップ515)
    が、前記フレーミングエラーを連続して所定回数以上検
    出したか否かを判定する手段(ステップ520)である
    ことを特徴とする請求項1ないし6いずれか1つ記載の
    通信システム。
  8. 【請求項8】 前記高頻度判定手段(ステップ520、
    546、549、552)は、 前記割込み処理が起動した回数に対する、前記フレーミ
    ングエラー検出手段(ステップ515)によるフレーミ
    ングエラー検出回数が所定割合以上か否かを判定する手
    段(ステップ546、549)であることを特徴とする
    請求項1ないし6いずれか1つ記載の通信システム。
  9. 【請求項9】 前記高頻度判定手段(ステップ520、
    546、549、552)は、 前記フレーミングエラー検出手段(ステップ515)が
    前記フレーミングエラーを初めて検出してからの時間に
    対する、前記フレーミングエラー検出手段(ステップ5
    15)によるフレーミングエラー検出回数が所定割合以
    上か否かを判定する手段(ステップ546、552)で
    あることを特徴とする請求項1ないし6いずれか1つ記
    載の通信システム。
  10. 【請求項10】 請求項1ないし9いずれか1つ記載の
    スレーブ装置(1、2)が車両に搭載されることを特徴
    とする車両用通信システム。
  11. 【請求項11】 マスタ装置(5)に通信線(3)を介
    して接続されることによって通信システムを構成すると
    ともに、前記マスタ装置(5)から送信された所定バイ
    トデータのストップビットを、前記通信線(3)を介し
    て受信したとき、割込み処理を起動させて、この所定バ
    イトを受信するスレーブ装置において、 前記割込み処理を通じて受信した前記所定バイトデータ
    のストップビットが正規な値でないときに発生するフレ
    ーミングエラーを検出するフレーミングエラー検出手段
    (ステップ515)と、 このフレーミングエラー検出手段(ステップ515)
    が、前記フレーミングエラーを高頻度で検出したか否か
    を判定する高頻度判定手段(ステップ520、546、
    549、552)と、 この高頻度判定手段(ステップ520、546、54
    9、552)によって、前記フレーミングエラー検出手
    段(ステップ515)がフレーミングエラーを高頻度で
    検出したと判定されたとき、前記割込み処理を禁止する
    割込み処理禁止手段(ステップ525、547)とを備
    えることを特徴とするスレーブ装置。
JP07275877A 1995-02-22 1995-10-24 通信システム Expired - Fee Related JP3099703B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP07275877A JP3099703B2 (ja) 1995-02-22 1995-10-24 通信システム
DE69621490T DE69621490T2 (de) 1995-02-22 1996-01-31 Kommunikationsanordnung mit Rahmenfehlererkennung
EP96101372A EP0729249B1 (en) 1995-02-22 1996-01-31 Communication system with framing error detection
US08/596,464 US5790572A (en) 1995-02-22 1996-02-05 Communication system with framing error detection
KR19960004561A KR100271117B1 (en) 1995-02-22 1996-02-22 Communication system with framing error detection
CN96100015A CN1080502C (zh) 1995-02-22 1996-02-26 带有组帧错误检测的通信系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP3351095 1995-02-22
JP7-33510 1995-02-22
JP07275877A JP3099703B2 (ja) 1995-02-22 1995-10-24 通信システム

Publications (2)

Publication Number Publication Date
JPH08293881A true JPH08293881A (ja) 1996-11-05
JP3099703B2 JP3099703B2 (ja) 2000-10-16

Family

ID=26372215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07275877A Expired - Fee Related JP3099703B2 (ja) 1995-02-22 1995-10-24 通信システム

Country Status (6)

Country Link
US (1) US5790572A (ja)
EP (1) EP0729249B1 (ja)
JP (1) JP3099703B2 (ja)
KR (1) KR100271117B1 (ja)
CN (1) CN1080502C (ja)
DE (1) DE69621490T2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0554502U (ja) * 1991-12-25 1993-07-20 株式会社キャッツ ショ−ツ
JPH0740703U (ja) * 1993-12-22 1995-07-21 グンゼ株式会社 ショーツ
JPH09226482A (ja) * 1996-02-28 1997-09-02 Toyota Motor Corp 車両用通信制御装置
DE19742088C2 (de) * 1997-09-24 1999-12-02 Bosch Gmbh Robert Verfahren zur Initialisierung eines an einen Diagnose-Bus angeschlossenen Steuergeräts
GB9810512D0 (en) * 1998-05-15 1998-07-15 Sgs Thomson Microelectronics Detecting communication errors across a chip boundary
KR100385228B1 (ko) * 2001-04-18 2003-05-27 삼성전자주식회사 불휘발성 메모리를 프로그램하는 방법 및 장치
JP4198089B2 (ja) * 2004-05-21 2008-12-17 富士通マイクロエレクトロニクス株式会社 通信システム
JP4677876B2 (ja) * 2005-10-11 2011-04-27 株式会社デンソー 車両診断装置
DE102014006231A1 (de) * 2014-04-30 2015-11-05 Omron Corporation Verbinden mehrerer Slave-Einheiten mit einer Master-Steuereinheit in einem System mit verteilter Steuerung
CN114024599A (zh) * 2021-11-03 2022-02-08 上海陆根智能传感技术有限公司 一种信号制动转换控制模组

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS627239A (ja) * 1985-07-03 1987-01-14 Nec Corp デ−タ伝送速度設定方式
US4805194A (en) * 1985-10-17 1989-02-14 Ampex Corporation Serial data communication system
US4769761A (en) * 1986-10-09 1988-09-06 International Business Machines Corporation Apparatus and method for isolating and predicting errors in a local area network
GB2210999B (en) * 1987-10-09 1992-04-29 Fuji Heavy Ind Ltd Diagnostic system for a motor vehicle
JPH029251A (ja) * 1988-06-27 1990-01-12 Nec Corp フレーミングエラー・ステータス回路
US5228037A (en) * 1990-03-27 1993-07-13 Nec Corporation Line interface for high-speed line
JP2636534B2 (ja) * 1991-03-22 1997-07-30 三菱電機株式会社 通信システム
JPH06296294A (ja) * 1993-04-08 1994-10-21 Nippondenso Co Ltd 通信制御装置

Also Published As

Publication number Publication date
DE69621490T2 (de) 2003-01-23
DE69621490D1 (de) 2002-07-11
CN1136739A (zh) 1996-11-27
JP3099703B2 (ja) 2000-10-16
US5790572A (en) 1998-08-04
EP0729249B1 (en) 2002-06-05
CN1080502C (zh) 2002-03-06
EP0729249A2 (en) 1996-08-28
EP0729249A3 (en) 2000-05-03
KR100271117B1 (en) 2000-11-01

Similar Documents

Publication Publication Date Title
JP3099663B2 (ja) 通信システム
JP3099703B2 (ja) 通信システム
JPH1144250A (ja) 車両用制御装置
JPH08163151A (ja) シリアル通信装置
CN107122282A (zh) 一种基于spi总线的功能安全通信方法
JP4465905B2 (ja) 電子制御装置
US6952276B2 (en) Printer detecting data precisely in response to change in data transmission speed
JP3106927B2 (ja) 通信システム
JPH09226482A (ja) 車両用通信制御装置
JP2007142694A (ja) Lin通信装置及びlin通信制御方法
JP4356362B2 (ja) バス通信システムの検査方法及び通信装置
KR100253446B1 (ko) 복수 마이크로컴퓨터 응용 수단 사이에 데이터를 전송하는 데이 터 전송 시스템
JP4225264B2 (ja) 通信装置
JPH0719104A (ja) 入出力処理用icおよび入出力処理方法
JPH0918504A (ja) データ通信装置
JP3460502B2 (ja) シリアル伝送システム
JP3452187B2 (ja) 故障診断装置の通信初期化方法
JP3932719B2 (ja) 電子装置間通信システム並びにこのシステムに適した主電子装置、半二重通信用電子装置及び全二重通信用電子装置
JPH05158723A (ja) 分散処理型制御装置の異常診断装置
JPH1089142A (ja) エンジン制御用プログラム書き換え手段
JP2692255B2 (ja) マルチドロップ通信方式
JP3392428B2 (ja) Isdnデータ通信装置
JP2024082558A (ja) 電子制御システム
JP2007199887A (ja) 割込み制御装置及び割込み制御方法
JPH08249089A (ja) リセット制御回路を備える装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000718

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

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees