(57)【要約】【課題】高速シリアル通信において通信頻度を低減する【解決手段】ＥＣＵ１は、制御信号を生成するＣＰＵ１１、タイマ１４、および入出力ポート１６と、生成された制御信号をマイクロセカンドバス（ＭＳＢ）を介してシリアル通信により送信するＭＳＢコントローラ１７と、ＭＳＢを介してＭＳＢコントローラ１７とシリアル通信可能に接続されたＭＳＢコントローラ２１とを備え、ＭＳＢコントローラ２１は、ＭＳＢコントローラ１７から制御信号を正常に受信すると、ダウンストリーム受信通知をＭＳＢコントローラ１７へ送信するとともに、受信した制御信号を外部へ出力し、ＭＳＢコントローラ１７は、制御信号の値が変化すると、変化した後の制御信号をＭＳＢコントローラ２１へ送信することを開始し、その後、ＭＳＢコントローラ２１からダウンストリーム受信通知を受信するまで、制御信号の送信を繰り返す。【選択図】図１
2014017657.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するための制御データを生成する制御部（１１，１４，１６）と、
前記制御部により生成された制御データを、通信バス（３０）を介して、シリアル通信により送信するマスタ通信部（１７）と、
前記通信バスを介して前記マスタ通信部とシリアル通信可能に接続されたスレーブ通信部（２１）とを備える電子制御装置であって、
前記スレーブ通信部は、
前記マスタ通信部から前記制御データを正常に受信すると、前記制御データを受信した旨を示す第１データ受信通知を前記マスタ通信部へ送信するとともに、受信した前記制御データを外部へ出力し、
前記マスタ通信部は、
前記制御データの値が変化すると、変化した後の前記制御データを前記スレーブ通信部へ送信することを開始し、その後、前記スレーブ通信部から前記第１データ受信通知を受信するまで、前記制御データの送信を繰り返す
ことを特徴とする電子制御装置（１）。
【請求項２】
前記スレーブ通信部は、当該電子制御装置の外部から入力した第１外部入力データを前記通信バスを介して、前記マスタ通信部へシリアル通信により送信するように構成され、
前記マスタ通信部は、
前記スレーブ通信部から前記第１外部入力データを正常に受信すると、前記第１外部入力データを受信した旨を示す第２データ受信通知を前記スレーブ通信部へ送信し、
前記スレーブ通信部は、
前記第１外部入力データの値が変化すると、変化した後の前記第１外部入力データを前記マスタ通信部へ送信することを開始し、その後、前記マスタ通信部から前記第２データ受信通知を受信するまで、前記第１外部入力データの送信を繰り返す
ことを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記制御部は、
前記制御対象を制御するための制御処理を実行することにより前記制御データを生成するＣＰＵ（１１）と、時間を計測する機能を用いて前記制御データを生成する内部タイマ（１４）とを備え、
当該電子制御装置の外部から入力した第２外部入力データを入力するとともに、前記マスタ通信部が前記スレーブ通信部から受信した前記第１外部入力データを入力し、入力した前記第１外部入力データおよび前記第２外部入力データのうち予め設定されたデータを選択して、選択したデータを前記ＣＰＵを介することなく前記内部タイマへ直接入力させる第１直接入力部（１９）を備える
ことを特徴とする請求項２に記載の電子制御装置。
【請求項４】
ＬＩＮ（Local Interconnect Network）通信を制御するとともに、前記ＬＩＮ通信で送信するためのＬＩＮ送信データを生成するＬＩＮ通信制御部（１５）と、
当該電子制御装置と当該電子制御装置の外部との間で前記ＬＩＮ通信によりデータの送受信を行うＬＩＮ通信部（２５）とを備え、
前記通信バスは、マイクロセカンドバス（Micro Second Bus）であり、
前記マスタ通信部は、
前記ＬＩＮ送信データの値が変化すると、変化した後の前記ＬＩＮ送信データを前記スレーブ通信部へ送信することを開始し、その後、前記スレーブ通信部から、前記ＬＩＮ送信データを受信した旨を示す第３データ受信通知を受信するまで、前記ＬＩＮ送信データの送信を繰り返し、
前記スレーブ通信部は、
前記マスタ通信部から前記ＬＩＮ送信データを正常に受信すると、前記第３データ受信通知を前記マスタ通信部へ送信するとともに、受信した前記ＬＩＮ送信データを前記ＬＩＮ通信部へ出力する
ことを特徴とする請求項１〜請求項３の何れか１項に記載の電子制御装置。
【請求項５】
前記スレーブ通信部は、前記ＬＩＮ通信部が当該電子制御装置の外部からＬＩＮ受信データを受信すると、受信した前記ＬＩＮ受信データを前記マスタ通信部へ送信するように構成され、
前記マスタ通信部は、
前記スレーブ通信部から前記ＬＩＮ受信データを正常に受信すると、前記ＬＩＮ受信データを受信した旨を示す第４データ受信通知を前記スレーブ通信部へ送信し、
前記スレーブ通信部は、
前記ＬＩＮ受信データの値が変化すると、変化した後の前記ＬＩＮ受信データを前記マスタ通信部へ送信することを開始し、その後、前記マスタ通信部から前記第４データ受信通知を受信するまで、前記ＬＩＮ受信データの送信を繰り返す
ことを特徴とする請求項４に記載の電子制御装置。
【請求項６】
前記マスタ通信部が前記スレーブ通信部から受信した前記ＬＩＮ受信データを入力し、入力した前記ＬＩＮ受信データを前記制御部を介することなく前記ＬＩＮ通信制御部へ直接入力させる第２直接入力部（１９）を備える
ことを特徴とする請求項５に記載の電子制御装置。
【請求項７】
前記通信バスは、マイクロセカンドバス（Micro Second Bus）であり、
前記通信バスは、
前記マスタ通信部から前記スレーブ通信部へシリアル通信を行うためのダウンストリームバス（３１）と、前記スレーブ通信部から前記マスタ通信部へシリアル通信を行うためのアップストリームバス（３２）とが２線式であり、且つ、前記アップストリームバスが、前記ダウンストリームバスの通信クロックに同期するものとして構成されている
ことを特徴とする請求項１〜請求項６の何れか１項に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信を行う電子制御装置に関する。
【背景技術】
【０００２】
従来、マイクロコンピュータと出力ドライバＩＣとの間での高速シリアル通信を可能とするマイクロセカンドバスが知られている（例えば、特許文献１を参照）。マイクロセカンドバスは、表１に示すように、マイクロコンピュータから出力ドライバＩＣへの通信経路であるダウンストリームと、出力ドライバＩＣからマイクロコンピュータへの通信経路であるアップストリームとで異なる特徴を有する。
【０００３】
【表１】
2014017657.tif 000003
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００４／０２１７３８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マイクロセカンドバスでは高速通信を高頻度で行っているため、伝導ノイズによる通信ラインへの影響、輻射ノイズによる周囲のデバイスへの影響、または消費電流の増大が懸念される。
【０００６】
本発明は、こうした問題に鑑みてなされたものであり、高速シリアル通信において通信頻度を低減することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載の電子制御装置は、制御対象を制御するための制御データを生成する制御部と、制御部により生成された制御データを、通信バスを介して、シリアル通信により送信するマスタ通信部と、通信バスを介してマスタ通信部とシリアル通信可能に接続されたスレーブ通信部とを備え、スレーブ通信部は、マスタ通信部から制御データを正常に受信すると、制御データを受信した旨を示す第１データ受信通知をマスタ通信部へ送信するとともに、受信した制御データを当該電子制御装置の外部へ出力し、マスタ通信部は、制御データの値が変化すると、変化した後の制御データをスレーブ通信部へ送信することを開始し、その後、スレーブ通信部から第１データ受信通知を受信するまで、制御データの送信を繰り返す。
【０００８】
このように構成された電子制御装置では、マスタ通信部は、制御データの値が変化すると、制御データの送信を開始し、スレーブ通信部から第１データ受信通知を受信するまで、制御データの送信を繰り返す。すなわち、マスタ通信部は、スレーブ通信部から第１データ受信通知を受信してから、次に制御データの値が変化するまでの期間は、制御データの送信を停止する。これにより、制御データの送信を停止している期間分、通信頻度を低減することができるため、シリアル通信に起因したノイズの発生および消費電流の増大を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】ＥＣＵ１の構成を示すブロック図である。
【図２】ＥＣＵ１内の信号伝送経路を示すブロック図である。
【図３】マスタ側シリアライザ処理を示すフローチャートである。
【図４】マスタ側デシリアライザ処理を示すフローチャートである。
【図５】スレーブ側シリアライザ処理を示すフローチャートである。
【図６】スレーブ側デシリアライザ処理を示すフローチャートである。
【図７】ＥＣＵ１の動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下に本発明の実施形態を図面とともに説明する。
本実施形態の電子制御装置（以下、ＥＣＵという）１は、車両に搭載され、車両のエンジン（不図示）の制御を行う。
【００１１】
ＥＣＵ１は、図１に示すように、エンジンを制御するための処理を実行するマイクロコンピュータ（以下、マイコンという）２と、マイコン２からの出力信号とマイコン２への入力信号の処理を行う入出力統合ＩＣ３とを備える。
【００１２】
マイコン２は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、タイマ１４、ＬＩＮ（Local Interconnect Network）コントローラ１５、入出力ポート１６、マイクロセカンドバス（以下、ＭＳＢという）コントローラ１７、出力信号選択器１８、および入力信号選択器１９と、これらを相互に接続するバス２０とを備える。
【００１３】
ＣＰＵ１１は、エンジンを制御するためのプログラムに基づいて処理を実行する。ＲＯＭ１２は、ＣＰＵ１１によって実行されるプログラムを格納するための不揮発性メモリである。ＲＡＭ１３は、ＣＰＵ１１の演算結果等を一時格納するための揮発性メモリである。
【００１４】
タイマ１４は、図１では１つのみ示しているが、予め設定されたオンタイミングとオフタイミングとの間でハイレベルになるパルス信号を生成して出力する機能を有するタイマ、および、入力したパルスの立ち上がり時刻から立下り時刻までの時間を計測する機能を有するタイマなど複数設けられている。
【００１５】
ＬＩＮコントローラ１５は、ＬＩＮプロトコルに従って、車両に搭載された他のＥＣＵ（不図示）との通信を制御する。入出力ポート１６は、車両の運転状態を検出する様々なセンサからの信号を入力するともに、ＣＰＵ１１による演算結果およびタイマ１４からの出力に応じて、車両に取り付けられた電気負荷（インジェクタ等）を制御するための制御信号を出力する。
【００１６】
ＭＳＢコントローラ１７は、マイコン２と入出力統合ＩＣ３との間に設けられたマイクロセカンドバス（Micro Second Bus）３０（図２を参照）を介して入出力統合ＩＣ３との間で行う高速シリアル通信を制御する。そしてＭＳＢコントローラ１７は、入力したパラレルデータをシリアルデータに変換して出力するシリアライザ１７１と、入力したシリアルデータをパラレルデータに変換して出力するデシリアライザ１７２とを備える。
【００１７】
出力信号選択器１８は、タイマ１４、ＬＩＮコントローラ１５、および入出力ポート１６から入力される信号から１つまたは複数の信号を選択して、ＭＳＢコントローラ１７のシリアライザ１７１へ信号を出力する。なお、出力信号選択器１８とタイマ１４、ＬＩＮコントローラ１５および入出力ポート１６との間は信号線を介して直接接続されており、出力信号選択器１８は、例えば信号の経路をスイッチで切り替えるのと同様の方法により、ＣＰＵ１１を介することなく、ＭＳＢコントローラ１７のシリアライザ１７１へ信号を出力する。
【００１８】
入力信号選択器１９は、入力した信号を、信号出力先としてタイマ１４、ＬＩＮコントローラ１５、および入出力ポート１６のうちの何れか１つを選択して、ＣＰＵ１１を介することなく直接出力する。なお、入力信号選択器１９とタイマ１４、ＬＩＮコントローラ１５および入出力ポート１６との間は信号線を介して直接接続されており、入力信号選択器１９は、例えば信号の経路をスイッチで切り替えるのと同様の方法により、ＣＰＵ１１を介することなく、タイマ１４、ＬＩＮコントローラ１５および入出力ポート１６へ信号を出力する。
【００１９】
次に入出力統合ＩＣ３は、マイクロセカンドバス（ＭＳＢ）コントローラ２１、駆動回路群２２、入力変換器群２３、レジスタ２４、およびＬＩＮドライバ２５を備える。
ＭＳＢコントローラ２１は、マイクロセカンドバス３０（図２を参照）を介してマイコン２との間で行う高速シリアル通信を制御する。そしてＭＳＢコントローラ２１は、入力したパラレルデータをシリアルデータに変換してＭＳＢコントローラ１７のデシリアライザ１７２へ出力するシリアライザ２１１と、ＭＳＢコントローラ１７のシリアライザ１７１から入力したシリアルデータをパラレルデータに変換して出力するデシリアライザ２１２とを備える。
【００２０】
駆動回路群２２は、複数の駆動回路で構成されており、ＭＳＢコントローラ２１のデシリアライザ２１２を介してマイコン２から入力した上記制御信号に基づいて、車両に取り付けられた電気負荷を駆動するための駆動信号を生成して出力する。図１では一例として、インジェクタ駆動回路２２１、バルブ駆動回路２２２、ヒータ駆動回路２２３、リレー駆動回路２２４、およびプリドライバ回路２２５を示している。インジェクタ駆動回路２２１は、インジェクタ（不図示）を駆動する駆動信号を生成する。またバルブ駆動回路２２２は、インジェクタへの燃料供給を調整するバルブ（不図示）を駆動する駆動信号を生成する。またヒータ駆動回路２２３は、Ｏ2センサヒータ（不図示）を駆動する駆動信号を生成する。またリレー駆動回路２２４は、メインリレー（不図示）をオン／オフする駆動信号を生成する。またプリドライバ回路２２５は、高電圧または大電流を必要とするパワー素子を駆動する駆動回路を動作させるための信号を生成する。
【００２１】
入力変換器群２３は、複数の入力変換器で構成されており、車両の運転状態を検出する様々なセンサからの信号を入力して、波形処理を行ったり、アナログのセンサ信号をデジタルデータに変換するＡ／Ｄ変換処理を行ったりする。図１では一例として、イグニッションスイッチのオン／オフを示すイグニッションスイッチ信号（ＩＧＳＷ信号）の波形処理を行う入力変換器２３１と、エンジンオイルの劣化度合いを示すオイル品質信号のＡ／Ｄ変換を行う入力変換器２３２と、Ｏ2センサヒータに異常が発生しているか否かを示すヒータモニタ信号の波形処理を行う入力変換器２３３とを示している。
【００２２】
レジスタ２４は、入出力統合ＩＣ３の設定を示す情報と、入出力統合ＩＣ３の状態を示す情報を記憶する。
ＬＩＮドライバ２５は、ＬＩＮコントローラ１５で生成された送信データを入力してＬＩＮバス（不図示）を介して外部へ送信するとともに、ＬＩＮバスを介して外部から受信した受信データをＬＩＮコントローラ１５へ出力する。
【００２３】
次に、ＥＣＵ１内での信号伝送経路を説明する。
図２に示すように、マイコン２のＭＳＢコントローラ１７と入出力統合ＩＣ３のＭＳＢコントローラ２１との間には、マイクロセカンドバス３０が設けられている。マイクロセカンドバス３０は、ダウンストリームバス３１と、アップストリームバス３２と、通信クロックバス３３と、チップセレクトバス３４とを備える。
【００２４】
ダウンストリームバス３１は、ＭＳＢコントローラ１７からＭＳＢコントローラ２１へシリアルデータを送信するためのバスであり、２線式差動電圧方式を採用している。
アップストリームバス３２は、ＭＳＢコントローラ２１からＭＳＢコントローラ１７へシリアルデータを送信するためのバスであり、２線式差動電圧方式を採用している。
【００２５】
通信クロックバス３３は、ＭＳＢコントローラ１７からＭＳＢコントローラ２１へクロック信号を送信するためのバスであり、２線式差動電圧方式を採用している。
チップセレクトバス３４は、ＭＳＢコントローラ１７からＭＳＢコントローラ２１へチップセレクト信号を送信するためのバスであり、１線式を採用している。
【００２６】
また、タイマ１４および入出力ポート１６からの出力は出力信号選択器１８に入力される（伝送経路ＴＰ０１を参照）。ＬＩＮコントローラ１５からの送信データは出力信号選択器１８に入力される（伝送経路ＴＰ０２を参照）。ＣＰＵ１１からのレジスタ読出要求（後述）は出力信号選択器１８に入力される（伝送経路ＴＰ０３を参照）。
【００２７】
出力信号選択器１８に入力したもののうち、出力信号として選択された信号は、ＭＳＢコントローラ１７のシリアライザ１７１に入力される。
また、ＭＳＢコントローラ２１のデシリアライザ２１２に入力したデータのうち、タイマ１４および入出力ポート１６から出力されたものは、駆動回路群２２に入力される（伝送経路ＴＰ０４を参照）。デシリアライザ２１２に入力したデータのうち、ＬＩＮコントローラ１５からの送信データは、ＬＩＮドライバ２５に入力される（伝送経路ＴＰ０５を参照）。デシリアライザ２１２に入力したデータのうち、ＣＰＵ１１からのレジスタ読出要求は、レジスタ２４に入力される（伝送経路ＴＰ０６を参照）。
【００２８】
また、入力変換器群２３からの出力は、ＭＳＢコントローラ２１のシリアライザ２１１に入力される（伝送経路ＴＰ０７を参照）。ＬＩＮドライバ２５からの受信データはシリアライザ２１１に入力される（伝送経路ＴＰ０８を参照）。レジスタ２４から読み出されたデータ（以下、レジスタ読出データという）は、シリアライザ２１１に入力される（伝送経路ＴＰ０９を参照）。
【００２９】
また、ＭＳＢコントローラ１７のデシリアライザ１７２に入力したデータのうち、入力変換器群２３から出力されたものとＬＩＮドライバ２５からの受信データは、入力信号選択器１９に入力される（伝送経路ＴＰ１０を参照）。デシリアライザ１７２に入力したデータのうち、レジスタ２４からのレジスタ読出データは、ＲＡＭ１３に入力される（伝送経路ＴＰ１１を参照）。
【００３０】
また入力信号選択器１９には、デシリアライザ１７２から出力されたもの以外に、マイコン２の外部からの信号（以下、外部入力信号という）が入力される（伝送経路ＴＰ１２を参照）。そして、入力信号選択器１９に入力したもののうち、入力変換器群２３からから出力されたものと上記外部入力信号は、ＣＰＵ１１を介することなく、タイマ１４および入出力ポート１６に入力される（伝送経路ＴＰ１３を参照）。入力信号選択器１９に入力したもののうち、ＬＩＮドライバ２５らの受信データは、ＣＰＵ１１を介することなく、ＬＩＮコントローラ１５に入力される（伝送経路ＴＰ１４を参照）。
【００３１】
また、ＭＳＢコントローラ１７のデシリアライザ１７２は、シリアライザ１７１へアップストリーム受信通知（後述）を出力する（伝送経路ＴＰ１５を参照）。ＭＳＢコントローラ２１のデシリアライザ２１２は、シリアライザ２１１へダウンストリーム受信通知（後述）を出力する（伝送経路ＴＰ１６を参照）。
【００３２】
次に、ＭＳＢコントローラ１７のシリアライザ１７１が実行する処理（以下、マスタ側シリアライザ処理という）の手順を説明する。このマスタ側シリアライザ処理は、マイコン２の動作中に繰り返し実行される処理である。
【００３３】
マスタ側シリアライザ処理が実行されると、シリアライザ１７１は、図３に示すように、まずＳ１０にて、ＭＳＢコントローラ２１のデシリアライザ２１２へシリアルデータを送信中であるか否かを判断する。ここで、シリアルデータを送信中でない場合には（Ｓ１０：ＮＯ）、Ｓ２０にて、出力信号選択器１８によって選択された出力の値に変化があったか否かを判断する。ここで、出力信号選択器１８によって選択された何れかの出力の値に変化があった場合には（Ｓ２０：ＹＥＳ）、Ｓ４０にて、Ｓ２０で「変化があった」と判断された出力信号を、マイクロセカンドバス３０を介して入出力統合ＩＣ３へ送信することを開始して、Ｓ９０に移行する。一方、出力信号選択器１８によって選択された全ての出力の値に変化がない場合には（Ｓ２０：ＮＯ）、Ｓ３０にて、出力信号送信の停止を継続して、Ｓ９０に移行する。
【００３４】
一方、Ｓ１０にて、シリアルデータを送信中である場合には（Ｓ１０：ＹＥＳ）、Ｓ５０にて、出力信号選択器１８によって選択された出力の値に変化があったか否かを判断する。ここで、出力信号選択器１８によって選択された何れかの出力の値に変化があった場合には（Ｓ５０：ＹＥＳ）、Ｓ８０にて、現在行っている出力信号送信を継続して、Ｓ９０に移行する。一方、出力信号選択器１８によって選択された全ての出力の値に変化がない場合には（Ｓ５０：ＮＯ）、Ｓ６０にて、入出力統合ＩＣ３からダウンストリーム受信通知（後述）を受信していないか否かを判断する。ここで、ダウンストリーム受信通知を受信していない場合には（Ｓ６０：ＹＥＳ）、Ｓ８０にて、現在行っている出力信号送信を継続して、Ｓ９０に移行する。一方、ダウンストリーム受信通知を受信した場合には（Ｓ６０：ＮＯ）、Ｓ７０にて、現在行っている出力信号送信を停止して、Ｓ９０に移行する。
【００３５】
そしてＳ９０に移行すると、レジスタ２４に記憶されているデータをマイコン２へ読み出す要求（以下、レジスタ読出要求という）がＣＰＵ１１からあるか否かを判断する。ここで、レジスタ読出要求がある場合には（Ｓ９０：ＹＥＳ）、Ｓ１００にて、レジスタ読出要求を、マイクロセカンドバス３０を介して入出力統合ＩＣ３へ送信して、Ｓ１１０に移行する。一方、レジスタ読出要求がない場合には（Ｓ９０：ＮＯ）、Ｓ１１０に移行する。
【００３６】
そしてＳ１１０に移行すると、デシリアライザ１７２からアップストリーム受信通知（後述のＳ２３０を参照）を入力したか否かを判断する。ここで、アップストリーム受信通知を入力した場合には（Ｓ１１０：ＹＥＳ）、Ｓ１２０にて、アップストリーム受信通知を、マイクロセカンドバス３０を介して入出力統合ＩＣ３へ送信して、マスタ側シリアライザ処理を一旦終了する。一方、アップストリーム受信通知を入力していない場合には（Ｓ１１０：ＮＯ）、マスタ側シリアライザ処理を一旦終了する。
【００３７】
次に、ＭＳＢコントローラ１７のデシリアライザ１７２が実行する処理（以下、マスタ側デシリアライザ処理という）の手順を説明する。このマスタ側デシリアライザ処理は、マイコン２の動作中に繰り返し実行される処理である。
【００３８】
マスタ側デシリアライザ処理が実行されると、デシリアライザ１７２は、図４に示すように、まずＳ２１０にて、マイクロセカンドバス３０を介して入出力統合ＩＣ３から受信したデータ（以下、アップストリームの受信データという）を確認する。そしてＳ２２０にて、アップストリームの受信データに異常があるか否かを判断する。ここで、アップストリームの受信データに異常がある場合には（Ｓ２２０：ＹＥＳ）、マスタ側デシリアライザ処理を一旦終了する。
【００３９】
一方、アップストリームの受信データに異常がない場合には（Ｓ２２０：ＮＯ）、Ｓ２３０にて、アップストリーム受信通知を、シリアライザ１７１へ送信し、さらにＳ２４０にて、アップストリームの受信データを、入力信号選択器１９またはＲＡＭ１３へ出力して、マスタ側デシリアライザ処理を一旦終了する。
【００４０】
次に、ＭＳＢコントローラ２１のシリアライザ２１１が実行する処理（以下、スレーブ側シリアライザ処理という）の手順を説明する。このスレーブ側シリアライザ処理は、入出力統合ＩＣ３の動作中に繰り返し実行される処理である。
【００４１】
スレーブ側シリアライザ処理が実行されると、シリアライザ２１１は、図５に示すように、まずＳ３１０にて、ＭＳＢコントローラ１７のデシリアライザ１７２へシリアルデータを送信中であるか否かを判断する。ここで、シリアルデータを送信中でない場合には（Ｓ３１０：ＮＯ）、Ｓ３２０にて、入力変換器群２３への入力の値（以下、パルス／スイッチ入力値という）に変化があったか否かを判断する。ここで、パルス／スイッチ入力値に変化があった場合には（Ｓ３２０：ＹＥＳ）、Ｓ３５０に移行する。一方、パルス／スイッチ入力値に変化がない場合には（Ｓ３２０：ＮＯ）、Ｓ３３０にて、ＬＩＮドライバ２５からの受信データの値（以下、ＬＩＮ受信データ値という）に変化があったか否かを判断する。
【００４２】
ここで、ＬＩＮ受信データ値に変化があった場合には（Ｓ３３０：ＹＥＳ）、Ｓ３５０に移行する。一方、ＬＩＮ受信データ値に変化がない場合には（Ｓ３３０：ＮＯ）、Ｓ３４０にて、入力変換器群２３へ入力した信号（以下、入力信号という）またはＬＩＮドライバ２５からの受信データ（以下、ＬＩＮ受信データという）の送信の停止を継続して、Ｓ４１０に移行する。
【００４３】
そしてＳ３５０に移行すると、Ｓ３２０またはＳ３３０で「変化があった」と判断された入力信号またはＬＩＮ受信データを、マイクロセカンドバス３０を介してマイコン２へ送信することを開始して、Ｓ４１０に移行する。
【００４４】
一方、Ｓ３１０にて、シリアルデータを送信中である場合には（Ｓ３１０：ＹＥＳ）、Ｓ３６０にて、パルス／スイッチ入力値に変化があったか否かを判断する。ここで、パルス／スイッチ入力値に変化があった場合には（Ｓ３６０：ＹＥＳ）、Ｓ４００にて、現在行っている入力信号またはＬＩＮ受信データの送信を継続して、Ｓ４１０に移行する。一方、パルス／スイッチ入力値に変化がない場合には（Ｓ３６０：ＮＯ）、Ｓ３７０にて、ＬＩＮ受信データ値に変化があったか否かを判断する。
【００４５】
ここで、ＬＩＮ受信データ値に変化があった場合には（Ｓ３７０：ＹＥＳ）、Ｓ４００にて、現在行っている入力信号またはＬＩＮ受信データの送信を継続して、Ｓ４１０に移行する。一方、ＬＩＮ受信データ値に変化がない場合には（Ｓ３７０：ＮＯ）、Ｓ３８０にて、マイコン２からアップストリーム受信通知（Ｓ１２０を参照）を受信していないか否かを判断する。ここで、アップストリーム受信通知を受信していない場合には（Ｓ３８０：ＹＥＳ）、Ｓ４００にて、現在行っている入力信号またはＬＩＮ受信データの送信を継続して、Ｓ４１０に移行する。一方、アップストリーム受信通知を受信した場合には（Ｓ３８０：ＮＯ）、Ｓ３９０にて、現在行っている入力信号またはＬＩＮ受信データの送信を停止して、Ｓ４１０に移行する。
【００４６】
そしてＳ４１０に移行すると、マイコン２からレジスタ読出要求を受信したか否かを判断する。ここで、レジスタ読出要求を受信した場合には（Ｓ４１０：ＹＥＳ）、Ｓ４２０にて、レジスタ読出データを、マイクロセカンドバス３０を介してマイコン２へ送信して、Ｓ４３０に移行する。一方、レジスタ読出要求を受信していない場合には（Ｓ４１０：ＮＯ）、Ｓ４３０に移行する。
【００４７】
そしてＳ４３０に移行すると、デシリアライザ２１２からダウンストリーム受信通知（後述のＳ５３０を参照）を入力したか否かを判断する。ここで、ダウンストリーム受信通知を入力した場合には（Ｓ４３０：ＹＥＳ）、Ｓ４４０にて、ダウンストリーム受信通知を、マイクロセカンドバス３０を介してマイコン２へ送信して、スレーブ側シリアライザ処理を一旦終了する。一方、ダウンストリーム受信通知を入力していない場合には（Ｓ４３０：ＮＯ）、スレーブ側シリアライザ処理を一旦終了する。
【００４８】
次に、ＭＳＢコントローラ２１のデシリアライザ２１２が実行する処理（以下、スレーブ側デシリアライザ処理という）の手順を説明する。このスレーブ側デシリアライザ処理は、入出力統合ＩＣ３の動作中に繰り返し実行される処理である。
【００４９】
スレーブ側デシリアライザ処理が実行されると、デシリアライザ２１２は、図６に示すように、まずＳ５１０にて、マイクロセカンドバス３０を介してマイコン２から受信したデータ（以下、ダウンストリームの受信データという）を確認する。そしてＳ５２０にて、ダウンストリームの受信データに異常があるか否かを判断する。ここで、ダウンストリームの受信データに異常がある場合には（Ｓ５２０：ＹＥＳ）、スレーブ側デシリアライザ処理を一旦終了する。
【００５０】
一方、ダウンストリームの受信データに異常がない場合には（Ｓ５２０：ＮＯ）、Ｓ５３０にて、ダウンストリーム受信通知を、シリアライザ２１１へ送信し、さらにＳ５４０にて、ダウンストリームの受信データを、駆動回路群２２、レジスタ２４、またはＬＩＮドライバ２５へ出力して、スレーブ側デシリアライザ処理を一旦終了する。
【００５１】
次に、このように構成されたＥＣＵ１の動作の一例を説明する。
まず図７に示すように、ダウンストリームバス３１を介してマイコン２から入出力統合ＩＣ３へ伝送されるデータ（以下、ダウンストリームデータという）は、通信クロックに同期して、通信周期Ｔｃ毎に送信される。同様に、アップストリームバス３２を介して入出力統合ＩＣ３からマイコン２へ伝送されるデータ（以下、アップストリームデータという）は、通信クロックに同期して、通信周期Ｔｃ毎に送信される。
【００５２】
そして、出力信号選択器１８によって選択された出力の値が変化すると（指示Ｉ１を参照）、その直近の送信開始タイミングで（時刻ｔ０１を参照）、シリアライザ１７１は、変化した出力信号選択器１８によって選択された出力の値を示すデータＶ１を含むダウンストリームデータＤＤ１を送信する。
【００５３】
その後、入出力統合ＩＣ３のデシリアライザ２１２がダウンストリームデータＤＤ１を受信すると、デシリアライザ２１２は、ダウンストリーム受信通知ＤＡ１をシリアライザ２１１へ送信する（時刻ｔ０３および矢印ＡＬ１を参照）。
【００５４】
一方、出力信号選択器１８によって選択された出力の値が変化した後であって（指示Ｉ１を参照）、シリアライザ２１１がデシリアライザ２１２からダウンストリーム受信通知ＤＡ１を受信する前に（矢印ＡＬ１を参照）、パルス／スイッチ入力値またはＬＩＮ受信データ値が変化すると（指示Ｉ２を参照）、その直近の送信開始タイミングで（時刻ｔ０２を参照）、シリアライザ２１１は、変化したパルス／スイッチ入力値またはＬＩＮ受信データ値を示すデータＶ２を含むアップストリームデータＵＤ１を送信する。なお、アップストリームデータＵＤ１には、データＶ２の他に、ダウンストリーム受信通知ＤＡ２が含まれる。
【００５５】
そして、マイコン２のデシリアライザ１７２がアップストリームデータＵＤ１を受信すると、シリアライザ１７１は、データＶ１を含むダウンストリームデータＤＤ１の送信を停止する（時刻ｔ０５および指示Ｉ３を参照）。
【００５６】
一方、マイコン２のデシリアライザ１７２が、アップストリームデータＵＤ１に含まれるデータＶ２を正常に受信することができなかったため（時刻ｔ０４および指示Ｉ４を参照）、次の送信開始タイミングで（時刻ｔ０５を参照）、マイコン２からアップストリーム受信通知が送信されない。このため、入出力統合ＩＣ３のシリアライザ２１１は、次の送信開始タイミングで（時刻ｔ０６を参照）、データＶ２を含むアップストリームデータＵＤ２を送信する。
【００５７】
そして、マイコン２のデシリアライザ１７２が、アップストリームデータＵＤ２に含まれるデータＶ２を正常に受信すると、アップストリーム受信通知ＵＡ１をシリアライザ１７１へ送信する（時刻ｔ０７および矢印ＡＬ２を参照）。これにより、その直近の送信開始タイミングで（時刻ｔ０８を参照）、シリアライザ１７１は、アップストリーム受信通知ＵＡ２を含むダウンストリームデータＤＤ２を送信する。なお、入出力統合ＩＣ３のシリアライザ２１１は、マイコン２のシリアライザ１７１によるアップストリーム受信通知ＵＡ２の送信開始タイミング（時刻ｔ０８）直後の送信開始タイミング（時刻ｔ０９）で、アップストリーム受信通知ＵＡ２を受信していない。このため、シリアライザ２１１は、この送信開始タイミング（時刻ｔ０９）で、データＶ２を含むアップストリームデータＵＤ２を再度送信する。
【００５８】
次に、出力信号選択器１８によって選択された出力の値が変化すると（指示Ｉ４を参照）、その直近の送信開始タイミングで（時刻ｔ１０を参照）、シリアライザ１７１は、変化した出力信号選択器１８によって選択された出力の値を示すデータＶ３を含むダウンストリームデータＤＤ３を送信する。なお、ダウンストリームデータＤＤ３には、データＶ３の他に、レジスタ読出要求ＲＲ１が含まれる。
【００５９】
その後、入出力統合ＩＣ３のデシリアライザ２１２がダウンストリームデータＤＤ３を受信すると、デシリアライザ２１２は、ダウンストリーム受信通知ＤＡ３をシリアライザ２１１へ送信する（時刻ｔ１２および矢印ＡＬ３を参照）。これにより、入出力統合ＩＣ３のシリアライザ２１１は、ダウンストリーム受信通知ＤＡ４を含むアップストリームデータＵＤ３を送信する（時刻ｔ１１を参照）。これにより、マイコン２のシリアライザ１７１は、次の送信開始タイミングで（時刻ｔ１３を参照）、データＶ３の送信を停止する（指示Ｉ５を参照）。但し、入出力統合ＩＣ３からレジスタ読出データを受信していないため、レジスタ読出要求ＲＲ１を含むダウンストリームデータＤＤ４を送信する。
【００６０】
そして、入出力統合ＩＣ３のシリアライザ２１１が、レジスタ読出データＲＤ１を含むアップストリームデータＵＤ４を送信し（時刻ｔ１４を参照）、マイコン２のデシリアライザ１７２が、アップストリームデータＵＤ４に含まれるレジスタ読出データＲＤ１を正常に受信すると、レジスタ読出データを受信した旨を示すアップストリーム受信通知ＵＡ３を、シリアライザ１７１へ送信する（時刻ｔ１６および矢印ＡＬ４を参照）。これにより、シリアライザ１７１は、アップストリーム受信通知ＵＡ４を含むダウンストリームデータＤＤ５を送信する（時刻ｔ１５を参照）。
【００６１】
このように構成されたＥＣＵ１は、エンジンを制御するための制御信号を生成するＣＰＵ１１、タイマ１４、および入出力ポート１６と、生成された制御信号をマイクロセカンドバス３０を介してシリアル通信により送信するＭＳＢコントローラ１７と、マイクロセカンドバス３０を介してＭＳＢコントローラ１７とシリアル通信可能に接続されたＭＳＢコントローラ２１とを備え、ＭＳＢコントローラ２１は、ＭＳＢコントローラ１７から制御信号を正常に受信すると、制御信号を受信した旨を示すダウンストリーム受信通知をＭＳＢコントローラ１７へ送信するとともに、受信した制御信号を外部へ出力し、ＭＳＢコントローラ１７は、制御信号の値（出力信号選択器１８によって選択された出力の値）が変化すると、変化した後の制御信号をＭＳＢコントローラ２１へ送信することを開始し、その後、ＭＳＢコントローラ２１からダウンストリーム受信通知を受信するまで、制御信号の送信を繰り返す。
【００６２】
すなわち、ＭＳＢコントローラ１７は、ＭＳＢコントローラ２１からダウンストリーム受信通知を受信してから、次に制御信号の値が変化するまでの期間は、制御信号の送信を停止する。これにより、制御信号の送信を停止している期間分、通信頻度を低減することができるため、シリアル通信に起因したノイズの発生および消費電流の増大を抑制することができる。なお、ＭＳＢコントローラ１７は、ダウンストリーム受信通知を受信するまで、制御信号の送信を繰り返すため、ＭＳＢコントローラ１７から送信される制御信号をＭＳＢコントローラ２１が取得し損なうという事態の発生を抑制することができる。
【００６３】
またＭＳＢコントローラ２１は、ＥＣＵ１の外部から入力変換器群２３に入力した信号（以下、第１外部入力信号という）をマイクロセカンドバス３０を介して、ＭＳＢコントローラ１７へシリアル通信により送信するように構成され、ＭＳＢコントローラ１７は、ＭＳＢコントローラ２１から第１外部入力信号を正常に受信すると、アップストリーム受信通知をＭＳＢコントローラ２１へ送信し、ＭＳＢコントローラ２１は、第１外部入力信号の値（パルス／スイッチ入力値）が変化すると、変化した後の第１外部入力信号をＭＳＢコントローラ１７へ送信することを開始し、その後、ＭＳＢコントローラ１７からアップストリーム受信通知を受信するまで、第１外部入力信号の送信を繰り返す。
【００６４】
すなわち、ＭＳＢコントローラ２１は、ＭＳＢコントローラ１７からアップストリーム受信通知を受信してから、次に外部入力信号の値が変化するまでの期間は、第１外部入力信号の送信を停止する。これにより、第１外部入力信号の送信を停止している期間分、通信頻度を低減することができるため、シリアル通信に起因したノイズの発生および消費電流の増大を抑制することができる。
【００６５】
また入力信号選択器１９は、ＥＣＵ１の外部から入力信号選択器１９に入力した外部入力信号（以下、第２外部入力信号という）を入力するとともに、ＭＳＢコントローラ１７がＭＳＢコントローラ２１から受信した第１外部入力信号を入力し、入力した第１外部入力信号および第２外部入力信号のうち予め設定された信号を選択して、選択した信号をＣＰＵ１１を介することなくタイマ１４へ直接入力させる。
【００６６】
これにより、入力した第１，２外部入力信号を、ＣＰＵ１１への負荷を掛けることなく且つリアルタイム性を損なうことなくタイマ１４へ伝達することが可能となる。
また、ＬＩＮ通信を制御するとともに、ＬＩＮ通信で送信するためのＬＩＮ送信データを生成するＬＩＮコントローラ１５と、ＥＣＵ１とＥＣＵ１の外部との間でＬＩＮ通信によりデータの送受信を行うＬＩＮドライバ２５とを備え、ＭＳＢコントローラ１７は、ＬＩＮ送信データ値が変化すると、変化した後のＬＩＮ送信データをＭＳＢコントローラ２１へ送信することを開始し、その後、ＭＳＢコントローラ２１から、ダウンストリーム受信通知を受信するまで、ＬＩＮ送信データの送信を繰り返し、ＭＳＢコントローラ２１は、ＭＳＢコントローラ１７からＬＩＮ送信データを正常に受信すると、ダウンストリーム受信通知をＭＳＢコントローラ１７へ送信するとともに、受信したＬＩＮ送信データをＬＩＮドライバ２５へ出力する。
【００６７】
さらにＭＳＢコントローラ２１は、ＬＩＮドライバ２５がＥＣＵ１の外部からＬＩＮ受信データを受信すると、受信したＬＩＮ受信データをＭＳＢコントローラ１７へ送信するように構成され、ＭＳＢコントローラ１７は、ＭＳＢコントローラ２１からＬＩＮ受信データを正常に受信すると、アップストリーム受信通知をＭＳＢコントローラ２１へ送信し、ＭＳＢコントローラ２１は、ＬＩＮ受信データ値が変化すると、変化した後のＬＩＮ受信データをＭＳＢコントローラ１７へ送信することを開始し、その後、ＭＳＢコントローラ１７からアップストリーム受信通知を受信するまで、ＬＩＮ受信データの送信を繰り返す。
【００６８】
これにより、ＭＳＢコントローラ１７とＭＳＢコントローラ２１との間でのＬＩＮ送信データおよびＬＩＮ受信データの送受信をマイクロセカンドバス３０を介して行うことができる。このため、ＬＩＮ通信用の通信バスを新たに追加することなく、マイコン２と入出力統合ＩＣ３との間でＬＩＮ送信データおよびＬＩＮ受信データの送受信を行うことができる。
【００６９】
またＭＳＢコントローラ１７は、ＭＳＢコントローラ２１からダウンストリーム受信通知を受信してから、次にＬＩＮ送信データの値が変化するまでの期間は、ＬＩＮ送信データの送信を停止する。さらにＭＳＢコントローラ２１は、ＭＳＢコントローラ１７からアップストリーム受信通知を受信してから、次にＬＩＮ受信データの値が変化するまでの期間は、ＬＩＮ受信データを停止する。これにより、ＬＩＮ送信データおよびＬＩＮ受信データの送信を停止している期間分、通信頻度を低減することができるため、シリアル通信に起因したノイズの発生および消費電流の増大を抑制することができる。
【００７０】
また入力信号選択器１９は、ＭＳＢコントローラ１７がＭＳＢコントローラ２１から受信したＬＩＮ受信データを入力し、入力したＬＩＮ受信データをＣＰＵ１１を介することなくＬＩＮコントローラ１５へ直接入力させる。
【００７１】
これにより、入力したＬＩＮ受信データを、ＣＰＵ１１への負荷を掛けることなく且つリアルタイム性を損なうことなくＬＩＮコントローラ１５へ伝達することが可能となる。
またマイクロセカンドバス３０は、ダウンストリームバス３１とアップストリームバス３２とが２線式であり、且つ、ダウンストリームバス３１が、アップストリームバス３２の通信クロックに同期するものとして構成されている。
【００７２】
これにより、ダウンストリームとアップストリームの両方で高速シリアル通信が可能となる。
なお本実施形態では、ＩＧＳＷ信号、オイル品質信号、およびヒータモニタ信号の３つの上記第１外部入力信号を入力して、これらの信号を、アップストリームバス３２を介して入出力統合ＩＣ３からマイコン２へ高速シリアル通信により送信している。すなわち、アップストリームを１線式から２線式にすることにより１本の信号線を追加することにより、レジスタ２４に記憶されているデータ（通信頻度は少ない）だけではなく、ＩＧＳＷ信号、オイル品質信号、およびヒータモニタ信号（通信頻度は多い）も、シリアル通信で送信することができる。つまり、ＩＧＳＷ信号、オイル品質信号、およびヒータモニタ信号を送信するための３本の信号線を削減が可能となる。このため、ＭＳＢコントローラ２１からＭＳＢコントローラ１７へ信号を伝送するための信号線を全体として２本削減することができる。
【００７３】
以上説明した実施形態において、ＣＰＵ１１、タイマ１４、および入出力ポート１６は本発明における制御部、ＭＳＢコントローラ１７は本発明におけるマスタ通信部、ＭＳＢコントローラ２１は本発明におけるスレーブ通信部、タイマ１４は本発明における内部タイマ、入力信号選択器１９は本発明における第１直接入力部および第２直接入力部、ＬＩＮコントローラ１５は本発明におけるＬＩＮ通信制御部、ＬＩＮドライバ２５は本発明におけるＬＩＮ通信部、ダウンストリーム受信通知は本発明における第１データ受信通知および第３データ受信通知、アップストリーム受信通知は本発明における第２データ受信通知および第４データ受信通知である。
【００７４】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
【符号の説明】
【００７５】
１…ＥＣＵ、１１…ＣＰＵ、１４…タイマ、１６…入出力ポート、１７，２１…ＭＳＢコントローラ、３０…マイクロセカンドバス
【図１】
2014017657.tif 000004
【図２】
2014017657.tif 000005
【図３】
2014017657.tif 000006
【図４】
2014017657.tif 000007
【図５】
2014017657.tif 000008
【図６】
2014017657.tif 000009
【図７】
2014017657.tif 000010