(57)【要約】【課題】複数のスレーブ通信部とマスタ通信部とを備えたマスタスレーブ型の通信システムにおいて、マスタ通信部が複数のスレーブ通信部の中から通信相手を選択するのに用いるチップセレクト線の短絡異常を正確に判断できるようにする。【解決手段】マスタスレーブ型の通信システムにおいて、複数のスレーブ通信部には、それぞれ専用のＩＤが付与されており、各スレーブ通信部は、マスタ通信部との通信時に、自身のＩＤを送信し、マスタ通信部は、選択したスレーブ通信部との通信時に、通信線を介して受信したＩＤと、選択したスレーブ通信部のＩＤとを比較し、ＩＤが一致しないときに異常を判断する。【選択図】図１
2019159381.tif 000002
【特許請求の範囲】
【請求項１】
マスタスレーブ通信におけるスレーブとしての通信機能を有する複数のスレーブ通信部（１２，１４，１６）と、
前記マスタスレーブ通信におけるマスタとしての通信機能を有し、前記複数のスレーブ通信部の一つと通信する際には、前記複数のスレーブ通信部の内の一つに各スレーブ通信部専用のチップセレクト線（２）を介してチップセレクト信号を出力することで、通信相手となるスレーブ通信部を選択し、該選択したスレーブ通信部との間で、前記各スレーブ通信部共通の通信線（４）を介して通信を行う、マスタ通信部（２０）と、
を備え、
前記複数のスレーブ通信部には、それぞれ専用のＩＤが付与されており、
前記各スレーブ通信部は、前記マスタ通信部との通信時に、前記通信線を介して自身のＩＤを送信し、
前記マスタ通信部は、前記選択したスレーブ通信部との通信時に、前記通信線を介して受信したＩＤと、前記選択したスレーブ通信部のＩＤとを比較し、該ＩＤが一致しないときに異常を判断する、
よう構成されている通信システム。
【請求項２】
前記マスタ通信部は、前記選択したスレーブ通信部との通信時に、前記通信線を介して、該スレーブ通信部のＩＤを送信し、
前記各スレーブ通信部は、前記専用のチップセレクト線を介してチップセレクト信号が入力されているとき、前記通信線を介して受信したＩＤと自身のＩＤとを比較し、該ＩＤが一致しないときに異常を判断する、
よう構成されている請求項１に記載の通信システム。
【請求項３】
前記各スレーブ通信部のＩＤは、他のスレーブ通信部のＩＤと同時に前記通信部に送信されたときに、前記マスタ通信部側で、前記選択したスレーブ通信部のＩＤとして認識されることのないように設定されている、請求項１又は請求項２に記載の通信システム。
【請求項４】
前記各スレーブ通信部のＩＤは、所定ビットのデジタルデータであり、該デジタルデータのビット領域を各スレーブ通信部の数で分割して各スレーブ通信部に割り当てた特定領域で、他のスレーブ通信部とは異なる一意の値となるように設定されている、請求項３に記載の通信システム。
【請求項５】
前記複数のスレーブ通信部は、前記マスタ通信部からの指令によって前記ＩＤを書き換え可能に構成されている、請求項１〜請求項４の何れか１項に記載の通信システム。
【請求項６】
前記マスタ通信部は、前記ＩＤの書き換え対象となる前記スレーブ通信部に前記ＩＤの書き換え指令を送信した際、前記スレーブ通信部から送信されてくる書き換え前のＩＤを取得し、該ＩＤが、当該マスタ通信部側で認識している書き換え前のＩＤと一致しているときに、前記書き換え指令により前記ＩＤが正しく書き換えられたと判断するよう構成されている、請求項５に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、マスタスレーブ型の通信システムに関する。
【背景技術】
【０００２】
従来、マイコンやＡＳＩＣ等の複数のデバイスを備え、その複数のデバイスがデータ通信を行うことで、協調動作するよう構成された通信システムが知られている。
この種の通信システムは、例えば、特許文献１に記載のように、マスタとなるマイコンと、スレーブとなる複数のデバイスとが、共通の通信線を介して接続され、マイコンが、チップセレクト信号にて通信相手を選択するように構成される。
【０００３】
つまり、この通信システムにおいては、図１４に例示するように、マイコン４０のシリアル通信用の出力端子ＳＯ及び入力端子ＳＩと、複数のデバイス３２，３４のシリアル通信用の入力端子ＳＩ及び出力端子ＳＯとが、共通の通信線４を介して接続される。
【０００４】
また、マイコン２０には、各デバイス３２，３４に対応したチップセレクト端子ＣＳ０，ＣＳ１が設けられている。そして、マイコン４０は、チップセレクト端子ＣＳ０，ＣＳ１の１つから、各デバイス３２，３４用のチップセレクト信号線２を介して、デバイス３２又は３４のチップセレクト端子ＣＳにチップセレクト信号を出力することで、通信対象となるデバイスを選択する。
【０００５】
また、マイコン４０から各デバイス３２，３４には、共通のクロック信号線６を介してクロック信号ＣＬＫが出力され、各デバイス３２，３４は、クロック信号線６を介して入力されるクロック信号ＣＬＫにより、マイコン４０と同期してデータを送受信する。
【０００６】
なお、以下の説明において、チップセレクト信号を、ＣＳ信号といい、その信号を伝送するのに用いられるチップセレクト信号線２を、ＣＳ信号線２という。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−１９６４８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上記従来の通信システムでは、マイコン４０が通信相手となるデバイスを選択する際、対象となるチップセレクト端子ＣＳ０又はＣＳ１の出力レベルを、非アクティブレベルからアクティブレベルへと切り替えることで、ＣＳ信号を出力する。
【０００９】
このため、図１４に×印で示すように、マイコン４０のチップセレクト端子ＣＳ０，ＣＳ１に接続されたＣＳ信号線２の１つが短絡して、アクティブレベルに固定されると、データ通信を正常に実施できなくなることがある。
【００１０】
つまり、マイコン４０と第１のデバイス３２との間のＣＳ信号線が短絡して、アクティブレベルに固定された場合、マイコン４０が第２のデバイス３４を選択して、データ通信を開始すると、第１のデバイス３２が自身への通信と誤認識してしまう。この結果、マイコン４０が通信を開始すると、第２のデバイス３４だけでなく、第１のデバイス３２も、応答データを送信することになる。
【００１１】
この場合、第１のデバイス３２からの応答データと第２のデバイス３４からの応答データとが異なっていれば、応答データ伝送用の通信線４で応答データ同士が干渉し、マイコン４０には異常なデータが入力されるので、マイコン４０側で異常を検出できる。
【００１２】
しかし、例えば、各デバイス３２，３４が、同種のデバイスである等の理由で同じ応答データを送信すると、マイコン４０側では異常を検出できず、マイコン４０は、第２のデバイス３４と通信しているものとして、通常の通信を継続してしまう。この結果、ＣＳ信号線が短絡している第１のデバイス３２が異常動作することがある。
【００１３】
本開示の一局面は、マスタスレーブ型の通信システムにおいて、マスタとなる通信部が通信相手を選択するのに用いるＣＳ信号線が故障した際、その旨を速やかに検出できるようにすることが望ましい。
【課題を解決するための手段】
【００１４】
本開示の一局面の通信システムは、マスタスレーブ型の通信システムであり、スレーブとしての通信機能を有する複数のスレーブ通信部（１２，１４）と、マスタとしての通信機能を有するマスタ通信部（２０）とを備える。
【００１５】
マスタ通信部は、通信時には、複数のスレーブ通信部の内の一つに各スレーブ通信部専用のチップセレクト線（２）を介してチップセレクト信号を出力することで、通信相手となるスレーブ通信部を選択する。そして、その選択したスレーブ通信部との間で、各スレーブ通信部共通の通信線（４）を介して通信を行う。
【００１６】
また、複数のスレーブ通信部には、それぞれ専用のＩＤが付与されている。そして、各スレーブ通信部は、マスタ通信部との通信時に、通信線を介して自身のＩＤを送信する。また、マスタ通信部は、選択したスレーブ通信部との通信時に、通信線を介して受信したＩＤと、選択したスレーブ通信部のＩＤとを比較し、ＩＤが一致しないときに異常を判断する。
【００１７】
従って、各スレーブ通信部に接続されるＣＳ信号線の一つが短絡等によりアクティブレベルに固定されているときには、マスタ通信部が他のＣＳ信号線を介してスレーブ通信部を選択した際に、マスタ通信部側で、異常が速やかに検出されることになる。
【００１８】
つまり、この状態では、マスタ通信部が選択したスレーブ通信部と、ＣＳ信号線がアクティブレベルに固定されているスレーブ通信部との両方から、通信線上にＩＤが送信される。
【００１９】
そして、そのＩＤは、スレーブ通信部毎に異なっているため、ＩＤの通信信号は通信線上で干渉し、マスタ通信部には、選択したスレーブ通信部のＩＤとは異なる、異常なデータが入力される。
【００２０】
従って、マスタ通信部は、そのデータと、選択したスレーブ通信部のＩＤとを比較することで、通信異常が発生したことを速やかに検出し、通信停止等の異常対策を実施できるようになる。
【００２１】
よって、本開示の通信システムによれば、ＣＳ信号線が故障しているときに、通信異常を検出できず、故障したＣＳ信号線に接続されたスレーブ通信部側のデバイスが異常動作する、といったことを抑制することができ、通信システムの信頼性を向上できる。
【００２２】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述す
る実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００２３】
【図１】第１実施形態の通信システムの構成を表すブロック図である。
【図２】マイコンと複数のデバイスとの間の通信動作を表すタイムチャートである。
【図３】マイコンにて実行される通信処理を表すフローチャートである。
【図４】従来の通信システムにおけるＣＳ信号線短絡時の通信動作を表すタイムチャートである。
【図５】実施形態におけるＣＳ信号線短絡時の通信動作を表すタイムチャートである。
【図６】デバイスＩＤの設定方法を説明する説明図である。
【図７】第２実施形態のマイコン及びデバイスにて実行される送受信処理を表すフローチャートである。
【図８】デバイス側での通信異常判定動作を表すタイムチャートである。
【図９】第３実施形態の通信システムの構成を表すブロック図である。
【図１０】第３実施形態での異常箇所特定方法を説明するタイムチャートである。
【図１１】マイコンが各デバイスのＩＤを設定する際の動作を説明する説明図である。
【図１２】図１１の動作の変形例を表す説明図である。
【図１３】マイコンが各デバイスのＩＤを設定する際にマイコン及びデバイスにて実行されるデバイスＩＤ設定処理を表すフローチャートである。
【図１４】従来の通信システムの構成を表すブロック図である。
【発明を実施するための形態】
【００２４】
以下に本発明の実施形態を図面と共に説明する。
［第１実施形態］
図１に示すように、本実施形態の通信システムは、例えば、車両制御用の電子制御装置において、各種制御処理を実施するマイコン２０が、センサやアクチュエータ等の複数のデバイス１２，１４との間で、マスタスレーブ通信を行う、通信システムである。
【００２５】
デバイス１２，１４は、本開示のスレーブ通信部に相当し、マスタスレーブ通信におけるスレーブとしての通信機能を有するＡＳＩＣ０、ＡＳＩＣ１にて構成されている。また、マイコン２０は、本開示のマスタ通信部に相当し、マスタスレーブ通信におけるマスタとしての通信機能を有する。
【００２６】
このため、マイコン２０には、通信端子として、データ送信用の出力端子ＳＯ及びデータ受信用の入力端子ＳＩが備えられている。そして、この出力端子ＳＯ及び入力端子ＳＩは、それぞれ、デバイス１２及び１４の通信端子である入力端子ＳＩ及び出力端子ＳＯに、共通の通信線４を介して接続されている。なお、通信線４は、マイコン２０からみてデータ送信用となる通信線と、データ受信用となる通信線との２本の通信線にて構成されている。
【００２７】
また、マイコン２０には、各デバイス１２，１４に対応したチップセレクト端子ＣＳ０，ＣＳ１が設けられている。そして、各チップセレクト端子ＣＳ０，ＣＳ１は、それぞれ、デバイス１２，１４毎に設けられた専用のＣＳ信号線２を介して、各デバイス１２，１４のチップセレクト端子ＣＳに接続されている。
【００２８】
また、マイコン２０には、各デバイス１２，１４との通信時に同期をとるために、各デバイス１２，１４にクロック信号を出力するクロック端子ＣＬＫも設けられている。そして、このクロック端子ＣＬＫは、各デバイス１２，１４共通のクロック信号線６を介して、各デバイス１２，１４のクロック端子ＣＬＫに接続されている。
【００２９】
図２に示すように、マイコン２０は、チップセレクト端子ＣＳ０，ＣＳ１の一つを、非アクティブレベルであるハイレベルから、アクティブレベルであるローレベルに切り替えることで、ＣＳ信号線２にＣＳ信号を出力し、通信相手となるデバイスを選択する。
【００３０】
そして、デバイス選択中、マイコン２０は、クロック信号に同期して、出力端子ＳＯから送信データを送信する。この送信データは、各デバイス１２，１４の入力端子ＳＩに入力されるが、ＣＳ信号が入力されていないデバイスは、入力データを破棄するため、送信データは、ＣＳ信号にて選択した特定のデバイス１２又は１４にて受信される。
【００３１】
また、ＣＳ信号にて選択された特定のデバイス１２又は１４は、マイコン２０からのクロック信号に同期して、出力端子ＳＯから応答データを送信するが、選択されていないデバイスは、出力端子ＳＯをオープン状態に保持する。
【００３２】
この結果、マイコン２０の入力端子ＳＩ側から見て、ＣＳ信号にて選択されていないデバイスはハイインピーダンスとなり、マイコン２０の入力端子ＳＩには、ＣＳ信号にて選択された特定のデバイス１２又は１４からの応答データが入力されることになる。
【００３３】
従って、マイコン２０は、チップセレクト端子ＣＳ０，ＣＳ１の一つを非アクティブレベルからアクティブレベルに切り替えることで、通信相手となるデバイスを選択して、マスタスレーブ通信を実施できることになる。
【００３４】
そして、このような通信を実施するために、マイコン２０には、チップセレクト端子ＣＳ０，ＣＳ１からＣＳ信号を出力したり、出力端子ＳＯ及び入力端子ＳＩに送・受信データを入出力したりするための通信入出力部２４と、通信制御部２２とが備えられている。
【００３５】
通信制御部２２は、マイコン２０内のＣＰＵが実行するプログラムによって、各デバイス１２，１４との間で予め設定されたデータ通信を行う。そして、通信制御部２２には、通信相手となるデバイス１２，１４を特定するためのデバイスＩＤテーブルが記憶された記憶部２６が設けられている。なお、記憶部２６は、不揮発性メモリにて構成されている。
【００３６】
デバイスＩＤテーブルは、マイコン２０が通信可能なデバイス１２，１４毎に、ＡＳＩＣ０，ＡＳＩＣ１等のデバイス名と固有の識別情報であるＩＤとが設定されたデータであり、通信制御部２２は、このデバイスＩＤテーブルを用いて、通信異常を判定する。
【００３７】
このため、各デバイス１２，１４には、自身のＩＤが記憶された記憶部１３，１５が設けられており、各デバイス１２，１４は、マイコン２０との通信時に、送信データに自身のＩＤを含めるように構成されている。なお、以下の説明において、各デバイス１２，１４に付与されたＩＤは、デバイスＩＤともいう。
【００３８】
次に、マイコン２０の通信制御部２２において、通信相手となるデバイスを選択して通信を実施する際に実行される通信処理について説明する。
図３に示すように、この通信処理では、まずＳ１１０にて、記憶部２６に記憶されたデバイスＩＤテーブルから、通信相手となるデバイス１２又は１４のデバイスＩＤを取得する。
【００３９】
そして、続くＳ１２０では、通信相手となるデバイス１２又は１４に対応したチップセレクト端子ＣＳ０又はＣＳ１をアクティブレベルにして、出力端子ＳＯから所定の送信データを送信し、入力端子ＳＩから受信データを取得する、送受信処理を実行する。
【００４０】
なお、送受信処理では、データの送受信が完了すると、アクティブレベルにしたチップセレクト端子ＣＳ０又はＣＳ１を非アクティブレベルに戻す。
次に、Ｓ１３０では、Ｓ１２０での送受信処理で取得した受信データから、通信相手となるデバイス１２又は１４が送信してきたであろうデバイスＩＤを抽出する。そして、続くＳ１４０では、Ｓ１１０で取得した通信先のデバイスＩＤと、Ｓ１３０にて抽出したデバイスＩＤとを比較し、これらデバイスＩＤが一致しているか否かを判断する。
【００４１】
Ｓ１４０にて、デバイスＩＤが一致していると判断された場合には、Ｓ１５０に移行し、受信データは今回選択したデバイス１２又は１４からの送信データであり、通信は正常に終了したと判断して、当該通信処理を終了する。
【００４２】
一方、Ｓ１４０にて、デバイスＩＤが一致していないと判断された場合には、Ｓ１６０に移行し、ＣＳ信号線２の短絡等、何らかの異常が発生したものと判断して、今回選択したデバイスとの通信に失敗したことを記憶又は通知し、当該通信処理を終了する。
【００４３】
以上説明したように、本実施形態の通信システムにおいては、デバイス１２，１４毎に、各デバイス固有のデバイスＩＤが設定されている。そして、各デバイス１２，１４は、マイコン２０からのＣＳ信号により通信相手として選択されてマイコン２０との間でデータを送受信する際には、送信データに自身のデバイスＩＤを含める。
【００４４】
これに対し、マイコン２０は、チップセレクト端子ＣＳ０又はＣＳ１をアクティブレベルにして、通信先デバイスとしてデバイス１２又は１４を選択し、選択したデバイスとの間でデータを送受信すると、受信データから通信先デバイスのデバイスＩＤを取得する。そして、その取得したデバイスＩＤが、記憶部２６内に記憶されている通信先デバイスのデバイスＩＤと一致しないときに、通信に異常が発生したと判断して、その旨を通知する。
【００４５】
従って、本実施形態の通信システムによれば、マイコン２０が通信相手として選択した通信先デバイスとは異なる他のデバイスのＣＳ信号線２が短絡して、アクティブレベルに固定されている場合に、マイコン２０側で、通信異常を速やかに検出できるようになる。
【００４６】
また、マイコン２０は、通信異常を検出したことを記憶若しくは出力することで、通信停止等の異常対策を実施できるようになるので、異常状態のまま通信が継続されて、デバイス１２，１４が異常動作するのを抑制できる。
【００４７】
よって、本実施形態の通信システムによれば、図１４に示した従来の通信システムに比べて、信頼性を向上することができる。
すなわち、図１４に示した従来の通信システムでは、デバイス３２，３４に対し、デバイスの種類を表すＩＤが付与されることはあっても、同種のデバイス３２，３４に対し固有のＩＤが付与されることはない。
【００４８】
このため、各デバイス３２，３４がマイコン４０に応答データを送信する際、応答データにデバイスＩＤを付与するようにされていたとしても、各デバイス３２，３４が同時に応答した際には、マイコン４０側で、デバイスＩＤから異常を判断することはできない。
【００４９】
つまり、図４に示すように、デバイス３２のＣＳ信号線が短絡してアクティブレベルに固定されている状態で、マイコン４０がデバイス３４を選択して通信を開始すると、各デバイス３２，３４が、同じデバイスＩＤを含む応答データを送信する。
【００５０】
従って、この場合、各デバイス３２，３４が内容の異なる応答データを送信したときには、マイコン４０側で、周知のパリティチェック等により応答データのエラー判定を行うことで、通信異常を検出できる。
【００５１】
しかし、各デバイス３２，３４が同じ内容の応答データを送信した場合には、各デバイス３２，３４からの送信データが全て一致することになるため、マイコン４０側で通信異常を検出することができない。
【００５２】
一方、本実施形態では、図５に示すように、デバイス１２のＣＳ信号線が短絡してアクティブレベルに固定されている状態で、マイコン２０が他方のデバイス１４を選択した際には、各デバイス１２，１４は、固有のデバイスＩＤを含む応答データを送信する。
【００５３】
従って、各デバイス１２，１４が同じ内容の応答データを送信したとしても、マイコン２０側では、受信データから抽出したデバイスＩＤに基づき、通信異常を検出できる。
つまり、図５に示すように、デバイス１２を構成するＡＳＩＣ０のデバイスＩＤが「０００００１」であり、デバイス１４を構成するＡＳＩＣ１のデバイスＩＤが「００００１０」である場合に、各デバイス１２，１４が応答データを送信したとする。
【００５４】
この場合、マイコン２０の入力端子ＳＩには、各デバイス１２，１４のデバイスＩＤに対応したハイ・ローの２値信号が合成して入力され、入力端子ＳＩのレベルは、デバイスＩＤの下位２ビットの領域で、ハイ・ローの中間の電位となる。
【００５５】
従って、マイコン２０側では、その電位によって、受信データに付与されているデバイスＩＤは、「００００００」、若しくは、「００００１１」であると認識される。
そして、このように認識されたデバイスＩＤは、本来受信すべきデバイスＩＤ「００００１０」と異なることから、マイコン２０側では、各デバイス１２，１４からの応答データの内容に関わらず、デバイスＩＤから通信異常を検出できるようになる。
【００５６】
また、ＣＳ信号線が正常であっても、選択されたデバイスの通信動作に異常がある場合や、通信線４に外乱ノイズが重畳されて通信不良が発生している場合にも、通信時にマイコン２０に入力されるデバイスＩＤは、本来受信すべきデバイスＩＤと異なるようになる。
【００５７】
従って、本実施形態の通信システムによれば、マスタ通信部として機能するマイコン２０側で、スレーブ通信部として機能するデバイス１２，１４から送信されてくるデバイスＩＤを確認することで、各種通信異常を検出することができる。
【００５８】
よって、本実施形態によれば、従来の通信システムに比べて、信頼性を向上できる。
ここで、本実施形態では、デバイス１２を構成するＡＳＩＣ０のデバイスＩＤは「０００００１」に設定され、デバイス１４を構成するＡＳＩＣ１のデバイスＩＤは「００００１０」に設定されている。
【００５９】
これは、各デバイス１２，１４からクロック信号に同期して出力されるデバイスＩＤが、通信線４上で干渉した際に、マイコン２０の入力端子ＳＩの電位から、マイコン２０側でデバイス１２又は１４のデバイスＩＤとして認識されないようにするためである。
【００６０】
つまり、例えば、図６の上段に示すように、ＡＳＩＣ０のＩＤが「００００００」に設定され、ＡＳＩＣ１のＩＤが「０００１１１」に設定されている状態で、各デバイス１２，１４からデバイスＩＤが同時に通信線４上に出力されたものとする。
【００６１】
この場合、２つのデバイスＩＤは、下位３ビットが異なるものの、通信線４に同時に送信されると、下位３ビットが干渉するので、マイコン２０の入力端子ＳＩの電位は、値０に対応したローレベル：０Ｖと、値１に対応したハイレベル：５Ｖとの中間電位となる。
【００６２】
そして、マイコン２０は、その中間電位と閾値とを比較することで、入力データが「０」であるのか「１」であるのかを識別し、受信したデバイスＩＤを特定するので、デバイスＩＤは、「０００１１１」若しくは「００００００」と認識されてしまう。
【００６３】
従って、デバイスＩＤを上記のように設定すると、ＣＳ信号線２の短絡等によって２つのデバイス１２，１４が同時に応答データを送信した際に、マイコン２０側で受信データから抽出したデバイスＩＤが、通信先デバイスのデバイスＩＤと一致することがある。
【００６４】
そこで、本実施形態では、デバイス１２，１４から同時にデバイスＩＤが送信されて、通信線上で干渉した際に、マイコン２０側で、通信先デバイスのデバイスＩＤとして認識されることのないように、各デバイスＩＤを設定している。
【００６５】
具体的には、本実施形態では、各デバイス１２，１４のデバイスＩＤを構成する６ビットのデジタルデータのうち、下位２ビットを「０１」、「１０」というように相補的に設定し、上位４ビットは同じ値「００００」に設定している。
【００６６】
このため、各デバイス１２，１４からデバイスＩＤが同時に送信されても、マイコン２０側で受信データから抽出されるデバイスＩＤは、下位２ビットが「００」若しくは「１１」となる。
【００６７】
従って、マイコン２０は、通信処理において、受信データから抽出したデバイスＩＤと、通信先デバイスのデバイスＩＤとを比較することで、通信異常を正確に判断することができるようになる。
【００６８】
なお、デバイスＩＤは、必ずしも上記のように設定する必要はなく、各デバイスＩＤは、所定ビットのデジタルデータで、値１と値０のビット値を含み、かつ、２つのデバイスＩＤ間で、少なくとも一部のビット値が異なるように所謂相補的に設定されていればよい。
【００６９】
また、この場合、各デバイスＩＤを構成するｎビットのデジタルデータのうち、ｎ／２個のビット値が互いに異なる値となるように設定してもよい。
つまり、例えば、図８の下段に示すように、各デバイスＩＤは、「０００１１１」、「１１１０００」として、相補的に設定してもよい。また、２つのデバイスＩＤは、例えば、「１０１００１」、「０１０１１０」として、相補的に設定してもよい。
【００７０】
そして、このようにすれば、２つのデバイスＩＤの干渉時にマイコン側で認識されるデバイスＩＤは、「００００００」若しくは「１１１１１１」となり、ｎビットのデータの１／２のビット値が、通信先デバイスのデバイスＩＤと異なるようになる。
【００７１】
従って、この場合、通信先デバイスのデバイスＩＤと異なると想定されるビット値の一部が、ノイズ等でデバイスＩＤのビット値と一致するようになっても、通信異常を検出できるようになり、通信異常の検出精度をより向上することができる。
［第２実施形態］
第１実施形態では、マスタ通信部としてのマイコン２０が、スレーブ通信部としてのデバイス１２，１４から送信された応答データに含まれるデバイスＩＤに基づき、通信異常を判定するものとして説明した。
【００７２】
これに対し、本実施形態では、マイコン２０が、通信相手となるデバイス１２又は１４に対し各種コマンドデータを送信する際に、その送信データにデバイスＩＤを含めることで、デバイス１２、１４側でも通信異常を検出できるようにする。
【００７３】
本実施形態の装置構成及び動作は、基本的には第１実施形態と同じであり、第１実施形態と異なる点は、マイコン２０の通信制御部２２で実行されるＳ１２０の送受信処理と、これに対応してデバイス１２，１４側で実行される送受信処理である。
【００７４】
そこで、本実施形態では、マイコン２０の通信制御部２２及び各デバイス１２，１４にて実行される送受信処理について、説明する。
図７に示すように、マイコン２０の通信制御部２２は、図３のＳ１２０にて送受信処理を実施する際には、まずＳ２１０にて、通信先デバイスに対する指令内容を表すコマンドＩＤに、通信先デバイスのデバイスＩＤを付与した送信データを生成し、送信する。
【００７５】
そして、データ送信後は、Ｓ２２０に移行して、送信したコマンドに対する制御結果を表す応答データを通信先デバイスから受信するための受信処理を実行し、当該送受信処理を終了する。
【００７６】
なお、マイコン２０は、Ｓ２１０にてコマンドデータを送信するときや、Ｓ２２０にて通信先デバイスから応答データを取得するときには、通信先デバイスに対応するチップセレクト端子ＣＳ０又はＣＳ１をアクティブレベルにして、ＣＳ信号を出力する。
【００７７】
一方、各デバイス１２，１４は、チップセレクト端子ＣＳがアクティブレベルとなっているときに、図７に示す送受信処理を実行する。
この送受信処理では、まずＳ３１０にて、マイコン２０からの送信データを受信する受信処理を実施し、続くＳ３２０にて、受信処理にて得られた受信データから、デバイスＩＤを抽出する。
【００７８】
次に、Ｓ３３０では、Ｓ３２０で抽出したデバイスＩＤと、記憶部１３又は１５に記憶された自身のデバイスＩＤとを比較し、これらデバイスＩＤが一致しているか否かを判断する。
【００７９】
Ｓ３３０にて、デバイスＩＤが一致していると判断された場合には、今回受信した受信データは、自身に対し送信されてきたコマンドであるので、Ｓ３４０にて、そのコマンドに対応する所定の制御を実行し、Ｓ３６０に移行する。
【００８０】
そして、Ｓ３６０では、マイコン２０に対し、制御を正常に実施した旨を表す応答データを送信する送信処理を実施し、当該送受信処理を終了する。
一方、Ｓ３３０にて、デバイスＩＤが一致していないと判断された場合には、今回受信した受信データは、自身に対し送信されてきたコマンドではないので、Ｓ３５０にて、通信異常が発生していると判断し、予め設定されたフェールセーフ処理を実行する。
【００８１】
なお、フェールセーフ処理としては、例えば、センサによる検出結果の出力やアクチュエータへの駆動信号の出力を停止する出力停止処理、或いは、車両を安全に停止させるための縮退制御処理、等を挙げることができる。
【００８２】
そして、Ｓ３５０にてフェールセーフ処理を実施すると、Ｓ３６０に移行して、当該送受信処理を終了する。
このように、本実施形態では、マイコン２０が、通信相手となるデバイス１２又は１４
にコマンドを送信する際、対応するデバイスのデバイスＩＤを含む送信データを生成する。
【００８３】
そして、各デバイス１２，１４は、マイコン２０からの送信データに含まれるデバイスＩＤが、自身のデバイスＩＤと一致しているか否かを判断し、一致していないときに、通信異常が発生しているものとして、所定のフェールセーフ処理を実施する。
【００８４】
このため、例えば、図８に示すように、デバイス１２のＣＳ信号線が短絡してアクティブレベルに固定されている状態で、マイコン２０がデバイス１２を選択してコマンドを送信した際には、デバイス１２は、そのコマンドに対応して動作することになる。
【００８５】
一方、マイコン２０がデバイス１４を選択して、デバイス１４に対するコマンドを送信した際には、コマンドは、デバイス１２及び１４の両方で受信される。そして、コマンドには、マイコン２０が選択したデバイス１４のデバイスＩＤが付与されているため、デバイス１４は、マイコン２０からのコマンドに対応して、正常動作することができる。
【００８６】
これに対し、デバイス１２は、コマンドに付与されたデバイスＩＤが、自身のデバイスＩＤと異なることから、通信異常が発生していると判断して、所定のフェールセーフ処理を実施する。
【００８７】
従って、本実施形態によれば、通信異常が発生しているデバイスを制御系から切り離し、安全に停止・縮退制御を実施することができるようになる。
［第３実施形態］
本実施形態の通信システムは、基本的には第１実施形態と同様の構成をしており、第１実施形態と異なる点は、マイコン２０に接続されるデバイスの数が３個である点である。
【００８８】
このため、図９に示すように、マイコン２０には、スレーブとしての通信機能を有する第３のデバイス１６のチップセレクト端子ＣＳに、デバイス１６専用のＣＳ信号線２を介してＣＳ信号を出力するためのチップセレクト端子ＣＳ２が設けられている。
【００８９】
なお、デバイス１６は、他のデバイス１２，１４と同様、ＡＳＩＣ２にて構成されており、自身のデバイスＩＤが記憶された記憶部１７が内蔵されている。
また、デバイス１６の通信用の出力端子ＳＯ及び入力端子ＳＩは、他のデバイス１２，１４と共通の通信線４を介してマイコン２０に接続され、クロック端子ＣＬＫも、他のデバイス１２，１４と共通のクロック信号線６を介してマイコン２０に接続されている。
【００９０】
そして、３個のデバイス１２，１４，１６のデバイスＩＤは、それぞれ、ｎビットのデータ内で値１と値０のビット値を含み、かつ、一部のビット値が、他の２つのデバイスＩＤとは異なるビット値となるように相補的に設定されている。
【００９１】
具体的には、デバイス１２のデバイスＩＤは「１０１００１」、デバイス１４のデバイスＩＤは「１００１１０」、デバイス１６のデバイスＩＤは「０１１０１０」、にそれぞれ設定されている。
【００９２】
このため、本実施形態では、３個のデバイス１２，１４，１６から同時にデバイスＩＤが出力されても、マイコン２０側で、第１実施形態と同様の手順で通信異常を検出できるようになる。
【００９３】
また、上記各デバイスＩＤは、ｎビットのデータのビット領域を、デバイスの数：３で分割して、分割した各領域を各デバイスＩＤに割り当て、その割り当てた特定領域におい
て、ビット値が他のデバイスＩＤと異なる一意の値となるよう、相補的に設定されている。
【００９４】
つまり、デバイス１２のデバイスＩＤは、全６ビットのうち、下位２ビットが、他のデバイスＩＤのビット値「１０」と異なる「０１」に設定されている。同様に、デバイス１４のデバイスＩＤは、中央の２ビットが他のデバイスＩＤと異なる「０１」に設定され、デバイス１６のデバイスＩＤは、上位２ビットが他のデバイスＩＤと異なる「０１」に設定されている。
【００９５】
この結果、本実施形態の通信システムにおいては、マイコン２０が上述した通信処理を行うことで、通信異常を検出できるだけでなく、通信異常の原因となる異常箇所を簡単に特定できるようになる。
【００９６】
つまり、第１実施形態のように、デバイスの数が２つの場合、通信先デバイスとの通信時に、通信先デバイスと他のデバイスからデバイスＩＤが送信されて、マイコン２０が通信異常を判断した際には、他のデバイスのＣＳ信号線２が短絡していることが考えられる。
【００９７】
これに対し、本実施形態のように、デバイスの数が３つの場合には、マイコン２０が通信異常を判断した際に、異常原因として考えられるのは、他の２つのデバイスのＣＳ信号線２の短絡であり、２つのＣＳ信号線２のいずれが短絡しているのかは特定できない。
【００９８】
例えば、図１０に示すように、デバイス１２のＣＳ信号線２が短絡してアクティブレベルに固定されている状態で、マイコン２０がデバイス１４を選択した際には、デバイス１２，１４は、固有のデバイスＩＤを含む応答データを送信する。
【００９９】
この場合、マイコン２０側では、受信データからデバイスＩＤを抽出して、デバイス１４のデバイスＩＤと比較することで、通信異常を検出することはできる。
しかし、こうしたデバイスＩＤの比較だけでは、通信異常の原因として考えられるのは、デバイス１２のＣＳ信号線２の短絡であるのか、或いは、デバイス１６のＣＳ信号線２の短絡であるのか、を特定することはできない。
【０１００】
このため、デバイスＩＤの比較だけで、デバイス１２のＣＳ信号線２の短絡を特定するには、マイコン２０は、デバイス１６を選択して通信を行う必要がある。
つまり、図１０の「異常箇所特定方法１」に示すように、マイコン２０が、デバイス１４との通信時に通信異常を検出した後、次に、デバイス１６を選択して通信を開始すれば、デバイス１２，１６が応答データを送信するので、通信異常が再度検出される。
【０１０１】
従って、マイコン２０側では、デバイス１４との通信時とデバイス１６との通信時との２回、通信異常を検出することにより、通信異常の原因として考えられるのは、デバイス１２のＣＳ信号線２の短絡であることを、特定することができる。
【０１０２】
しかし、このように異常箇所を特定するには、マイコン２０は、通信先デバイスを変更して、複数回通信を行う必要があり、時間がかかる。また、複数回の通信により、デバイスが誤動作することも考えられる。
【０１０３】
これに対し、本実施形態では、デバイス１２，１４，１６のデバイスＩＤが、６ビットのデータのビット領域を３つに分割して各デバイスＩＤの特定領域として割り当て、特定領域のビット値が他のデバイスＩＤと異なる「０１」となるように設定されている。
【０１０４】
このため、図１０の「異常箇所特定方法２」に示すように、マイコン２０は、デバイス１４との通信時に受信データから抽出したデバイスＩＤと、デバイス１４のデバイスＩＤとを比較することで、異常原因として考えられるＣＳ信号線２の短絡箇所を特定できる。
【０１０５】
つまり、マイコン２０は、受信したデータから抽出したデバイスＩＤにおいて、本来受信すべき正規のデバイスＩＤと異なるビットを特定する。
そして、そのビットは、通信中デバイスの特定領域のビットと、ＣＳ信号線２がアクティブレベルになっているデバイスの特定領域のビットであるから、ＣＳ信号線２が短絡していると考えられるデバイスは、デバイス１２であることを特定できる。
【０１０６】
従って、本実施形態によれば、図３に示すＳ１６０の処理において、マイコン２０が、こうした手順でＣＳ信号線２の短絡箇所を特定するようにすることで、デバイスの一つと通信して通信異常を検出した際に、同時に、異常箇所を特定することができるようになる。
【０１０７】
よって、異常箇所を特定するために、複数のデバイスとの間で通信を行う必要がなく、その複数回の通信によってデバイスが誤動作するのを抑制できる。
［第４実施形態］  
上記実施形態では、各デバイスの記憶部には、各デバイス固有のデバイスＩＤが予め記憶されているものとして説明したが、各デバイスの記憶部へのデバイスＩＤの書き込みは製造時に実施してもよく、通信システム構築後にマイコン２０が実施してもよい。
【０１０８】
そして、通信システム構築後にマイコン２０がデバイスＩＤの書き込みを実施するようにした場合には、通信システム構築時に、デバイスＩＤテーブルを作成して、マイコン２０の記憶部２６に書き込む必要がないので、通信システムを容易に構築できる。
【０１０９】
そこで、次に、本開示の第４実施形態として、第１実施形態の通信システムにおいて、マイコン２０が各デバイス１２，１４の記憶部１３，１５にデバイスＩＤを書き込む際の動作について説明する。
【０１１０】
まず、通信システムの構築後に、マイコン２０がデバイスＩＤを書き込むようにするには、各デバイス１２，１４の記憶部１３，１５を、それぞれ、デバイスＩＤ等のデータを書き換え可能なメモリにて構成する。
【０１１１】
そして、マイコン２０は、各デバイス１２，１４のデバイスＩＤを設定する際には、図１１に示すように、ＣＳ信号にて通信先のデバイスを順次選択し、その選択したデバイス１２又は１４に対し、デバイスＩＤの設定コマンドを送信するようにする。
【０１１２】
一方、各デバイス１２，１４は、マイコン２０からのＣＳ信号にて通信相手として選択されている状態で、デバイスＩＤの設定コマンドを受信すると、その設定コマンドに付与されているデバイスＩＤを抽出して、自身の記憶部１３，１５に書き込むようにする。
【０１１３】
このようにすれば、各デバイス１２，１４において、記憶部１３，１５に記憶されたデバイスＩＤが、例えば出荷時の「００００００」から、各デバイス１２，１４固有のデバイスＩＤ「０００００１」，「００００１０」に書き換えられることになる。
【０１１４】
従って、マイコン２０は、各デバイス１２，１４のデバイスＩＤを上記手順で設定した後、図３の通信処理を実施することで、各デバイス１２，１４との間で通信を行い、各デバイス１２，１４から送信されたデバイスＩＤに基づき通信異常を検出できるようになる。
【０１１５】
ところで、マイコン２０が各デバイス１２，１４のデバイスＩＤを設定する際、デバイス１２，１４の内、一方のＣＳ信号線２が短絡してアクティブレベルに固定されていると、その一方のデバイスに対し、他方のデバイスのデバイスＩＤが設定されることがある。
【０１１６】
そこで、図１２に示すように、デバイス１２，１４は、マイコン２０からデバイスＩＤ設定コマンドを受けて、記憶部１３，１５内のデバイスＩＤを書き換えると、応答データとして、書き換え前のデバイスＩＤを、マイコン２０に送信するようにしてもよい。
【０１１７】
このようにすれば、マイコン２０側で、その応答データからデバイスＩＤを抽出し、その抽出したデバイスＩＤが書き換え前のデバイスＩＤであるか否かを判断することで、デバイスＩＤの書き込みを正常に実施できたか、失敗したかを、判断できるようになる。
【０１１８】
そして、このためには、マイコン２０及び各デバイス１２，１４において、図１３に示すデバイスＩＤ設定処理をそれぞれ実行するようにすればよい。
すなわち、マイコン２０は、通信システム構築直後の初期設定時や、デバイスＩＤの設定条件が成立したときに、図１３に示すデバイスＩＤ設定処理を開始する。
【０１１９】
そして、マイコン２０は、まずＳ４１０にて、デバイスＩＤの設定対象となるデバイス１２又は１４のデバイスＩＤを、記憶部２６に記憶されたデバイスＩＤテーブルから取得し、Ｓ４２０に移行する。
【０１２０】
Ｓ４２０では、Ｓ４１０で取得したデバイスＩＤに対応するデバイス１２又は１４に接続されたチップセレクト端子ＣＳ０又はＣＳ１をアクティブレベルにして、出力端子ＳＯから、Ｓ４１０で取得したデバイスＩＤを含むデバイスＩＤ設定コマンドを送信する。
【０１２１】
一方、各デバイス１２，１４は、デバイスＩＤが未設定であるとき、或いは、デバイスＩＤの設定条件が成立しているときに、図１３に示すデバイスＩＤ設定処理を実行する。
そして、各デバイス１２，１４は、まずＳ５１０にて、入力端子ＳＩを介してデバイスＩＤ設定コマンドを受信したかを判断することで、デバイスＩＤ設定コマンドが受信されるのを待機する。
【０１２２】
５１０にて、デバイスＩＤ設定コマンドが受信されたと判断されると、Ｓ５２０に移行して、自身の記憶部１３又は１５から書き換え前のデバイスＩＤを読み込み、このデバイスＩＤを含む応答データを生成し、出力端子ＳＯからマイコン２０に向けて送信する。
【０１２３】
そして、続くＳ５３０では、受信したデバイスＩＤ設定コマンドから、デバイスＩＤを抽出して、自身の記憶部１３又は１５に記憶されているデバイスＩＤを書き換え、当該デバイスＩＤ設定処理を終了する。
【０１２４】
一方、マイコン２０は、Ｓ４２０にてデバイスＩＤ設定コマンドを送信すると、デバイス１２，１４側から書き換え前の応答データが送信されてくるので、Ｓ４３０に移行し、入力端子ＳＩを介して応答データを受信する。
【０１２５】
そして、続くＳ４４０では、受信した応答データから、デバイスＩＤを抽出し、Ｓ４５０に移行して、Ｓ４４０で抽出したデバイスＩＤと、Ｓ４２０にてデバイスＩＤ設定コマンドを送信したデバイス１２又は１４の書き換え前のデバイスＩＤとを比較する。
【０１２６】
Ｓ４６０では、Ｓ４５０での比較の結果、応答データから抽出したデバイスＩＤと書き換え前デバイスＩＤとが一致しているか否かを判断する。
そして、デバイスＩＤが一致している場合には、デバイスＩＤの書き換えは成功したと判断して、Ｓ４７０に移行し、デバイスＩＤの書き換えに成功したことを記憶又は通知し、当該通信処理を終了する。
【０１２７】
また、デバイスＩＤが一致していない場合には、デバイスＩＤの書き換えは失敗したと判断して、Ｓ４８０に移行し、デバイスＩＤの書き換えに失敗したことを記憶又は通知し、当該通信処理を終了する。
【０１２８】
このようにデバイスＩＤ設定処理を実行することにより、各デバイス１２，１４のデバイスＩＤが正しく書き換えられたことを確認しながら、デバイスＩＤを設定することができ、デバイスＩＤ設定時の信頼性を向上できる。
【０１２９】
以上、本開示を実施するための形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
例えば、上記実施形態では、通信システムは、車両制御用の電子制御装置において各種制御処理を実施するマイコン２０と、センサやアクチュエータ等の複数のデバイス１２，１４とにより構成されるものとして説明した。
【０１３０】
しかし、本開示の技術は、マスタ通信部としての機能を有するデバイスと、スレーブ通信部としての機能を有する複数のデバイスとが、共通の通信線を利用してデータ通信を行う通信システムであれば、上記実施形態と同様に適用できる。
【０１３１】
従って、マスタ通信部及びスレーブ通信部となるデバイスが、全て、マイコンにて構成されていてもよいし、ＡＳＩＣ等の電子回路にて構成されていてもよく、これらの組み合わせにて構成されていてもよい。
【０１３２】
上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【０１３３】
２…ＣＳ信号線、４…通信線、６…クロック信号線、１２，１４，１６…デバイス、１３，１５，１７…記憶部、２０…マイコン、２２…通信制御部、２４…通信入出力部、２６…記憶部。
【図１】
2019159381.tif 000003
【図２】
2019159381.tif 000004
【図３】
2019159381.tif 000005
【図４】
2019159381.tif 000006
【図５】
2019159381.tif 000007
【図６】
2019159381.tif 000008
【図７】
2019159381.tif 000009
【図８】
2019159381.tif 000010
【図９】
2019159381.tif 000011
【図１０】
2019159381.tif 000012
【図１１】
2019159381.tif 000013
【図１２】
2019159381.tif 000014
【図１３】
2019159381.tif 000015
【図１４】
2019159381.tif 000016