(57)【特許請求の範囲】
【請求項１】
検出した物理量に応じて周期的なセンサ信号を出力すると共に、前記センサ信号の位相を示す位相信号を出力するセンサより、前記センサ信号及び前記位相信号が与えられて前記センサ信号を処理する周期信号処理装置において、
複数のタスクを並行して実行するＣＰＵと、
前記ＣＰＵに対し、当該ＣＰＵにより実行される複数のタスクの実行状態を切替えさせる信号を出力するタスク切替えタイマとを備え、
前記複数のタスクの１つは、前記センサ信号を処理するための信号処理タスクであり、
前記タスク切替えタイマは、タイマ値に相当する時間の計時を終了する直前に前記ＣＰＵに対する割込みを禁止すると共に、前記ＣＰＵに対して命令実行を停止させるための信号を出力し、前記計時を終了すると、前記ＣＰＵに前記信号処理タスクを実行させるための切替え信号を出力し、
前記ＣＰＵは、前記タスク切替えタイマより前記切替え信号が与えられると、実行中のタスクを中断してから前記信号処理タスクの実行を開始し、前記信号処理タスクにおいて、前記位相信号のエッジを検出し、前記センサ信号のサンプリング処理について同期をとるための同期処理を行うと前記タスク切替えタイマに前記タイマ値をセットし、その他のタスクの実行要求として自身に与えられる割込みの禁止状態を解除してから前記サンプリング処理を開始することを特徴とする周期信号処理装置。
【請求項２】
前記ＣＰＵは、前記信号処理タスクにおいて、前記センサ信号のフィルタリング処理を行うと共に、前記センサ信号をサンプリングするタイミングを一定に維持するため、前記位相信号を利用して前記同期処理を行うことを特徴とする請求項１記載の周期信号処理装置。
【請求項３】
前記センサが、前記位相信号として自身の発振動作に伴う駆動矩形波信号を出力し、
前記ＣＰＵは、前記信号処理タスクにおいて、前記駆動矩形波信号のエッジを検出して前記同期処理を行うことを特徴とする請求項２記載の周期信号処理装置。
【請求項４】
前記ＣＰＵは、前記信号処理タスクにおいて、前記駆動矩形波信号のエッジ検出タイミングに同期して前記センサ信号をサンプリングすることで同期検波を行い、その検波結果をフィルタリング処理することを特徴とする請求項３記載の周期信号処理装置。
【請求項５】
前記ＣＰＵは、前記フィルタリング処理により得られたセンサ信号について、前記センサが有する特性に応じた補正処理を行うことを特徴とする請求項２乃至４の何れかに記載の周期信号処理装置。
【請求項６】
前記ＣＰＵは、前記信号処理タスクにおいて、前記同期処理を完了した時点でその他のタスクが実行待ちとなっている場合は前記他のタスクを実行するように切り替え、
前記他のタスクの処理が完了すると、再び前記信号処理タスクを実行するように切り替えることを特徴とする請求項１乃至５の何れかに記載の周期信号処理装置。
【請求項７】
前記センサが複数あり、
前記信号処理タスクは、前記複数のセンサにそれぞれ対応した同期処理サブタスクと信号処理サブタスクとからなり、
前記同期処理サブタスクは、前記信号処理サブタスクよりも優先度が高く設定されていると共に、前記複数のセンサにそれぞれ対応した同期処理サブタスクの間においても優先順位が付与されており、
前記タスク切替えタイマは、前記複数のセンサに対応した複数のカウンタを備え、前記複数のカウンタがそれぞれ計時を終了すると、前記切替え信号と共に、何れの信号処理タスクを実行するように切り替えるのかを示す識別信号を出力することを特徴とする請求項１乃至６の何れかに記載の周期信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサより与えられる、物理量の検出状態又は自身の駆動状態に応じた周期的なセンサ信号を処理する周期信号処理装置に関する。
【背景技術】
【０００２】
物理量として例えば角速度を検出するヨーレートセンサ（ジャイロセンサ，信号源）は、所定周期で振動する振動子を備えており、その振動方向に対して直交する方向の振動を検出することで、回転角速度に応じた電圧をセンサ信号として出力する。そして、一般には、センサ信号を、振動子の発振周波数に基づいて同期検波し、その検波結果を全波整流してから必要な信号成分を抽出するようにフィルタリング処理する。特許文献１には、ヨーレートセンサが出力するセンサ信号をフィルタリング処理する構成の一例が開示されている。
【特許文献１】特開２００３−２１４８９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記の信号処理を、ＣＰＵやＤＳＰなどのプロセッサを用いて行うことを想定すると、プロセッサが上記信号処理以外の処理も並行して行う場合には、他の処理（例えば通信など）の実行要求が割り込み信号として与えられる（図１１（ａ）参照）。センサ信号を同期検波するには、振動子の発振周波数に等しい周波数の駆動矩形波信号についてレベル変化エッジを検出する必要があるが、他の処理の実行要求割り込みが発生するタイミングによってはエッジが検出できなくなるおそれがある（図１１（ｂ）参照）。その場合、センサ信号の整流処理が不完全となり（図１１（ｃ），「異なる位相成分の混入」参照）、信号レベルの検出精度が低下する。
【０００４】
上記の問題を回避するには、ＣＰＵを高い周波数で動作させるか、積和演算などの処理能力が高い演算器（コプロセッサ）を使用する必要があり、消費電流が増大したり、装置の回路規模が大きくなることやコストの上昇につながる。
また、上記のような信号処理は、センサに限るものではなく、例えばモータのようなアクチュエータ（信号源）が駆動された場合に、周期的に出力される電圧や電流などの信号を検出することでアクチュエータの変位量や位置を検出する場合についても、信号の同期をとる必要があることから、同様の問題がある。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的は、消費電流の増大や装置のコスト上昇を招くことなく、センサが出力する周期的なセンサ信号との同期を適切にとりながら当該信号を処理できる周期信号処理装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１記載の周期信号処理装置によれば、複数のタスクを並行して実行するＣＰＵに対し、タスクの実行状態を切替えさせる信号を出力するタスク切替えタイマを備える。ＣＰＵは、信号処理タスクにおいて、センサより出力されるセンサ信号のサンプリング処理について同期をとるための同期処理を行うとタスク切替えタイマにタイマ値をセットし、自身に与えられる割込みの禁止状態を解除してからセンサ信号のサンプリング処理を開始する。そして、タスク切替えタイマは、タイマ値相当時間の計時を終了する直前にＣＰＵに対する割込みを禁止すると共に、ＣＰＵに対して命令実行を停止させるための信号を出力し、計時を終了すると、ＣＰＵに信号処理タスクを実行させるための切替え信号を出力する。
【０００７】
即ち、ＣＰＵが信号処理タスクにおいて同期処理を行う期間は、その他のタスク処理要求である割込みが禁止されるので、同期処理を確実に実行できる。また、その後にＣＰＵが他のタスクを実行している場合でも、タスク切替えタイマが計時を終了すれば切替え信号を出力するので、次の同期タイミングが到来するまでに信号処理タスクの実行を開始できる。従って、消費電流の増大や装置のコスト上昇を招くことなく、ＣＰＵは、センサ信号との同期をとりつつサンプリング処理を確実に実行することができる。
また、ＣＰＵがある命令の実行を開始してからその実行を完了するまでには所定の時間を要するので、先に命令実行停止信号を与えてから実行中のタスクを信号処理タスクに切替えるようにすれば、その間に命令の実行を完了させることができ、タスクの切替えをスムーズに行うことができる。
【０００８】
請求項２記載の周期信号処理装置によれば、ＣＰＵは、信号処理タスクにおいて、センサ信号のフィルタリング処理を行うと共に位相信号を利用して同期処理を行う。すなわち、位相信号を利用することでセンサ信号との同期をとれば、センサ信号をサンプリングするタイミングを一定に維持してフィルタリング処理を適切に行うことができる。
【０００９】
請求項３記載の周期信号処理装置によれば、センサが、位相信号として自身の発振動作に伴う駆動矩形波信号を出力すると、ＣＰＵは、信号処理タスクにおいて、駆動矩形波信号のエッジを検出して同期処理を行う。この場合、タスク切替えタイマにセットするタイマ値は、駆動矩形波信号周期の１／２未満に相当する値に設定する。すなわち、位相信号が矩形波であれば、そのエッジを検出することでセンサ信号との同期を容易にとることができる。
【００１０】
請求項４記載の周期信号処理装置によれば、ＣＰＵは、信号処理タスクにおいて、駆動矩形波信号のエッジ検出タイミングに同期してセンサ信号をサンプリングすることで同期検波を行い、その検波結果をフィルタリング処理する。従って、周期的な変化を呈するセンサ信号を同期検波により捉えてフィルタリング処理する必要があるものに、有効に適用できる。
【００１１】
請求項５記載の周期信号処理装置によれば、ＣＰＵは、フィルタリング処理により得られたセンサ信号についてセンサが有する特性に応じた補正処理を行うので、例えば、温度特性などを補償することで、センサ信号を高精度に検出できる。
【００１２】
請求項６記載の周期信号処理装置によれば、ＣＰＵは、信号処理タスクにおいて、同期処理を完了した時点でその他のタスクが実行待ち状態であれば前記他のタスクを実行するように切り替え、当該タスクの処理が完了すると、再び信号処理タスクを実行するように切り替える。即ち、同期処理が完了した以降に行なうセンサ信号の処理については時間的に余裕があるので、他のタスクが実行待ち状態であればそのタスクを先に実行した後に残りの信号処理を再開・継続することで、複数のタスクの処理バランスを適切に維持することができる。
【００１４】
請求項７記載の周期信号処理装置によれば、センサが複数あり、信号処理タスクを、複数のセンサにそれぞれ対応した同期処理サブタスクと信号処理サブタスクとで構成する。そして、同期処理サブタスクは、信号処理サブタスクよりも優先度を高く設定し、複数のセンサにそれぞれ対応した同期処理サブタスクの間にも優先順位を付与しておく。また、タスク切替えタイマは、複数のセンサに対応した複数のカウンタを備え、各カウンタがそれぞれ計時を終了すると、切替え信号と共に、何れの信号処理タスクを実行するように切り替えを行うかを示す識別信号をＣＰＵに出力する。
従って、複数のセンサの信号処理を並行して行なう必要がある場合でも、それぞれの同期処理を確実に行ないつつ対応する信号処理を行なうことができる。
【発明を実施するための最良の形態】
【００１５】
（第１実施例）
以下、本発明の第１実施例について図１乃至図５を参照して説明する。図１は、センサ信号処理装置の構成を示す機能ブロック図である。センサ信号処理装置（周期信号処理装置）は、マイクロコンピュータ（マイコン）１により、例えば車両に搭載されるＥＣＵ（Electronic Control Unit）として構成されている。マイコン１は、ＣＰＵ２，メモリ３，割込み制御回路４，Ａ／Ｄ変換器５，Ｉ／Ｏポート６，通信回路７，タスク切替えタイマ８等を備えており、これらは、アドレス及びデータバス９を介して接続されている。
【００１６】
メモリ３は、ＲＯＭ，ＲＡＭなどで構成され、ＣＰＵ２の制御プログラムやデータが記憶されていると共に、ＣＰＵ２が上記制御プログラムに従って処理を実行する場合のワークエリアとして使用される。割込み制御回路４は、Ａ／Ｄ変換器５，Ｉ／Ｏポート６，通信回路７がＣＰＵ２に対して発生させる各種の割込みを制御する。Ａ／Ｄ変換器５は、ヨーレートセンサ（振動子，信号源）１０が出力するセンサ信号（周期信号）をＡ／Ｄ変換し、その変換処理が終了すると、ＣＰＵ２に対してＡ／Ｄ変換割り込みを発生させる。
【００１７】
発振回路１１は、ヨーレートセンサ１０を構成している振動子を励起するもので、周知のインバータゲートや抵抗素子，コンデンサ等で構成されている。ヨーレートセンサ１０が発振動作することに伴い出力される駆動矩形波信号（位相信号）は、Ｉ／Ｏポート６に与えられており、ＣＰＵ２は、Ｉ／Ｏポート６を介して駆動矩形波信号のエッジ検出を行う。Ｉ／Ｏポート６は、矩形波信号のレベルがハイ（Ｈ），ロウ（Ｌ）に変化すると、その変化したレベルを保持するようになっている。
通信回路７は、図示しない他のマイコン（ＥＣＵ）と例えば車内ＬＡＮなどにより通信を行うもので、他のＥＣＵがマイコン１に対して通信を開始する場合には、ＣＰＵ２に対して通信開始要求割込みを発生させる。
【００１８】
ＣＰＵ２は、図１１に示した場合と同様に、ヨーレートセンサ１０より出力される信号を処理するための信号処理タスクと、通信回路７を介して行う他のマイコンとの通信を処理するための通信処理タスクとを並行して実行するように制御プログラムが構成されている。そして、タスク切替えタイマ８は、実行対象とするタスクをＣＰＵ２に切り替えさせるための信号を出力する。
【００１９】
図２は、タスク切替えタイマ８の構成を示すもので、図３は、タスク切替えタイマ８の動作例を示すタイミングチャートである。タスク切替えタイマ８は、タイマカウンタ１２，減算器１３，マルチプレクサ１４などを備えている。書き込み制御信号をアクティブ（ハイ）にすると、ＣＰＵ２がマルチプレクサ１４を介してタイマカウンタ１２にカウントデータを書き込むことが可能となり（図３（ａ），（ｂ）参照）、その他の場合は、図示しないカウントクロックの周期に応じて減算器１３がカウントデータをデクリメントする（図３（ｃ）参照）。すなわち、タスク切替えタイマ８は、ダウンカウントタイマとして構成されている。
【００２０】
また、タスク切替えタイマ８は、カウントデータが「３」になると、割込み制御回路４に対する割込みマスク信号をアクティブにして（図３（ｄ）参照）ＣＰＵ２に対する割込みを禁止させる。同時に、ＣＰＵ２に対する命令実行停止信号をアクティブにして（図３（ｅ）参照）、ＣＰＵ２がその時点で実行中である命令の実行が完了した時点で、以降の命令実行を停止させる。そして、カウントデータが「３」になると、割込みマスク信号及び命令実行停止信号をインアクティブにすると共に、ＣＰＵ２に対してタスク切替え信号を１クロック期間だけ出力する（図３（ｆ）参照）。
【００２１】
尚、命令実行停止信号をアクティブにする期間は、ＣＰＵ２が実行する命令の最長サイクルに併せて設定する。即ち、ＣＰＵ２がある命令の実行を開始してからその実行を完了するまでには所定の時間を要するので、先に命令実行停止信号を与えてから実行中のタスクを信号処理タスクに切替えるようにし、その間に通信タスクにおける命令の実行を完了させる。例えばＣＰＵ２がパイプライン処理を行っている場合には、実行中の命令についてのパイプライン処理を完了させるための時間を確保する。
【００２２】
ＣＰＵ２は、タスク切替え信号が与えられると、信号処理タスクの実行を開始するように構成されている。その時点で通信タスクを実行している場合は当該タスクの処理を中断し、プログラムカウンタ（ＰＣ）値やステータスレジスタ，コンディションコードレジスタ等の値を、退避レジスタやスタック領域などに退避させてから、信号処理タスクの実行を開始する。
【００２３】
次に、本実施例の作用について図４及び図５も参照して説明する。図４は、ＣＰＵ２により実行される信号処理タスクの内容を示すフローチャートである。ＣＰＵ２は、先ず、Ｉ／Ｏポート６を介して駆動矩形波信号をサンプリングし、エッジ検出処理（同期処理）を行う（ステップＳ１，Ｓ２）。サンプリングした駆動矩形波信号のレベルは、メモリ３に保持しておく。尚、この段階では、上述したタスク切替えタイマ８の作用により、ＣＰＵ２に対する割込みは禁止された状態となっている。
【００２４】
前回のサンプルレベルと今回のサンプルレベルとが相違することで、駆動矩形波信号のエッジを検出すると（ステップＳ２：ＹＥＳ）、ＣＰＵ２は、タスク切替えタイマ８にカウントデータ（例えば「９９」）をセットする（ステップＳ３）。この時、ＣＰＵ２は、割込み制御回路４に設定されている割り込み禁止フラグをリセットして、自身に対する割込み禁止を解除する。尚、上記カウントデータは、駆動矩形波信号周期の１／２よりも短い期間に相当する値に設定する。
続いて、ＣＰＵ２は、Ａ／Ｄ変換器５を介してセンサ１０が出力するセンサ信号をサンプリングすると（ステップＳ４）、ステップＳ１において検出した駆動矩形波信号のレベルがハイ（Ｈ），ロウ（Ｌ）の何れであるかを判断する（ステップＳ５）。
【００２５】
ステップＳ５において駆動矩形波信号レベルがハイの場合は、ステップＳ７に移行してローパスフィルタ（ＬＰＦ）機能を実現するためのデジタル演算を行う。一方、ステップＳ５において駆動矩形波信号レベルがロウの場合は、センサ信号のレベルを反転させて、すなわちセンサ信号振幅の最大値と最小値との間の中央値を基準としてレベルを折り返す処理を行ってから（ステップＳ６）ステップＳ７に移行する。ステップＳ７の実行後は、ステップＳ４におけるセンサ信号のサンプリング回数をカウントするためのカウンタをインクリメントし（ステップＳ８）、上記回数カウンタの値が所定数に達しなければ（ステップＳ９：ＮＯ）、ステップＳ４に戻って引き続きセンサ信号のサンプリングを行う。
尚、ステップＳ１〜Ｓ６は、同期検波処理に対応する。また、ステップＳ７におけるフィルタリング処理は、同期検波したセンサ信号の直流成分を抽出するもので、その直流レベルが、ヨーレートセンサ１０により検出された角速度を示す。
【００２６】
ステップＳ９において、センサ信号のサンプリング回数が所定数に達すると（ＹＥＳ）、ＣＰＵ２は、ヨーレートセンサ１０や回路自体について予め与えられている特性情報に基づき（例えば、温度特性など）、検出結果についてオフセットや感度の補正を行うと（ステップＳ１０）、補正した検出結果を出力する（ステップＳ１１）。ここでの「出力」とは、検出結果を通信処理タスク側に渡して外部に送信することを示す。
【００２７】
図５は、図４のフローチャートに対応する処理の一例（タスクスケジューリング）を示すタイミングチャートである。図５（ｂ）に示すように、前回の信号処理タスクの実行が終了した時点から、タスク切替えタイマ８のカウント値が「０」になるまでの間に通信要求割り込みが発生すると、ＣＰＵ２は通信タスクの実行を開始する。そして、通信タスクの実行中にタスク切替えタイマ８のカウント値が「０」になると、タスク切替えタイマ８はタスク切替え信号を出力するので、ＣＰＵ２は、通信タスクの実行を中断して信号処理タスクの実行を開始する。この時、割込は禁止状態に設定されている。
【００２８】
信号処理タスクにおいて、駆動矩形波信号のエッジ検出が完了すると、ＣＰＵ２は、中断させた通信タスクの処理を再開する（図５（ｂ），（ｃ）参照）。即ち、エッジ検出が完了した以降に行なうセンサ信号の処理については時間的に余裕があるため、待機中の通信タスクを先に処理する。またこの時、割込み禁止は解除される。そして、通信タスクの実行が完了すると再び信号処理タスクに移行して、残りのステップＳ４〜Ｓ１１の処理を行う。
【００２９】
以上のように本実施例によれば、ＣＰＵ２に対してタスク切替え信号を出力するタスク切替えタイマ８を備え、ＣＰＵ２は、信号処理タスクにおいて、センサ１０の発振動作に伴い出力される駆動矩形波信号のエッジ検出を行い、そのエッジを検出するとタスク切替えタイマ８にカウントデータをセットし、自身に与えられる割込みの禁止状態を解除してからセンサ信号処理を開始する。そして、タスク切替えタイマ８は、カウントデータに基づく計時を終了する直前にＣＰＵ２に対する割込みを禁止するように設定し、計時を終了すると、ＣＰＵ２に信号処理タスクを実行させるためにタスク切替え信号を出力する。
【００３０】
従って、ＣＰＵ２が信号処理タスクにおいて駆動矩形波信号のエッジ検出を行う期間は、通信タスクの処理要求として発生する割込みの受付が禁止（マスク）されるので、エッジを確実に検出できる。また、その後にＣＰＵ２が通信タスクを実行している場合でも、タスク切替えタイマ８が計時を終了すれば切替え信号を出力するので、次のエッジ検出タイミングが到来するまでに信号処理タスクの実行を開始できる。従って、消費電流の増大や装置のコスト上昇を招くことなく、ＣＰＵ２は、駆動矩形波信号のエッジ検出タイミングに同期して、センサ信号処理を確実に実行することができる。
【００３１】
また、ＣＰＵ２は、信号処理タスクにおいて、エッジを検出した時点で通信タスクが実行待ち状態であれば通信タスクを実行するように切り替え、当該タスクの処理が完了すると、再び信号処理タスクを実行するように切り替えるので、複数のタスクの処理バランスを適切に維持することができる。そして、タスク切替えタイマ８は、計時を終了する直前に、ＣＰＵ２に対して命令実行停止信号も出力するので、タスクの切替えをスムーズに行うことができる。
【００３２】
更に、ＣＰＵ２は、信号処理タスクにおいて、駆動矩形波信号のエッジ検出タイミングに同期してセンサ信号をサンプリングすることで同期検波を行い、その検波結果をフィルタリング処理するので、周期的な変化を呈するセンサ信号を同期検波により捉えて、センサ信号をサンプリングするタイミングを一定に維持し、適切にフィルタリング処理することができる。加えて、ＣＰＵ２は、フィルタリング処理により得られたセンサ信号についてセンサや回路等が有する特性に応じた補正処理を行うので、センサ信号を高精度に検出できる。
【００３３】
（第２実施例）
図６乃至図９は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分について説明する。第２実施例のマイクロコンピュータ２１（センサ信号処理装置，周期信号処理装置）は、図６に示すように、２つのヨーレートセンサ１０Ａ，１０Ｂが出力するセンサ信号を並行して処理するように構成されている。従って、マイコン２１は、２つのセンサ１０Ａ，１０Ｂに対応して、２つのＡ／Ｄ変換器５Ａ，５Ｂと、２つのＩ／Ｏポート６Ａ，６Ｂを備えている。また、ＣＰＵ２はＣＰＵ２２に、タスク切替えタイマ８はタスク切替えタイマ２３に置き換えられている。
【００３４】
尚、２つのセンサ１０Ａ，１０Ｂは、例えば、同一の軸周りについて発生する角速度を同時に検出して冗長性を持たせても良いし（フェイルセーフ対策）、或いは、それぞれ異なる軸周りについて発生する角速度を検出しても良い。
【００３５】
図７は、タスク切替えタイマ２３の内部構成を示すものである。基本的には、図２に示すタスク切替えタイマ８の構成を、２つのセンサに応じて２組（Ａ，Ｂ）備えたもので、タイマカウンタ１２Ａ，１２Ｂに対してそれぞれカウントデータを設定するために、ＡＮＤゲート２４Ａ，２４Ｂとマルチプレクサ２５とを備えている。ＡＮＤゲート２４Ａ，２４Ｂの一方の入力端子には、ＣＰＵ２２が出力する書き込み制御信号が共通に与えられている。
【００３６】
マルチプレクサ２５には、ＣＰＵ２２が、何れのカウンタ１２Ａ，１２Ｂに書き込みを行うかを選択するためのカウンタ選択信号が、例えば図示しないアドレスデコーダより与えられる。但し、カウンタ選択信号がハイの場合はカウンタ１２Ａ側を、同選択信号がロウの場合はカウンタ１２Ｂ側を選択するように設定されている。そして、マルチプレクサ２５は、カウンタ選択信号がハイの場合はＡＮＤゲート２４Ａ側の他方の入力端子に、同選択信号がロウの場合はＡＮＤゲート２４Ｂ側の他方の入力端子にハイレベル信号を、それぞれ出力する。
【００３７】
また、タスク切替えタイマ２３は、タイマカウンタ１２Ａ，１２Ｂのカウントデータが「０」になると、タスク切替え信号と共に、カウンタ１２Ａ，１２Ｂの何れによる切替え信号かを示す識別信号も出力するように構成されている。例えば、カウンタ１２Ａ側であれば切替え識別信号をＬ，カウンタ１２Ｂ側であれば切替え識別信号をＨとするように設定する。
【００３８】
次に、第２実施例の作用について図８及び図９も参照して説明する。図８は、ＣＰＵ２２によって実行される各タスクの処理内容を示すフローチャートである。第２実施例では、２つのセンサ１０Ａ，１０Ｂより出力されるセンサ信号を処理するために、センサＡ信号処理タスクとセンサＢ信号処理タスクとがあり、各信号処理タスクは、エッジ検出（同期処理）サブタスク（（ａ），（ｃ））と信号処理サブタスク（（ｂ），（ｄ））とで構成されている。
【００３９】
また、図９は、図５相当図であるが、上記４つのサブタスクに加えて通信タスクがあり、計５つのタスクの優先順位は、高い方より
１．センサＡエッジ検出サブタスク
２．センサＢエッジ検出サブタスク
３．センサＡ信号処理サブタスク
４．センサＢ信号処理サブタスク
５．通信タスク
となるように設定されている。この場合、ＣＰＵ２２には、これらのタスクを切り換えて実行するため、それぞれのＰＣ値やレジスタ値を退避させる領域を確保する。
【００４０】
そして、図８に示す各フローチャート、サブタスク（ａ），（ｂ）のペアと、サブタスク（ｃ），（ｄ）のペアとは、基本的に第１実施例の図４に示すフローチャートを２つに分割したものであり、（ａ），（ｃ）に示すエッジ検出サブタスクでは、ステップＳ３を実行すると、（ｂ），（ｄ）に示す信号処理サブタスクを起動して（ステップＳ１２）処理を終了するようになっている。ここでの起動処理は、例えば信号処理サブタスクを起動するためのフラグを設けておき、ステップＳ１２ではその起動フラグをセットする。そして、ＣＰＵ２２のアイドル中に起動フラグがセットされたか否かをチェックするようにして、起動フラグのセットを認識すると信号処理サブタスク実行を開始する。
【００４１】
図９（ａ），（ｂ）に示すように、センサ１０Ａ，１０Ｂの駆動矩形波信号周期は異なっており、（Ａ＞Ｂ）となっている。そして、それぞれの駆動矩形波信号のエッジを、センサＡエッジ検出サブタスクと、センサＢエッジ検出サブタスクとで検出する。また、各信号周期に対応して、各タイマカウンタ１２Ａ，１２Ｂに設定するカウントデータは、例えば「９９」，「８９」と異なる値にする。
【００４２】
図９（ｃ）〜（ｆ）に示す信号処理タスクは、優先順位が高い方から順次実行されて行く。図９（ｄ）に示すように、センサＢエッジ検出サブタスクにおいて、センサ１０Ｂの駆動矩形波信号のエッジを検出すると、タイマカウンタ１２Ｂにカウントデータ「８９」をセットする（図９（ｉ）参照）。それから、割込み禁止を解除してセンサＢ信号処理サブタスクを起動するが、センサＡ信号処理サブタスクが実行待ちになっているため、先にセンサＡ信号処理サブタスクを実行する。そして、前記タスクの実行が終了すると、センサＢ信号処理サブタスクを実行するように切り替える。
【００４３】
図９（ｇ）に示すように、優先順位が最低である通信タスクの実行中に、タイマカウンタ１２Ａのカウントデータが「０」に達すると、通信処理タスクの実行を停止してセンサＡエッジ検出サブタスクを実行するように切り替える。また、その後にタイマカウンタ１２Ｂのカウントデータが「０」に達しても、切り替えの重複を避けるため、タイマカウンタ１２Ａのカウントデータが「０」である間は、タスク切替え信号並びに切替え識別信号を有効化しないようにする。
【００４４】
そして、センサＡエッジ検出サブタスクにおいて、センサ１０Ａ側のエッジが検出され、タイマカウンタ１２Ａにカウントデータが「９９」がセットされ、当該サブタスクが終了した時点で（図９（ｈ）参照）センサＢエッジ検出サブタスクが起動され、実行待ち状態となる。それから、割込み禁止を解除してセンサＡエッジ検出サブタスクを終了し、センサＡ信号処理サブタスクを起動するが、センサＢエッジ検出サブタスクが実行待ちになっているため、先にセンサＢエッジ検出サブタスクを実行する。そして、前記タスクの実行が終了すると、センサＡ信号処理サブタスクを実行するように切り替える。
【００４５】
また、通信タスクの実行が完了してＣＰＵ２２がアイドル状態にある間に、先にタイマカウンタ１２Ｂのカウントデータが「０」に達すればセンサＢエッジ検出サブタスクが起動されるが、当該タスクの実行中にタイマカウンタ１２Ａのカウントデータが「０」に達すると、その実行を停止してセンサＡエッジ検出サブタスクを実行するように切り替える。また、タイマカウンタ１２Ａ，１２Ｂのカウントデータがほぼ同時に「０」に達した場合も、センサＡ側の信号処理タスクが優先される。
【００４６】
以上のように第２実施例によれば、２つのセンサ１０Ａ，１０Ｂがある場合、信号処理タスクを、センサ１０Ａ，１０Ｂにそれぞれ対応したエッジ検出サブタスクと信号処理サブタスクとで構成する。そして、エッジ検出サブタスクは、信号処理サブタスクよりも優先度を高く設定し、センサ１０Ａ，１０Ｂにそれぞれ対応したエッジ検出サブタスクの間にも優先順位を付与し、タスク切替えタイマ２３は、センサ１０Ａ，１０Ｂに対応した複数のタイマカウンタ１２Ａ，１２Ｂを備え、それぞれ計時を終了すると、タスク切替え信号と共に、何れの信号処理タスクを実行するように切り替えるのかを示す識別信号をＣＰＵ２２に出力する。従って、各駆動矩形波のエッジ検出を確実に行ない、それぞれのエッジ検出タイミングに同期した処理を行なうことができる。
【００４７】
（参考例）
図１０は本発明の参考例を示すものであり、第１実施例と異なる部分について説明する。参考例のマイクロコンピュータ３１（周期信号処理装置）は、第１実施例のセンサ１０に替えて、アクチュエータ３２（信号源）より出力される位置信号を処理するように構成されている。アクチュエータ３２は、例えばモータ等であり、上記位置信号として出力されるのはモータ電圧やモータ電流などである。
【００４８】
ＣＰＵ３３は、通信回路７を介して、図示しないホストマイコンよりアクチュエータ３２の制御指令（例えば目標回転速度など）を受信すると、その制御指令に応じてＩ／Ｏポート６を介してアクチュエータ３２を駆動制御する。すると、アクチュエータ３２では、駆動状態に応じて電圧や電流が発生するが、マイコン３１は、そのモータ電圧や電流をロータの位置信号として受け取り、Ａ／Ｄ変換器５によりＡ／Ｄ変換する。そして、例えばモータの誘起電圧であれば、信号処理タスクにおいて、そのゼロクロス点の間隔を検出して同期処理を行う。
【００４９】
この場合、ＣＰＵ３３が、ゼロクロス点の間隔をカウンタにより計測すれば、例えば電気角６０°に相当するカウントデータが得られる。すると、そのデータに基づいて詳細なロータ位置（アクチュエータの変位位置）を得ることができ、例えばモータを正弦波駆動することが可能となる。そして、同期処理を行った後は、第１実施例と同様に、タスク切替えタイマ８にタイマ値をセットして割込み禁止を解除する。
以上のように参考例によれば、信号源がアクチュエータ３２である場合にも、アクチュエータ３２が出力する位置信号との同期をとりつつ、その位置信号を処理することができる。
【００５０】
本発明は上記し且つ図面に記載した実施例にのみ限定されるものではなく、以下のような変形または拡張が可能である。
タイマに設定するカウントデータの値は一例であり、適宜変更して良い。
割込み制御回路は必要に応じて設ければ良く、割込み制御をＣＰＵの内部で行っても良い。
信号処理タスクにおいてエッジ検出を行った時点で通信タスクが実行待ち状態にある場合でも、先に信号処理タスクにおける残りの処理を完了した後に、通信タスクを実行しても良い。
【００５１】
信号処理タスク以外のタスクは、通信タスクに限ることはない。
フィルタリング処理は、ローパスフィルタに対応するものに限らず、ハイパスフィルタやバンドパスフィルタなどに対応する処理を行っても良い。従って、フィルタリング処理して得るセンサ信号は、所定の周波数を含むものであっても良い。
タスク切替えタイマは、アップカウント動作を行うように構成しても良い。
矩形波信号のエッジに同期して、同期検波以外の同期処理を行っても良い。
ステップＳ１０における補正処理は、必要に応じて行えば良い。
命令実行停止信号の出力も必要に応じて行えば良く、ＣＰＵの内部においてタスク切替え時の命令実行状態を制御しても良い。
第２実施例において、センサの数を３つ以上としても良い。
【００５２】
センサはヨーレートセンサに限らず、例えば加速度センサなどでも良い。また、位相信号は矩形波信号に限ることはなく、更に、必ずしも発振動作した状態で検出を行うセンサに限らない。
また、第２実施例で複数のセンサの信号を取り扱う場合、それらが例えばヨーレートセンサと加速度センサといったように、異なる物理量を検出するセンサであっても良い。この場合でも、それぞれのセンサ信号に同期した処理を行うことができる。
センサ信号処理装置は、車両に搭載されるＥＣＵを構成するものに限ることはない。
第３実施例において、アクチュエータはリニアモータ等でも良い。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１実施例であり、センサ信号処理装置の構成を示す機能ブロック図
【図２】タスク切替えタイマの構成を示す図
【図３】タスク切替えタイマの動作例を示すタイミングチャート
【図４】信号処理タスクの内容を示すフローチャート
【図５】図４のフローチャートに対応する処理の一例を示すタイミングチャート
【図６】本発明の第２実施例を示す図１相当図
【図７】図２相当図
【図８】図３相当図
【図９】図４相当図
【図１０】本発明の参考例を示す図１相当図
【図１１】従来技術を説明するタイミングチャート
【符号の説明】
【００５４】
図面中、１はマイクロコンピュータ（周期信号処理装置）、２はＣＰＵ、８はタスク切替えタイマ、１０はセンサ、２１はマイクロコンピュータ（周期信号処理装置）、２２はＣＰＵ、２３はタスク切替えタイマ、３１はマイクロコンピュータ（周期信号処理装置）、３２はアクチュエータ（信号源）、３３はＣＰＵを示す。
【図１】
0004591580.tif 000002
【図２】
0004591580.tif 000003
【図３】
0004591580.tif 000004
【図４】
0004591580.tif 000005
【図５】
0004591580.tif 000006
【図６】
0004591580.tif 000007
【図７】
0004591580.tif 000008
【図８】
0004591580.tif 000009
【図９】
0004591580.tif 000010
【図１０】
0004591580.tif 000011
【図１１】
0004591580.tif 000012