JP2009086978A - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP2009086978A JP2009086978A JP2007255259A JP2007255259A JP2009086978A JP 2009086978 A JP2009086978 A JP 2009086978A JP 2007255259 A JP2007255259 A JP 2007255259A JP 2007255259 A JP2007255259 A JP 2007255259A JP 2009086978 A JP2009086978 A JP 2009086978A
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- processing
- control device
- result
- electronic control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Analogue/Digital Conversion (AREA)
Abstract
【課題】A/D変換の実行中は他の処理が実行できず、変換が終了するまで待たなくてはならない。処理が複雑になる割り込みを追加せずに、A/D変換処理中に他の処理を実行できるA/D変換手段を備えた電子制御装置を提供する。
【解決手段】本発明の電子制御装置は、制御に必要なデータを検出する検出手段と、検出手段で検出されたアナログ値のデータをデジタル値に変換するA/D変換手段と、A/D変換結果を所定のレジスタに格納する変換結果格納手段と、メインプログラムを実行する演算処理手段とを備える。演算処理手段は、A/D変換開始手段を確立して、検出データのA/D変換開始をA/D変換手段に指示する。A/D変換開始の指示後、所定時間Taの経過まではA/D変換終了を待たずに他の処理を実行する。所定時間Taの経過後、A/D変換結果読み出し手段を確立して、A/D変換結果をレジスタから読み出す。
【選択図】図3
【解決手段】本発明の電子制御装置は、制御に必要なデータを検出する検出手段と、検出手段で検出されたアナログ値のデータをデジタル値に変換するA/D変換手段と、A/D変換結果を所定のレジスタに格納する変換結果格納手段と、メインプログラムを実行する演算処理手段とを備える。演算処理手段は、A/D変換開始手段を確立して、検出データのA/D変換開始をA/D変換手段に指示する。A/D変換開始の指示後、所定時間Taの経過まではA/D変換終了を待たずに他の処理を実行する。所定時間Taの経過後、A/D変換結果読み出し手段を確立して、A/D変換結果をレジスタから読み出す。
【選択図】図3
Description
本発明は、センサが検出したアナログ信号をデジタル信号に変換するA/D変換器を備える、自動車等の電子制御装置に関する。
自動車等の電子制御装置に用いるマイクロコンピュータのA/D変換器では、A/D変換するアナログ信号を入力してその電圧をホールドし、この入力電圧とA/D変換器内の複数の基準電圧を逐次比較してゆき、デジタル信号に変換する。A/D変換器においては、変換精度は複数の基準電圧との比較回数に比例するので、比較回数の多い方が精度は良くなるが、その反面A/D変換に掛かる時間が長くなる欠点もある。
自動車等のエンジン制御を行う電子制御装置では、センサが検出したアナログ信号を精度良くデジタル信号に変換して入力し、かつ高速で演算して諸種の制御を行わなければならないため、高精度かつ高速にA/D変換の結果を得る必要がある。一方、電子制御装置のCPUは、絶えず諸種の制御を実行するため、非常に大きい負荷がかかっている。A/D変換には通常十数μsの時間を要するが、CPUは、変換終了を検知するまで変換状況を監視する必要があるので他の処理を実行できない。これがCPUにかかる負荷を更に増加させる要因となっている。負荷が増加すると、CPUの処理が正規に行われなくなる可能性もある。CPUの負荷を軽減するためには、A/D変換終了後から変換結果を読み出すまでの時間を短縮したり、A/D変換処理中に他の処理を実行できるようにしたりして、他の処理を実行するまでの待ち時間を短縮する必要がある。
A/D変換開始から変換結果読み出しまでの時間を短くする技術として、特許文献1に記載の技術を紹介する。これは、A/D変換の終了を通知する手段を工夫したものである。すなわち、A/D変換が終了する前にA/D変換終了情報を通知することで、A/D変換結果が確定するタイミングからマイクロコンピュータがA/D変換の終了を認識してA/D変換結果を読み出すタイミングまでの時間を短縮している。この手法は、A/D変換の確定から結果を読み出すまでの時間を短縮したものであるが、この時間は、A/D変換に掛かる時間と比べると僅かな時間である。更に、A/D変換の開始後は、変換状況を監視する必要があるので、A/D変換の終了を待たないと次の処理を実行できない点は従来と同様である。
また、A/D変換の終了に合わせて割り込みを発生する機能を持つA/D変換器も広く使われている。A/D変換終了後に割り込みを行うと、A/D変換終了情報が通知される前に変換結果を読み出すことができる。更に、A/D変換の実行中に割り込みを使用すると、A/D変換中でも他の処理を実行できる。しかし、割り込みを使うことにより、割り込み処理を既存の処理に追加する必要があり、そのうえ、マイクロコンピュータの実行する処理を割り込み処理に切り替えるための時間も必要になるなど処理が複雑になる。
前述のように、電子制御装置において、A/D変換を含む処理では、A/D変換の実行中は他の処理が実行できず、変換が終了するまで待たなくてはならないという課題がある。A/D変換の実行中に他の処理を実行するために割り込みを用いる方法もあるが、割り込みを使用すると処理が複雑になってしまう。
本発明は、割り込み処理等を追加せずに、A/D変換以外の処理を実行するまでの待ち時間を短縮し、A/D変換処理中に他の処理を実行できるA/D変換手段を備えた、電子制御装置を提供するものである。
上記課題を解決するために、本発明の電子制御装置は、基本的には次のような構成をとる。制御に必要なデータを検出する検出手段と、前記検出手段で検出されたアナログ値のデータをデジタル値に変換するA/D変換手段と、A/D変換結果を所定のレジスタに格納する変換結果格納手段と、制御に必要なメインプログラムを実行する演算処理手段とを備える。前記演算処理手段は、以下の特徴を有する。前記演算処理手段は、所定の制御を実行する上で前記検出手段により検出されたデータを必要とするときに、前記メインプログラムに基づきA/D変換開始手段を確立して、前記必要な検出データのA/D変換開始を前記A/D変換手段に指示する。前記A/D変換開始の指示後、所定時間Taの経過まではA/D変換終了を待たずに他の処理を前記メインプログラムに基づき実行する。前記A/D変換開始の指示から前記所定時間Taの経過後、前記メインプログラムに基づきA/D変換結果読み出し手段を確立して、前記必要な検出データのA/D変換結果を前記レジスタから読み出す。
更に本発明の電子制御装置では、前記A/D変換開始手段は、前記A/D変換開始を前記A/D変換手段に指示する前に、前記A/D変換手段の停止を確認することを特徴とする。
更に本発明の電子制御装置では、A/D変換が終了したことを通知するA/D変換終了通知手段を備える。前記A/D変換結果読み出し手段は、前記レジスタに格納された変換結果を読み出す前に、前記A/D変換終了通知手段により、A/D変換の終了を確認することを特徴とする。
本発明によれば、自動車等の電子制御装置において、割り込み処理等を追加しなくても、A/D変換処理中に他の処理を実行することができる。
図1は、本発明を適用した、自動車等のエンジン制御等を行う電子制御装置の例を示したブロック図である。本装置は、CPU101、RAM102、ROM103、A/D変換器A104、A/D変換器B105、A/D変換器C106、及びバス113を備える。本実施例においては、CPU101、RAM102、ROM103、A/D変換器A104、A/D変換器B105、及びA/D変換器C106の各モジュールが、1つのチップに搭載されたシングルチップマイコン100を使用している。上記の各モジュールは、シングルチップマイコン100の内部でバス113によって接続され、互いに情報を授受している。また、自動車等に装着されたセンサ(図示せず)は制御に必要なデータを検出するが、この検出されたアナログ信号のデータは、A/D変換器の変換チャネルを介してA/D変換器に入力される。A/D変換器A104にはアナログ信号(A0)107〜(A3)110が、A/D変換器B105にはアナログ信号(A4〜A7)111が、A/D変換器C106にはアナログ信号(A8〜A11)112が、それぞれ入力される。A/D変換器A104、A/D変換器B105、及びA/D変換器C106は構成が同じであるため、A/D変換器B105、A/D変換器C106、及びこれらに入力されるアナログ信号111、112は、図を簡略化してある。以下、A/D変換器A104で処理を行う場合を例に挙げて説明する。
ROM103には、CPU(演算処理手段)101が実行するメインプログラムが格納してある。メインプログラムは、制御、演算、入出力等を行う各種プログラムの集合体である。本実施例では、上記の各種プログラムの他に、A/D変換を開始する変換開始手段、及びA/D変換の結果を読み出す変換結果読み出し手段もメインプログラムに記述されており、CPU101により実行される。
CPU101は、メインプログラムに従い、各A/D変換器への指示等を行う。A/D変換器A104に対しては、変換チャネル124を設定してアナログ信号(A0〜A3)107〜110のうちA/D変換を行う信号の入力を指示すると共に、変換開始手段を実行して変換処理の開始を指示する。
A/D変換が開始すると、変換終了フラグF125の値が1から0に変化する。変換終了フラグF125は、A/D変換が終了すると値が0から1に変化し、変換が終了したことを通知する。変換終了フラグF125の値を監視することで、A/D変換の終了を検知することができる。
A/D変換器A104は、入力されたアナログ信号の電圧をホールドし、デジタル値への変換を行う。この変換には十数μsの時間を要する。デジタル値への変換が終了すると、A/D変換器A104は、変換結果格納手段126により、変換結果レジスタ(0〜3)120〜123にデジタル値を格納する。また、A/D変換が終了すると変換終了フラグF125の値が0から1に変化するので、変換終了フラグF125を用いてA/D変換の終了をCPU101へ通知する。
CPU101は、変換結果読み出し手段を実行して、変換結果レジスタ(0〜3)120〜123から変換したデジタル値を読み出し、RAM102へ格納する。変換結果読み出し手段を実行するタイミングについては後述する。
なお、A/D変換器B105やA/D変換器C106を使用してA/D変換を行う場合も、上記と同様の手順で処理するため、説明は省略する。
ここで、A/D変換方法について、従来技術の例を図2に示すタイミングチャートを用いて説明する。従来のA/D変換処理方法では、CPUは、メインプログラムに基づきA/D変換器に変換開始を指示した後、変換終了フラグFの値が0から1に変化するのを、すなわち変換が終了するのを監視し続けている。つまり、A/D変換に要する時間を変換時間Taとすると、この変換時間Taの間は他の処理を何も実行できない。CPUは、変換終了フラグFの値が1に変化したことによりA/D変換の終了を検知すると、変換結果を読み出す処理や車両のエンジン制御処理等、メインプログラムの処理を実行できるようになる。
本発明によるA/D変換方法の例を、図3に示すタイミングチャートを用いて説明する。CPU101がメインプログラムに基づき変換開始手段を実行してA/D変換器A104に変換開始を指示すると、A/D変換器A104はA/D変換を開始する。本発明によるA/D変換方法では、A/D変換処理が行われている間、CPU101は、変換終了フラグ125の値の変化を監視し続ける必要がないので、A/D変換処理中も車両のエンジン制御処理等メインプログラムの処理を実行することができる。
CPU101は、動作クロックによって実行スピードが一意的に決まるため、1命令を実行するのに必要な時間は既知である。また、A/D変換が終了するまでの時間Taも、A/D変換器A104の性能によって一意的に決まっている。これらにより、前述のA/D変換処理中に実行できるメインプログラムの処理量は、下式にて見積もることができる。
CPU101が1命令を実行するのに要する時間をTcpuとすると、変換時間Taの間に実行される命令数Nadは、
Nad=Ta/Tcpu
で求められる。従って、A/D変換の開始から終了までの間にNad個の命令に相当する数の処理を実行することができるので、A/D変換処理中に変換の終了を待つ必要がなくなり、メインプログラムの処理を実行することができる。
Nad=Ta/Tcpu
で求められる。従って、A/D変換の開始から終了までの間にNad個の命令に相当する数の処理を実行することができるので、A/D変換処理中に変換の終了を待つ必要がなくなり、メインプログラムの処理を実行することができる。
A/D変換結果のデジタル値は、A/D変換の開始時点から変換時間Taが経過した後に、CPU101が変換結果読み出し手段を実行することで、読み出すことができる。変換時間Taは、上述のように既知である。上記の変換開始手段及び変換結果読み出し手段の詳細については、後述する。
ここからは、従来技術と本発明のA/D変換方法における、メインプログラムの処理フローの例を、図4と図5を用いてそれぞれ説明する。
図4は、従来技術のA/D変換方法における、メインプログラムの処理フローの模式図である。メインプログラムの開始後、処理KにてA/D変換を開始する。A/D変換の開始後、処理(K+1)にて変換終了フラグFの値が1になるまで、すなわちA/D変換が終了するまで、変換終了フラグFを監視する。A/D変換が終了するまでには時間Taを要するが、この変換時間Taの間は他の処理を実行できず、A/D変換が終了するのを待つことになる。A/D変換が終了し変換終了フラグFの値が1になると、次の処理(K+2)に進んでA/D変換の結果を読み出し、処理(K+3)以後の処理を実行することができる。
図5は、本発明のA/D変換方法における、メインプログラムの処理フローの模式図である。メインプログラムの開始後、処理Kにて変換開始手段を実行し、A/D変換を開始する。本発明におけるA/D変換方法では、すぐに次の処理(K+1)に進み、A/D変換が終了するまでの変換時間Taの間、上述したようにNad個の命令に相当する数だけの処理(m個の処理)を実行することができる。A/D変換開始後、変換時間Taが経過すると、処理(K+m+1)にて変換結果読み出し手段を実行し、A/D変換の結果を読み出す。結果の読み出し後は、引き続き処理(K+m+2)以後の処理を実行する。
以上のように、本発明におけるA/D変換方法は、メインプログラムにおいて、変換開始手段の後に続いて他の処理を実行し、また、A/D変換開始から変換時間Taが経過した後に、変換結果読み出し手段を実行するようにプログラムを記述することで可能になる。
ここで、上述の変換開始手段と変換結果読み出し手段について説明する。
変換開始手段は、A/D変換を開始するための処理である。図6に、変換開始手段のフローチャートを示す。変換開始手段が実行されると、CPU101は、ステップ201の変換終了フラグF125の判定処理を行う。
ステップ201の変換終了フラグF125の判定処理は、変換開始手段がA/D変換の開始を指示する前に、A/D変換器A104が停止状態にあるか否か(A/D変換器A104が既に動作状態にあるか否か)を確認するための処理を行う。これは、既にA/D変換器A104が動作している状態(F=0)で新たなA/D変換開始処理が実行され、既実行中のA/D変換処理を中断してしまうのを防止するための処理である。既にA/D変換器A104が動作している場合(F=0)は、動作終了(F=1)まで待機する。A/D変換器A104が動作していない場合(F=1)は、ステップ202の割り込みマスク(割り込み禁止)設定を経て、ステップ203のA/D変換開始処理を行う。
ステップ203において、CPU101は、A/D変換を行う信号が入力されている変換チャネル124の設定とA/D変換の開始を、A/D変換器A104に指示する。ステップ203ではA/D変換器A104のレジスタを操作するため、他処理が割り込んできて同一の処理を行うとレジスタ操作が正しく行われず、A/D変換が実行できなくなるおそれがある。これを防止するために、ステップ202において割り込みマスクを設定し、ステップ203のA/D変換開始処理の実行中に他処理が割り込むのを防止している。
ステップ203のA/D変換開始処理が終了すると、ステップ204で割り込みマスクの解除を行い、変換開始手段を終了する。
次に、変換結果読み出し手段について説明する。図7に、変換結果読み出し手段のフローチャートを示す。CPU101は、変換結果読み出し手段を実行すると、ステップ301における変換終了フラグF125の判定処理を行う。
ステップ301の変換終了フラグF125の判定処理は、A/D変換が終了していることを確認するための処理である。A/D変換が終了している場合(F=1)は、ステップ302に進み、変換が終了していない場合(F=0)は、変換終了(F=1)まで待機する。本判定処理により、A/D変換の終了後に即座にデジタル値を読み出すことができる。更に、前述のNad個の命令に相当するm個の処理の実行に要した時間が、実際にA/D変換に要した時間よりも短い場合など、変換終了前に変換結果読み出し手段を実行してしまった場合でも、本判定処理により、A/D変換の終了前に変換結果を読み出してしまうのを防止することができる。
ステップ302では、変換結果読み出し処理を行う。A/D変換器A104が変換して格納したデジタル値を、変換結果レジスタ(0〜3)120〜123から読み出し、RAM102へ格納する。
なお、上記実施例では、A/D変換器A104で処理を行う場合を例に挙げて説明したが、A/D変換器B105やA/D変換器C106を使用してA/D変換を行う場合でも、上記と同様に処理可能である。また、上記実施例での電子制御装置は、A/D変換器を3つ備えているが、本発明はA/D変換器の数に依存するものではない。
以上のように、本発明によれば、メインプログラムの実行中に割り込み処理のような複雑な処理を行わずに、A/D変換処理中に他の処理を実行することができるようになり、A/D変換が終了するのを待つ必要がなくなる。更には、複数のA/D変換器を備える電子制御装置の場合、1つのA/D変換器でアナログ信号のA/D変換を実行中に、異なるA/D変換器で他のアナログ信号のA/D変換を並行して実行することも可能となる。この方法によれば、電子制御装置における、A/D変換を含む一連の処理に要する時間を大幅に短縮することができ、CPUにかかる負荷も大きく低減することが可能である。
本発明は、センサで検出したアナログ信号をデジタル信号に変換するA/D変換器を用いる、自動車等の電子制御装置に利用できる。
100…シングルチップマイコン、101…CPU、102…RAM、103…ROM、104…A/D変換器A、105…A/D変換器B、106…A/D変換器C、107…アナログ信号A0、108…アナログ信号A1、109…アナログ信号A2、110…アナログ信号A3、111…アナログ信号A4〜A7、112…アナログ信号A8〜A11、113…バス、120…変換結果レジスタ0、121…変換結果レジスタ1、122…変換結果レジスタ2、123…変換結果レジスタ3、124…変換チャネル、125…変換終了フラグF、126…変換結果格納手段。
Claims (3)
- 制御に必要なデータを検出する検出手段と、
前記検出手段で検出されたアナログ値のデータをデジタル値に変換するA/D変換手段と、
A/D変換結果を所定のレジスタに格納する変換結果格納手段と、
制御に必要なメインプログラムを実行する演算処理手段とを備え、
前記演算処理手段は、所定の制御を実行する上で前記検出手段により検出されたデータを必要とするときに、前記メインプログラムに基づきA/D変換開始手段を確立して、前記必要な検出データのA/D変換開始を前記A/D変換手段に指示し、
前記A/D変換開始の指示後、所定時間Taの経過まではA/D変換終了を待たずに他の処理を前記メインプログラムに基づき実行し、
前記A/D変換開始の指示から前記所定時間Taの経過後、前記メインプログラムに基づきA/D変換結果読み出し手段を確立して、前記必要な検出データのA/D変換結果を前記レジスタから読み出すこと、
を特徴とする電子制御装置。 - 請求項1記載の電子制御装置において、
前記A/D変換開始手段は、前記A/D変換開始を前記A/D変換手段に指示する前に、前記A/D変換手段の停止を確認すること、を特徴とする電子制御装置。 - 請求項1記載の電子制御装置において、
前記電子制御装置は、A/D変換が終了したことを通知するA/D変換終了通知手段を備え、
前記A/D変換結果読み出し手段は、前記レジスタに格納された変換結果を読み出す前に、前記A/D変換終了通知手段によりA/D変換の終了を確認すること、
を特徴とする電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007255259A JP2009086978A (ja) | 2007-09-28 | 2007-09-28 | 電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007255259A JP2009086978A (ja) | 2007-09-28 | 2007-09-28 | 電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009086978A true JP2009086978A (ja) | 2009-04-23 |
Family
ID=40660329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007255259A Pending JP2009086978A (ja) | 2007-09-28 | 2007-09-28 | 電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009086978A (ja) |
-
2007
- 2007-09-28 JP JP2007255259A patent/JP2009086978A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010277303A (ja) | 半導体装置及び異常検出方法 | |
JP4770602B2 (ja) | 電子機器 | |
JP5182101B2 (ja) | 電動パワーステアリング装置 | |
JP2009086978A (ja) | 電子制御装置 | |
JP2005242806A (ja) | データ処理装置 | |
JP2005190195A (ja) | マイクロコントローラ | |
JP2008225675A (ja) | 電子制御装置 | |
JP2002261609A (ja) | アナログ/ディジタルコンバータ及びその信号処理方法 | |
KR100974009B1 (ko) | 전원 장치 및 통신 기기 | |
JP6338923B2 (ja) | プログラマブルコントローラ及び制御プログラム | |
JP2010102567A (ja) | 周期駆動タスク実行装置、周期駆動タスク実行方法及びプログラム | |
WO2019198169A1 (ja) | コンピュータシステムおよびコンピュータプログラム | |
JP2010093662A (ja) | A/d変換手法 | |
JP4106004B2 (ja) | 外部同期式ad変換回路 | |
JP2008293130A (ja) | 処理実行方法、処理実行装置及びコンピュータプログラム | |
JP2007327745A (ja) | 測定装置 | |
JP2014238661A (ja) | 制御装置 | |
JP2005100017A (ja) | プロセッサシミュレータおよび割込遅延カウントプログラム、並びにプロセッサのシミュレート方法 | |
JP2005275452A (ja) | データ転送制御システム | |
JP2017218081A (ja) | 電子制御装置 | |
JP5430388B2 (ja) | 負荷制御回路 | |
JP5028368B2 (ja) | 内燃機関用のa/d変換制御装置 | |
JP2005333258A (ja) | アナログ/デジタル変換装置 | |
JP2007193522A (ja) | 演算装置およびそれを備えたドライブ制御装置 | |
JP5331451B2 (ja) | マイクロコントローラ |