(57)【要約】  【課題】低機能マイコンで高機能マイコンと同等の高性能タイマ機能を実現するとともに、割込みなどによる処理遅れを回避することができるタイマ装置を提供する。  【解決手段】ソフトウェアにより構成される補助タイマの下位８ビットとハードウェアにより構成される基準タイマの上位８ビットがオーバーラップしており、現在時刻の要求があったとき、補助タイマと基準タイマのオーバーラップ部の大きさを比較し、補助タイマの下位バイトの値が大きい場合、補助タイマの上位バイトの値に１加算した後、補助タイマの上位バイトの値と基準タイマの値とを合成することにより、現在時刻を形成する。一方、オーバーラップ部の補助タイマの下位バイトの値が小さい場合は、単に、補助タイマの上位バイトの値と基準タイマの値とを合成することにより、現在時刻を形成する。  【選択図】図３
2006155493.tif 000002
【特許請求の範囲】
【請求項１】
基準タイマ手段と、補助タイマ手段とよりなるタイマ装置であって、
上記基準タイマ手段の上位バイトと上記補助タイマ手段の下位バイトの精度が一致するとともに、オーバーラップし、上記基準タイマ手段の値と上記補助タイマ手段の上位バイトを合成して時間情報を生成することを特徴とするタイマ装置。
【請求項２】
請求項１に記載されたタイマ装置において、
上記基準タイマ手段がハードウェアにより構成され、上記補助タイマ手段がソフトウエアプログラムにより構成されていることを特徴とするタイマ装置。
【請求項３】
請求項１に記載されたタイマ装置において、
オーバーラップしている上記基準タイマ手段の上位バイトと上記補助タイマ手段の下位バイトの大小関係により補助タイマ手段の上位バイトのずれを補正することを特徴とするタイマ装置。
【請求項４】
請求項１に記載されたタイマ装置において、
オーバーラップしている上記基準タイマ手段の上位バイトと上記補助タイマ手段の下位バイトの桁上がりの位相がほぼ半周期ずれていることを特徴とするタイマ装置。
【請求項５】
請求項１〜請求項４のいずれかに記載されたタイマ装置において、
上記時間情報として現在時刻を生成するものであり、
インプットキャプチャ機能を備えたタイマ手段を備え、
キャプチャ時刻と現在時刻の下位の値との大小関係から現在時刻の上位の値を補正した後、キャプチャ時刻と現在時刻の上位の値を合成して拡張されたキャプチャ時刻を生成することを特徴とするタイマ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵの実行時間や待ち時間の制御等に使用するタイマ装置に関し、特に、タイマ機構の上位バイトをハードウェアで持たずに、プログラム等のファームウェアの作業領域を利用するタイマ装置に関する。
【背景技術】
【０００２】
エンジン制御技術や通信技術にとって信頼性の高い時間計測は必要不可欠であるが、８ビットや１６ビットなど比較的低機能マイコンには高性能タイマが内蔵されていないため、時間の取り得る範囲や精度が制限されている。すなわち、従来、必要とされる範囲の時刻を実現するには、タイマの駆動クロック信号の分周比を大きくすることによりタイマの精度を落として使用している。
そして、計測時間の範囲と精度の両者が必要な場合には、高性能タイマを備えた高機能マイコンを使用することにより実現している。
【０００３】
しかしながら、エンジン制御技術や通信技術などのシステムの肥大化・複雑化・高速化などに伴い、より高性能なタイマが必要となる一方で、さらなるコストダウン要求が厳しい現状となっている。このため、タイマ機構の上位ビットをハードウェアで持たずに、プログラム等のファームウェアの作業領域を利用するタイマ装置が提案されている。
【０００４】
一方、例えば、エンジン制御を行う装置として、マイコンを備えた電子制御装置があり、この電子制御装置では、各種の制御を行うために多くのセンサから様々なデータを読み込んで演算処理を行い、必要なアクチュエータに対して制御信号を出力している。
そして、上記の演算を行う場合には、ベースプログラムの処理に対して、適宜割り込みをかけて、必要な演算処理を実行しているが、近年のように、高機能化により制御する内容が増加し、多くの割込み処理がある場合には、実行すべき全ての割込み処理を記憶しておき、順次その処理を実行するようにしているが、この場合には、タイムラグにより演算の精度が悪化するという問題が生じる。
【０００５】
このため、例えば、エンジン回転数の演算を行う場合、クランク角が所定の角度におけるエンジン回転数センサのパルス信号の時刻をインプットキャプチャ機能を備えたタイマによりキャプチャ時刻として記憶しておき、エンジン回転数の演算処理時に隣り合う上記パルス信号の受信時刻から両パルス信号間の時間を算出することにより、クランクの回転スピード、すなわち、エンジン回転数を検出するようにしている（例えば、特許文献１参照。）。
【特許文献１】特開２０００−３４９４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来のタイマ装置は上記のように構成されているが、タイマ機構の上位バイトをハードウェアで持たずに、プログラム等のファームウェアの作業領域を利用した場合、ソフトウェアタイマはハードウェアタイマの状態を監視して、ハードウェアタイマの桁溢れによる更新要求により、カウントアップ動作を行うが、タイミングによってはタイマの読出し命令の実行中に上記の更新要求が発生することがあり、下位バイトからの桁溢れが上位バイトに反映されず、正確な時刻を形成できないという問題があった。
【０００７】
また、上記のインプットキャプチャ機能をハードウェアタイマを利用して実現し、ソフトウェアタイマの時刻と合成してキャプチャ時刻を拡張する場合、キャプチャ時刻と実際に演算処理を行う時刻とが相異するので、演算処理時にソフトウェアタイマが更新されている可能性があり、正確なキャプチャ時刻を演算に使用できないという問題もあった。
【０００８】
本発明は、上記の問題に鑑みてなされたもので、低機能マイコンで高機能マイコンと同等の高性能タイマ機能を実現するとともに、割込みなどによる処理遅れを回避することができるタイマ装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述の目的を達成するため、本発明に係るタイマ装置（１）は、
基準タイマ手段と、補助タイマ手段とよりなるタイマ装置であって、
上記基準タイマ手段の上位バイトと上記補助タイマ手段の下位バイトの精度が一致するとともに、オーバーラップし、上記基準タイマ手段の値と上記補助タイマ手段の上位バイトを合成して時間情報を生成することを特徴とする。
【００１０】
また、本発明に係るタイマ装置（２）は、タイマ装置（１）において、
上記基準タイマ手段がハードウェアにより構成され、上記補助タイマ手段がソフトウエアプログラムにより構成されていることを特徴とする。
【００１１】
さらに、本発明に係るタイマ装置（３）は、タイマ装置（１）において、
オーバーラップしている上記基準タイマ手段の上位バイトと上記補助タイマ手段の下位バイトの大小関係により補助タイマ手段の上位バイトのずれを補正することを特徴とする。
【００１２】
また、本発明に係るタイマ装置（４）は、タイマ装置（１）において、
オーバーラップしている上記基準タイマ手段の上位バイトと上記補助タイマ手段の下位バイトの桁上がりの位相がほぼ半周期ずれていることを特徴とする。
【００１３】
さらに、本発明に係るタイマ装置（５）は、タイマ装置（１）〜（４）のいずれかにおいて、
上記時間情報として現在時刻を生成するものであり、
インプットキャプチャ機能を備えたタイマ手段を備え、
キャプチャ時刻と現在時刻の下位の値との大小関係から現在時刻の上位の値を補正した後、キャプチャ時刻と現在時刻の上位の値を合成して拡張されたキャプチャ時刻を生成することを特徴とする。
【発明の効果】
【００１４】
本発明に係るタイマ装置（１）、（２）によれば、基準タイマ手段の上位バイトと補助タイマ手段の下位バイトの精度が一致するとともに、オーバーラップし、基準タイマ手段の値と補助タイマ手段の上位バイトを合成して時間情報を生成するので、低機能マイコンで高機能マイコンと同等の精度、範囲の時間情報を取得することができる。
【００１５】
また、本発明に係るタイマ装置（３）によれば、オーバーラップしている基準タイマ手段の上位バイトと補助タイマ手段の下位バイトの大小関係によって補助タイマ手段の上位バイトに「１」を加えるか否かを決定することにより、上位バイトのずれが補正されるので、割込みなどによる処理遅れを回避し、高性能な時間情報を取得することができる。
【００１６】
一方、ソフトウェアタイマである補助タイマの波形は、プログラム処理待ち等の影響で、ハードウェアタイマである基準タイマの波形と多少異なる場合があるが、上記のように、基準タイマと補助タイマのオーバーラップ部分の大小関係で補助タイマの上位バイトに「１」を加える補正をするか否かを決めているため、誤差の影響で基準タイマと補助タイマの大小関係が入れ替わることは避けなければならない。この点に関し、本発明に係るタイマ装置（４）によれば、オーバーラップしている基準タイマ手段の上位バイトと補助タイマ手段の下位バイトの桁上がりの位相がほぼ半周期ずれているので、誤差の影響で大小関係が入れ替わる可能性がなく、時刻のずれを回避することができる。
【００１７】
また、本発明に係るタイマ装置（５）によれば、キャプチャ時刻と現在時刻の下位の値との大小関係から現在時刻の上位の値を補正した後、キャプチャ時刻と現在時刻の上位の値を合成してキャプチャ時刻が生成されるので、キャプチャ時刻と実際に演算処理に使用される時刻とが相異する事態を避けることができ、正確なキャプチャ時刻を演算に使用することが可能となる。
【実施例】
【００１８】
以下、本発明のタイマ装置の実施例について、図面を用いて説明する。
図１は本発明のタイマ装置を実施するマイコンの構成を示す図であり、ＣＰＵ１、ＲＯＭ（Read Only Memory）２、ＲＡＭ（Random Access Memory)３及びタイマユニット４から構成され、レジスタ１１、１２を備えたＣＰＵ１は、マイコンのハードウェア各部を制御するとともに、ＲＯＭ２に記憶されたプログラムに基づいて補助タイマのカウントアッププログラム、現在時刻演算プログラム等の各種のプログラムを実行する。また、ＲＡＭ３はＳＲＡＭ等で構成され、プログラムの実行時に発生する一時的なデータを記憶するとともに、補助タイマの値を記憶する。
【００１９】
一方、タイマユニット４は１６ビットのタイマユニットであり、図２に示すように、共通のタイマコントロール２１と、タイマ１コントロール２２、タイマコントロールレジスタ（ＴＣＲ）２３、タイマカウンタ（ＴＣＮＴ）２４よりなる基準タイマと、タイマ２コントロール２５、ＴＣＲ２６、タイマインタラプトイネーブルレジスタ（ＴＩＥＲ）２７よりなる補助タイマの割込み処理部と、タイマ３コントロール２８、ＴＣＲ２９、ＴＩＥＲ３０、タイマジェネラルレジスタ（ＴＧＲ）３１よりなるインプットキャプチャ機能部とから構成されている。
【００２０】
タイマコントロール２１には１２ＭＨｚの外部クロックが入力され、この外部クロックに基づいて、タイマ１コントロール２２、タイマ２コントロール２５、タイマ３コントロール２８を制御する。また、基準タイマのタイマ１コントロール２２は、ＴＣＲ２３に設定された分周比に基づいてタイマカウンタ２４を制御し、このタイマカウンタ２４により図３（ｂ）に示すように１６ビットの基準タイマの時刻が計時される。
【００２１】
さらに、タイマ２コントロール２５はＴＣＲ２６に設定された分周比に基づいて、割込み設定レジスタであるＴＩＥＲ２７を制御し、ＴＩＥＲ２７からの補助タイマのカウントアップ割込み信号により、図３（ａ）に示す１６ビットの補助タイマの時刻が計時される。
また、タイマ３コントロール２８は、キャプチャ入力ポートからキャプチャ信号が入力されたとき、基準タイマのタイマカウンタ２４の値をキャプチャ時刻としてＴＧＲ３１に取り込むとともに、ＴＩＥＲ３０によりアプリケーションソフトウェアへの割込み処理を行う。
【００２２】
一方、図３（ａ）、（ｂ）に示すように、補助タイマの下位８ビットと基準タイマの上位８ビットがオーバーラップしており、アプリケーションソフトから現在時刻の要求があったとき、ＣＰＵ１は図３（ｃ）に示すように、補助タイマの上位バイトと基準タイマの時刻より２４ビットの現在時刻を生成してアプリケーションソフトに送り返す。また、アプリケーションソフトからキャプチャ時刻の要求があったとき、ＣＰＵ１はタイマユニット４のＴＧＲ３１からキャプチャ時刻を取得するとともに、現在時刻と比較することにより、拡張されたキャプチャ時刻をアプリケーションソフトに送り返す。
【００２３】
次に、補助タイマのカウントアップと現在時刻の形成時の詳細な作用についてフローチャートを用いて説明する。
タイマユニット４の割込み処理部のＴＩＥＲ２７は1.37ｍｓ毎にＣＰＵ１に割込み信号を送出し、この割込み信号を受けると、ＣＰＵ１は図４のフローチャートに示す補助タイマのカウントアッププログラムを開始する。
このプログラムを開始すると、ＣＰＵ１は、まず、ＲＡＭ３に記憶されている補助タイマの値をレジスタ１１に保管する（ステップ１０１）。次に、レジスタ１１に保管された補助タイマの値を８カウントアップする（ステップ１０２）。
【００２４】
すなわち、基準タイマのＴＣＲ２３に設定された分周比を８にし、基準タイマの最下位ビットの駆動間隔（ＬＳＢ）を0.667μsとした場合、オーバーラップ部分を８ビット確保するためには、補助タイマの最下位ビットの駆動間隔（ＬＳＢ）は170.7（0.667×256）μsとする必要があるが、このプログラムが1.37ms毎に実施されるので、補助タイマのＬＳＢを170.7μsとするために、ここで８（1370／170.7）カウントアップさせる。
【００２５】
次に、ＣＰＵ１は補助タイマの下位８ビットに桁上がりが生じたか否かを判定し（ステップ１０３）、桁上がりが発生していないと判定した場合には、レジスタ１１に保管された補助タイマの値をＲＡＭ３に格納した（ステップ１０４）後、プログラムを終了する。
一方、ステップ１０３で補助タイマの下位８ビットに桁上がりが生じたと判定した場合、ＣＰＵ１はタイマユニット４のタイマカウンタ２４から基準タイマの値を取得してレジスタ１２に保管した後、この基準タイマの上位８ビットの値が所定の範囲内にあるか否かを判定し（ステップ１０５）、基準タイマの上位８ビットの値が所定の範囲内にないと判定した場合、レジスタ１１に保管された補助タイマの値をＲＡＭ３に格納した（ステップ１０４）後、プログラムを終了する。
【００２６】
ステップ１０５で基準タイマの上位８ビットの値が所定の範囲内にあると判定した場合、ＣＰＵ１はレジスタ１１に保管された補助タイマの値に１２８を加算することにより、補助タイマを進めた（ステップ１０６）後、レジスタ１１に保管された補助タイマの値をＲＡＭ３に格納する（ステップ１０４）。
【００２７】
上記のように、基準タイマの上位８ビットの値が所定の範囲内にある場合に補助タイマを１２８進める理由について、図５を用いて説明する。
図５はタイマ値をグラフにしたものであり、実線が基準タイマの上位バイトの値の変化を示し、破線が補助タイマの下位バイトの変化を示している。基準タイマの値が補助タイマの値より小さい、αの区間では、基準タイマが桁上がりし、補助タイマの上位バイトのカウントアップが必要であるが、補助タイマの下位バイトはまだ桁上がりしていない。つまり、実際に用いられる補助タイマの上位バイトが１カウント小さいので、α区間では補助タイマの上位バイトに１加算し、現在時刻を算出しなければならない。また、基準タイマの値が補助タイマの値より大きい、βの区間では、補助タイマの値が基準タイマの値に追いついており、補助タイマの上位バイトに１加算する必要がない。
【００２８】
一方、ソフトウェアタイマである補助タイマの波形はプログラム処理待ち等の影響で、ハードウェアタイマである基準タイマの波形と多少異なる場合がある。すなわち、図５のＡ点に示すように、割り込みなどの影響により補助タイマが一時的に遅れてしまい、２つのタイマの大小関係が変化することがある。このような場合、上記のように、基準タイマと補助タイマのオーバーラップ部分の大小関係で、補助タイマの上位バイトに「１を加える」補正をするか否かを決めているため、誤差の影響で基準タイマと補助タイマの大小関係が入れ替わることは避けなければならない。
【００２９】
このため、補助タイマのオーバーラップ部分（下位バイト）に桁上がりが生じた場合、基準タイマの値が所定の範囲、例えば、０〜４０、または２１５〜２５５の範囲にあれば、誤差の影響で大小関係が入れ替わる可能性があるとして、図５のＢ点に示すように、補助タイマの値を１２８進めて基準タイマの上位バイトの桁上がりと補助タイマの下位バイトの桁上がりの位相を半周期ずらすことにより、誤差の影響で大小関係が入れ替わる可能性がある範囲から外すようにしている。
このようにすると、図５のＣ点に示すように、Ａ状態と同様に誤差の影響で補助タイマが遅れても、大小関係が変化することを防止することが可能となる。
【００３０】
次に、アプリケーションソフトから現在時刻の要求があった場合の作用を図６のフローチャートにより説明する。
アプリケーションソフトから現在時刻の要求があった場合、ＣＰＵ１は図６のフローチャートに示す現在時刻形成プログラムを開始し、まず、タイマカウンタ２４の値を基準タイマの値として取り込み、レジスタ１１に保管する（ステップ２０１）。次に、ＣＰＵ１は、ＲＡＭ３に記憶されている補助タイマの値をレジスタ１２に保管した（ステップ２０２）後、図３（ａ）、（ｂ）の斜線部に示す、補助タイマの下位バイトと基準タイマの上位バイトのオーバーラップ部において補助タイマの下位バイトの値が大きいか否かを判定する（ステップ２０３）。
【００３１】
ステップ２０３で補助タイマの下位バイトの値が大きいと判定した場合、ＣＰＵ１は、レジスタ１２に保管された補助タイマの上位バイトの値に１加算する（ステップ２０４）。次に、ＣＰＵ１は、図３（ｃ）に示すように、レジスタ１２に保管された補助タイマの上位バイトの値を抜き出した（ステップ２０５）後、レジスタ１１に保管された基準タイマの値と合成することにより、現在時刻を形成する（ステップ２０６）。
【００３２】
一方、ステップ２０３で補助タイマの下位バイトの値が小さいと判定した場合、ＣＰＵ１は、上記と同様に、レジスタ１２に保管された補助タイマの上位バイトの値を抜き出した（ステップ２０５）後、レジスタ１１に保管された基準タイマの値と合成することにより、現在時刻を形成する（ステップ２０６）。
このようにして形成された現在時刻がアプリケーションソフトに転送される。
【００３３】
上記のように、補助タイマと基準タイマのオーバーラップ部の値の比較により、補助タイマの上位バイトの値を補正する理由については、上記で説明したが、再度、図７の波形図により説明する。
図７は、図５と同様に、タイマ値をグラフにしたものであり、実線が基準タイマの上位バイトの値の変化を示し、破線が補助タイマの下位バイトの変化を示している。図７のαの時点で基準タイマの上位バイトの値が桁上がりし、α−βの区間、すなわち、補助タイマの下位バイトの値が基準タイマの上位バイトの値より大きい区間では、補助タイマの下位バイトの値が桁上がりしておらず、補助タイマの上位バイトの値はカウントアップされていないので、補助タイマの下位バイトの値が桁上がりするβの時点まで、補助タイマの上位バイトの値に１加算する必要がある。
また、β−γの区間、すなわち、補助タイマの下位バイトの値が基準タイマの上位バイトの値より小さい区間では、補助タイマの下位バイトの値が桁上がりし、補助タイマの上位バイトの値がカウントアップされているので、補助タイマの上位バイトの値の補正は不要である。
【００３４】
以上のように、基準タイマと補助タイマのオーバーラップ部、すなわち、基準タイマの上位バイトと補助タイマの下位バイトの大小関係により補助タイマの上位バイトに「１を加える」か否かを決定することによって補助タイマの上位バイトのずれが補正されるので、割込み処理などによる処理遅れを回避でき、正確な時刻を形成することが可能となる。
また、オーバーラップ部の基準タイマの上位バイトと補助タイマの下位バイトの桁上がりの位相がほぼ半周期ずれているので、誤差の影響で大小関係が入れ替わる可能性がなく、時刻のずれを回避することができる。
【００３５】
次に、タイマユニット４のキャプチャ入力ポートにキャプチャ信号が入力され、インプットキャプチャが基準タイマのタイマカウンタ２４の値をキャプチャ時刻として取り込んでＴＧＲ３１に保管し、ＴＩＥＲ３０による割込み処理によってアプリケーションソフトがキャプチャ時刻要求を行った場合の作用について、以下説明する。
この場合、基準タイマとインプットキャプチャ機能を備えたタイマの同期をとり、２４ビット現在時刻とキャプチャ時刻（マイコン１６ビットレジスタ）を合成することにより、拡張された２４ビットインプットキャプチャ時刻を取得するようにしている。
【００３６】
アプリケーションソフトからキャプチャ時刻の要求があった場合、ＣＰＵ１は図８のフローチャートに示すキャプチャ時刻形成プログラムを開始し、まず、図６のフローチャートに示す現在時刻形成プログラムを実行して現在時刻を形成し、形成した現在時刻をレジスタ１１に保管する（ステップ３０１）。
次に、ＣＰＵ１は、タイマユニット４にキャプチャ時刻の取得要求を行って、ＴＧＲ３１に保管されているキャプチャ時刻を取り込み、レジスタ１２に保管した（ステップ３０２）後、図９（ａ）、（ｂ）に示すように、オーバーラップしているキャプチャ時刻と現時時刻の下位１６ビットを比較することにより、キャプチャ時刻取得後に、現在時刻の上位バイトがカウントアップされているか否かを判定する（ステップ３０３）。
【００３７】
すなわち、図１０のタイマ値のグラフの状態αに示すように、現在時刻とキャプチャ時刻がともに桁上がりしていない場合には、現在時刻の上位バイトの補正は不要であるが、状態βに示すように、現在時刻が桁上がりしており、キャプチャ時刻が桁上がりしていない、つまり実際に用いられている現在時刻の上位バイトが１カウント大きい場合には、現在時刻の上位バイトを１減算する必要がある。
【００３８】
ステップ３０３で、キャプチャ時刻の値が現在時刻の下位１６ビットの値より大きいと判定した場合、上記のように、キャプチャ時刻取得後に、現在時刻の上位バイトがカウントアップされているので、ＣＰＵ１は現在時刻の上位バイトから１減算する（ステップ３０４）。次に、ＣＰＵ１は、図９（ｃ）に示すように、レジスタ１１に保管された現在時刻の上位バイトの値を抜き出した（ステップ３０５）後、レジスタ１２に保管されたキャプチャ時刻の値と合成することにより、２４ビットの拡張されたキャプチャ時刻を形成する（ステップ３０６）。
【００３９】
一方、ステップ３０３でキャプチャ時刻の値が現在時刻の下位１６ビットの値より小さいと判定した場合、キャプチャ時刻取得後に、現在時刻の上位バイトがカウントアップされていないので、ＣＰＵ１は、上記と同様に、レジスタ１１に保管された現在時刻の上位バイトの値を抜き出した（ステップ３０５）後、レジスタ１２に保管されたキャプチャ時刻の値と合成することにより、２４ビットの拡張されたキャプチャ時刻を形成する（ステップ３０６）。
このようにして形成された拡張キャプチャ時刻がアプリケーションソフトに転送される。
【００４０】
以上のように、キャプチャ時刻と現在時刻の下位１６ビットの値との大小関係から現在時刻を補正した後、現在時刻の上位バイトとキャプチャ時刻を合成して拡張されたキャプチャ時刻が生成されるので、キャプチャ時刻と実際に演算処理に使用される時刻とが相異する事態を避けることができ、正確なキャプチャ時刻を演算に使用することが可能となる。
【００４１】
なお、上記の実施例では、オーバーラップ部の基準タイマの上位バイトと補助タイマの下位バイトの値が近い場合、基準タイマの上位バイトと補助タイマの下位バイトの値の桁上がりの位相をほぼ半周期ずらすため、補助タイマの下位バイトに１２８を加算したが、補助タイマの下位バイトを進める値は、半周期に限られるものではなく、誤差の影響で大小関係が入れ替わる可能性がなくなる範囲で任意に設定することが可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明のタイマ装置を実施するマイコンの構成を示すブロック図である。
【図２】タイマユニットの構成を示すブロック図である。
【図３】補助タイマ、基準タイマ、現在時刻の値の関係を示す図である。
【図４】補助タイマのカウントアッププログラムを示すフローチャートである。
【図５】タイマ値をグラフにした説明図である。
【図６】現在時刻形成プログラムを示すフローチャートである。
【図７】タイマ値をグラフにした説明図である。
【図８】キャプチャ時刻形成プログラムを示すフローチャートである。
【図９】現在時刻、キャプチャ時刻、拡張キャプチャ時刻の関係を示す図である。
【図１０】タイマ値をグラフにした説明図である。
【符号の説明】
【００４３】
１  ＣＰＵ
１１、１２  レジスタ
２  ＲＯＭ
３  ＲＡＭ
４  タイマユニット
２１、２２、２５、２８  タイマコントロール
２３、２６、２９  ＴＣＲ
２４  タイマカウンタ（ＴＣＮＴ）
２７、３０  ＴＩＥＲ
３１  ＴＧＲ
【図１】
2006155493.tif 000003
【図２】
2006155493.tif 000004
【図３】
2006155493.tif 000005
【図４】
2006155493.tif 000006
【図５】
2006155493.tif 000007
【図６】
2006155493.tif 000008
【図７】
2006155493.tif 000009
【図８】
2006155493.tif 000010
【図９】
2006155493.tif 000011
【図１０】
2006155493.tif 000012