(57)【要約】【課題】スロットルバルブを駆動させるモータを複数制御する場合でも安価な電子制御装置を提供する。【解決手段】電子制御装置１は、ＣＰＵ１０と複数のモータ駆動回路１１〜１３とがシリアル通信が可能に接続されている。ＣＰＵ１０は、各モータ駆動回路１１〜１３ごとにモータｍ１〜ｍ３の駆動信号を作成する。駆動信号は、ＣＰＵ１０のメモリ３４に一時的に蓄積され、ＤＭＡ方式によるデータ転送により、ＣＰＵ１０の１つのポート２３から各モータ駆動回路１１〜１３に読み込まれる。各モータ駆動回路１１〜１３では、駆動信号を時系列に並べることでＰＷＭ信号を形成し、モータｍ１〜ｍ３の回転制御を行う。【選択図】図１
2011202619.tif 000002
【特許請求の範囲】
【請求項１】
エンジンの複数の気筒のそれぞれに供給される空気量を制御するスロットルバルブを回動させるモータごとに設けられ、前記モータの回転制御を行うモータ駆動回路と、
前記モータ駆動回路に前記モータを駆動させる駆動信号を、前記モータ駆動回路ごとに生成し、前記モータ駆動回路のそれぞれに通信によって供給するＣＰＵと、
を備え、
前記ＣＰＵと前記モータ駆動回路を接続する通信線は、前記ＣＰＵの１つのポートに接続され、前記モータ駆動回路のそれぞれに分岐させられる第１の通信線と、前記モータ駆動回路のそれぞれと前記ＣＰＵとの間に１本ずつ設けられ、前記モータ駆動回路が前記駆動回路を読み込むタイミングをセットするセレクト信号を送信する第２の通信線とを有する電子制御装置。
【請求項２】
前記ＣＰＵは、前記駆動信号として、前記モータの回転方向を指示する情報を含み、かつ周波数が一定のパルス信号で、前記駆動信号を時系列に並べたときに、ＰＷＭ信号が形成される信号を生成するように構成したことを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記駆動信号を含むデータフレームが周期的に書き込まれるメモリと、
前記データフレームをＤＭＡ方式によるデータ転送により前記モータ駆動回路のそれぞれに読み込ませるＤＭＡ制御部と、
を有することを特徴とする請求項１に記載の電子制御装置。
【請求項４】
前記データフレームには、前記モータ駆動回路に故障診断の実施を指令する診断信号が含まれることを特徴とする請求項３に記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に関する。
【背景技術】
【０００２】
車両には、アクセルグリップとスロットルバルブとをケーブル等で物理的に接続する代わりに、アクセルグリップの開度を電気信号としてモータに送り、モータの駆動によりスロットルバルブを駆動させるＤＢＷ（Drive By Wire）方式が用いられることがある。
【０００３】
ＤＢＷ方式に用いられる従来の電子制御装置としては、例えば、特許文献１に開示されているような制御装置があげられる。この制御装置は、運転者が操作したアクセルグリップの開度の情報と、スロットルバルブの開度の情報が入力され、モータに印加する電圧を制御するＰＷＭ（Pulse Width Modulation）信号と、モータの回転方向を規定する正逆信号とモータの駆動回路を出力するように構成されている。
ここで、モータの駆動回路には、４つのスイッチング素子を配列したＨブリッジ回路が用いられており、バッテリ側の２つのスイッチング素子にはＰＷＭ信号が入力され、アース側の２つのスイッチング素子に正逆信号が入力される。このため、制御装置からは、２つのＰＷＭ信号と、２つの正逆信号の合計４つの信号が出力される。
【０００４】
また、多気筒エンジンのそれぞれに設けられたスロットルバルブを同時に制御するＤＢＷ方式の電子制御装置としては、例えば、特許文献２に開示されているような制御装置があげられる。この制御装置では、気筒の数だけ設けられたモータのそれぞれに駆動信号を出力するように構成されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−５４４８５号公報
【特許文献２】特開２００６−７０７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、多気筒エンジンの制御を行う場合には、制御装置の出力ポートがＰＷＭ信号と正逆信号がモータの数だけ必要になる。例えば、モータをｎ個の場合には、ＰＷＭ信号が２×ｎ個、正逆信号が２×ｎ個の合計４×ｎ個の出力ポートが必要になる。このため、電子制御装置のコストを増大させる原因になっていた。
本発明は、このような事情を鑑みてなされたものであり、スロットルバルブを駆動させるモータを複数制御する場合でも安価な電子制御装置を提供する目的とする。
【課題を解決するための手段】
【０００７】
本願の一観点によれば、エンジンの複数の気筒のそれぞれに供給される空気量を制御するスロットルバルブを回動させるモータごとに設けられ、前記モータの回転制御を行うモータ駆動回路と、前記モータ駆動回路に前記モータを駆動させる駆動信号を、前記モータ駆動回路ごとに生成し、前記モータ駆動回路のそれぞれに通信によって供給するＣＰＵと、を備え、前記ＣＰＵと前記モータ駆動回路を接続する通信線は、前記ＣＰＵの１つのポートに接続され、前記モータ駆動回路のそれぞれに分岐させられる第１の通信線と、前記モータ駆動回路のそれぞれと前記ＣＰＵとの間に１本ずつ設けられ、前記モータ駆動回路が前記駆動回路を読み込むタイミングをセットするセレクト信号を送信する第２の通信線とを有する電子制御装置が提供される。
【０００８】
また、本発明の別の観点によれば、前記ＣＰＵは、前記駆動信号として、前記モータの回転方向を指示する情報を含み、かつ周波数が一定のパルス信号で、前記駆動信号を時系列に並べたときに、ＰＷＭ信号が形成される信号を生成するように構成したことを特徴とする請求項１に記載の電子制御装置が提供される。
【０００９】
さらに、本発明の別の観点によれば、前記駆動信号を含むデータフレームが周期的に書き込まれるメモリと、前記データフレームをＤＭＡ方式によるデータ転送により前記モータ駆動回路のそれぞれに読み込ませるＤＭＡ制御部と、を有することを特徴とする請求項１に記載の電子制御装置が提供される。
【００１０】
また、本発明の別の観点によれば、前記データフレームには、前記モータ駆動回路に故障診断の実施を指令する診断信号が含まれることを特徴とする請求項３に記載の電子制御装置が提供される。
【００１１】
また、本発明の別の観点によれば、請求項２に記載の電子制御装置において、前記データフレームには、前記モータ駆動回路に故障診断の実施を指令する診断信号が含まれることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ＣＰＵの１つのポートから複数のモータ駆動回路に駆動信号を送信することが可能になるので、モータ駆動装置の数が多い場合でもＣＰＵのポート数を少なく抑えられ、電子制御装置を小型化できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、電子制御装置の概略構成を示すブロック図である。
【図２】図２は、電子制御装置における動作を説明するタイミングチャートである。
【図３】図３は、モータの出力を決定する処理を説明するフローチャートである。
【図４】図４は、デューティ値と、それに対応するＰＷＭ信号を示す図である。
【発明を実施するための最良の形態】
【００１４】
本発明を実施するための形態について以下に詳細に説明する。
図１に本実施形態の電子制御装置を含む車両の駆動系の概略構成を示す。
車両の駆動系は、アクセルグリップからの開度信号が入力される電子制御装置１を有する。電子制御装置１には、制御装置であるＣＰＵ（Central Processing Unit）１０に、３つのモータ駆動回路１１、１２、１３が並列に接続されている。各モータ駆動回路１１〜１３は、バッテリ１４からの電力供給を受けて、モータｍ１、ｍ２、ｍ３に電流を流すように構成されている。モータｍ１〜ｍ３は、例えば、ステータの内部にロータが収容された構成を有し、ブラシを介してロータのコイルに電気が流れるように構成されている。
【００１５】
モータｍ１〜ｍ３ｍの回転軸には、減速機構１５を介してスロットルバルブ１６の回転軸が連結されている。スロットルバルブ１６は、図示を省略するエンジンの吸気管１７に１つずつ回動自在に支持されている。つまり、この実施の形態で、電子制御装置１が搭載される車両は、３気筒のエンジンである。各スロットルバルブ１６の開度は、スロットルバルブ１６の回転軸に連結されたスロットル開度センサ１８によって測定される。スロットル開度センサ１８の出力は、ＣＰＵ１０に入力される。
【００１６】
ＣＰＵ１０は、各モータ駆動回路１１〜１３との間でシリアル通信を行う複数のポート２１〜２６を有している。
第１のポート２１は、通信線２１Ａで各モータ駆動回路１１〜１３に接続されており、
クロック信号を各モータ駆動回路１１〜１３に出力する。クロック信号は、周期的に発生させたパルス信号であり、各モータ駆動回路１１〜１３は、このクロックデータに同期させて処理を行う。
【００１７】
第２のポート２２は、通信線２２Ａ（第１の通信線）で各モータ駆動回路１１〜１３に接続されており、モータｍ１〜ｍ３を制御するシリアルデータを各モータ駆動回路１１〜１３に出力する。第２のポート２２から出力されるシリアルデータは、モータｍ１〜ｍ３ごとに作成されるデータフレームからなる。このデータフレームには、駆動信号と診断信号とが含まれる。駆動信号は、モータｍ１〜ｍ３を駆動させる指令であって、ＰＷＭ制御を行うためにデータや、モータｍ１〜ｍ３の回転方向を示すデータが含まれる。診断信号は、モータｍ１〜ｍ３及び各モータ駆動回路１１〜１３の故障診断を行った結果をＣＰＵ１０に送るように支持するコマンドである。
【００１８】
第３のポート２３は、通信線２３Ａで各モータ駆動回路１１〜１３に接続されており、各モータ駆動回路１１〜１３から出力されたシリアルデータが入力される。第３のポート２３から入力されるシリアルデータとしては、各モータ駆動回路１１〜１３の故障診断を行った結果の情報があげられる。
【００１９】
第４、第５、第６のポート２４，２５，２６は、それぞれ、通信線２４Ａ，２５Ａ，２６Ａ（第２の通信線）で各モータ駆動回路１１〜１３に接続されており、チップセレクト用のセレクト信号を各モータ駆動回路１１〜１３に出力する。なお、セレクト信号とは、モータｍ１〜ｍ３を選択する信号である。
【００２０】
ここで、ＣＰＵ１０は、モータｍ１〜ｍ３を回転させるためのデータを作成する出力演算部３１と、診断信号の処理及びセレクト信号の作成を行う回路制御部３２と、各モータ駆動回路１１〜１３に出力する信号を作成する出力データ処理部３３とに機能分割できる。なお、出力演算部３１は、アクセルグリップの開度信号に基づいてモータ出力を演算する出力演算機能と、モータ出力に応じて駆動信号を作成する駆動信号生成機能とを有する。出力データ処理部は、駆動信号や診断信号を含むデータフレームの作成や、データフレームの書き込みのタイミングなどを制御する機能を有する。
【００２１】
また、ＣＰＵ１０は、ＤＭＡ（Direct Memory Access）を用いたデータ転送が可能に構成されている。このため、ＣＰＵ１０は、シリアル通信用のデータが一時的に置かれるバッファとして使用されるＲＡＭ（Random Access Memory）などのメモリ３４と、データ転送の制御を行うＤＭＡ制御部３５とが設けられている。なお、メモリ３４、ＤＭＡ制御部３５は、ＣＰＵ１０と別に設けることも可能である。
【００２２】
次に、モータ駆動回路１１〜１３の構成について説明する。
各モータ駆動回路１１〜１３は、ＣＰＵ１０に接続されるドライバ回路４１を有する。ドライバ回路４１は、バッテリ１４からの電力供給を受けてデータ処理を行い、Ｈブリッジ回路４２の各スイッチング素子４２Ａ〜４２Ｄに信号を出力するように構成されており、駆動信号や診断信号などを一時的に保持するモータ駆動回路メモリ４１Ａを有する。ドライバ回路４１からＨブリッジ回路４２に出力される信号としては、モータｍ１〜ｍ３に供給する電圧を制御するＰＷＭ（Plus Width Modulation）信号と、モータｍ１〜ｍ３の回転方向を決定する正逆信号があげられる。
【００２３】
各Ｈブリッジ回路４２は、４つのスイッチング素子４２Ａ〜４２Ｄがブリッジ接続された構成を有する。スイッチング素子４２Ａ〜４２Ｄには、例えば、ＭＯＳＦＥＴ（Metal-Oxide-Semiconductor Field-Effect Transistor）や、ＩＧＢＴ（絶縁ゲートバイポーラトランジスタ）が用いられている。第１、第３のスイッチング素子４２Ａ，４２Ｃのそれ
ぞれのドレインは、バッテリ１４に接続されている。第１、第３のスイッチング素子４２Ａ，４２Ｃのそれぞれのゲートは、ドライバ回路４１に接続されており、ＰＷＭ信号が入力される。さらに、第１のスイッチング素子４２Ａのソースには、第２のスイッチング素子４２Ｂのドレインとモータｍ１〜ｍ３のコイルの一端が電気的に接続されている。第３のスイッチング素子４２Ｃのソースには、第４のスイッチング素子４２Ｄのドレインとモータｍ１〜ｍ３のコイルの他端が電気的に接続されている。
【００２４】
また、第２、第４のスイッチング素子４２Ｂ，４２Ｄのそれぞれのゲートは、ドライバ回路４１に接続されており、正逆信号が入力される。第２，第４のスイッチング素子４２Ｂ，４２Ｄのそれぞれのソースは、アースに接続されている。
【００２５】
次に、この電子制御装置１を用いたスロットルバルブ１６の開度制御について説明する。
運転者が図示を省略するアクセルグリップを操作すると、アクセルグリップの開度に応じた開度信号が作成される。この開度信号は、電子制御装置１のＣＰＵ１０に入力される。ＣＰＵ１０は、出力演算部３１におけるソフトウェア処理で、モータｍ１〜ｍ３の回転を制御するデータフレームを作成する。なお、この処理は、所定周期ごとの割り込み処理として実行される。そして、ＣＰＵ１０と各モータ駆動回路１１〜１３の間で、ＤＭＡを用いたシリアル通信が行われ、モータｍ１〜ｍ３の回転制御が行われる。
【００２６】
ここで、図２を参照して、ＣＰＵ１０とモータ駆動回路１１〜１３のドライバ回路４１との間のデータのやりとりについて説明する。なお、図２の横軸は時間の経過を示す。縦軸の一番の上の「ｔ_ｉｎｔ」はＣＰＵ１０におけるソフトウェア上の処理を示し、以下、「ＤＭＡ１」はＣＰＵ１０がメモリ３４にデータを書き込む処理を示し、「ＳＰＩＡ＿ｏｕｔ」はＣＰＵ１０から各モータ駆動回路１１〜１３に出力されるデータを示す。さらに、「ＳＰＩＡ＿ｉｎ」は各モータ駆動回路１１〜１３からＣＰＵ１０に入力されるデータを示し、「ＤＭＡ２」は各モータ駆動回路１１〜１３がメモリ３４からデータを読み込む処理を示す。「ＳＳＬＡ１」、「ＳＳＬＡ２」、「ＳＳＬＡ３」は、ＣＰＵ１０から各モータ駆動回路１１〜１３に出力されるセレクト信号を示す。なお、ＣＰＵ１０からは、図示を省略するクロックデータも出力される。
【００２７】
最初に、時間ｔ０のタイミングにて、ＣＰＵ１０の出力演算部３１により算出されたモータｍ１〜ｍ３のモータ出力ＴＢＷＣＯＮＴをＣＰＵ１０のメモリ３４にセットすると共に、診断出力ＤＩＡＧをメモリ３４にセットする。
ここで、出力演算部３１の処理の一例について、図３を参照して説明する。なお、この処理は、モータｍ１〜ｍ３ごとに行われる。
まず、ステップＳ２０１で、モータ駆動回路１１〜１３に入力するＰＷＭ信号のデューティ値（％）を決定する。今回のデューティ値は、前回のデューティ値に、開度信号から定まる目標デューティを加算することで算出される。今回のデューティ値は、現在のスロットルバルブ１６の開度とスロットルバルブ１６の目標値の差が小さければ、小さいデューティ値が算出される。これに対し、現在のスロットルバルブ１６の開度とスロットルバルブ１６の目標値の差が大きいと、今回のデューティ値に大きいデューティ値が算出される。
【００２８】
続いて、デューティ値を用いてモータｍ１〜ｍ３の回転方向を決定する。まず、ステップＳ２０２において、今回のデューティ値と予め定められている正転判断閾値を比較する。デューティ値が正転判定閾値を上回っていたら（ステップＳ２０２でＹｅｓ）、今回のモータｍ１〜ｍ３の回転方向を正転に設定し（ステップＳ２０３）、デューティ値から１００（％）を引く（ステップＳ２０４）。
【００２９】
これに対し、ステップＳ２０２において、今回のデューティ値が、正転判断閾値以下であれば、ステップＳ２０５に進む。そして、今回のデューティ値が、予め定められている逆転判断閾値を下回ったら（ステップＳ２０５でＹｅｓ）、ステップＳ２０６に進んで、今回のモータｍ１〜ｍ３の回転方向を逆転に設定し、続いてステップＳ２０７でデューティ値に１００（％）を加算する。そして、ステップＳ２０５において、今回のデューティ値が、予め定められている逆転判断閾値以上であれば、ステップＳ２０８に進んで、今回の出力を停止に設定する。
【００３０】
図２に戻り説明を続けると、時間ｔ０のタイミングでは、各モータ駆動回路１１〜１３への出力であるモータ出力ＴＢＷＣＯＮＴとして、ＣＰＵ１０の出力データ処理部３３は、算出結果を含むデータフレームをモータｍ１〜ｍ３ごと、つまりモータ駆動回路１１〜１３ごとにモータ出力データフレームＴＢＷ１ＣＯＮＴ、ＴＢＷ２ＣＯＮＴ、ＴＢＷ３ＣＯＮＴを作成し、メモリ３４にセットする。さらに、診断結果出力データフレームＴＢＷ１ＤＩＡＧ、ＴＢＷ２ＤＩＡＧ、ＴＢＷ３ＤＩＡＧをセットすると共に、ＤＭＡ制御部３５に対して転送命令を指示する。
【００３１】
ここで、モータ出力データフレームＴＢＷ１ＣＯＮＴ〜ＴＢＷ３ＣＯＮＴは、各モータ駆動回路１１〜１３のＨブリッジ回路４２の駆動信号を有する。診断結果出力データフレームは、各モータ駆動回路１１〜１３の故障診断の結果を求めるものである。
【００３２】
駆動信号は、例えば、Ｈブリッジ回路４２の一方の側に配置された２つスイッチング素子４２Ａ，４２Ｂを制御する第１の信号と、Ｈブリッジ回路４２の他方の側に配置された２つのスイッチング素子４２Ｃ，４２Ｄを制御する第２の信号とから形成される。
【００３３】
具体的には、Ｈブリッジ回路４２の上側のスイッチング素子４２ＡをＯＮにし、下側のスイッチング素子４２ＢをＯＦＦにするときは、第１の信号がＨｉｇｈレベル（Ｈレベル）に設定される。これに対し、Ｈブリッジ回路４２の上側のスイッチング素子４２ＡをＯＦＦにし、下側のスイッチング素子４２ＢをＯＮにするときは、第１の信号がＬｏｗレベル（Ｌレベル）に設定される。
また、上側のスイッチング素子４２ＣをＯＮにし、下側のスイッチング素子４２ＤをＯＦＦにするには、第２の信号がＨレベルに設定される。これに対し、上側のスイッチング素子４２ＣをＯＦＦにし、下側のスイッチング素子４２ＤをＯＮにするときは、第２の信号がＬレベルに設定される。
【００３４】
例えば、図３のステップＳ２０３で、モータｍ１〜ｍ３の回転方向が正転に設定されたら、出力演算部３１は、第１の信号をＨレベルに設定し、かつ第２の信号をＬレベルに設定する。この結果、出力演算部３１は、第１の信号に「１」がセットされ、第２の信号に「０」がセットされた、「１０」の２ビットのパルス信号を駆動信号として作成する。
同様に、図３のステップＳ２０６で、モータｍ１〜ｍ３の回転方向が逆転に設定されたら、出力演算部３１は「０１」の２ビットの信号を駆動信号として作成する。
そして、図２のステップＳ２０８で、モータｍ１〜ｍ３が停止に設定されたら、出力演算部３１は駆動信号として「００」の２ビットの信号を作成する。
【００３５】
続いて、ＤＭＡ制御部３５は、時間ｔ１のタイミングでモータ出力データフレームＴＢＷ１ＣＯＮＴを第１のモータ駆動回路１１のモータ駆動回路メモリ４１Ａに転送し書き込む。同様に時間ｔ２のタイミングではモータ出力データフレームＴＢＷ２ＣＯＮＴが、時間ｔ３のタイミングではモータ出力データフレームＴＢＷ３ＣＯＮＴが、それぞれ対応するモータ駆動回路１２，１３のモータ駆動回路メモリ４１Ａに転送される。つまり、各モータ駆動回路１１〜１３のモータ駆動回路メモリ４１Ａには、モータｍ１の制御のためのモータ出力データフレームＴＢＷ１ＣＯＮＴ、モータｍ２の制御のためのモータ出力デー
タフレームＴＢＷ２ＣＯＮＴ、モータｍ３の制御のためのモータ出力データフレームＴＢＷ３ＣＯＮＴが順番に書き込まれる。さらに、その後は、この順番が繰り返され、それぞれのモータｍ１〜ｍ３用のモータ出力データフレームＴＢＷ１ＣＯＮＴ〜ＴＢＷ３ＣＯＮＴが順次、モータ駆動回路１１〜１３のモータ駆動回路メモリ４１Ａに書き込まれる。
【００３６】
さらに、時間ｔ４のタイミングからは、各モータ駆動回路１１〜１３に対して自己の診断結果を要求する診断結果出力データフレームＴＢＷＤＩＡＧの各モータ駆動回路１１〜１３のメモリ４１Ａへの転送が開始される。まず、時間ｔ４のタイミングでは、第１のモータ駆動回路１１に自己診断結果を求める診断結果出力データフレームＴＢＷ１ＤＩＡＧが第１のモータ駆動回路１１内のモータ駆動回路メモリ４１Ａに転送され、書き込みが行われる。続いて、時間ｔ５のタイミングでは、第２のモータ駆動装置１２に自己診断結果を求める診断結果出力データフレームＴＢＷ２ＤＩＡＧが第２のモータ駆動装置１２内のモータ駆動回路メモリ４１Ａに転送され、書き込みが行われる。そして、時間ｔ６のタイミングでは、第３のモータ駆動装置１３に自己診断結果を求める診断結果出力データフレームＴＢＷ３ＤＩＡＧが第３のモータ駆動装置１３内のモータ駆動回路メモリ４１Ａに転送され、書き込みが行われる。
【００３７】
なお、ここで上記した各データフレーム(ＴＢＷ１ＣＯＮＴ、ＴＢＷ２ＣＯＮＴ、ＴＢＷ３ＣＯＮＴ、ＴＢＷ１ＤＩＡＧ、ＴＢＷ２ＤＩＡＧ、ＴＢＷ３ＤＩＡＧ)の転送について補足する。これら各データフレームは、図１に示されるようにＣＰＵ１０の第１のポート２１から出力されるクロック信号に同期して、ＣＰＵ１０の第２のポート２３からシリアル通信により出力されることになるが、第１のポート２２および第２のポートから通信線が分岐されて各モータ駆動回路１１〜１３に接続されていることが分かる。
【００３８】
そこで、この実施の形態では、各モータ駆動回路１１〜１３に対して、ＣＰＵ１０にチップセレクト用のポートである第４のポート２４、第５のポート２５、第６のポート２６を備え、各ポート２４〜２６と各モータ駆動回路１１〜１３の間に通信線２４Ａ〜２６Ａを１本ずつ設けることで、モータ駆動回路１１〜１３の数が増えてもＣＰＵ１０のポート数を少なく抑えている。
【００３９】
ＣＰＵ１０の第４〜第６のポートから送信されるセレクト信号ＳＳＬ１〜ＳＳＬ３は、ＣＰＵ１０のＤＭＡ制御部３５で作成される信号であって、周期的にＨレベルとＬレベルが繰り返し表されるパルス信号である。第１のセレクト信号ＳＳＬ１は、ＣＰＵ１０のポート２４から、第１のモータ駆動回路１１に出力される。同様に、第２、第３のセレクト信号ＳＳＬ２，ＳＳＬ３は、それぞれポート２５、ポート２６から、第２のモータ駆動回路１２、第３のモータ駆動回路１３に出力される。各モータ駆動回路１１〜１３には、ＣＰＵ１０から入力されたセレクト信号ＳＳＬ１〜ＳＳＬ３のパルスが立ち下がるタイミングで、データフレームがシリアル通信により転送されることになる。
【００４０】
具体的には、モータ出力データフレームＴＢＷ１ＣＯＮＴの転送タイミングでは、時間ｔ１に示すように、セレクト信号ＳＳＬ１を立ち下げている。同様に、他の各データフレーム(ＴＢＷ２ＣＯＮＴ、ＴＢＷ３ＣＯＮＴ、ＴＢＷ１ＤＩＡＧ、ＴＢＷ２ＤＩＡＧ、ＴＢＷ３ＤＩＡＧ)の転送タイミングである時間ｔ２〜ｔ６のそれぞれにおいて、各チップセレクト信号ＳＳＬ１〜ＳＳＬ３を、データフレームを転送すべきモータ駆動回路１１〜１３に合わせて、それぞれ立ち下げている。これにより、データフレームがモータ駆動回路１１〜１３のモータ駆動回路メモリ４１Ａに転送され、書き込まれる。
【００４１】
このように各モータ駆動回路１１〜１３へのデータフレーム転送用のポートである第１のポート２１および第２のポート２２を共通化し、チップセレクトＳＳＬ１〜ＳＳＬ３を切り換えることで、確実に各モータ駆動回路１１〜１３のメモリ４１Ａへの転送が行える
。
【００４２】
そして、所定の周期Ｔにて、各モータｍ１〜ｍ３の出力が算出され、モータ出力データフレームＴＢＷ１ＣＯＮＴ〜ＴＢＷ３ＣＯＮＴがＣＰＵ１０のメモリ３４にセットされる。また、各モータ駆動回路１１〜１３に対する診断結果出力データフレームについても、同様にメモリ３４にセットされる。そして、ＤＭＡ制御部３５により各モータ駆動回路１１〜１３への転送が順次行われる。
【００４３】
このようにして、各モータ駆動回路１１〜１３に読み込まれたデータフレームに基づいて、各モータ駆動回路１１〜１３がデータ処理を行って、Ｈブリッジ回路４２の各スイッチング素子４２Ａ〜４２Ｄの開閉を制御する。
【００４４】
例えば、第１のモータ駆動回路１１がメモリ３４から読み込んだ駆動信号が「１０」であったときは、ドライバ回路４１からＨブリッジ回路４２の上側の一方のスイッチング素子４２ＡをＯＮにするＰＷＭ信号を出力し、その下のスイッチング素子４２ＢをＯＦＦにする正逆信号を出力する。さらに、Ｈブリッジ回路４２の上側の他方のスイッチング素子４２ＣをＯＦＦにするＰＷＭ信号を出力し、その下側のスイッチング素子４２ＤをＯＮにする正逆信号を出力する。その結果、電流が、上側の一方のスイッチング素子４２Ａから、モータｍ１のコイルを通り、下側の他方のスイッチング素子４２Ｄに流れ、モータｍ１が正転する。
【００４５】
これにより、モータｍ１〜ｍ３のロータに減速機構１５を介して連結されているスロットルバルブ１６がモータｍ１〜ｍ３の回転量に相当する角度が回転させられる。その結果、スロットルバルブ１６の開度が制御され、吸気管１７からエンジンに供給される空気量が調整される。
スロットルバルブ１６の開度は、スロットル開度センサ１８で検出され、ＣＰＵ１０にフィードバックされ、モータｍ１〜ｍ３のデューティ値や回転方向の決定に使用される。
【００４６】
ここで、この実施の形態におけるＰＷＭのデューティ制御の一例を図４に示す。なお、図４は、横軸が時間の経過を示し、縦軸がデューティ値を示している。ＣＰＵ１０の出力演算部３１は、所定の期間でスイッチング素子４２Ａ〜４２ＤのＯＮの時間とＯＦＦの時間の比が、算出したデューティ値になるように駆動信号を含むモータ出力データフレームを作成する。なお、図４では、モータｍ１〜ｍ３の正転時には、「０」又は「１」のＰＷＭ信号が形成され、モータｍ１〜ｍ３の逆転時には、「０」又は「−１」のＰＷＭ信号が形成される場合が示されている。
【００４７】
例えば、デューティ値が９０％では、１回目（最初の所定周期ｔ）から９回目までの駆動信号は、連続して「１」になる。続いて、１０回目で駆動信号が「０」になった後、再び駆動信号の「１」が続く。そして、２０回目、３０回目、４０回目のそれぞれで１回ずつ駆動信号が「０」になる。つまり、駆動信号が４０回取り込まれる間に、駆動信号が４回だけ「０」になり、かつ「０」の発生タイミングが略等間隔に設けられる。このように、駆動信号を所定期間、時系列に並べることで、９０％がハイレベルになるパルス信号、つまり９０％のデューティ値でモータｍ１〜ｍ３を正転させるＰＷＭ信号が形成される。
【００４８】
同様に、デューティ値が５０％のときは、４０回の信号発生に対して、駆動信号の「１」と「０」が交互に２０回ずつ繰り返される。このように、駆動信号が時系列に並べられることで、５０％のデューティ値でモータｍ１〜ｍ３を正転させるＰＷＭ信号が形成される。
さらに、モータｍ１〜ｍ３を停止させるとき、すなわちデューティ値が０％のときは、駆動信号がＬレベルのままである。
【００４９】
これに対し、モータｍ１〜ｍ３を逆転させるときのデューティ値、例えば−１０％では、駆動信号が４０回取り込まれる間に、駆動信号が「−１」になるタイミングが４回、等間隔で発生し、その間は全て「０」になる。これにより、駆動信号が時系列に並べられることで、１０％のデューティ値でモータｍ１〜ｍ３を逆転させるＰＷＭ信号が形成される。
【００５０】
なお、例えば、モータｍ１〜ｍ３の正転時にＰＷＭ信号のＯＮに相当する駆動信号は、「１０」になる。ＰＷＭ信号のＯＦＦに相当する駆動信号は、「００」になる。同様に、モータｍ１〜ｍ３の逆転時にＰＷＭ信号のＯＮに相当する駆動信号は「０１」になり、ＰＷＭ信号のＯＦＦに相当する駆動信号は「００」になる。
【００５１】
また、モータｍ１〜ｍ３の回転方向を正転から逆転に切り替えるときには、デューティ値をプラスからゼロに変化させた後、マイナスに転じさせる。これにより、モータｍ１〜ｍ３に流れる電流の向きがプラスからマイナスに変化する。また、このとき、データフレームに含まれる駆動信号は、「１０」から「００」を経て「０１」に変化する。
同様に、モータｍ１〜ｍ３の回転方向を逆転から正転に切り替えるときには、デューティ値をマイナスからゼロに変化させた後、プラスに転じさせる。これにより、モータｍ１〜ｍ３に流れる電流の向きがマイナスからプラスに変化する。また、このとき、データフレームに含まれる駆動信号は、「０１」から「００」を経て「１０」に変化する。
【００５２】
このように、所定時間ごとに得られる駆動信号が時系列に連ならせることで、ＰＷＭ信号が形成され、ＣＰＵ１０で演算されたデューティ値が実現される。そして、このように設定された、ＰＷＭ信号によりＨブリッジ回路４２のスイッチング素子４２Ａ〜４２Ｄの開閉制御が行われ、モータｍ１〜ｍ３のコイルに電流が流れる。これにより、モータｍ１〜ｍ３のロータが回転し、スロットルバルブ１６の開度が制御され、吸気管１７からエンジンに供給される空気量が調整される。
【００５３】
ここで、図２に戻り診断結果出力データフレームについて説明する。
前述したように、時間ｔ４の時点で第１のモータ駆動回路１１に対する診断結果出力データフレームＴＢＷ１ＤＩＡＧがＣＰＵ１０から出力されるが、この診断結果出力データフレームＴＢＷ１ＤＩＡＧをトリガとし、モータ駆動回路１１から前回の自己診断結果である診断出力ＤＩＡＧ１がＤＭＡ転送によりＣＰＵ１０の第３のポート２３を介して、ＣＰＵ１０内のメモリ３４へ転送される。このとき、モータ出力データフレームＴＢＷ１ＣＯＮＴ〜ＴＢＷ３ＣＯＮＴのＤＭＡ転送と同様に、チップセレクト信号ＳＳＬ１は立ち下げされることになる。同様に、診断結果出力データフレームＴＢＷ２ＤＩＡＧおよび診断結果出力データフレームＴＢＷ３ＤＩＡＧのＣＰＵ１０からの出力タイミングに同期して、前回の診断結果であるＤＩＡＧ２が時間t５の時点で、ＤＩＡＧ３が時間ｔ６の時点で、それぞれＣＰＵ１０内のメモリ３４へ転送され書き込まれる。
そして、ＣＰＵ１０の回路制御部３２は、いずれかのモータ駆動回路１１〜１３に故障が発生したことを示す信号を受け取ったら、車両の運転を停止させたり、図示を省略する警告ランプを点灯させたりする。
【００５４】
以上、説明したように、この電子制御装置１によれば、モータｍ１〜ｍ３の制御に用いる駆動信号を１つのポート２２からシリアル通信を用いて出力するように構成しているため、従来のように、制御用の信号を出力するポートがモータの数だけ必要な構成に比べて、ＣＰＵ１０のポートを減らすことができる。また、制御対象であるモータｍ１〜ｍ３の数がさらに増えた場合でも、ＣＰＵ１０ＣＰＵ１０のチップセレクト用のポートのみを追加すればよい。その結果、ポート数の増大を抑えられる。このため、ＣＰＵ１０を小型化できると共に、安価に製造できる。
【００５５】
ここで、ＣＰＵ１０がセレクト信号ＳＳＬ１〜ＳＳＬ３を出力して、各モータ駆動回路１１〜１３にデータの転送のタイミングをセットするように構成したので、モータ駆動回路１１〜１３の数が増えても、各モータ駆動回路１１〜１３にデータフレームを確実に転送させることが可能になる。
また、ＤＭＡを使用したシリアル通信で、メモリ３４と各モータ駆動回路１１〜１３が直接にデータ転送を行うようにしたので、データ転送の処理にあたりＣＰＵ１０における処理負荷が軽減される。
【００５６】
さらに、モータ駆動回路１１〜１３に周期的に読み込まれる駆動信号を時系列に並べることで、所定の周期の間でモータｍ１〜ｍ３をＰＷＭ制御するようにした。つまり、駆動信号は、周期が一定で、ＯＮ又はＯＦＦの切り替えのみが行われるパルス信号であるが、この駆動信号を複数読み込んで、所定の期間、時系列に並べたときに、パルス幅が変調するＰＷＭ信号が形成されるようにした。従来のように、スロットルバルブ１６を駆動するモータｍ１〜ｍ３のＰＷＭ制御が可能となり、結果、スロットルバルブ１６の開度制御や速度制御が精度良く行えるようになる。
【符号の説明】
【００５７】
１  電子制御装置
１０  ＣＰＵ
２１  第１のポート
２１Ａ  通信線（第１の通信線）
２４  第４のポート
２４Ａ，２５Ａ，２６Ａ  通信線（第２の通信線）
２５  第５のポート
２６  第６のポート
１１，１２，１３  モータ駆動回路
１６  スロットルバルブ
３１  出力演算部
３２  回路制御部
３３  出力データ処理部
３４  メモリ
３５  ＤＭＡ制御部
２２  第２のポート
ｍ１，ｍ２，ｍ３  モータ
ＴＢＷ１ＣＯＮＴ，ＴＢＷ２ＣＯＮＴ，ＴＢＷ３ＣＯＮＴ  モータ出力データフレーム（駆動信号）
ＴＢＷ１ＤＩＡＧ，ＴＢＷ２ＤＩＡＧ，ＴＢＷ３ＤＩＡＧ  診断結果出力データフレーム（診断信号）
【図１】
2011202619.tif 000003
【図２】
2011202619.tif 000004
【図３】
2011202619.tif 000005
【図４】
2011202619.tif 000006