(57)【要約】【課題】信号線の増加や制御部のポート数の増加を抑制しつつ、制御部により、割当コードをトランシーバ内のメモリに書き込むことを可能とした通信ノードを提供する。【解決手段】通信ノードであるＥＣＵ１１の動作モードがスリープモードであるとき、切替部２３により、マイコン４０のデータ送信ポートＴＸをメモリコントローラ２４に接続する。そして、マイコン４０は、メモリコントローラ２４に対して、コードの書込要求を通知するとともに、コードとして書き込むための書込データを出力する。通信データを出力するデータ送信ポートを利用して、書込要求や書込データを出力するので、マイコン４０とトランシーバ２０との接続線の増加や、マイコン４０のポート数の増加を抑制することが可能になる。【選択図】図２
2014165837.tif 000002
【特許請求の範囲】
【請求項１】
通信バス（２）を介して複数の通信ノード（１１〜１４）が相互に接続される通信システム（１）に適用される通信ノード（１１〜１４）であって、
送信すべきデータを生成するとともに、受信したデータを処理する制御部（４０）と、
前記制御部によって生成された送信すべきデータを通信フレームとして前記通信バスに送出するトランスミッタ（２１）と、他の通信ノードから通信フレームとして送出されたデータを受信して、前記制御部に出力するレシーバ（２２）とを有するトランシーバ（２０）と、を備え、
前記通信ノードは、動作モードとして、前記通信バスを介した通信を停止して消費電力を抑制するスリープモードと、前記通信バスを介した通信を実行可能な通常モードとを有し、
前記トランシーバは、さらに、
前記通信フレームが自ノードに向けられたものか識別するためのコードを記憶するメモリ（２６〜２８）と、
前記通信ノードの動作モードがスリープモードであるときに、前記通信バスに送出された通信フレームに含まれるコードが前記メモリに記憶されたコードと一致するかに基づき、その通信フレームが自ノードを起動するための起動フレームであるかを判定し、自ノードを起動するための起動フレームである場合に、前記通信ノードの動作モードを、前記通常モードに遷移させる起動手段(２５、２９）と、
前記メモリに前記コードを書き込む書込手段（２４）と、
前記通信ノードの動作モードがスリープモードであるとき、前記制御部が前記送信すべきデータを前記トランスミッタへ出力する送信経路を、前記書込手段に接続する手段（２３）と、を有し、
前記書込手段は、前記送信経路を介して前記制御部から、前記コードに相当する書込データの提供を受け、当該書込データを用いて、前記メモリに前記コードを書き込むことを特徴とする通信ノード。
【請求項２】
前記メモリ部に記憶されたコードの異常が検出された場合、前記起動手段は、前記通信バスに伝送される全ての通信フレームを前記制御部に出力できるように前記トランシーバを設定することを特徴とする請求項１に記載の通信ノード。
【請求項３】
前記メモリは、同一のコードが書き込まれる複数のメモリ部からなり、前記起動手段は、当該複数のメモリ部に記憶されたコードが不一致であるとき、前記コードの異常を検出することを特徴とする請求項２に記載の通信ノード。
【請求項４】
前記メモリに記憶された前記コードを読み出す読出手段（２４）を備え、当該読出手段は、読み出したコードを、前記トランシーバが前記通信バスから受信したデータを前記制御部に出力する受信経路を介して、前記制御部へ送信することを特徴とする請求項１乃至３のいずれかに記載の通信ノード。
【請求項５】
前記制御部は、前記読出手段によって送信されたコードが、前記メモリに記憶されるべきコードと異なる場合、前記書込手段に、再度、書込データを提供して、前記メモリへ再書き込みさせることを特徴とする請求項４に記載の通信ノード。
【請求項６】
前記書込手段は、前記制御部から提供された書込データが正常であるか否かを判定し、正常であると判定したとき、前記メモリへの書き込みを行うことを特徴とする請求項１乃至５のいずれかに記載の通信ノード。
【請求項７】
前記書込手段は、前記制御部から提供された書込データが異常であると判定したとき、その旨を前記制御部に通知し、前記制御部は、その通知に応じて、再度、前記書込データを前記書込手段に提供することを特徴とする請求項６に記載の通信ノード。
【請求項８】
前記書込手段は、前記メモリへの書き込み処理中に、前記通信バスのレベルが、劣位な信号レベルであるレセッシブから優位な信号レベルであるドミナントに変化したとき、実行中の前記メモリへの書き込み処理を停止することを特徴とする請求項１乃至請求項７のいずれかに記載の通信ノード。
【請求項９】
前記読出手段は、前記メモリからの読み出し処理中に、前記通信バスのレベルが、劣位な信号レベルであるレセッシブから優位な信号レベルであるドミナントに変化したとき、実行中の前記メモリからの読み出し処理を停止することを特徴とする請求項４又は請求項５に記載の通信ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信バスを介して複数の通信ノードが相互に接続される通信システムに適用される通信ノードに関する。
【背景技術】
【０００２】
例えば、特許文献１には、スリープモードとなっている通信ノードを個別にウェイクアップすることが可能な通信システムが開示されている。この通信システムでは、起動パタン領域及び指定パタン領域が含まれた通信フレームが使用される。そして、各通信ノードのトランシーバには、起動パタン領域に、境界ポイントまでの領域長が起動長より大きくなる起動用ＩＤが含まれ、かつ指定パタン領域に、自ノードに割り当てられた割当コードが含まれる場合、それを自ノードに対する個別の起動フレームと判断して、ウェイクアップ信号を生成する起動フレーム検出部が設けられる。各通信ノードのマイコンは、起動フレーム検出部によりウェイクアップ信号が生成されると、ウェイクアップ処理を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−５４８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１に記載の通信システムにおいては、それぞれの通信ノードのトランシーバ内のメモリ（割当パタン設定回路）に、各ノードに割り当てられた割当コードを事前に記憶させておく必要がある。しかし、特許文献１には、割当コードの記憶をどのように行うかについて、具体的な手法は一切記載されていない。
【０００５】
ここで、通信ノードは、通常、送信すべきデータを生成するとともに、受信したデータを処理する制御部（マイコン）と、制御部によって生成された送信データを通信フレームとして通信バスに送出するとともに、他の通信ノードから通信フレームとして送出されたデータを受信して、制御部に出力するトランシーバとを有する。そこで、制御部により、トランシーバ内のメモリに、割当コードを書き込むことが考えられる。
【０００６】
しかしながら、制御部がメモリに対してダイレクトにアクセスして書込処理を行おうとした場合、トランシーバに、制御部からメモリへの信号（コードの書込要求の通知信号、コードを示すコードデータなど）を受け付けるインターフェースを設け、そのインターフェースと制御部とを専用の信号線により接続する必要が生じる。そのため、信号線の数や制御部のポート数が増えてしまい、通信ノードの体格が増加するとともに、コストアップを招くという問題が生じる。
【０００７】
本発明は、このような点に鑑みてなされたもので、信号線の増加や制御部のポート数の増加を抑制しつつ、制御部により、割当コードをトランシーバ内のメモリに書き込むことを可能とした通信ノードを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明による通信ノード（１１〜１４）は、
送信すべきデータを生成するとともに、受信したデータを処理する制御部（４０）と、
制御部によって生成された送信すべきデータを通信フレームとして通信バスに送出するトランスミッタ（２１）と、他の通信ノードから通信フレームとして送出されたデータを受信して、制御部に出力するレシーバ（２２）とを有するトランシーバ（２０）と、を備え、
通信ノードは、動作モードとして、通信バスを介した通信を停止して消費電力を抑制するスリープモードと、通信バスを介した通信を実行可能な通常モードとを有し、
トランシーバは、さらに、
通信フレームが自ノードに向けられたものか識別するためのコードを記憶するメモリ（２６〜２８）と、
通信ノードの動作モードがスリープモードであるときに、通信バスに送出された通信フレームに含まれるコードがメモリに記憶されたコードと一致するかに基づき、その通信フレームが自ノードを起動するための起動フレームであるかを判定し、自ノードを起動するための起動フレームである場合に、通信ノードの動作モードを、通常モードに遷移させる起動手段(２５、２９）と、
メモリにコードを書き込む書込手段（２４）と、
通信ノードの動作モードがスリープモードであるとき、制御部が送信すべきデータをトランスミッタへ出力する送信経路を、書込手段に接続する手段（２３、２４）と、を有し、
書込手段は、送信経路を介して制御部から、コードに相当する書込データの提供を受け、当該書込データを用いて、メモリにコードを書き込むことを特徴とする。
【０００９】
このように、本発明は、通信ノードの動作モードがスリープモードであるとき、制御部が送信すべきデータをトランスミッタへ出力する送信経路を、書込手段に接続するようにしている。このため、その送信経路を、制御部が書込データを提供するための経路としても利用することが可能となる。従って、制御部とトランシーバとの接続線の増加や、制御部のポート数の増加を抑制することが可能になる。
【００１０】
さらに、メモリに記憶されたコードを読み出す読出手段（２４）を備え、当該読出手段は、読み出したコードを、レシーバが通信バスから受信したデータを制御部に出力する受信経路を介して、制御部へ送信することが好ましい。このように、読出手段を設けて、メモリに記憶されたコードを読み出して、制御部に出力するようにすると、制御部は、正しいコードが書き込まれたかを確認することが可能となる。そして、メモリから読み出したコードを制御部へ出力する際に、レシーバから制御部への受信経路を利用することにより、より一層の信号線数及びポート数の増加の抑制を図ることができる。
【００１１】
また、メモリ部に記憶されたコードの異常が検出された場合、起動手段は、通信バスに伝送される全ての通信フレームを制御部に出力できるようにトランシーバを設定することが好ましい。これにより、メモリ部に記憶されたコードに異常が生じた場合、スリープモードから復帰することができずに、一切の通信フレームを受信できなくなる事態の発生を防止することができる。
【００１２】
なお、上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１３】
また、上述した特徴以外の本発明の特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１４】
【図１】実施形態による通信ノードを有する通信システムの全体構成を示した構成図である。
【図２】通信ノードとしての各ＥＣＵの構成を示す構成図である。
【図３】マイコンのスタンバイポートから出力される信号に応じて切り替えられる、マイコンのデータ送信ポートＴＸの接続先を示した図である。
【図４】発振回路の起動、停止条件を示した図である。
【図５】ＥＣＵのイニシャル処理、及びＥＣＵがスリープモードとなるときに、マイコンにより実行される処理を示すフローチャートである。
【図６】メモリコントローラにおいて実行される処理を示すフローチャートである。
【図７】メモリコントローラにおける割り込み処理を示すフローチャートである。
【図８】コンペアロジック部において実行される処理を示すフローチャートである。
【図９】コードの書込処理や読出処理が行われるときの、各部の信号の変化の一例を示したタイムチャートである。
【発明を実施するための形態】
【００１５】
以下に本発明の実施形態を図面に基づいて説明する。図１は、本実施形態による通信ノードを有する通信システムの全体構成を示した構成図である。なお、本実施形態では、通信システムを、自動車などの車両内において構築される車内ＬＡＮに用いた例について説明する。ただし、本実施形態に係る通信システムの用途は車両用に限られるわけではなく、ビルや工場内の通信システムなど、他の用途の通信システムに用いることも可能である。
【００１６】
図１に示すように、複数の通信ノードとしての電子制御装置（ＥＣＵ）１１〜１４が、通信バス２を介して接続されて、通信システム１が構築されている。各ＥＣＵ１１〜１４は、車両に搭載された各種の車載機器（エンジンの燃料噴射装置、点火装置、エアコンのコンプレッサ、ファン、エアミックスドア、ブレーキ装置、ドアロック機構など）を制御するためのものである。これら複数のＥＣＵ１１〜１４は、例えばＣＡＮやＬＩＮなどの通信プロトコルに従って相互に通信を行い、必要なデータのやり取りを行なったり、連携して制御を行ったりする。
【００１７】
ここで、近年においては、車両が停止しているときにも、上述した各種のＥＣＵ１１〜１４が、様々な制御を実行することが求められるようになっている。例えば、車両停止時の制御として、「スマートドアロック解錠」や「プレ空調」などがある。
【００１８】
「スマートドアロック解錠」は、例えば、以下のようにして実行される。まず、車両が停止しているとき、照合ＥＣＵが定期的にウェイクアップし、車両の周囲に向けて、ユーザが保持する携帯機と通信するための電波を送信する。この送信電波に対して、携帯機からの応答があり、その応答信号に含まれるＩＤコードの照合が成立すると、電源ＥＣＵが、車両ドアに設けられたドアロック解錠スイッチに電源を供給してアクティブにする。この状態で、ドアロック解錠スイッチに対するユーザ操作が検出されると、ドアＥＣＵが、ドアロックを解錠するようにドアロックモータを駆動する。このように、「スマートドアロック解錠」では、照合ＥＣＵ、電源ＥＣＵ、及びドアＥＣＵが、データのやり取りを行いつつ、車両の停止時に連携して制御を行う。
【００１９】
また、「プレ空調」は、照合ＥＣＵにおいて、照合が成立しているときに、ユーザが保持する携帯機から「プレ空調」の実行指示を受けたときに実行される。この場合、照合ＥＣＵが「プレ空調」の実行指示があったことを検出すると、エアコンＥＣＵ及び電源ＥＣＵに対して「プレ空調」を実行するよう指示する。すると、電源ＥＣＵがコンプレッサ、ファン、エアミックスドアなど、エアコン装置の制御対象要素に電源を供給する。さらに、エアコンＥＣＵが、コンプレッサ、ファン、エアミックスドアなどの駆動状態を制御して、車室内の温度を、予め定められた温度もしくは「プレ空調」の実行指示の際に指定された温度に調節する。これにより、ユーザが乗車する際には、車室内を快適な温度に予め調節しておくことが可能になる。このように、「プレ空調」においても、車両の停止時に、照合ＥＣＵ、電源ＥＣＵ、及びエアコンＥＣＵが、連携して制御を行う。
【００２０】
しかしながら、車両の停止時には、オルタネータによる発電やモータによる回生ブレーキが行われないので、上述した各ＥＣＵ１１〜１４において消費される電力を極力低減することが重要となる。そのため、例えばＣＡＮプロトコルにおいては、ＥＣＵ１１〜１４がスリープモードとなることを認めている。すなわち、ＣＡＮプロトコルでは、例えば所定の期間、通信バス２がレセシブ（劣勢）レベルとなり、通信バス２が空いている状態（アイドル状態）が継続すると、各ＥＣＵ１１〜１４が、通信機能やマイコンの演算処理機能等を停止するスリープモードとなることが可能である。さらに、あるＥＣＵが、特定のＥＣＵを指定して、スリープモードへ移行することを指示することも可能である。
【００２１】
なお、ＣＡＮプロトコルでは、通信バス２として２線式通信ラインが使用され、その２線式通信ラインの両端には終端抵抗が接続される。そして、データを送信するＥＣＵは、トランシーバにより２線式通信ラインに大小２種類の電位差を生じさせ、通信バス上で“１”又は“０”の信号を通信する。この際、ＣＡＮプロトコルでは、論理０が、２線式通信ラインに大きな電位差を生じさせるドミナント（優勢）レベルと規定されている。
【００２２】
ただし、通常のＣＡＮプロトコルでは、ＥＣＵがスリープモードのときに、通信バスにおけるレベルがドミナントになったことを検出すると、ドミナントレベルを検出したすべてのＥＣＵが、スリープモードから、通信機能等を利用可能な動作モードである通常モードへ復帰（遷移）してしまう。しかし、各種の制御毎に、通信を行うことが必要なＥＣＵは一部のＥＣＵに限られている場合も多く、必ずしも全てのＥＣＵが起動する必要はない。そのため、ドミナントの検出によって全てのＥＣＵが起動した場合、必ずしも通信に参加する必要がないＥＣＵも起動してしまうことがあり、無駄に電力を消費する結果となっていた。そこで、従来技術の欄で説明したように、各ＥＣＵ（通信ノード）を個別に起動することが可能な技術も提案されているが、各ＥＣＵのメモリに自ノードを示すコードをどのように記憶させるかに関しては、なんら考慮されていなかった。
【００２３】
そこで、本実施形態では、簡易な構成にて、各ＥＣＵのメモリにコードを記憶させることができるようにした。以下、本実施形態の特徴部分について詳細に説明する。
【００２４】
図２は、通信ノードとしての各ＥＣＵ１１〜１４の構成を示す構成図である。各ＥＣＵ１１〜１４は、主要な構成は共通であるため、以下、ＥＣＵ１１を代表例として説明する。
【００２５】
図２に示すように、ＥＣＵ１１は、通信バス２を介して他のＥＣＵへ送信するデータを生成するとともに、他のＥＣＵから受信したデータを処理する制御部としてのマイコン４０を有する。
【００２６】
マイコン４０は、データ送信ポートＴＸを有し、このデータ送信ポートＴＸから、他のＥＣＵへ送信するデータを出力する。他のＥＣＵに出力するデータとして、上述したような連携した制御を実行するために必要となるデータの他、連携した制御を行うＥＣＵがスリープモードとなっているとき、そのＥＣＵを指定して通常モードに遷移させるための個別起動信号が含まれる。例えば、上述した「スマートドアロック解錠」の場合、照合ＥＣＵにてＩＤコードの照合が成立した時点で、電源ＥＣＵ及びドアＥＣＵに対して個別起動信号を出力して、通常モードに遷移させる。さらに、マイコン４０は、データ送信ポートＴＸから、第１メモリ２６〜第３メモリ２８がコードとして記憶するためのコードデータを出力する。
【００２７】
また、マイコン４０は、データ受信ポートＲＸを有し、このデータ受信ポートＲＸを介して他のＥＣＵからのデータを受信する。さらに、コンペアロジック部２９が、他のＥＣＵからの個別起動信号を受信したと判定したときに、レシーバ２２を介して出力するドミナント信号をデータ受信ポートＲＸにて受信する。
【００２８】
さらに、マイコン４０はスタンバイポートを有する。マイコン４０は、ＥＣＵ１１がスリープモードとなっているとき、及び例えば車両のＩＧスイッチがオンされたときに実行されるＥＣＵ１１のイニシャル処理時に、スタンバイポートからスタンバイ信号を出力する。なお、ＩＧスイッチではなく、他の信号を基準として、ＥＣＵ１１のイニシャル処理を実行することも可能である。一方、マイコン４０は、ＥＣＵ１１が通常の動作モードにて動作しているとき、スタンバイポートから起動信号を出力する。
【００２９】
なお、図示していないが、マイコン４０には、タイマやスイッチからの外部起動信号が入力される外部起動信号入力ポートが設けられる場合がある。外部起動信号入力ポートに外部起動信号が入力されると、マイコン４０が起動し、スタンバイポートから起動信号を出力する。
【００３０】
ＥＣＵ１１は、通信バス２を介して他のＥＣＵと通信を行うためのトランシーバ２０を有している。このトランシーバ２０には、トランスミッタ２１が設けられている。トランスミッタ２１は、切替部２３を介してマイコン４０のデータ送信ポートＴＸに接続され、マイコン４０が出力するデータの論理レベルに応じて、通信バス２の２線式通信ラインに大小２種類の電位差を生じさせる。これにより、通信バス２上で、データの論理レベルに応じた“１”又は“０”の信号からなる通信フレームを送信することが可能になる。
【００３１】
切替部２３は、マイコン４０のスタンバイポートから出力される信号に応じて、マイコン４０のデータ送信ポートＴＸの接続先を、トランスミッタ２１と、メモリコントローラ２４とのいずれかに切り替える。具体的には、図３に示すように、切替部２３は、スタンバイポートから起動信号が出力されているときには、データ送信ポートＴＸの接続先をトランスミッタ２１に切り替える。従って、この起動信号の出力時には、ＥＣＵ１１は、トランスミッタ２１から、マイコン４０が出力するデータに応じた通信フレームを送信することが可能になる。
【００３２】
一方、切替部２３は、スタンバイポートからスタンバイ信号が出力されているときには、データ送信ポートＴＸの接続先をメモリコントローラ２４に切り替える。マイコン４０は、上述したように、ＥＣＵ１１がスリープモードとなったとき、及び例えば車両のＩＧスイッチがオンされたときに実行されるＥＣＵ１１のイニシャル処理時に、スタンバイ信号を出力する。
【００３３】
イニシャル処理時にスタンバイ信号が出力され、データ送信ポートＴＸの接続先がメモリコントローラ２４に切り替えられている状態で、マイコン４０が書込要求及びコードデータを出力すると、メモリコントローラ２４が第１メモリ２６〜第３メモリ２８へのコード書込処理を開始、実行する。この結果、ＥＣＵ１１のイニシャル処理が実行されるごとに、第１メモリ２６〜第３メモリ２８に記憶されるコードが書き直されるので、記憶されたコードをリフレッシュすることができる。
【００３４】
メモリコントローラ２４は、マイコン４０から書込要求を受信し、さらにコードデータが提供されたとき、そのコードデータを、第１メモリ２６〜第３メモリ２８へ順番に書き込む書込処理を実行する。この書込処理では、第１メモリ２６〜第３メモリ２８に、同一のコードが書き込まれる。このように３個のメモリに同一のコードを記憶させておくことにより、例えば記憶されたコードの一部がビット化けした場合などにおいても、正しいコードを識別して、個別起動信号の判別を行うことができる。ただし、メモリの数は、２個であっても良いし、１個であっても良い。
【００３５】
この書込処理の終了後、マイコン４０からのコード読出要求に応じて、メモリコントローラ２４は、第１メモリ２６〜第３メモリ２８から順番にコードを読み出す。そして、メモリコントローラ２４は、読み出したコードを、レシーバ２２を介して、マイコン４０のデータ受信ポートＲＸに出力する。マイコン４０は、受信したコードデータと、データ送信ポートＴＸから出力したコードデータとを比較し、正しいコードが、第１メモリ２６〜第３メモリ２８に書き込まれているかを確認する。
【００３６】
レシーバ２２は、通信バス２上の電位差を、マイコン４０における論理レベルに変換し、マイコン４０のデータ受信ポートＲＸに出力するものである。また、レシーバ２２は、上述したように、メモリコントローラ２４や、コンペアロジック部２９による出力を、マイコン４０のデータ受信ポートＲＸに中継する機能も有する。さらに、レシーバ２２は、マイコン４０のスタンバイポートからスタンバイ信号が出力されているときには、通信バス２における電位差に応じた出力を停止する機能も有している。
【００３７】
デコーダ２５は、レシーバ２２と同様に、通信バス２上の電位差を論理レベルにデコードして、コンペアロジック部２９に出力する機能を有する。コンペアロジック部２９は、デコードされた論理レベルの組み合わせが、第１メモリ〜第３メモリ２８に記憶されたコードに一致するか否かを判定する。そして、一致する場合には、コンペアロジック部２９は、上述したように、レシーバ２２を介して、ドミナント信号をマイコン４０に出力する。ＥＣＵ１１がスリープモードのとき、ドミナント信号がマイコン４０のデータ受信ポートＲＸに入力されると、マイコン４０が起動するとともに、スタンバイポートから起動信号が出力される。これにより、ＥＣＵ１１は、スリープモードから通常モードに遷移することになる。すなわち、起動信号の出力に応じて、マイコン４０のデータ送信ポートＴＸがトランスミッタ２１に接続され、かつ、レシーバ２２が、通信バス２の電位差に応じた論理レベルの信号を出力できるようになる。これにより、マイコン４０は、通信バス２を介して、各種のデータを送受信することが可能になる。
【００３８】
発振回路３０は、トランシーバ２０の各部の動作タイミングの基準となるクロックパルス信号を発生するものである。この発振回路３０は、トランシーバ２０における電力消費を低減するため、図４に示すように、スタンバイポートからスタンバイ信号が出力されている期間が一定時間を超えた場合、通信バス２におけるレベルがレセッシブである期間が一定時間を超えた場合、及びメモリコントローラ２４から信号が出力されない状態が一定時間継続した場合、停止状態となる。
【００３９】
次に、トランシーバ２０の第１メモリ２６〜第３メモリ２８に、正しいコードを記憶させるための処理について、図５〜図８のフローチャートを参照しつつ、説明する。
【００４０】
図５は、ＥＣＵ１１のイニシャル処理、及びＥＣＵ１１がスリープモードとなるときに、マイコン４０により実行される処理を示すフローチャートである。
【００４１】
まず、ステップＳ１００において、スタンバイポートからスタンバイ信号が出力される。続くステップＳ１１０において、第１メモリ２６〜第３メモリ２８にコードを書込済みであるか否かを判定する。コード書込済みと判定した場合には、図５のフローチャートに示す処理を終了する。従って、コードが書き込まれた後に、ＥＣＵ１１がスリープモードとなったときには、トランシーバ２０に対して、スタンバイ信号を出力する処理だけが実行される。
【００４２】
一方、ステップＳ１１０において、コード書込済みではない、すなわち、ＥＣＵ１１のイニシャル処理であり、コードの書き込みを行うべきときであると判定した場合には、ステップＳ１２０に進む。なお、ステップＳ１１０の判定処理では、ステップＳ１９０の処理によりメモリ書込済みであることが記憶されているか否かが判定される。ＥＣＵ１１のイニシャル処理では、このメモリ書込済みの記憶がクリアされるので、コード書込済みではないとの判定がなされる。
【００４３】
ステップＳ１２０では、データ送信ポートＴＸからコード書込要求を送信する。ステップＳ１００においてスタンバイ信号を出力しているので、切替部２３により、データ送信ポートＴＸの接続先は、メモリコントローラ２４に切り替えられている。従って、上記のコード書込要求は、メモリコントローラ２４に受信される。続くステップＳ１３０では、データ送信ポートＴＸから、第１メモリ２６〜第３メモリ２８へコードとして書き込むためのコードデータ（書込データ）を出力する。このようにして、メモリコントローラ２４は、マイコン４０から、第１メモリ２６〜第３メモリ２８へ書き込むための書込データを取得する。
【００４４】
ステップＳ１４０では、メモリコントローラ２４からコード異常通知を受信したか否かを判定する。メモリコントローラ２４は、チェックＳＵＭ等により、取得した書込データに異常（プロトコル異常）がないかどうかを判定し、なんらかの異常があると判定した場合には、コード異常を通知する。このコード異常通知を受信したと判定した場合には、ステップＳ１２０の処理に戻り、マイコン４０は、再度、コード書込要求及びコードデータを出力する。一方、ステップＳ１４０において、コード異常通知は受信していないと判定した場合、ステップＳ１５０の処理に進む。
【００４５】
ステップＳ１５０では、メモリコントローラ２４に対して、コード読出要求を送信する。このコード読出要求に応じて、メモリコントローラ２４は、第１メモリ２６〜第３メモリ２８から順番に記憶されたコードを読み出し、レシーバ２２を介して、データ受信ポートＲＸへ出力する。そのため、ステップＳ１６０では、データ受信ポートＲＸにて、メモリコントローラ２４から出力されたコードデータを受信することになる。
【００４６】
ステップＳ１７０では、ステップＳ１６０にて受信したコードデータが、ステップＳ１３０にて出力したコードデータと一致するか否かに基づき、第１メモリ２６〜第３メモリ２８に記憶されたコードの異常判定を行う。そして、ステップＳ１８０において、その判定結果が異常であるか正常であるかを判別する。このとき、判定結果が異常と判別されると、ステップＳ１２０からの処理を再度実行する。これにより、コードの書込処理が最初からやり直され、マイコン４０は、再度、コード書込要求及びコードデータを出力する。これにより、第１メモリ２６〜第３メモリ２８に記憶された異常なコードは正しいコードへと修正される。一方、判定結果が正常と判別されると、ステップＳ１９０の処理に進み、メモリ書込済みであることを記憶する。
【００４７】
次に、図６のフローチャートに示す処理について説明する。図６のフローチャートは、メモリコントローラ２４において実行される処理を示している。
【００４８】
まず、ステップＳ２００において、マイコン４０からの信号を受信したか否かを判定する。このとき、マイコン４０から信号を受信していないと判定されると、そのまま処理を終了する。従って、ＥＣＵ１１がスリープモードとなって切替部２３がスタンバイ信号により切り替えられても、その際、マイコン４０はデータ送信ポートＴＸから何らの信号も出力しないので、メモリコントローラ２４において、実質的な処理が行われることはない。一方、マイコン４０から信号を受信したと判定されると、ステップＳ２１０の処理に進む。
【００４９】
ステップＳ２１０では、受信した信号が書込要求であるか、読出要求であるかを判定する。書込要求であると判定した場合には、ステップＳ２２０に進み、マイコン４０から出力されるコードデータを受信することにより、第１メモリ２６〜第３メモリ２８へ書き込むための書込データを取得する。続くステップＳ２３０では、取得した書込データを解析して、なんらかの異常が生じていないかどうかを判定する。ステップＳ２４０にて、この判定結果が正常であると判別されると、ステップＳ２５０の処理に進み、取得した書込データを用いて、第１メモリ２６〜第３メモリ２８へ、順番に同一データを書き込む。一方、ステップＳ２４０において判定結果は異常と判別されると、ステップＳ２６０の処理に進み、マイコン４０に対して、コード異常を通知する。
【００５０】
また、ステップＳ２１０において、受信した信号は読出要求であると判定されると、ステップＳ２７０の処理に進む。ステップＳ２７０では、第１メモリ２６〜第３メモリ２８に記憶されたコードを順番に読み出す。そして、ステップＳ２８０において、順番に読みだしたコードを、レシーバ２２を介して、マイコン４０のデータ受信ポートＲＸに出力する。
【００５１】
次に、図７のフローチャートに示す処理について説明する。図７のフローチャートは、メモリコントローラ２４における割り込み処理を示している。
【００５２】
メモリコントローラ２４は、通信バス２のレベルを監視しており、ステップＳ３００では、通信バス２におけるレベルがレセッシブからドミナントに変化したか否かを判定する。この判定処理において、通信バス２のレベルがドミナントであると判定した場合には、ステップＳ３１０に進み、メモリコントローラ２４は、実行中の一切の書込処理及び読出処理を停止する。書込処理や読出処理により、データの受信が妨げられることを防止するためである。
【００５３】
なお、ＥＣＵのイニシャル処理は、各ＥＣＵでほぼ同時に実行される。このため、各ＥＣＵにおいて、正常に書込処理や読出処理が行われれば、書込処理や読出処理中に、他のＥＣＵからのドミナントを含む通信データ（通信フレーム）を受信することはない。しかし、マイコン４０やメモリコントローラ２４、あるいはそれらの接続経路になんらかの異常が生じて、繰り返し、書込処理や読出処理をやり直している場合には、そのやり直しによる書込処理や読出処理中に、書込処理や読出処理が正常に行われた他のＥＣＵからドミナントを含む通信データを受信する場合が起こり得る。この場合、第１メモリ２６〜第２メモリ２８には、正しいコードが記憶されていない可能性が非常に高い。
【００５４】
次に、図８のフローチャートに示す処理について説明する。図８のフローチャートは、コンペアロジック部２９において実行される処理を示している。
【００５５】
まず、ステップＳ４００にて、マイコン４０のスタンバイポートから出力されている信号が、スタンバイ信号か起動信号かを判定する。スタンバイ信号と判定した場合には、ステップＳ４１０の処理に進む。一方、起動信号と判定した場合には、ステップＳ４７０の処理に進む。
【００５６】
ステップＳ４１０では、第１メモリ２６〜第３メモリ２８から、記憶されたコードを読み出し、多数決処理を実行する。この多数決処理は、２つ以上のコードが一致した場合、その一致したコードが正しいコードとみなすものである。ステップＳ４２０において、多数決処理により２つ以上のコードが一致し、正しいコードが判明したと判定した場合には、ステップＳ４３０の処理に進む。一方、２つ以上のコードが一致しないと判定した場合には、正しいコードが判らないため、ステップＳ４７０の処理に進む。
【００５７】
ステップＳ４３０では、デコーダ２５の出力の有無を判定する。デコーダ出力が有る場合にはステップＳ４４０の処理に進み、デコーダ出力が無い場合にはステップＳ４１０の処理に戻る。ステップＳ４４０では、デコーダ出力と、正しいと判明したコードとを比較する。そして、ステップＳ４５０において、その比較結果が一致しているか否かを判定する。比較結果が一致したと判定された場合、通信バス２を介して、他のＥＣＵから自ノードを起動するための個別起動信号が送信されたと判断し、ステップＳ４６０に進む。一方、ステップＳ４５０にて比較結果が不一致であると判定された場合、自ノードに対する個別起動信号ではないので、ステップＳ４１０の処理に戻る。
【００５８】
ステップＳ４６０では、レシーバ２２を介して、データ受信ポートＲＸにドミナント信号を出力する。これにより、マイコン４０が起動し、スタンバイポートから起動信号を出力するようになる。その結果、ＥＣＵ１１の動作モードは、スリープモードから通常モードに遷移する。
【００５９】
また、ステップＳ４７０では、レシーバ２２が、通信バス２のレベルに応じた信号を出力できるようにする。これにより、ＥＣＵ１１が通常モードであるとき、通信バス２を介して送信されるデータ（通信フレーム）をレシーバ２２にて受信することが可能になる。さらに、第１メモリ２６〜第３メモリ２８に正しいコードが記憶されていないときにも、レシーバ２２は、通信バス２のレベルに応じた信号を出力することができるようになる。このため、何らかの異常により正しいコードが記憶されていないときには、すべての通信フレームがマイコン４０にて受信される。従って、記憶コードの異常により、受信すべき通信フレームであるにも係わらず受信不可能になる事態の発生を防止することができる。
【００６０】
なお、メモリの数が２つの場合、各メモリの記憶コードが一致すれば、正しいコードが記憶されていると判定でき、不一致であれば、正しいコードが記憶されていないと判定できる。しかし、メモリの数が１つの場合には、記憶されたコードが正しいか否かを記憶コードの比較結果から判定することはできない。また、メモリの数に係わらず、コードデータのチェックサム、パリティビット、全てのコードデータにおいて共通化されたビット（パターン）などを用いて、コードが正常か異常かを判定しても良い。
【００６１】
図９は、上述した書込処理や読出処理が行われるときの、各部の信号の変化の一例を示したタイムチャートである。
【００６２】
ＥＣＵ１１のイニシャル処理が実行されるとき、マイコン４０のスタンバイポートからスタンバイ信号が出力される。そして、マイコン４０のデータ送信ポートＴＸから書込要求が出力され、それに応じて発振回路３０が起動し、クロックパルス信号が出力される。
【００６３】
書込要求に続いて、マイコン４０は、データ送信ポートＴＸから書込データ（コードデータ）を出力する。すると、メモリコントローラ２４は、その書込データを用いて、第１メモリ２６〜第３メモリ２８にコードを記憶させるべく、書込処理を実行する。
【００６４】
この書込処理が終了すると、マイコン４０は、データ送信ポートＴＸから読出要求を出力する。すると、メモリコントローラ２４は、第１メモリ２６〜第３メモリ２８から記憶されたコードを読み出し、マイコン４０のデータ受信ポートＲＸに向けて出力する。このとき、マイコン４０は、データ受信ポートＲＸにてコードデータを受信する。メモリコントローラ２４によるコードデータの送信が終了して一定時間が経過すると、発振回路３０が停止する。
【００６５】
その後、他のＥＣＵから、自ノードを起動するための個別起動信号が送信されると、コンペアロジック部２９が、第１メモリ２６〜第３メモリ２８に記憶されたコードに基づき、それが、自ノード用の個別起動信号であると判定する。すると、コンペアロジック部２９は、マイコン４０のデータ受信ポートＲＸにドミナント信号を出力する。これにより、マイコン４０が起動し、スタンバイポートから起動信号を出力することで、ＥＣＵ１１がスリープモードから通常モードに遷移する。
【００６６】
以上、本発明の好ましい実施形態について説明したが、本発明は上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することができる。
【００６７】
例えば、上述した実施形態では、第１メモリ２６〜第３メモリ２８に記憶されたコードのリフレッシュのため、ＥＣＵのイニシャル処理時に、コードの書込処理を行う例について説明した。しかしながら、例えば、ＥＣＵの最初の電源投入時にコードの書込を行ったら、そのコードが異常とならない限り、再度の書込処理は行わなくても良い。
【００６８】
また、上述した実施形態では、切替部２３が、マイコン４６のデータ送信ポートＴＸの接続先を、トランスミッタ２１とメモリコントローラ２４とのいずれかに切り替えるものであった。しかしながら、このような接続先の切り替えを行わなくとも良い。例えば、マイコン４６のデータ送信ポートＴＸを、常時、トランスミッタ２１とメモリコントローラ２４とに接続しておいても良い。この場合、メモリコントローラ２４は、マイコン４６のスタンバイポートからスタンバイ信号が出力され、かつデータ送信ポートＴＸから書込要求が出力されたとき、その後、マイコン４６のデータ送信ポートＴＸから出力されるコードデータを用いて、コード書込処理を行えば良い。つまり、この場合、メモリコントローラ２４が、データ送信ポートＴＸからコードデータが出力されるときに、そのデータ送信ポートＴＸとメモリコントローラとを実質的に接続する役割を果たす。この際、例えば、スタンバイ信号の出力に応じてトランスミッタ２１の電源を停止しておけば、コード書込のための信号が、通信バス２に送出されることを防止することができる。
【符号の説明】
【００６９】
１…通信システム、２…通信バス、１１〜１４…通信ノード（ＥＣＵ）、２０…トランシーバ、２１…トランスミッタ、２２…レシーバ、２３…切替部、２４…メモリコントローラ、２５…デコーダ、２６…第１メモリ、２７…第２メモリ、２８…第３メモリ、２９…コンペアロジック、３０…発振回路、４０…マイコン
【図１】
2014165837.tif 000003
【図２】
2014165837.tif 000004
【図３】
2014165837.tif 000005
【図４】
2014165837.tif 000006
【図５】
2014165837.tif 000007
【図６】
2014165837.tif 000008
【図７】
2014165837.tif 000009
【図８】
2014165837.tif 000010
【図９】
2014165837.tif 000011