(57)【要約】【課題】データフレームの送信を遅らせることなくコマンドフレームを送信する【解決手段】ＥＣＵ１は、制御信号を生成するＣＰＵ１１およびタイマ１４と、制御信号をマイクロセカンドバス４を介してシリアル通信により送信するＭＳＢコントローラ（以下、ＭＣという）１５と、マイクロセカンドバス４を介してＭＣ１５とシリアル通信可能に接続されたＭＣ２１とを備え、ＭＣ１５は、制御信号を示すデータフレーム（以下、ＤＦという）をＭＣ２１へ送信するとともに、コマンドフレーム送信要求（以下、ＣＦ送信要求という）をＣＰＵ１１が発生させた場合に、ＣＦ送信要求に対応するコマンドフレーム（以下、ＣＦという）をＭＣ２１へ送信する。またＭＣ１５では、ＣＦ送信要求が発生したときに、ＤＦの送信中であるか否かを判断し、ＤＦの送信中である場合には、ＤＦの送信が完了するまでＣＦの送信を待機させる。【選択図】図１
2014022939.tif 000002
【特許請求の範囲】
【請求項１】
制御対象を制御するための制御データを生成する制御部（１１，１４）と、
前記制御部により生成された制御データを、通信バス（４）を介して、シリアル通信により送信する第１通信部（１５）と、
前記通信バスを介して前記第１通信部とシリアル通信可能に接続された第２通信部とを備える電子制御装置（１）であって、
前記第１通信部は、
予め設定された送信周期毎に、前記制御データを示すデータフレームを前記第２通信部へ送信するデータフレーム送信手段（Ｓ２０）と、
前記第２通信部に対して予め設定された処理の実行を指示するコマンドフレームの送信を要求するためのコマンドフレーム送信要求を前記制御部が発生させた場合に、前記コマンドフレーム送信要求に対応する前記コマンドフレームを前記第２通信部へ送信するコマンドフレーム送信手段（Ｓ８０）と、
前記コマンドフレーム送信要求が発生したときに、前記データフレームの送信中であるか否かを判断する送信判断手段（Ｓ４０）と、
前記データフレームの送信中であると前記送信判断手段が判断した場合には、送信中であると前記送信判断手段が判断した前記データフレームの送信が完了するまで、前記コマンドフレーム送信手段による前記コマンドフレームの送信を待機させる第１待機手段（Ｓ５０）と備え、
前記送信周期は、前記データフレームを送信するのに要するデータフレーム送信時間と、前記コマンドフレームを送信するのに要するコマンドフレーム送信時間との和よりも長い
ことを特徴とする電子制御装置。
【請求項２】
前記第１通信部は、
前記データフレームの送信中ではないと前記送信判断手段が判断した場合に、次の前記データフレームの送信が開始されるまでの時間であるデータフレーム送信残時間が、前記コマンドフレーム送信要求に対応して送信される前記コマンドフレームの前記コマンドフレーム送信時間より長いか否かを判断する比較手段（Ｓ６０）と、
前記データフレーム送信残時間が前記コマンドフレーム送信時間より長いと前記比較手段が判断した場合には、前記コマンドフレーム送信要求が発生した直後に前記コマンドフレーム送信手段に前記コマンドフレームを送信させ、前記データフレーム送信残時間が前記コマンドフレーム送信時間より長くないと前記比較手段が判断した場合には、次の前記データフレームの送信が完了するまで、前記コマンドフレーム送信手段による前記コマンドフレームの送信を待機させる第２待機手段（Ｓ６０，Ｓ７０）とを備える
ことを特徴とする請求項１に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信を行う電子制御装置に関する。
【背景技術】
【０００２】
マイクロセカンドバスは、シリアル通信のスタンダードとして広くパワーＡＳＩＣや多チャンネルスイッチ製品に採用されているＳＰＩ（Serial Peripheral Interface）通信に変わる通信方式として提案されている（例えば、特許文献１を参照）。
【０００３】
このマイクロセカンドバスは、データフレームとコマンドフレームを送信するように構成されている。データフレームは、予め設定された一定周期毎に到来するフレーム送信タイミングで定期的に送信される。コマンドフレームは、任意のタイミングでコマンドフレーム送信要求が発生したときに送信される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００４／０２１７３８５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、コマンドフレームの送信は、コマンドフレーム送信要求が発生した直後の上記フレーム送信タイミングで、データフレームの代わりにコマンドフレームを送信することにより行われている。すなわち、コマンドフレーム送信要求が発生していなければフレーム送信タイミングで送信されるはずであったデータフレームは送信されず、コマンドフレームの送信回数分、データフレームの送信が遅れてしまうという問題があった。
【０００６】
本発明は、こうした問題に鑑みてなされたものであり、データフレームの送信を遅らせることなくコマンドフレームを送信することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた請求項１に記載の電子制御装置は、制御対象を制御するための制御データを生成する制御部と、制御部により生成された制御データを、通信バスを介して、シリアル通信により送信する第１通信部と、通信バスを介して第１通信部とシリアル通信可能に接続された第２通信部とを備え、第１通信部では、データフレーム送信手段が、予め設定された送信周期毎に、制御データを示すデータフレームを第２通信部へ送信するとともに、コマンドフレーム送信手段が、第２通信部に対して予め設定された処理の実行を指示するコマンドフレームの送信を要求するためのコマンドフレーム送信要求を制御部が発生させた場合に、コマンドフレーム送信要求に対応するコマンドフレームを第２通信部へ送信する。
【０００８】
さらに送信周期は、データフレームを送信するのに要するデータフレーム送信時間と、コマンドフレームを送信するのに要するコマンドフレーム送信時間との和よりも長く、第１通信部では、送信判断手段が、コマンドフレーム送信要求が発生したときに、データフレームの送信中であるか否かを判断し、第１待機手段が、データフレームの送信中であると送信判断手段が判断した場合には、送信中であると送信判断手段が判断したデータフレームの送信が完了するまで、コマンドフレーム送信手段によるコマンドフレームの送信を待機させる。
【０００９】
このように構成された電子制御装置では、データフレームの送信中にコマンドフレーム送信要求が発生した場合には、このデータフレームの送信が完了した直後に、コマンドフレームの送信が開始される。このため、データフレームの代わりにコマンドフレームを送信することがなく、データフレームの送信を遅らせることなくコマンドフレームを送信することができる。
【図面の簡単な説明】
【００１０】
【図１】ＥＣＵ１の構成を示すブロック図である。
【図２】フレーム送信処理を示すフローチャートである。
【図３】コマンドフレームの送信タイミングを示すタイミングチャートである。
【発明を実施するための形態】
【００１１】
以下に本発明の実施形態を図面とともに説明する。
本実施形態の電子制御装置（以下、ＥＣＵという）１は、車両に搭載され、車両のエンジン（不図示）の制御を行う。
【００１２】
ＥＣＵ１は、図１に示すように、マイクロコンピュータ（以下、マイコンという）２と、パワーデバイス３と、マイクロセカンドバス（Micro Second Bus）４とを備える。
マイコン２は、エンジンを制御するための処理を実行し、車両に取り付けられた電気負荷（インジェクタ等）を制御するための制御信号を出力する。
【００１３】
マイコン２は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、タイマ１４、およびマイクロセカンドバス（以下、ＭＳＢという）コントローラ１５と、これらを相互に接続するバス１６とを備える。
【００１４】
ＣＰＵ１１は、エンジンを制御するためのプログラムに基づいて処理を実行する。ＲＯＭ１２は、ＣＰＵ１１によって実行されるプログラムを格納するための不揮発性メモリである。ＲＡＭ１３は、ＣＰＵ１１の演算結果等を一時格納するための揮発性メモリである。
【００１５】
タイマ１４は、図１では１つのみ示しているが、予め設定されたオンタイミングとオフタイミングとの間でハイレベルになるパルス信号を生成して出力する機能を有するタイマ、および、入力したパルスの立ち上がり時刻から立下り時刻までの時間を計測する機能を有するタイマなど複数設けられている。
【００１６】
ＭＳＢコントローラ１５は、マイコン２とパワーデバイス３との間に設けられたマイクロセカンドバス４を介してパワーデバイス３との間で行う高速シリアル通信を制御する。そしてＭＳＢコントローラ１５は、入力したパラレルデータをシリアルデータに変換して出力するシリアライザ（不図示）と、入力したシリアルデータをパラレルデータに変換して出力するデシリアライザ（不図示）とを備える。
【００１７】
次にパワーデバイス３は、マイクロセカンドバス（ＭＳＢ）コントローラ２１、駆動回路群２２、およびレジスタ２３を備える。
ＭＳＢコントローラ２１は、マイクロセカンドバス４を介してマイコン２との間で行う高速シリアル通信を制御する。そしてＭＳＢコントローラ２１は、入力したパラレルデータをシリアルデータに変換してＭＳＢコントローラ１５のデシリアライザへ出力するシリアライザ（不図示）と、ＭＳＢコントローラ１５のシリアライザから入力したシリアルデータをパラレルデータに変換して出力するデシリアライザ（不図示）とを備える。
【００１８】
駆動回路群２２は、複数の駆動回路で構成されており、ＭＳＢコントローラ２１のデシリアライザを介してマイコン２から入力した上記制御信号に基づいて、車両に取り付けられた電気負荷を駆動するための駆動信号を生成して出力する。図１では一例として、インジェクタ駆動回路２２１、バルブ駆動回路２２２、ヒータ駆動回路２２３、リレー駆動回路２２４、およびプリドライバ回路２２５を示している。インジェクタ駆動回路２２１は、インジェクタ（不図示）を駆動する駆動信号を生成する。またバルブ駆動回路２２２は、インジェクタへの燃料供給を調整するバルブ（不図示）を駆動する駆動信号を生成する。またヒータ駆動回路２２３は、Ｏ2センサヒータ（不図示）を駆動する駆動信号を生成する。またリレー駆動回路２２４は、メインリレー（不図示）をオン／オフする駆動信号を生成する。またプリドライバ回路２２５は、高電圧または大電流を必要とするパワー素子を駆動する駆動回路を動作させるための信号を生成する。
【００１９】
レジスタ２３は、パワーデバイス３の設定を示す情報と、パワーデバイス３の状態を示す情報を記憶する。
マイクロセカンドバス４は、ダウンストリームバス３１と、アップストリームバス３２と、通信クロックバス３３とを備える。
【００２０】
ダウンストリームバス３１は、ＭＳＢコントローラ１５からＭＳＢコントローラ２１へシリアルデータを送信するためのバスであり、２線式差動電圧方式を採用している。
アップストリームバス３２は、ＭＳＢコントローラ２１からＭＳＢコントローラ１５へシリアルデータを送信するためのバスであり、２線式差動電圧方式を採用している。
【００２１】
通信クロックバス３３は、ＭＳＢコントローラ１５からＭＳＢコントローラ２１へクロック信号を送信するためのバスであり、２線式差動電圧方式を採用している。
そしてマイクロセカンドバス４では、ダウンストリームバス３１およびアップストリームバス３２の両方で、通信クロックバス３３で送信される通信クロックに同期した通信が行われる。なお、マイクロセカンドバス４の最大クロック周波数は４０ＭＨｚである。また、最大の有効データは３２ｂｉｔである。
【００２２】
このように構成されたＥＣＵ１において、マイコン２は、予め設定された一定周期毎に到来するフレーム送信タイミングで定期的に、データフレームをダウンストリームバス３１を介してＭＳＢコントローラ２１へ送信する。データフレームには、上記制御信号を示すデータが含まれる。
【００２３】
またマイコン２は、ＣＰＵ１１により実行される処理により任意のタイミングでコマンドフレーム送信要求が発生したときに、コマンドフレームを、ダウンストリームバス３１を介してＭＳＢコントローラ２１へ送信する。コマンドフレームは、レジスタ２３へのリード／ライトを行う場合に使用される。
【００２４】
なお、上記一定周期内において、上記データフレームおよび上記コマンドフレームの何れも送信されていないときに送信されているフレームは、データとして無効なフレームであり、パッシブフレームという。
【００２５】
次に、ＭＳＢコントローラ１５がフレームを送信するために実行する処理（以下、フレーム送信処理という）の手順を説明する。このフレーム送信処理は、マイコン２の動作中に繰り返し実行される処理である。
【００２６】
フレーム送信処理が実行されると、ＭＳＢコントローラ１５は、図２に示すように、まずＳ１０にて、フレーム送信タイミングが到来したか否かを判断する。ここで、フレーム送信タイミングが到来していない場合には（Ｓ１０：ＮＯ）、Ｓ３０に移行する。一方、フレーム送信タイミングが到来した場合には（Ｓ１０：ＹＥＳ）、Ｓ２０にて、データフレームを送信し、Ｓ３０に移行する。
【００２７】
そしてＳ３０に移行すると、コマンドフレーム送信要求が発生したか否かを判断する。ここで、コマンドフレーム送信要求が発生していない場合には（Ｓ３０：ＮＯ）、フレーム送信処理を一旦終了する。一方、コマンドフレーム送信要求が発生した場合には（Ｓ３０：ＹＥＳ）、Ｓ４０にて、データフレームを送信中であるか否かを判断する。
【００２８】
ここで、データフレームを送信中である場合には（Ｓ４０：ＹＥＳ）、Ｓ５０にて、データフレームの送信が完了したか否かを判断する。ここで、データフレームの送信が完了していない場合には（Ｓ５０：ＮＯ）、Ｓ５０の処理を繰り返し、データフレームの送信が完了するまで待機する。一方、データフレームの送信が完了すると（Ｓ５０：ＹＥＳ）、Ｓ８０に移行する。
【００２９】
またＳ４０にて、データフレームを送信していない場合には（Ｓ４０：ＮＯ）、パッシブフレームを送信中であると判断して、Ｓ６０にて、現時点から次のフレーム送信タイミングまでの時間（以下、データフレーム送信残時間という）が、Ｓ３０で判断したコマンドフレーム送信要求に対応するコマンドフレームを送信するのに要する時間（以下、コマンドフレーム送信時間という）より長いか否かを判断する。
【００３０】
ここで、データフレーム送信残時間がコマンドフレーム送信時間より長い場合には（Ｓ６０：ＹＥＳ）、Ｓ８０に移行する。一方、データフレーム送信残時間がコマンドフレーム送信時間以下である場合には（Ｓ６０：ＮＯ）、Ｓ７０にて、次のフレーム送信タイミングで送信されるデータフレーム（以下、次のデータフレームという）の送信が完了したか否かを判断する。ここで、次のデータフレームの送信が完了していない場合には（Ｓ７０：ＮＯ）、Ｓ７０の処理を繰り返し、次のデータフレームの送信が完了するまで待機する。一方、次のデータフレームの送信が完了すると（Ｓ７０：ＹＥＳ）、Ｓ８０に移行する。
【００３１】
そしてＳ８０に移行すると、Ｓ３０で判断したコマンドフレーム送信要求に対応するコマンドフレームを送信し、フレーム送信処理を一旦終了する。
これによりＭＳＢコントローラ１５は、図３に示すように、一定周期ＴｃでデータフレームＤＦが送信される場合において、データフレームＤＦの送信中にコマンドフレーム送信要求ＴＲ１が発生すると（時刻ｔ１を参照）、データフレームの送信が完了した時点で（時刻ｔ２を参照）、コマンドフレームＣＦ１を送信する。
【００３２】
またＭＳＢコントローラ１５は、パッシブフレームＰＦの送信中にコマンドフレーム送信要求ＴＲ２が発生すると（時刻ｔ３を参照）、コマンドフレーム送信要求ＴＲ２が発生してから次のフレーム送信タイミングまでの時間（すなわち、データフレーム送信残時間）ＲＴ２が、コマンドフレーム送信要求ＴＲ２に対応するコマンドフレームＣＦ２のコマンドフレーム送信時間ＦＴ２よりも長いため、コマンドフレーム送信要求ＴＲ２が発生した時点で（時刻ｔ３を参照）、コマンドフレームＣＦ２を送信する。
【００３３】
またＭＳＢコントローラ１５は、パッシブフレームＰＦの送信中にコマンドフレーム送信要求ＴＲ３が発生すると（時刻ｔ４を参照）、コマンドフレーム送信要求ＴＲ３が発生してから次のフレーム送信タイミングまでの時間（すなわち、データフレーム送信残時間）ＲＴ３が、コマンドフレーム送信要求ＴＲ３に対応するコマンドフレームＣＦ３のコマンドフレーム送信時間ＦＴ３よりも短いため、次のフレーム送信タイミングで送信されるデータフレームの送信が完了した時点で（時刻ｔ５を参照）、コマンドフレームＣＦ３を送信する。
【００３４】
このように構成されたＥＣＵ１は、エンジンを制御するための制御信号を生成するＣＰＵ１１およびタイマ１４と、生成された制御信号をマイクロセカンドバス４を介してシリアル通信により送信するＭＳＢコントローラ１５と、マイクロセカンドバス４を介してＭＳＢコントローラ１５とシリアル通信可能に接続されたＭＳＢコントローラ２１とを備え、ＭＳＢコントローラ１５は、制御信号を示すデータフレームをＭＳＢコントローラ２１へ送信する（Ｓ２０）とともに、コマンドフレーム送信要求をＣＰＵ１１が発生させた場合に、コマンドフレーム送信要求に対応するコマンドフレームをＭＳＢコントローラ２１へ送信する（Ｓ８０）。
【００３５】
さらに一定周期は、データフレームを送信するのに要するデータフレーム送信時間と、コマンドフレームを送信するのに要するコマンドフレーム送信時間との和よりも長く、ＭＳＢコントローラ１５では、コマンドフレーム送信要求が発生したときに、データフレームの送信中であるか否かを判断し（Ｓ４０）、データフレームの送信中であると判断した場合には（Ｓ４０：ＹＥＳ）、送信中であると判断したデータフレームの送信が完了するまで、コマンドフレームの送信を待機させる（Ｓ５０）。
【００３６】
これにより、データフレームの送信中にコマンドフレーム送信要求が発生した場合には、このデータフレームの送信が完了した直後に、コマンドフレームの送信が開始される。このため、データフレームの代わりにコマンドフレームを送信することがなく、データフレームの送信を遅らせることなくコマンドフレームを送信することができる。
【００３７】
またＭＳＢコントローラ１５は、データフレームの送信中ではないと判断した場合に（Ｓ４０：ＮＯ）、データフレーム送信残時間が、コマンドフレーム送信要求に対応して送信されるコマンドフレームのコマンドフレーム送信時間より長いか否かを判断し（Ｓ６０）、データフレーム送信残時間がコマンドフレーム送信時間より長いと判断した場合には（Ｓ６０：ＹＥＳ）、コマンドフレーム送信要求が発生した直後にコマンドフレームを送信させ、データフレーム送信残時間がコマンドフレーム送信時間より長くないと判断した場合には（Ｓ６０：ＮＯ）、次のデータフレームの送信が完了するまで、コマンドフレームの送信を待機させる（Ｓ７０）。
【００３８】
これにより、データフレームの送信中でないときにコマンドフレーム送信要求が発生した場合には、コマンドフレーム送信要求の発生直後、または次のデータフレームの送信が完了した直後に、コマンドフレームの送信が開始される。このため、データフレームの代わりにコマンドフレームを送信することがなく、データフレームの送信を遅らせることなくコマンドフレームを送信することができる。
【００３９】
以上説明した実施形態において、ＣＰＵ１１およびタイマ１４は本発明における制御部、マイクロセカンドバス４は本発明における通信バス、ＭＳＢコントローラ１５は本発明における第１通信部、ＭＳＢコントローラ２１は本発明における第２通信部、Ｓ２０の処理は本発明におけるデータフレーム送信手段、Ｓ８０の処理は本発明におけるコマンドフレーム送信手段、Ｓ４０の処理は本発明における送信判断手段、Ｓ５０の処理は本発明における第１待機手段、Ｓ６０の処理は本発明における比較手段、Ｓ６０，Ｓ７０の処理は本発明における第２待機手段、一定周期は本発明における送信周期である。
【００４０】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
【符号の説明】
【００４１】
１…ＥＣＵ、４…マイクロセカンドバス、１１…ＣＰＵ、１４…タイマ、１５，２１…ＭＳＢコントローラ、
【図１】
2014022939.tif 000003
【図２】
2014022939.tif 000004
【図３】
2014022939.tif 000005