(57)【特許請求の範囲】
【請求項１】
負荷に流れる電流を駆動するための複数のトランジスタを備える第一の電子回路と、
前記複数のトランジスタに入力している時に前記複数のトランジスタを動作させる複数のパルスを生成するパルス生成回路を備える第二の電子回路と、を備え、
前記第二の電子回路は、シリアル通信を用いて前記第一の電子回路へ前記パルスの転送を行う電子制御装置において、
前記第二の電子回路は、前記複数のパルスのエッジを検出するエッジ検出回路を備え、
前記複数のパルスの転送は、前記エッジ検出回路が前記複数のパルス中の少なくとも一つのエッジを検出したときに実行されることを特徴とする電子制御装置。
【請求項２】
請求項１記載の電子制御装置において、
前記複数のパルスは複数のグループに分類されており、
前記複数のパルスの中で、前記エッジ検出回路によってエッジが検出されたパルスを含むグループを選択して転送することを特徴とする電子制御装置。
【請求項３】
請求項２記載の電子制御装置において、
前記分類は、エッジが同時に発生しないパルスを同じグループに含めることを特徴とする電子制御装置。
【請求項４】
請求項３記載の電子制御装置において、
前記パルスのシリアル転送は、同じグループに含まれる複数のパルスに番号を付け、エッジが発生したパルスの番号を二進数にエンコードし、エンコードしたデータを転送することを特徴とする電子制御装置。
【請求項５】
請求項３記載の電子制御装置において、
前記負荷は車載多気筒エンジンの気筒毎に設けられた燃料噴射用インジェクタであることを特徴とする電子制御装置。
【請求項６】
請求項３記載の電子制御装置において、
前記負荷は車載多気筒エンジンの気筒毎に設けられた燃料点火用イグナイタであることを特徴とする電子制御装置。
【請求項７】
請求項２記載の電子制御装置において、
前記第二の電子回路は、
異なるグループの転送が競合したときに、予め設定した優先度に基づいて転送を行う調停回路を備えていることを特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子制御装置に係り、特に、負荷を駆動するＩＣと、負荷を駆動するパルスを生成するＩＣの二種類のＩＣを備えたものに好適な電子制御装置に関する。
【背景技術】
【０００２】
各種制御対象が電子制御されるに従って、インジェクタ、イグナイタ、モータ、ソレノイド、リレーなどの電動アクチュエータが広く用いられるようになっている。これらの電動アクチュエータを制御する電子制御装置は、例えば特許文献１記載のように、電動アクチュエータ（負荷）を駆動する駆動ＩＣと、負荷を駆動するパルスを生成する制御用ＩＣの二種類のＩＣを用いることが一般的である。
【０００３】
近年、電子制御装置の高機能化が進み、一つの駆動ＩＣで多数の負荷を駆動するようになっている。この場合、駆動ＩＣと制御用ＩＣ間の信号数が増え、各ＩＣに多ピンのパッケージを採用したり、ＩＣを搭載するボードの配線領域を広く取る必要があるため、電子制御装置のコストおよびサイズが増大する問題がある。これに対応するため、駆動ＩＣと制御用ＩＣ間の複数のパルス信号をシリアル転送する通信規格であるMicro Second Bus（ＭＳＢ）を用い、駆動ＩＣと制御用ＩＣ間の信号数を削減することが行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３３９９７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＭＳＢによるパルスのシリアル転送では、高精度な制御のためにパルスの時間分解能を向上する場合、シリアル転送周期を短くする必要がある。この場合、パルス転送間の間隔が短く、例えばパルス転送間にＩＣ２の故障診断や各種機能の制御等を行うコマンドを送信することができないため、電子制御装置全体の信頼性が低下する問題や、本来備わっているＩＣ２の機能が制限される問題が生じる。
【０００６】
さらに、転送するパルスの本数が増えると、その分シリアル転送に時間がかかり、制御用ＩＣで生成したパルスと駆動ＩＣが負荷を駆動するタイミングがずれるため、高精度な制御ができなくなる問題がある。
【０００７】
本発明の第一の目的は、駆動ＩＣと制御用ＩＣ間のパルスのシリアル転送量を削減することにある。
【０００８】
本発明の第二の目的は、駆動ＩＣと制御用ＩＣ間のパルスのシリアル転送において、パルスの本数が増えた際でも、パルスの厳密なタイミングを確保する手段を提供することにある。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、本発明に係る電子制御装置は、負荷に流れる電流を駆動するための複数のトランジスタを備える第一の電子回路と、前記複数のトランジスタに入力している時に前記複数のトランジスタを駆動させる複数のパルスを生成するパルス生成回路を備える第二の電子回路と、を備え、前記第二の電子回路は、シリアル通信を用いて前記第一の電子回路へ前記パルスの転送を行う電子制御装置において、前記第二の電子回路は、前記複数のパルスのエッジを検出するエッジ検出回路を備え、前記複数のパルスの転送は、前記エッジ検出回路が前記複数のパルス中の少なくとも一つのエッジを検出したときに実行されることを特徴とすることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、駆動ＩＣと制御用ＩＣ間のパルスのシリアル転送において、パルスの本数が増えた際でも、パルスの厳密なタイミングを確保することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第一の実施形態による電流制御装置の構成を示すブロック図。
【図２】本発明の第一の実施形態による、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信するタイミングチャート。
【図３】本発明の第二の実施形態による電流制御装置の構成を示すブロック図。
【図４】本発明の第二の実施形態によるエンコーダ（３１）の詳細構成を示すブロック図。
【図５】調停回路（４７）が出力するＤＡＴＡ１のデータ構成。
【図６】本発明の第二の実施形態による、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信するタイミングチャート。
【図７】本発明の第三の実施形態によるエンコーダ（３１）の詳細構成を示すブロック図。
【図８】エッジ信号のエンコード表。
【図９】調停回路（７７）が出力するＤＡＴＡ１のデータ構成。
【図１０】本発明の第三の実施形態による、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信するタイミングチャート。
【図１１】本発明の第四の実施形態による電流制御装置の構成を示すブロック図。
【図１２】本発明の第四の実施形態によるエンコーダ（３１）の詳細構成を示すブロック図。
【図１３】調停回路（１２１）が出力するＤＡＴＡ１のデータ構成。
【発明を実施するための形態】
【００１２】
以下、図１、図２を用いて、本発明の第一の実施形態による電流制御装置の構成及び動作について説明する。
【実施例１】
【００１３】
最初に、図１を用いて、本実施形態による電子制御装置の構成について説明する。  
図１は、本発明の第一の実施形態による電子制御装置の構成を示すブロック図である。
【００１４】
電子制御装置は、負荷を駆動するＩＣ２（２）と、ＩＣ２（２）が負荷を駆動するタイミングを指示するパルスを生成するＩＣ１（１）を備え、ＩＣ１（１）とＩＣ２（２）は、シリアル通信線Ｓｏ（１１）を用いて接続されている。本実施例における電子制御装置は、例えば車載用の多気筒エンジンに燃料を噴射するための８本のインジェクタ１〜８、その他４本の負荷Ａ１〜４、４本の負荷Ｂ１〜４を駆動するが、パルスを用いて駆動する負荷であれば、これに限らない。
【００１５】
ＩＣ１（１）は、パルスを生成するパルス生成回路（４）、パルス幅やパルスタイミング指令、およびＩＣ診断等の各種コマンドを生成する制御部（３）、パルスのエッジを検出するエッジ検出回路（５）、ＩＣ２（２）とシリアル通信線Ｓｏ（１１）を介して通信するためのシリアルＩＦ１（６）など、主に各種のデジタル回路を備える。
【００１６】
制御部（３）は、本実施例では図示していないエンジンへの吸入空気量を検出する吸入空気量センサなど、各種センサ等の入力から、燃料噴射量演算などの制御アルゴリズムに基づきパルス幅やパルスタイミング指令を演算し、それらをパルス生成回路（４）に送信する。また、制御部（３）は、ＩＣ２（２）の故障診断や、設定変更他、必要に応じて各種コマンドを生成し、シリアルＩＦ１（６）に送信する。
【００１７】
パルス生成回路（４）は、制御部（３）から送信されたパルス幅やパルスタイミング指令に従い、例えば１６ビットのパルスを生成する。本パルスは１６ビットの信号線Ｐ１（９）を介してエッジ検出回路（５）、およびシリアルＩＦ１（６）に送信される。なお、本実施例における１６ビットのパルスは、上位ビットより８本のインジェクタ１〜８、４本の負荷Ａ１〜４、４本の負荷Ｂ１〜４にそれぞれ対応している。
【００１８】
エッジ検出回路（５）は、パルス生成回路（４）から送信された１６ビットのパルスの各ビットの立ち上がり、又は立ち下がりエッジを検出し、エッジが検出されたタイミングを、エッジ検出信号Ｅ１（１０）を介してシリアルＩＦ１（６）に送信する。
【００１９】
シリアルＩＦ１（６）は、エッジ検出回路（５）からエッジが検出されたタイミングを受信すると、パルス生成回路（４）から送信された１６ビットのパルスをシリアル変換し、シリアル通信線Ｓｏ（１１）を介してＩＣ２（２）へ送信する。また、シリアルＩＦ１（６）は、制御部（３）から送信されたコマンドを、エッジ検出を受信しない前記パルスのシリアル送信の空き時間にＩＣ２（２）へ送信する。
【００２０】
ＩＣ２（２）は、ＩＣ１（１）とシリアル通信線Ｓｏ（１１）を介して通信するためのシリアルＩＦ２（７）と、負荷を駆動するドライバ（８）を備える。
【００２１】
シリアルＩＦ２（７）は、ＩＣ１（１）から送信された１６ビットのパルスのシリアルデータをパラレルデータに変換し、１６ビットのパルスを、信号線Ｐ２（１２）を介してドライバ（８）に送信する。また、シリアルＩＦ２（７）は、ＩＣ１（１）から送信されたコマンドを受信し、本実施例では図示していないＩＣ２（２）の故障診断や、各種機能の制御を行う。
【００２２】
次に、図２を用いて、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信する動作について説明する。  
図２は、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信するタイミングチャートである。
【００２３】
本タイミングチャートは、８本のインジェクタ１〜８、４本の負荷Ａ１〜４、４本の負荷Ｂ１〜４のうち、インジェクタ１を駆動するパルスが０から１に変化した時の、１６ビットのパルスのシリアル転送例を示したものである。
【００２４】
最初にサイクル２にて、インジェクタ１を駆動するパルスＰ１［１５］が０から１に変化する。エッジ検出回路（５）は、Ｐ１［１５］の立ち上がりエッジを検出し、エッジ検出信号Ｅ１（１０）に１を出力する。
【００２５】
続くサイクル３にて、シリアルＩＦ１（６）は、エッジ検出回路（５）からのエッジ検出を受け、パルス生成回路（４）が出力している１６ビットのパルスのシリアル送信を開始する。１６ビットのパルスのシリアル送信は１６サイクルかかり、サイクル１９で最終ビットの送信が完了する。
【００２６】
サイクル２０にて、シリアルＩＦ２（７）は受信した１６ビットのパルスのシリアルデータをパラレル変換し、Ｐ２［１５］に１が出力される。
【００２７】
以上説明の通り、パルスのエッジ検出にてシリアル転送が起動されるため、パルスの変化が無い区間では、パルスのシリアル転送が発生しない。この空きサイクルを利用し、サイクル２１より、ＩＣ２（２）の故障診断や、各種機能の制御を行うための各種コマンドを送信したり、ノイズ耐性を向上するためにパルスを冗長に送信することができる。これにより、電子制御装置全体の信頼性向上や高機能化を実現することができる。
【実施例２】
【００２８】
以下、図３〜図６を用いて、本発明の第二の実施形態による電流制御装置の構成及び動作について説明する。  
最初に、図３を用いて、本実施形態による電子制御装置の構成について説明する。  
図３は、第二の実施形態による電流制御装置の構成を示すブロック図である。なお、本実施例における電子制御装置の構成は、エンコーダ（３１）、デコーダ（３２）を除き、第一の実施例と同一となるため、詳細説明は省略する。
【００２９】
エンコーダ（３１）は、パルス生成回路（４）から送信された１６ビットのパルスを、図４、図５を使って後述する方式を用いてデータ変換し、得られたデータを信号線ＤＡＴＡ１（３３）を介して、シリアルＩＦ１（６）に送信する。
【００３０】
シリアルＩＦ１（６）は、エンコーダ（３１）から有効なデータが送信されると、そのデータをシリアル変換し、シリアル通信線Ｓｏ（１１）を介してＩＣ２（２）へ送信する。また、シリアルＩＦ１（６）は、制御部（３）から送信された各種コマンドを前記パルスのシリアル送信の空き時間にＩＣ２（２）へ送信する。
【００３１】
シリアルＩＦ２（７）は、ＩＣ１（１）から送信されたシリアルデータをパラレルデータに変換し、ＤＡＴＡ２（３４）を介してデコーダ（３２）に送信する。また、シリアルＩＦ２（７）は、ＩＣ１（１）から送信されたコマンドを受信し、本実施例では図示していないＩＣ２（２）の故障診断や、各種機能の制御を行う。
【００３２】
デコーダ（３２）は、シリアルＩＦ２（７）から送られたデータを、エンコーダ（３１）と逆のデータ変換を行うことにより、１６ビットのパルスを復元し、復元されたパルスを、信号線Ｐ２（１２）を介してドライバ（８）に送信する。
【００３３】
次に、図４を用いて、エンコーダ（３１）の詳細構成について説明する。  
図４は、エンコーダ（３１）の詳細構成を示すブロック図である。
【００３４】
エンコーダ（３１）は、エッジ検出回路１（４３）、エッジ検出回路２（４２）、エッジ検出回路３（４１）、ＯＲゲート１（４６）、ＯＲゲート２（４５）、ＯＲゲート３（４４）、調停回路（４７）を備える。
【００３５】
エッジ検出回路１（４３）は、パルス生成回路（４）から送信された１６ビットのパルスのうち、０〜３ビットの立ち上がり、又は立ち下がりエッジを検出し、各ビットのエッジ検出結果をエッジ検出信号Ｅ１［３：０］の各ビットにそれぞれ出力する。ＯＲゲート１（４６）はエッジ検出信号Ｅ１［３：０］の論理和をとり、その結果をｒｅｑ１へ出力する。以上の構成から、ｒｅｑ１が“１”となる時は、パルス生成回路（４）から送信された１６ビットのパルスのうち、０〜３ビットのどれかに立ち上り、又は立ち下がりエッジが発生し、１６ビットのパルスのうち０〜３ビットの転送要求が発生したことを示す。
【００３６】
エッジ検出回路２（４２）は、パルス生成回路（４）から送信された１６ビットのパルスのうち、４〜７ビットの立ち上がり、又は立ち下がりエッジを検出し、各ビットのエッジ検出結果をエッジ検出信号Ｅ１［７：４］の各ビットにそれぞれ出力する。ＯＲゲート２（４５）はエッジ検出信号Ｅ１［７：４］の論理和をとり、その結果をｒｅｑ２へ出力する。以上の構成から、ｒｅｑ２が“１”となる時は、パルス生成回路（４）から送信された１６ビットのパルスのうち、４〜７ビットのどれかに立ち上り、又は立ち下がりエッジが発生し、１６ビットのパルスのうち４〜７ビットのパルスの転送要求が発生したことを示す。
【００３７】
エッジ検出回路３（４１）は、パルス生成回路（４）から送信された１６ビットのパルスのうち、８〜１５ビットの立ち上がり、又は立ち下がりエッジを検出し、各ビットのエッジ検出結果をエッジ検出信号Ｅ１［１５：８］の各ビットにそれぞれ出力する。ＯＲゲート３（４４）はエッジ検出信号Ｅ１［１５：８］の論理和をとり、その結果をｒｅｑ３へ出力する。以上の構成から、ｒｅｑ３が“１”となる時は、パルス生成回路（４）から送信された１６ビットのパルスのうち、８〜１５ビットのどれかに立ち上り、又は立ち下がりエッジが発生し、１６ビットのパルスのうち８〜１５ビットの転送要求が発生したことを示す。
【００３８】
調停回路（４７）は、ｒｅｑ１、ｒｅｑ２、ｒｅｑ３の各パルスの転送要求に従い、ＤＡＴＡ１を出力する。なお、ｒｅｑ１、ｒｅｑ２、ｒｅｑ３の各転送要求が競合した場合は、例えばｒｅｑ３＞ｒｅｑ２＞ｒｅｑ１の優先順位に従い転送要求を選択する。また、転送要求競合時、選択されなかった要求は、バッファに保持され、先に選択された転送が終了したのちに要求が受け付けられる。
【００３９】
図５は調停回路（４７）が出力するＤＡＴＡ１のデータ構成を示す。ＤＡＴＡ１はＴＡＧとＤＡＴＡフィールドから構成され、ｒｅｑ３選択時はＴＡＧ＝“０”、ＤＡＴＡ＝Ｐ１［１５：８］、ｒｅｑ２選択時はＴＡＧ＝“１０”、ＤＡＴＡ＝Ｐ１［７：４］、ｒｅｑ１選択時はＴＡＧ＝“１１”、ＤＡＴＡ＝Ｐ１［３：０］となる。
【００４０】
次に、図６を用いて、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信する動作について説明する。
【００４１】
図６は、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信するタイミングチャートである。
【００４２】
本タイミングチャートは、８本のインジェクタ１〜８、４本の負荷Ａ１〜４、４本の負荷Ｂ１〜４のうち、インジェクタ１を駆動するパルスが０から１に変化した時の、１６ビットのパルスのシリアル転送例を示したものである。
【００４３】
最初にサイクル２にて、インジェクタ１を駆動するパルスＰ１［１５］が０から１に変化する。エッジ検出回路３（４２）はＰ１［１５］の立ち上がりエッジ検出し、ＯＲゲート３（４４）により、１６ビットのパルスのうち８〜１５ビットの転送要求であるｒｅｑ３に１を出力する。調停回路（４７）は、図５で説明の通り、ＴＡＧ＝“０”、ＤＡＴＡ＝Ｐ１［１５：８］からなるＤＡＴＡ１を出力する。
【００４４】
続くサイクル３にて、シリアルＩＦ１（６）は、調停回路（４７）からの有効なデータ出力を受け、調停回路（４７）が出力しているＤＡＴＡ１のシリアル送信を開始する。この時シリアルで転送されるパルスのデータは、１６ビットのパルスのうち、転送が必要なＰ１［１５］を含む８〜１５ビットのみを転送するため、第一の実施例において、１６サイクルかかっていた転送が、９サイクルに短縮され、サイクル１１で最終ビットの送信が完了する。
【００４５】
続いて、サイクル１２にて、シリアルＩＦ２（７）を経由して受信したデータをエンコーダ（３１）にて復元し、Ｐ２［１５］に１が出力される。
【００４６】
以上説明の通り、１６ビットのパルスのうち、転送が必要なビットを含むパルスの組を選択してシリアル転送することから、パルスをシリアル転送する際の遅延が削減され、パルスの厳密なタイミングを確保することができる。また、転送要求のないシリアル送信の空き時間に、ＩＣ２（２）の故障診断や、各種機能の制御を行うための各種コマンドを送信したり、ノイズ耐性を向上するためにパルスを冗長に送信することができる。これにより、駆動ＩＣと制御用ＩＣ間のシリアル転送において、パルス転送以外の各種コマンド送信時間を確保し、電子制御装置全体の信頼性向上や高機能化が可能となる。
【実施例３】
【００４７】
以下、図７〜図１０を用いて、本発明の第三の実施形態による電流制御装置の構成及び動作について説明する。なお、第三の実施形態による電流制御装置の構成は、エンコーダ（３１）、デコーダ（３２）の内部構成を除き、第二の実施例と同一となるため、詳細説明は省略する。
【００４８】
最初に、図７を用いて、エンコーダ（３１）の詳細構成について説明する。  
図７は、エンコーダ（３１）の詳細構成を示すブロック図である。
【００４９】
エンコーダ（３１）は、エッジ検出回路１（４３）、エッジ検出回路２（４２）、エッジ検出回路３ｆ（７２）、エッジ検出回路３ｒ（７１）、ＯＲゲート１（４６）、ＯＲゲート２（４５）、ＯＲゲート３ｆ（７４）、ＯＲゲート３ｒ（７３）、エンコーダｆ（７６）、エンコーダｒ（７５）、調停回路（７７）から構成される。
【００５０】
エッジ検出回路１（４３）は、パルス生成回路（４）から送信された１６ビットのパルスのうち、０〜３ビットの立ち上がり、又は立ち下がりエッジを検出し、各ビットのエッジ検出結果をエッジ検出信号Ｅ１［３：０］の各ビットにそれぞれ出力する。ＯＲゲート１（４６）はエッジ検出信号Ｅ１［３：０］の論理和をとり、その結果をｒｅｑ１へ出力する。以上の構成から、ｒｅｑ１が“１”となる時は、パルス生成回路（４）から送信された１６ビットのパルスのうち、０〜３ビットのどれかに立ち上り、又は立ち下がりエッジが発生し、１６ビットのパルスのうち０〜３ビットの転送要求が発生したことを示す。
【００５１】
エッジ検出回路２（４２）は、パルス生成回路（４）から送信された１６ビットのパルスのうち、４〜７ビットの立ち上がり、又は立ち下がりエッジを検出し、各ビットのエッジ検出結果をエッジ検出信号Ｅ１［７：４］の各ビットにそれぞれ出力する。ＯＲゲート２（４５）はエッジ検出信号Ｅ１［７：４］の論理和をとり、その結果をｒｅｑ２へ出力する。以上の構成から、ｒｅｑ２が“１”となる時は、パルス生成回路（４）から送信された１６ビットのパルスのうち、４〜７ビットのどれかに立ち上り、又は立ち下がりエッジが発生し、１６ビットのパルスのうち４〜７ビットのパルスの転送要求が発生したことを示す。
【００５２】
エッジ検出回路３ｆ（７２）は、パルス生成回路（４）から送信された１６ビットのパルスのうち、８〜１５ビットの立ち下がりエッジを検出し、各ビットのエッジ検出結果をエッジ検出信号Ｅ１ｆ［１５：８］の各ビットにそれぞれ出力する。ＯＲゲート３ｆ（７４）はエッジ検出信号Ｅ１ｆ［１５：８］の論理和をとり、その結果をｒｅｑ３ｆへ出力する。以上の構成から、ｒｅｑ３ｆが“１”となる時は、パルス生成回路（４）から送信された１６ビットのパルスのうち、８〜１５ビットのどれかに立ち下がりエッジが発生し、１６ビットのパルスのうち８〜１５ビットの転送要求が発生したことを示す。
【００５３】
エッジ検出回路３ｒ（７１）は、パルス生成回路（４）から送信された１６ビットのパルスのうち、８〜１５ビットの立ち上がりエッジを検出し、各ビットのエッジ検出結果をエッジ検出信号Ｅ１ｒ［１５：８］の各ビットにそれぞれ出力する。ＯＲゲート３ｒ（７３）はエッジ検出信号Ｅ１ｒ［１５：８］の論理和をとり、その結果をｒｅｑ３ｒへ出力する。以上の構成から、ｒｅｑ３ｒが“１”となる時は、パルス生成回路（４）から送信された１６ビットのパルスのうち、８〜１５ビットのどれかに立ち上がりエッジが発生し、１６ビットのパルスのうち８〜１５ビットの転送要求が発生したことを示す。
【００５４】
エンコーダｆ（７６）は、Ｅ１ｆ［１５：８］をエンコードし、結果をＥ２ｆ［２：０］に出力する。ここで、Ｅ１ｆ［１５：８］は、インジェクタ１〜８に対応するパルスの立ち下がりエッジを示す。この立ち下がりエッジは、８本のインジェクタ１〜８を有する多気筒エンジンが１回転する周期の１／８毎のタイミングで発生し、お互いに重なることは無い。この特徴を利用すると、例えば図８の入出力表のように８ビットのＥ１ｆ［１５：８］をエンコードし３ビットまで圧縮することができる。エンコーダｒ（７５）は、Ｅ１ｒ［１５：８］をエンコードし、結果をＥ２ｒ［２：０］に出力する。ここで、Ｅ１ｒ［１５：８］はインジェクタ１〜８に対応するパルスの立ち上がりエッジを示すが、この立ち上がりエッジは、８本のインジェクタ１〜８を有する多気筒エンジンが１回転する周期の１／８毎のタイミングで発生し、お互いに重なることは無い。この特徴を利用すると、例えば図８の入出力表のように８ビットのＥ１ｆ［１５：８］をエンコードし３ビットまで圧縮することができる。
【００５５】
本実施例では、同じグループに含まれる複数のパルスに番号を付け、エッジが発生したパルスの番号を図８の入出力表のように対応付けて二進数にエンコードし、エンコードしたデータを転送するようにしている。
【００５６】
なお、インジェクタの制御だけでなく、混合気に点火を行うイグナイタなどの多気筒エンジンに同期して動作する負荷のように、システム上エッジが重ならないことが前提となる駆動パルスで、同様にシリアル転送するビット数を圧縮することができる。
【００５７】
すなわち本実施例では、エッジが重ならないことがシステム上保障されているパルスＰ１［１５：８］を一つのグループとして分類し、エッジが重ならないことがシステム上保障されていないＰ１［３：０］やＰ１［７：４］のパルスは別のグループとして分類している。これにより、パルスＰ１［１５：８］のグループでは、各パルスが取りうる出力の組み合わせパターンが限定されるため、転送ビット数を圧縮することができる。
【００５８】
調停回路（７７）は、ｒｅｑ１、ｒｅｑ２、ｒｅｑ３ｆ、ｒｅｑ３ｒの各パルスの転送要求に従い、ＤＡＴＡ１を出力する。なお、ｒｅｑ１、ｒｅｑ２、ｒｅｑ３ｆ、ｒｅｑ３ｒの各転送要求が競合した場合は、例えばｒｅｑ３ｒ＞ｒｅｑ３ｆ＞ｒｅｑ２＞ｒｅｑ１の優先順位に従い転送要求を選択する。また、転送要求競合時選択されなかった要求は、バッファに保持され、先に選択された転送が終了したのちに要求が受け付けられる。
【００５９】
図９は調停回路（７７）が出力するＤＡＴＡ１のデータ構成を示す。ＤＡＴＡ１はＴＡＧとＤＡＴＡフィールドから構成され、ｒｅｑ３ｒ選択時はＴＡＧ＝“０１”、ＤＡＴＡ＝Ｅ２ｒ［２：０］、ｒｅｑ３ｆ選択時はＴＡＧ＝“００”、ＤＡＴＡ＝Ｅ２ｆ［２：０］、ｒｅｑ２選択時はＴＡＧ＝“１０１”、ＤＡＴＡ＝Ｐ１［７：４］、ｒｅｑ１選択時はＴＡＧ＝“１００”、ＤＡＴＡ＝Ｐ１［３：０］となる。
【００６０】
次に、図１０を用いて、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信する動作について説明する。
【００６１】
図１０は、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信するタイミングチャートである。
【００６２】
本タイミングチャートは、８本のインジェクタ１〜８、４本の負荷Ａ１〜４、４本の負荷Ｂ１〜４のうち、インジェクタ１を駆動するパルスが０から１に変化した時の、１６ビットのパルスのシリアル転送例を示したものである。
【００６３】
最初にサイクル２にて、インジェクタ１を駆動するパルスＰ１［１５］が０から１に変化する。エッジ検出回路３ｒ（７１）はＰ１［１５］の立ち上がりエッジ検出し、ＯＲゲート３（４４）により、１６ビットのパルスのうち８〜１５ビットの転送要求であるｒｅｑ３に１を出力する。同時に、エンコーダｒ（７５）は、Ｅ１ｒ［１５：８］をエンコードし、結果をＥ２ｒ［２：０］に出力する。調停回路（７７）は、図９で説明の通り、ＴＡＧ＝“０１”、ＤＡＴＡ＝Ｅ２ｒ［２：０］からなるＤＡＴＡ１を出力する。
【００６４】
続くサイクル３にて、シリアルＩＦ１（６）は、調停回路（４７）からの有効なデータ出力を受け、調停回路（４７）が出力しているＤＡＴＡ１のシリアル送信を開始する。この時シリアルで転送されるパルスのデータは、１６ビットのパルスのうち、転送が必要なＰ１［１５］を含む８〜１５ビットを３ビットに圧縮したデータを転送するため、第二の実施例において、９サイクルかかっていた転送が、さらに６サイクルに短縮され、サイクル７で最終ビットの送信が完了する。
【００６５】
続いて、サイクル８にて、シリアルＩＦ２（７）を経由して受信したデータをエンコーダ（３１）にて復元し、Ｐ２［１５］に１が出力される。
【００６６】
以上説明の通り本実施例では、１６ビットのパルスのうち、転送が必要なビットを含むパルスの組を選択し、さらにデータを圧縮してシリアル転送することから、パルスをシリアル転送する際の遅延が削減され、パルスの厳密なタイミングを確保することができる。
【実施例４】
【００６７】
以下、図１１〜図１３を用いて、本発明の第四の実施形態による電流制御装置の構成について説明する。なお、第四の実施形態による電流制御装置の構成は、エンコーダ（３１）、デコーダ（３２）の内部構成を除き、第三の実施例と同一となるため、詳細説明は省略する。
【００６８】
最初に、図１１を用いて、本実施形態による電子制御装置の構成について説明する。  
本実施例における電子制御装置は、８本のソレノイド１〜８、４本の負荷Ａ１〜４、４本の負荷Ｂ１〜４を駆動する。また、本実施例における１６ビットのパルスは、上位ビットより８本のソレノイド１〜８、４本の負荷Ａ１〜４、４本の負荷Ｂ１〜４にそれぞれ対応している。
【００６９】
次に、図１２を用いて、エンコーダ（３１）の詳細構成について説明する。  
図１２は、エンコーダ（３１）の詳細構成を示すブロック図である。
【００７０】
エンコーダ（３１）は、エッジ検出回路１（４３）、エッジ検出回路２（４２）、エッジ検出回路３ｆ（７２）、エッジ検出回路３ｒ（７１）、ＯＲゲート１（４６）、ＯＲゲート２（４５）、ＯＲゲート３ｆ（７４）、ＯＲゲート３ｒ（７３）、エンコーダｒ（７５）、調停回路（１２１）から構成される。なお、本実施例におけるエンコーダ（３１）の各構成要素は、調停回路（１２１）を除き第三の実施例と同様であるため、詳細説明は省略する。
【００７１】
エンコーダｒ（７５）は、Ｅ１ｒ［１５：８］をエンコードし、結果をＥ２ｒ［２：０］に出力する。ここで、Ｅ１ｒ［１５：８］はソレノイド１〜８に対応するパルスの立ち上がりエッジを示すが、この立ち上がりエッジは、ノイズ低減のために重複を避けるように設定することが一般的である。この特徴を利用すると、図８の入出力表に従い８ビットのＥ１ｒ［１５：８］をエンコードし３ビットまで圧縮することができる。
【００７２】
調停回路（１２１）は、ｒｅｑ１、ｒｅｑ２、ｒｅｑ３ｆ、ｒｅｑ３ｒの各パルスの転送要求に従い、ＤＡＴＡ１を出力する。なお、ｒｅｑ１、ｒｅｑ２、ｒｅｑ３ｆ、ｒｅｑ３ｒの各転送要求が競合した場合は、ｒｅｑ３ｒ＞ｒｅｑ３ｆ＞ｒｅｑ２＞ｒｅｑ１の優先順位に従い転送要求を選択する。また、転送要求競合時選択されなかった要求は、バッファに保持され、先に選択された転送が終了したのちに要求が受け付けられる。
【００７３】
図１３は調停回路（１２１）が出力するＤＡＴＡ１のデータ構成を示す。ＤＡＴＡ１はＴＡＧとＤＡＴＡフィールドから構成され、ｒｅｑ３ｒ選択時はＴＡＧ＝“０１”、ＤＡＴＡ＝Ｅ２ｒ［２：０］、ｒｅｑ３ｆ選択時はＴＡＧ＝“００”、ＤＡＴＡ＝Ｐ１［１５：８］、ｒｅｑ２選択時はＴＡＧ＝“１０１”、ＤＡＴＡ＝Ｐ１［７：４］、ｒｅｑ１選択時はＴＡＧ＝“１００”、ＤＡＴＡ＝Ｐ１［３：０］となる。
【００７４】
なお、ＩＣ１（１）からＩＣ２（２）へ、１６ビットのパルスをシリアル送信する動作については第三の実施例と同一となるため詳細説明は省略する。
【００７５】
以上説明の通り、１６ビットのパルスのうち、転送が必要なビットを含むパルスの組を選択し、さらにデータを圧縮してシリアル転送することから、パルスをシリアル転送する際の遅延が削減され、パルスの厳密なタイミングを確保することができる。
【符号の説明】
【００７６】
１  ＩＣ１
２  ＩＣ２
３  制御部
４  パルス生成回路
５  エッジ検出回路
６  シリアルＩＦ１
７  シリアルＩＦ２
８  ドライバ
【図１】
0005852914.tif 000002
【図２】
0005852914.tif 000003
【図３】
0005852914.tif 000004
【図４】
0005852914.tif 000005
【図５】
0005852914.tif 000006
【図６】
0005852914.tif 000007
【図７】
0005852914.tif 000008
【図８】
0005852914.tif 000009
【図９】
0005852914.tif 000010
【図１０】
0005852914.tif 000011
【図１１】
0005852914.tif 000012
【図１２】
0005852914.tif 000013
【図１３】
0005852914.tif 000014