(57)【要約】【課題】ＣＰＵの負荷を軽減することができる情報処理装置およびマイクロコンピュータを提供する。【解決手段】立下りエッジをイベントとする入力パルス波形に対し、そのイベントの発生回数をカウントし、予めイベントカウントコンペアレジスタ６に設定した値と一致した際にキャプチャ信号を発生するイベントカウントコンペア手段１と、基準クロックＰφによるタイマカウントを行い、前記キャプチャ信号が発生した際の前記タイマカウントの値をキャプチャレジスタ８に保持するキャプチャ手段２と、前記キャプチャレジスタ８の値に対して、シフト条件設定レジスタ９に設定した条件でのシフト演算と、加算値設定レジスタ１０に設定した値の加算演算を行う演算手段３などを設ける。また、これらの手段をマイクロコンピュータに搭載する。【選択図】        図１
2005025440.tif 000002
【特許請求の範囲】
【請求項１】
信号の切り替わりをイベントとする入力パルス波形に対し、前記イベントの発生回数をカウントし、そのカウントの値からスタート信号とキャプチャ信号を発生する手段と、
前記キャプチャ信号を発生するカウントの値を設定する手段と、
基準クロックに同期してカウントを行い、前記スタート信号が発生してから前記キャプチャ信号が発生するまでの前記基準クロックに同期したカウントの値を保持する手段と、
前記保持したカウントの値を演算する手段とを有することを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
さらに、前記演算する手段によって得た値をパルス幅とするパルス波形を生成する手段を有することを特徴とする情報処理装置。
【請求項３】
請求項１または２記載の情報処理装置であって、
前記演算する手段は、
予めシフト回数とシフト方向を設定し、前記保持したカウントの値に対して前記設定したシフト回数分のシフト演算を行う機能と、
予め加算値を設定し、前記シフト演算後の値に対して前記設定した加算値を加算する機能とを含むことを特徴とする情報処理装置。
【請求項４】
請求項２または３記載の情報処理装置であって、
前記パルス波形を生成する手段は、
前記演算する手段によって得た値を初期値として、前記基準クロックに同期したダウンカウントを行い、アンダーフローが発生した際には、前記初期値のリロードを行う機能と、
前記アンダーフローをトリガとして信号が切り替わるパルス波形を生成する機能とを有することを特徴とする情報処理装置。
【請求項５】
請求項１〜４のいずれか１項に記載の情報処理装置を有することを特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及びマイクロコンピュータに関し、特に、非同期通信を行う際の処理を行う情報処理装置及びその情報処理装置を搭載したマイクロコンピュータに適用して有効な技術に関する。
【０００２】
【従来の技術】
本発明者が検討したところによれば、非同期通信を行う際のマイクロコンピュータの技術に関しては、以下のような技術が考えられる。
【０００３】
例えば、ＳＣＩ（ｓｅｒｉａｌ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｉｎｔｅｒｆａｃｅ）やＵＡＲＴ（ｕｎｉｖｅｒｓａｌ  ａｓｙｎｃｈｒｏｎｏｕｓ  ｒｅｃｅｉｖｅｒ  ｔｒａｎｓｍｉｔｔｅｒ）およびＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）などといったシリアル通信モジュールを搭載したマイクロコンピュータが多く実在している。
【０００４】
これらのマイクロコンピュータ間で非同期のシリアル通信を行う場合、その前処理として双方の通信転送速度を一致させる必要がある。この通信転送速度を一致させる際には、一般的に、通信プロトコルの定めなどにより、双方のシリアル通信モジュールに対してある固定した値の通信転送速度を設定する。
【０００５】
しかしながら、ＬＩＮ（ｌｏｃａｌ  ｉｎｔｅｒｃｏｎｎｅｃｔ  ｎｅｔｗｏｒｋ）通信プロトコルなどのように、一方の通信転送速度を実際の通信の速度から読み取って、通信転送速度に補正を加えるような通信プロトコルも存在する。このような場合は、通常、マイクロコンピュータが搭載しているタイマモジュールを用いながら、ソフトウェアによって必要な情報の処理を行う。
【０００６】
【発明が解決しようとする課題】
ところで、前記のような非同期通信を行う際のマイクロコンピュータの技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【０００７】
近年、ネットワーク技術の進歩により、多数の通信プロトコルが存在し、これらの通信プロトコルの処理は、例えばマイクロコンピュータなどによって行われている。このようなマイクロコンピュータでは、通信機能および通信対象機器の増加と通信転送速度の高速化などによって、複雑な処理を高速で行うことが要求されている。
【０００８】
このような中、例えば自動車用のマイクロコンピュータなどでも、自動車の制御の電子化に伴い複雑な制御の実施要求が高まり、制御ユニットへの負担が増加している。特に各センサからの信号処理やユニット間の通信転送速度の高速化により、マイクロコンピュータなどにおけるソフトウェア処理が、ＣＰＵへの負荷を重くしている。また、自動車内制御ユニットでは、ノイズの影響を低減する等の理由からマイクロコンピュータの動作周波数を極力低く抑える必要性があり、ＣＰＵへの負荷は更に重くなる。
【０００９】
自動車の制御ユニットは、より緻密な制御を行うためユニット間での通信によりデータを共有し、制御を分割する事で効率を高めている。また、ユニット開発工数やコストの低減のため、インタフェースも標準規格化される傾向にあり、現在ではＣＡＮ（ｃｏｎｔｒｏｌｌｅｒ  ａｒｅａ  ｎｅｔｗｏｒｋ）やＬＩＮ等の通信プロトコルが主流となっている。
【００１０】
通常、このＣＡＮ通信の処理は、マイクロコンピュータ内に専用モジュールを搭載して行われるが、ＬＩＮ通信の処理は、マイクロコンピュータ内の既存の内蔵モジュールとソフトウェア処理を組み合わせて行われる。ＬＩＮ通信処理において、ソフトウェア処理の介入を必要不可欠としている事から、ＣＰＵの負荷は、マイクロコンピュータの動作周波数に依存する。しかしながら、前述のようにマイクロコンピュータの動作周波数を低く抑える必要性があるため、場合によっては、ＬＩＮ通信プロトコルに定義されている機能を全て実現させるのは困難となる場合が考えられる。
【００１１】
例えば、ＬＩＮ通信プロトコルでは、Ｓｙｎｃｈ−Ｆｅｉｌｄ（１ビット毎に“Ｈｉｇｈ”“Ｌｏｗ”反転を１０ビット間繰り返す同期信号フィールド）のパルス幅を計測し、通信転送速度の補正を行う機能が必要とされる。この機能は、とりわけ、ソフトウェア処理による除算等の演算が必要となるため、ＣＰＵの負荷が重くなり、ＣＰＵの動作周波数や通信転送速度の値によっては、この機能を実現するのが困難な状況となり得る。
【００１２】
そこで、本発明の目的は、ＣＰＵの負荷を軽減することができる情報処理装置およびマイクロコンピュータを提供することにある。
【００１３】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【００１４】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１５】
本発明による情報処理装置は、信号の切り替わりをイベントとする入力パルス波形に対し、前記イベントの発生回数をカウントし、そのカウントの値からスタート信号とキャプチャ信号を発生する手段と、前記キャプチャ信号を発生するカウントの値を設定する手段と、基準クロックに同期してカウントを行い、前記スタート信号が発生してから前記キャプチャ信号が発生するまでの前記基準クロックに同期したカウントの値を保持する手段と、前記保持したカウントの値を演算する手段とを有するものである。
【００１６】
この構成によって、入力パルス波形に対して、設定した回数のパルスのエッジが入力されるのに要する時間を計測し、その計測した値を基に演算を行うことが可能となる。
【００１７】
また、前記情報処理装置は、さらに、前記演算する手段によって得た値をパルス幅とするパルス波形を生成する手段を有するものである。この構成によって、入力パルス波形を基に、それを変形したパルス波形を生成することが可能となる。
【００１８】
そして、前記のような情報処理装置における前記演算する手段は、予めシフト回数とシフト方向を設定し、前記保持したカウントの値に対して前記設定したシフト回数分のシフト演算を行う機能と、予め加算値を設定し、前記シフト演算後の値に対して前記設定した加算値を加算する機能を含むものである。これらの機能によって、シリアル通信モジュールに設定する値などを算出することが可能になる。
【００１９】
また、前記のような情報処理装置における前記パルス波形を生成する手段は、前記演算する手段によって得た値を初期値として、前記基準クロックに同期したダウンカウントを行い、アンダーフローが発生した際には、前記初期値のリロードを行う機能と、前記アンダーフローをトリガとして信号が切り替わるパルス波形を生成する機能を有するものである。これらの機能によって、前記演算する手段によって得た値をパルス幅とするパルス波形を生成することが可能になる。
【００２０】
また、これらの情報処理装置は、特にマイクロコンピュータに適用して、有益なものとなる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には同一の符号を付し、その繰り返しの説明は省略する。
【００２２】
図１は、本発明の一実施の形態の情報処理装置において、その構成と動作の一例を示す概略図である。
【００２３】
まず、図１により、本発明の一実施の形態の情報処理装置の構成の一例を説明する。図１に示す情報処理装置は、例えば、イベントカウントコンペア手段１と、キャプチャ手段２と、演算手段３などから構成される。
【００２４】
前記イベントカウントコンペア手段１は、例えば、イベントカウンタ４と、コントロール／ステータスレジスタ５と、イベントカウントコンペアレジスタ６などを有している。前記コントロール／ステータスレジスタ５では、入力端子より入力されたパルス波形のエッジ（信号の切り替わり）に対し、イベントとして用いるエッジの種類などを設定することができる。エッジの種類には、立上りエッジまたは立下りエッジあるいはその両方などが含まれる。前記イベントカウンタ４は、前記コントロール／ステータスレジスタ５で設定されたイベントを検出し、そのイベントの発生回数をカウントする機能などを有している。
【００２５】
また、前記イベントカウントコンペア手段１は、割り込み信号であるスタート信号を発生する機能と割り込み信号であるキャプチャ信号を発生する機能などを有している。前記スタート信号は、イベントカウンタ４が示す値（イベントカウンタ値）が‘１’となった際に発生する。前記キャプチャ信号は、予めイベントカウントコンペアレジスタ６に値を設定し、その設定した値と前記イベントカウンタ値とが一致した際に発生する。
【００２６】
なお、イベントカウンタ４は、キャプチャ信号の発生後、イベントカウンタ値を‘０’にする機能と‘１’にする機能を備えている。この‘０’か‘１’の選択は、例えば、前記コントロール／ステータスレジスタ５などで設定することができる。
【００２７】
前記キャプチャ手段２は、タイマカウンタ７とキャプチャレジスタ８などを有している。このタイマカウンタ７は、前記スタート信号によって、タイマカウンタ７が示す値（タイマカウンタ値）をクリアし、その後に基準クロックＰφに同期したカウント動作を開始する機能と、前記キャプチャ信号によって、その時点のタイマカウンタ値をキャプチャレジスタ８へ保持する機能などを有する。
【００２８】
前記演算手段３は、シフト回数およびシフト方向を設定するシフト条件設定レジスタ９と、加算値設定レジスタ１０と、演算結果格納レジスタ１１などを含んでいる。この演算手段３は、前記キャプチャレジスタ８の値を取り込み、この取り込んだ値に対して、シフト条件設定レジスタ９に設定したシフト回数分の右シフト演算または左シフト演算を行う機能と、そのシフト演算後の値に対して、加算値設定レジスタ１０に設定した値を加算する機能と、その加算後の値を演算結果格納レジスタ１１に格納する機能などを有している。そして、この演算結果格納レジスタ１１の値は、ＤＭＡＣ（ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ）機能などによって他モジュールの内蔵Ｉ／Ｏレジスタ等に転送可能である。
【００２９】
つぎに、図１に示す情報処理装置の動作の一例について説明する。
【００３０】
図１に示す情報処理装置を用いると、例えば、通信のプロトコルなどで、実際の通信によって通信転送速度の読み取りや補正などが必要とされる場合に、ハードウェアでそれら読み取りや補正などの処理を行うことができる。ここでは、その一例として、本発明を、ＬＩＮ通信プロトコルに適用した場合を想定する。
【００３１】
ＬＩＮ通信プロトコルは、マスターノード、スレーブノード間でシリアル通信を行う規格であり、その規格による通信を行う際の構成概要は図２のようになる。図２では、マスターノードと複数のスレーブノード（１）〜（３）が、それぞれのＬＩＮバスＩ／Ｆ（インタフェース）回路を介してＬＩＮバスに接続されている。
【００３２】
そして、例えば、スレーブノード（１）〜（３）のそれぞれには、マイクロコンピュータが使用されており、そのマイクロコンピュータには、図１に示したような情報処理装置や、ＳＣＩおよびＵＡＲＴといったシリアル通信モジュールなどが搭載されているものとする。
【００３３】
前記マスターノードと前記スレーブノード（１）〜（３）間の通信波形の概要は図３のようになる。図３は、本発明の一実施の形態の情報処理装置およびマイクロコンピュータにおいて、その動作を説明するためのＬＩＮ通信波形を示す図であり、（ａ）は、１フレーム内の通信波形を示す概略図、（ｂ）は、（ａ）の一部を詳細に示す図、（ｃ）は、（ａ）の他の一部を詳細に示す図である。
【００３４】
図３（ａ）のＬＩＮ通信波形は、マスターノードがスレーブノード（１）〜（３）に対して送信するヘッダフレームと、スレーブノード（１）〜（３）のいずれかがマスターノードに対して返答するレスポンスフレームから構成される。ヘッダフレームは、図３（ｂ）に示すように、スタートフィールドと同期信号フィールドとＩＤフィールドを含んでいる。レスポンスフレームは、図３（ｃ）に示すように、複数のデータフィ−ルドと、チェックサムフィールドを含んでいる。
【００３５】
このようなＬＩＮ通信波形において、図３（ｂ）の同期信号フィールドは、１０回分の‘Ｌ’と‘Ｈ’の繰り返し信号となっている。そして、スレーブノードのマイクロコンピュータは、これらの信号の内の８回分（８ビット期間）から通信転送速度を読み取り、内蔵しているシリアル通信モジュールに対して、その読み取った値を反映した設定を行わなければならない。
【００３６】
そこで、これら通信転送速度の読み取りおよびシリアル通信モジュールに対する設定を行う際に、図１のような情報処理装置およびそれを搭載したマイクロコンピュータを用いて図４に示すような処理を行う。図４は、本発明の一実施の形態の情報処理装置およびマイクロコンピュータにおいて、ＬＩＮ通信での通信転送速度を読み取ってシリアル通信モジュールに反映させる際の処理フローの一例を示す図である。
【００３７】
なお、ここでは、図１のような情報処理装置を搭載したマイクロコンピュータを用いて、図４に示すような処理を行うものとする。そして、その前提条件として、マイクロコンピュータの動作周波数をφ（ＭＨｚ）、情報処理装置における前記キャプチャ手段２の基準クロックＰφは、Ｐφ＝φ／８（ＭＨｚ）で動作させるものとする。このような条件において、図４に示す処理フローは、例えば次のようになる。
【００３８】
Ｓ１において、ユーザが予め、図１の情報処理装置内の各レジスタ等に初期設定を行う。ここでは、コントロール／ステータスレジスタ５で立下りエッジをイベントとして指定し、イベントカウントコンペアレジスタ６に‘４’、シフト条件設定レジスタ９で右シフト指定とシフト回数を‘５’、加算値設定レジスタ１０に‘−１’を設定する。また、イベントカウンタ値のクリアを行う。その後、図１の情報処理装置は、入力端子を監視し、この入力端子にイベント（入力パルス波形の立下りエッジ）が発生するのを待つ。そして、Ｓ２へ移行する。
【００３９】
Ｓ２において、前記入力端子に最初のイベント信号が発生すると、イベントカウントコンペア手段１は、イベントカウンタ４で＋１を加算し、キャプチャ手段２のタイマカウンタ７に対してスタート信号を出力する。タイマカウンタ７は、スタート信号を受けてタイマカウンタ値をクリアし、基準クロックＰφのカウント動作を開始する。そして、Ｓ３へ移行する。
【００４０】
Ｓ３において、前記入力端子に２〜４回目のイベント信号が入力され、イベントカウンタ値は、‘４’となる。なお、この間、タイマカウンタ７はカウント動作を継続している。そして、Ｓ４へ移行する。
【００４１】
Ｓ４において、前記入力端子に５回目のイベントが入力されると、前記イベントカウントコンペアレジスタ６の値と前記イベントカウンタ値とが一致しているため、イベントカウントコンペア手段１は、キャプチャ信号を発生する。これによって、この時点のタイマカウンタ値がキャプチャレジスタ８に保持される。つまり、８ビット期間内のタイマカウンタ値が保持されることになる。そして、Ｓ５へ移行する。
【００４２】
Ｓ５において、前記キャプチャレジスタ８の値を反映して、シリアル通信モジュールに対し、その仕様に応じた設定を行う。つまり、演算手段３により、前記キャプチャレジスタ８の値に対する演算が行われる。以下にその一例を説明する。
【００４３】
シリアル通信モジュールでは、一般的に、そのモジュールが内蔵するボーレート発生回路の設定レジスタ（ＢＲＲ：ｂｉｔ  ｒａｔｅ  ｒｅｇｉｓｔｅｒとする）に対し、設定したい通信転送速度に対応した値を格納する仕様となっている。そのＢＲＲに格納する値は、シリアル通信モジュールの仕様によって様々であるが、その一例として、マイクロコンピュータの動作周波数をφ（ＭＨｚ）、設定したい通信転送速度をＴＲ（ビット／秒）とすると、例えば下記のような式が挙げられる。
【００４４】
ＢＲＲ格納値＝｛φ×１０６／（６４×２２ｎ−１×ＴＲ）｝−１      （１）
この式（１）の場合を例に、ＢＲＲ格納値を演算手段３により算出する。前記式（１）において、通信転送速度ＴＲ（ビット／秒）は、前記８ビット期間の８ビットを、その８ビット期間に要した時間で割ればよい。すなわち、ＴＲは、前記キャプチャレジスタ８の値（ＣＲ値とする）と前記キャプチャ手段２での基準クロック周波数Ｐφ（＝φ／８）（ＭＨｚ）を用いて次のように表される。
【００４５】
ＴＲ＝８／｛ＣＲ値×１／（Ｐφ×１０６）｝＝φ×１０６／ＣＲ値    （２）
したがって、式（２）を式（１）に代入すると、次のようになる。
【００４６】
ＢＲＲ格納値＝｛ＣＲ値／（６４×２２ｎ−１）｝−１      （３）
ｎの値は、ボーレート発生回路が使用するクロックによって決まる整数値であるが、ここではｎ＝０とする。すると、ＢＲＲ格納値は、ＣＲ値を３２（＝２５）で割って、それに−１を加えた値となる。
【００４７】
すなわち、演算手段３にて、キャプチャレジスタ８の値（ＣＲ値）に対し、前記Ｓ１でのシフト条件設定レジスタ９の設定値により右シフトが５回行なわれ、前記Ｓ１での加算値設定レジスタ１０の‘−１’により、−１が加算されることで、シリアル通信モジュールに設定する値を直接算出することができる。なお、他の仕様のシリアル通信モジュールについても、通常、式（１）での場合と同様に、シフト演算と加算演算によって、そのシリアル通信モジュールに設定する値を直接算出することができると考えられる。
【００４８】
ところで、本発明の前提となる従来の技術においては、これまでに説明したような、通信転送速度の読み取りおよびシリアル通信モジュールに設定する値の算出などは、随所にソフトウェア処理を用いながら行われるのが一般的であった。例えば、従来では、タイマモジュールのキャプチャ機能などが用いられていたが、前記Ｓ２〜Ｓ４におけるイベント発生回数のカウントやキャプチャレジスタ８へ保持する際の処理、および、前記Ｓ５におけるシリアル通信モジュールへ設定する値の算出などはソフトウェア処理で行う必要があった。
【００４９】
しかしながら、通信転送速度の高速化が進むと、ソフトウェア処理時間を短縮する必要性や、ソフトウェア処理によるＣＰＵの負荷を軽減する必要性などが生じてくる。とりわけ、自動車用の半導体製品などでは、ノイズや低消費電力対策によりＣＰＵの動作周波数を極力低く抑えるのが一般的であるため、前記のようなソフトウェア処理時間の短縮やＣＰＵ負荷の軽減は益々困難な状況となる。
【００５０】
また、例えば、前記図３（ｂ）を例として、同期信号フィールドと、それを反映させるＩＤフィールドとの間にウェイト時間が殆どないような場合、シリアル通信モジュールに対して、前記Ｓ４〜Ｓ５の処理を非常に高速に行わなければならない。このような処理をソフトウェアで行った場合、その処理時間が間に合わない可能性が考えられる。
【００５１】
そこで、本発明を適用すると、これまでに述べたようにハードウェア処理によって通信転送速度の読み取り、およびシリアル通信モジュールなどに対する設定が可能となる。これによって、ソフトウェア処理が緩和され、ＣＰＵの負荷を軽減することができ、より高速な通信転送速度にも対応できるようになる。
【００５２】
また、図１に示したような情報処理装置を応用すると、例えば、パルス周期が変動する入力波形に対し、その入力波形の逓倍波形などを生成することが可能になる。その一例を図５に示す。
【００５３】
図５は、本発明の一実施の形態の情報処理装置において、図１の情報処理装置にカウンタ波形生成手段を追加した構成と動作の一例を示す概略図である。図５に示す情報処理装置は、図１に示した情報処理装置と同様に、例えば、イベントカウントコンペア手段１と、キャプチャ手段２と、演算手段３に加え、さらに、カウンタ波形生成手段（パルス波形を生成する手段）１２が追加された構成となっている。なお、図５では省略しているが、イベントカウントコンペア手段１には、図１と同様、コントロール／ステータスレジスタ５やイベントカウントコンペアレジスタ６なども含まれている。
【００５４】
前記カウンタ波形生成手段１２は、例えば、ダウンカウンタ１３と、ダウンカウンタ初期値レジスタ１４と、図５には明示していないが、このダウンカウンタのアンダーフローをトリガとして出力信号のセットとリセットが切り替わる回路（例えば、Ｔフリップフロップのような回路）などを有している。その他、構成に関する説明は、図１の情報処理装置の場合と同様であるため省略する。
【００５５】
つぎに、図５の情報処理装置の動作の一例について説明する。
【００５６】
ここでは、仮に、自動車のクランク角センサからのパルス波形を入力し、その入力パルス波形の４倍クロックの逓倍波形を生成する場合を想定する。そして、このクランク角センサからのパルス波形は、自動車の加速または減速に伴って、図５の入力波形のようにパルスの周期が変動するものとする。すると、図５の情報処理装置は、例えば次のように動作する。なお、演算手段３までの基本的な動作は、図１の情報処理装置での説明と同様であるため一部説明を省略する。
【００５７】
（１）初期設定において、コントロール／ステータスレジスタ５にイベントとして両エッジを指定し、イベントカウントコンペアレジスタ６に‘１’、シフト条件設定レジスタ９で右シフト指定とシフト回数に‘２’、加算値設定レジスタ１０に‘０’を設定する。また、コントロール／ステータスレジスタ５の設定などによって、キャプチャ信号の発生後は、イベントカウンタ値を‘１’にする。
【００５８】
（２）入力端子に、パルスの周期の変動を含むクランク角センサパルスが入力されると、イベントカウントコンペア手段１は、最初のエッジ（図５では立下りエッジ）が発生した際にスタート信号を発生し、それによりタイマカウンタ値のクリアとカウント動作の開始が行われる。以降、コントロール／ステータスレジスタ５やイベントカウントコンペアレジスタ６の設定により、イベントカウントコンペア手段１は、各立上りおよび立下りエッジ毎にキャプチャ信号を発生する。
【００５９】
なお、イベントカウンタ値が‘１’となることにより、キャプチャ信号と同時にスタート信号が発生するが、この際にはキャプチャ信号が優先して処理される。すると、これらのキャプチャ信号によって、その都度、キャプチャレジスタ８に対してタイマカウンタ値の取り込みが行われ、その後、スタート信号によって、タイマカウンタ値のクリアとカウント動作の開始が行われる。
【００６０】
（３）前記キャプチャレジスタ８に値が取り込まれると、その都度、キャプチャレジスタ８の値が演算手段３に転送される。演算手段３は、シフト条件設定レジスタ９の設定値により、２回の右シフト演算（１／４演算）を行った結果を演算結果格納レジスタ１１に格納する。
【００６１】
（４）演算結果格納レジスタ１１の値は、カウンタ波形生成手段１２のダウンカウンタ初期値レジスタ１４に転送される。ダウンカウンタ１３は、ダウンカウンタ初期値レジスタ１４の値を初期値としてカウント動作を行い、値が０になった際にアンダーフローを発生する。また、その後、ダウンカウンタ１３には、前記初期値のリロードが行われる。そして、カウンタ波形生成手段１２は、このアンダーフローをトリガとして信号が切り替わる（反転する）パルス波形を生成し、出力端子より出力する。
【００６２】
このようにして、図５に示すように、入力波形においてパルス周期が異なる各パルス幅を４等分したような逓倍波形を生成することができる。なお、前記逓倍波形は、入力波形におけるあるパルスの幅を計測した後にその逓倍波形を生成することになる。このため、図５に示した入力波形と逓倍波形の関係は、時間軸を合わせて示すと、入力波形のパルス１個分に図５でのハードウェア処理に必要な時間を加えた分だけずれた関係になる。
【００６３】
また、図５に示したような動作が可能になると、例えば、自動車の燃料噴射の点火タイミングなどを容易に、そして精度よく制御することが可能となる。この一例を図６に示す。
【００６４】
図６は、本発明の一実施の形態の情報処理装置において、図５の情報処理装置を用いた実使用の一例を示す概念図である。図６では、例えば、円盤状のクランク角センサ１５があり、このクランク角センサ１５は、その外周上に固定した観測ポイントと、内周上に一定間隔の角度で被観測ポイントを有している。
【００６５】
このようなクランク角センサ１５が、加速および減速を伴いながら回転する際に、観測ポイントが被観測ポイントから信号を受けることで、例えば図６に示すようなパルス波形が生成される。ここで、クランク角を認識する上での基準位置を、仮にパルスＡの位置とする。この前提で、例えば、燃料噴射のタイミングをパルスＥの中点に設定する場合を想定する。
【００６６】
このような場合、一般的な処理方法としては、例えば、パルスＡを処理の起点とし、パルスＡ〜Ｇなどが発生した際にイベントとして数える処理と、パルスＤなどのパルス幅を計測する処理と、その計測値から予想されるパルスＥの中点までのカウント値を計算し、タイマのコンペアマッチ機能などを用いて点火信号を生成する処理などが考えられる。しかしながら、これらの処理のいずれにもソフトウェア処理が必要となり、特にクランクの回転数が高まった際には、高速なソフトウェア処理が必須となる。
【００６７】
ところが、図５に示した情報処理装置を用いると、例えば、変動するパルス幅を常に４等分したような波形が生成でき、中点はその２等分目に当たる位置となる。したがって、パルスＡを処理の起点とすると、その時点から発生した逓倍波形のエッジの発生回数を数えるだけで、点火タイミングを精度よく設定できるようになる。例えば、図６では、パルスＡを処理の起点として、逓倍波形における１９回目のエッジ（立下りエッジ）で点火信号を生成すればよい。
【００６８】
以上のように、図５のような情報処理装置を用いると、ソフトウェア処理としては、前記逓倍波形のエッジの発生回数を数えて点火信号を生成する処理のみとなる。したがって、前述の一般的な処理方法に比べてソフトウェアの処理を緩和することができ、これによりＣＰＵの負荷も軽減できる。なお、前記逓倍波形のエッジの発生回数を数えて点火信号を生成する処理も、図５の情報処理装置におけるイベントカウントコンペア手段１と同様なもので、ハードウェア処理によって行うことも可能である。
【００６９】
なお、ここではパルス幅が変動する入力波形に対し、その逓倍波形を生成する場合を例としたが、パルス幅が一定の場合には、逓倍波形は勿論のこと、分周波形を生成することも可能になる。また、前記図５のカウンタ波形生成手段１２では、ダウンカウンタ１３によるアンダーフローを用いたが、例えばアップカウンタによるコンペアマッチなどでも実現可能である。
【００７０】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００７１】
例えば、図１のような情報処理装置は、ＬＩＮ通信を例に動作を説明したが、勿論これに限定される訳ではなく、実際の通信データからそのデータ転送速度を計測する際の処理装置として、広く適用可能である。また、例えば、図１のような情報処理装置は、マイクロコンピュータに限らず、通信コントローラ製品などに搭載することもできる。
【００７２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００７３】
（１）ハードウェア処理によって通信転送速度の読み取り、およびシリアル通信モジュールなどに対する設定を行うことが可能な情報処理装置およびマイクロコンピュータを実現できる。
【００７４】
（２）パルス周期が変動するような入力波形に対し、ハードウェア処理によってその入力波形の逓倍波形などを生成することが可能な情報処理装置およびマイクロコンピュータを実現できる。
【００７５】
（３）前記（２）により、自動車の燃料噴射の点火タイミングなどを容易に、そして精度よく制御することが可能になる。
【００７６】
（４）前記（１），（２）により、ソフトウェア処理が緩和され、ＣＰＵの負荷を軽減することが可能になる。これにより、より高速な動作にも対応できるようになる。
【００７７】
【発明の効果】
ハードウェア処理によって、ＣＰＵ負荷の軽減を可能にする情報処理装置およびマイクロコンピュータを実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の情報処理装置において、その構成と動作の一例を示す概略図である。
【図２】本発明の一実施の形態の情報処理装置およびマイクロコンピュータにおいて、その適用例および動作例を説明するためのＬＩＮプロトコルによる通信を行う際の構成概要を示す図である。
【図３】本発明の一実施の形態の情報処理装置およびマイクロコンピュータにおいて、その動作例を説明するためのＬＩＮ通信波形を示す図であり、（ａ）は、１フレーム内の通信波形を示す概略図、（ｂ）は、（ａ）の一部を詳細に示す図、（ｃ）は、（ａ）の他の一部を詳細に示す図である。
【図４】本発明の一実施の形態の情報処理装置およびマイクロコンピュータにおいて、ＬＩＮ通信での通信転送速度を読み取ってシリアル通信モジュールに反映させる際の処理フローの一例を示す図である。
【図５】本発明の一実施の形態の情報処理装置において、図１の情報処理装置にカウンタ波形生成手段を追加した構成と動作の一例を示す概略図である。
【図６】本発明の一実施の形態の情報処理装置において、図５の情報処理装置を用いた実使用の一例を示す概念図である。
【符号の説明】
１  イベントカウントコンペア手段
２  キャプチャ手段
３  演算手段
４  イベントカウンタ
５  コントロール／ステータスレジスタ
６  イベントカウントコンペアレジスタ
７  タイマカウンタ
８  キャプチャレジスタ
９  シフト条件設定レジスタ
１０  加算値設定レジスタ
１１  演算結果格納レジスタ
１２  カウンタ波形生成手段
１３  ダウンカウンタ
１４  ダウンカウンタ初期値レジスタ
１５  クランク角センサ
【図１】
2005025440.tif 000003
【図２】
2005025440.tif 000004
【図３】
2005025440.tif 000005
【図４】
2005025440.tif 000006
【図５】
2005025440.tif 000007
【図６】
2005025440.tif 000008