(57)【要約】【課題】  Ａ／Ｄ変換によりＣＰＵに発生するＡ／Ｄ変換待ち処理をなくし、ＣＰＵ負荷を削減する手法を提供する。Ａ／Ｄ変換には通常十数μｓの時間を要するが、ＣＰＵは、Ａ／Ｄ変換終了後に結果をＲＡＭに格納するため、Ａ／Ｄ変換終了を待つ必要があり、この間他処理を実行できない。公知例では、マルチ制御部を新設することで、Ａ／Ｄ変換終了を待たなくて済むとしているが、指定されたタイミングで最新のＡ／Ｄ値が必要な場合、やはり待ち時間が必要となる。そのため、Ａ／Ｄ変換実行中は他の処理が実行できず、変換が終了するまで待たなくてはならないという課題がある。【解決手段】  検出データ間隔を計測し、間隔時間に基づきＡ／Ｄ変換開始時期を変更することによって、Ａ／Ｄ値を必要とするタイミングでは既にＡ／Ｄ変換が終了している状態とする。これによりＡ／Ｄ変換終了を待つ必要がなくなり、ＣＰＵに掛かる負荷を削減することができる。【選択図】図３
2010093662.tif 000002
【特許請求の範囲】
【請求項１】
制御に必要なデータをアナログ信号として検出する検出手段と、
前記検出手段で検出されたアナログ信号をデジタル値に変換するＡ／Ｄ変換手段と、
Ａ／Ｄ変換結果を所定のレジスタに格納する変換結果格納手段を備え、
予め定義されたタイミング毎にアナログ信号のＡ／Ｄ変換結果を取得する場合において、前記Ａ／Ｄ変換手段の実行タイミングの間隔に応じて前記Ａ／Ｄ変換手段の実行タイミングを変更すること、
を特徴とする電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサが検出したアナログ信号をデジタル信号に変換するＡ／Ｄ変換器を備える自動車等の電子制御装置に関する。
【背景技術】
【０００２】
自動車等の電子制御装置に用いるマイクロコンピュータのＡ／Ｄ変換器では、Ａ／Ｄ変換するアナログ信号を入力してその電圧をホールドし、この入力電圧とＡ／Ｄ変換器内の複数の基準電圧を逐次比較してゆき、デジタル信号に変換する。Ａ／Ｄ変換器においては、変換精度は複数の基準電圧との比較回数に比例するので、比較回数の多い方が精度は良くなるが、その反面Ａ／Ｄ変換に掛かる時間が長くなる欠点もある。
【０００３】
自動車等のエンジン制御を行う電子制御装置では、センサが検出したアナログ信号を精度良くデジタル信号に変換して入力し、かつ高速で演算して諸種の制御を行わなければならないため、高精度かつ高速にＡ／Ｄ変換の結果を得る必要がある。一方、電子制御装置のＣＰＵは、絶えず諸種の制御が必要なため、高速かつ高精度な演算が必要であり、演算の実行時間を短縮する工夫が必要である。Ａ／Ｄ変換実行後に即Ａ／Ｄ変換結果を使用した演算を行う場合、ＣＰＵはＡ／Ｄ変換が終了するのを待って結果をＲＡＭに格納し、演算処理を実行する。Ａ／Ｄ変換には通常十数μｓの時間を要するが、この間ＣＰＵは待たなくてはならないため、他の処理を実行できない無駄な時間が発生している。アナログ信号によりデータ検出タイミングが異なり、データ検出タイミングが周期的な場合には周期間隔が短くなると前述のＡ／Ｄ変換による待ち時間により負荷が増大する。Ａ／Ｄ変換を開始後、他の処理に移行し、Ａ／Ｄ変換の終了時に割り込みを発生させて割り込み処理にて結果をＲＡＭに格納することで、待ち時間を削除できるが、割り込みを使うことで処理が複雑になるというデメリットがある。
【０００４】
Ａ／Ｄ変換開始から変換結果読み出しまでの時間を短くする技術として、特許文献１に記載の技術が公知である。これは、マルチ制御部を新設し、ＣＰＵが担当していた処理の一部をマルチ制御部が実施することでＣＰＵの実行時間を短縮しているが、Ａ／Ｄ変換に掛かる時間と比べると僅かな時間である。
【０００５】
【特許文献１】特開２００７−２８８６５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
公知例では、マルチ制御部を新設することで、Ａ／Ｄ変換終了を待たなくて済むとしているが、指定されたタイミングで最新のＡ／Ｄ値が必要であり、かつＡ／Ｄ値を用いた演算を同一タイミングで行う必要がある場合、指定されたタイミングでＡ／Ｄ変換の起動を指示し変換終了まで待つため、Ａ／Ｄ変換実行中は他の処理が実行できないという課題がある。
【０００７】
本発明は、デジタル値に変換したデータを必要とする検出タイミングが周期的であることに着目し、検出データ間隔を計測し、検出データ間隔時間に基づいてＡ／Ｄ変換開始時期を変更し、Ａ／Ｄ値を必要とするタイミングでは既にＡ／Ｄ変換が終了している状態とすることでＡ／Ｄ変換待ち時間を削減できるＡ／Ｄ変換手段を備えた、電子制御装置を提供するものである。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の電子制御装置は、基本的に次のような構成をとる。制御に必要なデータをアナログ信号として検出する検出手段と、前記検出手段で検出されたアナログ信号をデジタル値に変換するＡ／Ｄ変換手段と、Ａ／Ｄ変換結果を所定のレジスタに格納する変換結果格納手段を備え、予め定義されたタイミング毎にアナログ信号のＡ／Ｄ変換結果を取得する場合において、前記Ａ／Ｄ変換手段の実行タイミングの間隔に応じて前記Ａ／Ｄ変換手段の実行タイミングを変更する。
【発明の効果】
【０００９】
データ検出間隔によりＡ／Ｄ変換開始時期を変更することで、Ａ／Ｄ変換の待ち時間を削減でき、ＣＰＵ負荷を削減することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明にかかる実施例を説明する。
【実施例１】
【００１１】
図１は、本発明を適用した、自動車等のエンジン制御を行う電子制御装置の例を示したブロック図である。本装置は、ＣＰＵ１０１，ＲＡＭ１０２，ＲＯＭ１０３，Ａ／Ｄ変換器Ａ１０４，Ａ／Ｄ変換器Ｂ１０５，Ａ／Ｄ変換器Ｃ１０６、及びバス１１３を備える。本実施例においては、ＣＰＵ１０１，ＲＡＭ１０２，ＲＯＭ１０３，Ａ／Ｄ変換器Ａ１０４，Ａ／Ｄ変換器Ｂ１０５、及びＡ／Ｄ変換器Ｃ１０６の各モジュールが、１つのチップに搭載されたシングルチップマイコン１００を使用している。上記の各モジュールは、シングルチップマイコン１００の内部でバス１１３によって接続され、互いに情報を授受している。また、制御装置に接続される自動車等に接続されたセンサ（図示せず）は制御に必要なデータを検出するが、この検出されたアナログ信号のデータのなかで、Ａ／Ｄ変換器の変換チャネル１２４で指定されたデータがＡ／Ｄ変換器に入力される。Ａ／Ｄ変換器Ａ１０４にはアナログ信号（Ａ０）１０７〜（Ａ３）１１０が、Ａ／Ｄ変換器Ｂ１０５にはアナログ信号（Ａ４〜Ａ７）１１１が、Ａ／Ｄ変換器Ｃ１０６にはアナログ信号（Ａ８〜Ａ１１）１１２が、それぞれ入力される。Ａ／Ｄ変換器Ａ１０４，Ａ／Ｄ変換器Ｂ１０５、及びＡ／Ｄ変換器Ｃ１０６は構成が同じであるため、Ａ／Ｄ変換器Ｂ１０５，Ａ／Ｄ変換器Ｃ１０６、及びこれらに入力されるアナログ信号１１１，１１２は、図を簡略化してある。以下、Ａ／Ｄ変換器Ａ１０４で処理を行う場合を例に挙げて説明する。
【００１２】
ＲＯＭ１０３には、ＣＰＵ１０１が実行するメインプログラムが格納してある。メインプログラムは、制御，演算，入出力等を行う各種プログラムの集合体である。本実施例では、上記の各種プログラムの他に、Ａ／Ｄ変換を開始する変換開始手段、及びＡ／Ｄ変換の結果を読み出す変換結果読み出し手段もメインプログラムに記述している。
【００１３】
ＣＰＵ１０１は、メインプログラムに従い、各Ａ／Ｄ変換器への指示等を行う。Ａ／Ｄ変換器Ａ１０４に対しては、変換チャネル１２４を設定してアナログ信号（Ａ０〜Ａ３）１０７〜１１０のうちＡ／Ｄ変換を行う信号の入力を指示すると共に、変換開始手段を実行して変換処理の開始を指示する。
【００１４】
変換終了フラグ１２５はＡ／Ｄ変換が開始すると値が１から０に変化し、Ａ／Ｄ変換が終了すると値が０から１に変化し、変換が終了したことを通知する。変換終了フラグ１２５の値を監視することで、Ａ／Ｄ変換の終了を検知することができる。
【００１５】
Ａ／Ｄ変換器Ａ１０４は、入力されたアナログ信号の電圧をホールドし、デジタル値への変換を行う。この変換には十数μｓの時間を要する。デジタル値への変換が終了すると、Ａ／Ｄ変換器Ａ１０４は、変換チャネル１２４で指定した変換結果レジスタ（０〜３）１２０〜１２３にデジタル値を格納する。
【００１６】
ＣＰＵ１０１は、変換結果レジスタ（０〜３）１２０〜１２３から変換したデジタル値を読み出し、ＲＡＭ１０２へ格納する。
【００１７】
なお、Ａ／Ｄ変換器Ｂ１０５やＡ／Ｄ変換器Ｃ１０６を使用してＡ／Ｄ変換を行う場合
も、上記と同様の手順で処理するため、説明は省略する。
【００１８】
ここで、Ａ／Ｄ変換方法について、従来技術の例を図２に示すタイミングチャートを用
いて説明する。図２では、データ検出タイミングは不定周期であり、Ａ／Ｄ値を必要とする処理はデータ検出タイミングの２回に１回起動している。Ａ／Ｄ値を必要とする処理が何回のデータ検出タイミングに１回起動するかは、アナログ信号の種類により異なる。また、データ有効範囲とはデータ検出タイミングを基準としてＡ／Ｄ変換を実施すべき時間的範囲を示したものであり、データ検出タイミングから離れたタイミングでＡ／Ｄ変換した結果を使わないようにするための範囲である。
【００１９】
従来のＡ／Ｄ変換処理方法では、ＣＰＵは、メインプログラムに基づき、データ検出タイミング２０２または２０４においてＡ／Ｄ変換器に変換開始を指示した後、Ａ／Ｄ変換の終了を待つ。変換終了フラグの０から１への変化により、Ａ／Ｄ変換の終了を認識し変換結果を読み出しＲＡＭに格納した後、他の処理を実行する。このようにＡ／Ｄ変換値をリアルタイムに取得したい場合、どうしてもＡ／Ｄ変換に必要な時間Ｔａｄを待つ必要がある。
【００２０】
本発明によるＡ／Ｄ変換方法の例を、図３，図４に示すタイミングチャートを用いて説明する。図３は変換結果使用タイミングの一回前のタイミングでＡ／Ｄ変換を開始した場合の本発明の動作例を示し、図４は変換結果使用タイミングの一回前のタイミングではＡ／Ｄ変換を開始できない場合の本発明の動作例を示す。図３，図４では図２と同様に、データ検出タイミングは不定周期であり、Ａ／Ｄ値を必要とする処理はデータ検出タイミングの２回に１回起動している。各データ検出タイミングでは、周期計測処理によりデータ検出タイミング間隔時間（Ｔａ，Ｔｂ，Ｔｃ）を計測し、間隔時間により変換結果使用タイミングの一回前のデータ検出タイミングでＡ／Ｄ変換を開始するか否かを決定する。例えば自動車の電子制御装置では一定のクランク角度ごとにデータ検出を行うため、同一の回転数ではデータ検出タイミングも一定となり、ＴｂをもとにＴｃを予測できる。Ｔｂがデータ有効期間内に収まれば、Ｔｃもデータ有効期間内に収まると判断し、一回前のデータ検出タイミングでＡ／Ｄ変換を開始すると、変換結果使用タイミングでは既にＡ／Ｄ変換が終了しているため、待ち時間なくＲＡＭに変換結果を読み出すことができる。
【００２１】
図３により変換結果使用タイミングの一回前のタイミングでＡ／Ｄ変換を開始した場合の本発明の動作例を説明する。タイミング３０２およびタイミング３０４で変換結果を使用しているが、ここではタイミング３０４に着目して説明する。データ検出タイミング３０３においてタイミング３０２で保持した時間とタイミング３０３での時間からＴｂを求める。Ｔｂがデータ有効期間より短いため、Ｔｃもデータ有効期間内に収まり、タイミング３０３でＡ／Ｄ変換を開始した結果をタイミング３０４で使用できるとＣＰＵは判断しＡ／Ｄ変換開始を指示する。タイミング３０４においてタイミング３０３で開始したＡ／Ｄ変換の結果をＲＡＭに読み出すが、Ａ／Ｄ変換時間Ｔａｄはタイミング３０３とタイミング３０４の間に経過しタイミング３０４の時点では既にＡ／Ｄ変換が終了しているため、タイミング３０４では待ち時間なしで変換結果をＲＡＭに読み出すことができ、ＣＰＵの処理待ち時間を削減できる。データ検出タイミングが短くなると、データ検出に同期した処理の起動間隔が短くなり、ＣＰＵ負荷が高くなりやすい。本手法はデータ検出タイミングが短くなった場合にＡ／Ｄ変換に掛かる待ち時間を削減できるため、ＣＰＵ負荷の増加を抑止できる。
【００２２】
図４により変換結果使用タイミングの一回前のタイミングではＡ／Ｄ変換を開始できない場合の本発明の動作例を図４により説明する。図３の説明と同様に変換結果使用タイミング４０４に着目して説明する。タイミング４０３においてタイミング４０２で保持した時間とタイミング４０３での時間からＴｂを求める。Ｔｂがデータ有効範囲よりも長いため、Ｔｃも長くタイミング４０３におけるＡ／Ｄ変換結果はデータ有効範囲外のデータとなると推定できるため、タイミング４０３ではＡ／Ｄ変換を実行せず、従来通りのタイミング４０４でＡ／Ｄ変換を開始しＡ／Ｄ変換の終了後に変換結果をＲＡＭに格納する。周期計測処理により、検出タイミングごとにデータ検出間隔を測定しているため、データ検出タイミングが変動しＴｂがデータ有効範囲から外れた場合にＡ／Ｄ変換起動タイミングを変更することで、データ有効期間を守ったＡ／Ｄ値をＲＡＭに取り込むことが出来る。
【００２３】
図３，図４ではデータ検出間隔が不定である場合の動作例を示したが、図５では、データ検出間隔が一定である場合の動作例を示す。データ検出間隔が一定であり、常にデータ有効期間内に収まる場合には、周期計測処理によるＡ／Ｄ変換開始時期の判断を行う必要はない。無条件で変換結果使用タイミング５０４の一回前のデータ検出タイミング５０３おいてＡ／Ｄ変換開始を指示すればよい。Ａ／Ｄ変換時間Ｔａｄはタイミング５０３とタイミング５０４の間に経過しタイミング５０４では既にＡ／Ｄ変換が終了しているため、タイミング５０４では待ち時間なしで変換結果をＲＡＭに読み出すことができ、ＣＰＵに掛かる負荷を削減できる。
【００２４】
図３，図４，図５の動作例は、データ検出タイミング２回に１回データ使用処理を行っているが、データ検出タイミングに対するデータ使用処理の回数に関わらず、本発明の成果を得ることが可能である。図６にデータ検出タイミング３回に１回データ使用処理を行う場合の動作例を示す。３回に１回となった場合でも、Ａ／Ｄ変換結果使用タイミングの１回前のタイミング６０３での間隔計測結果Ｔｂに基づき、タイミング６０３でＡ／Ｄ変換を開始するか否かを判断する。図６の動作例ではＴｂがデータ有効期間より短いため、Ｔｃもデータ有効期間内に収まり、タイミング６０３でＡ／Ｄ変換を開始した結果をタイミング６０４で使用できるとＣＰＵは判断し、タイミング６０３でＡ／Ｄ変換開始を指示する。タイミング６０４においてタイミング６０３で開始したＡ／Ｄ変換の結果をＲＡＭに読み出すが、Ａ／Ｄ変換時間Ｔａｄはタイミング６０３とタイミング６０４の間に経過しタイミング６０４では既にＡ／Ｄ変換が終了しているため待ち時間なしで変換結果をＲＡＭに読み出すことができ、ＣＰＵに掛かる負荷を削減できる。
【００２５】
以上のように、本発明によれば、データ使用処理を行う１回前のデータ検出タイミングにおいてＡ／Ｄ変換を起動し、データ使用処理を行うタイミングで変換結果を格納することでＡ／Ｄ変換終了を待つ必要がなくなる。
【産業上の利用可能性】
【００２６】
本発明は、センサで検出したアナログ信号をデジタル信号に変換するＡ／Ｄ変換器を用いる、自動車等の電子制御装置に利用できる。
【図面の簡単な説明】
【００２７】
【図１】Ａ／Ｄ変換を行う電子制御装置ブロック図。
【図２】従来技術による動作例。
【図３】本発明による変換結果使用タイミングの１回前のデータ検出タイミングにおいてＡ／Ｄ変換を開始した場合の動作例。
【図４】本発明による変換結果使用タイミングの１回前のデータ検出タイミングにおいてＡ／Ｄ変換を開始しない場合の動作例。
【図５】本発明によるデータ検出タイミングが一定の場合の動作例。
【図６】本発明によるデータ検出タイミング３回に１回データ使用処理を行う場合の動作例。
【符号の説明】
【００２８】
１００  シングルチップマイコン
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  Ａ／Ｄ変換器Ａ
１０５  Ａ／Ｄ変換器Ｂ
１０６  Ａ／Ｄ変換器Ｃ
１０７  アナログ信号Ａ０
１０８  アナログ信号Ａ１
１０９  アナログ信号Ａ２
１１０  アナログ信号Ａ３
１１１  アナログ信号Ａ４〜Ａ７
１１２  Ａ８〜Ａ１２
１１３  バス
１２０  変換結果レジスタ１
１２１  変換結果レジスタ２
１２２  変換結果レジスタ３
１２４  変換チャネル
１２５  変換終了フラグ
２０１，２０２，２０３，２０４，３０１，３０２，３０３，３０４，４０１，４０２，４０３，４０４，５０１，５０２，５０３，５０４，６０１，６０２，６０３，６０４  データ検出タイミング
【図１】
2010093662.tif 000003
【図２】
2010093662.tif 000004
【図３】
2010093662.tif 000005
【図４】
2010093662.tif 000006
【図５】
2010093662.tif 000007
【図６】
2010093662.tif 000008