(57)【要約】【課題】温度が変化する環境下において、ＣＲ発振回路の発振出力に基づいて行われる所定の処理時間が一定となるように補正する構成を、より簡単に実現するマイクロコンピュータを提供する。【解決手段】マイクロコンピュータのＥＥＰＲＯＭに、温度により変動するＣＲ発振回路の発振出力特性に基づき、通信回路により管理される１フレームのデータ送信時間を一定とするための通信レートＣＭＲを決定するデータを記憶しておく。ＣＰＵは、温度検出回路によって検出される温度（ステップＳ２）に応じてＥＥＰＲＯＭに記憶されているデータを読み出し（ステップＳ３）、決定した通信レートＣＭＲ（ステップＳ４）を通信回路に設定する（ステップＳ５）。【選択図】図１
2006270917.tif 000002
【特許請求の範囲】
【請求項１】
ＣＲ発振回路と、
このＣＲ発振回路により出力される発振信号に基づいて、所定の処理を行なうための時間が一定となるように管理する処理回路と、
前記ＣＲ発振回路周辺の温度を検出する温度検出手段と、
温度により変動する前記ＣＲ発振回路の発振出力特性に基づき、前記処理回路により管理される処理時間を一定とするための制御値を決定するデータが記憶されている記憶手段と、
前記温度検出手段によって検出される温度に応じて前記記憶手段に記憶されているデータを読み出し、前記制御値を決定して前記処理回路に設定する制御回路とで構成されることを特徴とするマイクロコンピュータ。
【請求項２】
前記温度検出手段は、前記ＣＲ発振回路の周辺に複数個配置されており、
前記制御回路は、前記複数個の温度検出手段によって検出される温度を平均し、その平均結果に基づき前記記憶手段に記憶されているデータを読み出すことを特徴とする請求項１記載のマイクロコンピュータ。
【請求項３】
前記記憶手段には、温度に応じて前記制御値を演算するための関数パラメータが記憶されており、
前記制御回路は、前記記憶手段より読み出した関数パラメータに基づいて前記制御値を演算して決定することを特徴とする請求項１又は２記載のマイクロコンピュータ。
【請求項４】
前記記憶手段には、温度に応じて設定すべき制御値が記憶されており、
前記制御回路は、前記記憶手段より読み出した制御値を前記処理回路に設定することを特徴とする請求項１又は２記載のマイクロコンピュータ。
【請求項５】
前記制御回路は、前記制御値の設定を周期的に行うように構成されていることを特徴とする請求項１乃至４の何れかに記載のマイクロコンピュータ。
【請求項６】
前記処理回路は、通信処理を行なうものであり、
前記制御値は、前記通信処理における通信速度であることを特徴とする請求項１乃至５の何れかに記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＲ発振回路により出力される発振信号に基づいて、所定の処理を行なうための時間を管理する処理回路を備えるマイクロコンピュータに関する。
【背景技術】
【０００２】
例えばマイクロコンピュータにおいて使用するクロック信号を得る場合には、発振子を用いた発振回路を構成すれば、発振周波数が安定した高精度のクロック信号を得ることができる。しかし、発振子は比較的高価な素子であるため、低コスト化を図る場合には、ＣＲ発振回路を用いる場合がある。ところが、ＣＲ発振回路は周囲温度が変化すると発振周波数が変動してしまう。従って、ＣＲ発振回路の発振出力に基づいて行う所定の処理を行なう場合、その処理に要する時間について等時性を確保する必要があるとすれば、発振周波数が一定に維持されるように何らかの補正を行なわなければならない。
【０００３】
図１２は、上記補正を行なう構成の一例として、特許文献１に開示されているＩＣ発振器１の構成を示すものである。ＩＣ発振器１は、コンデンサＣ１の容量とバリスタＲ１の抵抗値とに基づいて発振周波数ｆが決定されるＣＲ発振回路２に対して、平滑回路４及びアンプ５よりなる補正回路６を設けている。即ち、ＣＲ発振回路２の発振出力をスイッチドキャパシタ３に対するスイッチング制御信号として与え、発振周波数ｆに応じてＤＣ電圧への変換を行うようにする。そして、そのＤＣ電圧を平滑回路４において平滑し、アンプ５により増幅した電圧をバリスタＲ１へ印加することでその抵抗値を変化させ、発振周波数ｆを補正している。
斯様に構成することで、ＩＣ発振器１の作り込み状態に応じて、しきい値電圧やゲート遅延時間のばらつきが生じる場合でも容量Ｃ１の充放電を自動的に調整して、発振周波数ｆが一定となるように補正している。
【特許文献１】特開昭６０−８１９２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている技術では、ＣＲ発振回路２の発振周波数ｆを補正するのに回路規模が大きなスイッチドキャパシタ３が必要である。また、バリスタＲ１はＩＣ化が非常に困難な回路素子であるため、ＩＣ発振器１を実際に構成するには、例えばハイブリッドＩＣ化するなどの必要があり、回路構成が複雑になってしまうという問題があった。
本発明は上記事情に鑑みてなされたものであり、その目的は、温度が変化する環境下において、ＣＲ発振回路の発振出力に基づいて行われる所定の処理時間が一定となるように補正する構成を、より簡単に実現するマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載のマイクロコンピュータによれば、記憶手段には、温度により変動するＣＲ発振回路の発振出力特性に基づき、処理回路により管理される処理時間を一定とするための制御値を決定するデータが記憶されている。そして、制御回路は、温度検出手段によって検出される温度に応じて記憶手段に記憶されているデータを読み出し、決定した制御値を処理回路に設定する。
即ち、温度の変化に応じてＣＲ発振回路の発振周波数が変動するとしても、結果として、処理回路において行われる処理の時間が一定となれば問題はない。従って、温度の変化に応じて処理回路で行われる処理の時間が一定となるように制御することで、特許文献１のようにＣＲ発振回路の時定数を直接変化させるような複雑な構成の補正回路を必要とすることなく、簡単な構成で処理時間が一定となるように補正することができる。
【０００６】
請求項２記載のマイクロコンピュータによれば、制御回路は、ＣＲ発振回路の周辺に複数個の温度検出手段によって検出される温度を平均した結果に基づいて、記憶手段に記憶されているデータを読み出す。即ち、ＣＲ発振回路が搭載されている半導体基板の温度分布は必ずしも一定であるとは限らない。従って、ＣＲ発振回路の周辺温度を複数箇所検出してそれらの平均を得ることで、検出精度を向上させることができる。
【０００７】
請求項３記載のマイクロコンピュータによれば、制御回路は、記憶手段より読み出した関数パラメータに基づいて制御値を演算して決定するので、制御値を関数近似によって補完することができる。従って、例えば所定の温度範囲に対応する制御値を用意する場合に比較して、より少ないデータ量で精度の高い補正を行なうことができる。
【０００８】
請求項４記載のマイクロコンピュータによれば、制御回路は、記憶手段より読み出した制御値を処理回路に設定するので、制御値を演算して決定する必要がなく、補正を迅速に行なうことができる。
請求項５記載のマイクロコンピュータによれば、制御回路は、制御値の設定を周期的に行うので、処理回路による処理時間を安定的に維持することができる。
【０００９】
請求項６記載のマイクロコンピュータによれば、処理回路が通信処理を行なうものである場合に、制御値を通信処理における通信速度とする。即ち、通信処理においては、例えば１フレームのデータを送信する時間について等時性を確保する必要がある。そして、温度の変化に応じてＣＲ発振回路の発振周波数が変動した場合でも、その周波数変動に応じて通信速度を設定すれば、それらの相殺によって送信時間が一定となるように補正することができる。
【発明を実施するための最良の形態】
【００１０】
（第１実施例）
以下、本発明の第１実施例について図１乃至図６を参照して説明する。図６は、マイクロコンピュータ（マイコン）１１の電気的構成を示す機能ブロック図である。マイコン１１は、ＣＰＵ（制御回路）１２を中心として、ＥＥＰＲＯＭ（記憶手段）１３，ＲＡＭ１４，ＲＯＭ１５，Ａ／Ｄ変換回路１６,例えばＵＡＲＴ（Universal Asynchronous Receiver Transmitter）などの通信回路（処理回路）１７などを備えており、これらは、アドレスバス１８及びデータバス１９を介して接続されている。そして、システムクロック信号ＣＬＫは、ＣＲ発振回路２０によって発振出力され、ＣＰＵ１２，Ａ／Ｄ変換回路１６及び通信回路１７に供給されている。このＣＲ発振回路２０は、発振周波数を逓倍するためのＰＬＬ（Phase Locked Loop）回路も内蔵している。
【００１１】
また、マイコン１１は、温度検出回路（温度検出手段）２１を備えている。温度検出回路２１は、電源とグランドとの間に接続される抵抗２２及びダイオード２３〜２５（順方向接続）の直列回路によって構成されている。そして、抵抗２２及びダイオード２３の共通接続点は、Ａ／Ｄ変換回路１６のアナログ入力ポートに接続されている。即ち、ダイオード２３〜２５が有する温度特性により、前記共通接続点における分圧電位Ｖｆが温度に応じて変化するようになっている。そして、以上の各回路は同一の半導体基板上に搭載されており、マイコン１１はワンチップで構成されている。
【００１２】
ここで、ＣＲ発振回路２０は、上述したように温度に応じて発振信号ＣＬＫの周波数が変化する。そして、通信回路１７の通信速度（ボーレート）は、発振信号ＣＬＫの周波数に基づいて定まるため、その周波数が変動すると通信速度（以下、通信レートと称す）が変動する。すると、通信回路１７が１フレームのデータを送信するために要する時間がばらつくことになる。
そこで、本発明では、詳細は後述するが、ＥＥＰＲＯＭ１３に、温度検出回路２１によって検出される温度に応じて通信回路１７の通信レート（制御値）を補正するためのデータを記憶しておく。そして、マイコン１１が動作している期間は、ＣＰＵ１２がＥＥＰＲＯＭ１３に記憶されているデータに基づいて、通信回路１７の通信速度をダイナミックに補正するようにしている。
【００１３】
次に、本実施例の作用について、図１乃至図５も参照して説明する。図３は、マイコン１１を製品として出荷する前に、ＥＥＰＲＯＭ１３に上記データを書き込んで記憶させるための工程を示すフローチャートである。先ず、マイコン１１の動作環境温度を数段階で変化させ、夫々の温度において、温度検出回路２１が出力する検出温度ＶｆのＡ／Ｄ変換値とＣＲ発振回路２０の発振周期（又は周波数）とを測定する（ステップＰ１）。そして、ＣＲ発振回路２０が基準となる発振周期Ｔ０で信号ＣＬＫを出力している場合に、通信回路１７が１フレームのデータをシリアルで送信するための基準時間を設定し、その基準時間を満たすために必要な（理想の）通信レートＣＭＲ０を設定する（ステップＰ２）。
【００１４】
例えば、ある温度においてＣＲ発振回路２０の発振周期Ｔが１０μｓ（周波数１００ｋＨｚ）となる場合に（Ｔ０）、通信レートＣＭＲが４１６．６ｂｐｓ（ＣＭＲ０）によってデータが送信される時間を基準として設定する。つまり、温度に応じて発振周期Ｔが変動するとしても、その発振周期Ｔと通信レートＣＭＲとの積が、基準周期Ｔ０と通信レートＣＭＲ０との積：Ｔ０×ＣＭＲ０に等しくなるように通信レートＣＭＲを設定すれば、データの送信時間は一定となる。即ち、発振周期Ｔに応じた通信レートＣＭＲは、次式のように求められる。
ＣＭＲ＝Ｔ０×ＣＭＲ０／Ｔ
【００１５】
そして、温度に応じた発振周期Ｔの変化は検出電圧ＶｆのＡ／Ｄ変換値に反映されているので、Ａ／Ｄ変換値に応じて通信レートＣＭＲを設定する（ステップＰ３）。図４には、その一例を示す。例えば、温度が−３０℃の場合、検出電圧Ｖｆは２．４４Ｖ，その９ビットＡ／Ｄ変換値が「４９８」であり、その時の発振周期Ｔに応じた通信レートＣＭＲは４１９．６ｂｐｓに設定する。また、温度が１２５℃の場合、検出電圧Ｖｆは１．４３Ｖ，そのＡ／Ｄ変換値が「２９５」であり、その時の発振周期Ｔに応じた通信レートＣＭＲは４０８．３ｂｐｓに設定する。
【００１６】
更に、温度がそれらの中間になった場合についても、発振周期Ｔを測定して通信レートＣＭＲを設定しグラフ上にプロットすると、図４に示すように、ＣＲ発振回路２０の温度特性が必ずしも直線性を示すとは限らない。そこで、各点の間を一次関数で近似して補間する。即ち、傾きをａ，切片をｂとすれば、
ＣＭＲ＝ａ×（Ａ／Ｄ変換値）＋ｂ
として通信レートＣＭＲを演算で求めるようにする。例えば、図４においては、Ａ／Ｄ変換値の範囲（１）〜（３）について、夫々に対応する傾きａ及び切片ｂ（関数パラメータ）を用意する（ステップＰ４）。
【００１７】
図５には、温度プロファイルの一例を示す。以上のように測定及び計算処理を行なった結果図５に示すデータが得られるが、これらの内より上記の事項を抜き出して温度プロファイルとする。但し、図５は、図４に示すよりもよりも詳細な範囲毎に関数パラメータを設定している。そして、最後に、マイコン１１のＥＥＰＲＯＭ１３に、ステップＰ４で決定した傾きａ及び切片ｂを「温度プロファイル」として書き込んで記憶させる（ステップＰ５）。以上で、図３の処理は終了する。
【００１８】
図１は、マイコン１１のＣＰＵ１２が、実動作上において通信回路１７の通信レートを補正する処理の内容を示すフローチャートである。ＣＰＵ１２は、通信レートの補正を一定周期毎に行なうようになっており（ステップＳ１，「ＹＥＳ」）、それ以外は「ＮＯ」他の処理を実行する（図示せず）。図２は、補正を行なうタイミングの一例を示すものであり、補正周期は必ずしもデータの送信タイミングに同期するものでなくても構わない。
【００１９】
補正処理としては、先ず、温度検出回路２１の検出電圧ＶｆのＡ／Ｄ変換値をＡ／Ｄ変換回路１６より読み込む（ステップＳ２）。それから、ＥＥＰＲＯＭ１３に記憶させた温度プロファイルより、Ａ／Ｄ変換値に応じて設定されている一次関数の傾きａ及び切片ｂを読み出すと（ステップＳ３）、読み出した傾きａ及び切片ｂに基づいて通信レートＣＭＲを計算する（ステップＳ４）。そして、計算した通信レートＣＭＲを、通信回路１７内部の制御レジスタＢＲＲに書き込んで設定すると（ステップＳ５）ステップＳ１に戻る。
【００２０】
以上のように本実施例によれば、マイコン１１のＥＥＰＲＯＭ１３に、温度により変動するＣＲ発振回路２０の発振出力特性に基づき、通信回路１７により管理される１フレームのデータ送信時間を一定とするための通信レートＣＭＲを決定するデータを記憶しておき、ＣＰＵ１２は、温度検出回路２１によって検出される温度に応じてＥＥＰＲＯＭ１３に記憶されているデータを読み出し、決定した通信レートＣＭＲを通信回路１７に設定するようにした。
従って、温度の変化に応じてＣＲ発振回路２０の発振周波数が変動した場合でも、通信回路１７がデータ送信を行う時間が一定となるように制御されるので、ＣＲ発振回路２０の時定数を直接変化させるような複雑な構成の補正回路を必要とすることがない。そして、通信処理においては、送信側と受信側とで処理タイミングの同期を取る場合もあり、１フレームのデータを送信する時間について等時性を確保する必要があるので、本発明を適用すれば、簡単な構成でデータ送信時間が一定となるように補正を行なうことができる。そして、マイコン１１を小型に構成することができる。
【００２１】
また、ＣＰＵ１２は、ＥＥＰＲＯＭ１３より読み出した傾きａ及び切片ｂに基づいて、一次関数により通信レートＣＭＲを演算して決定するので、一次関数で近似した通信レートＣＭＲを得ることで補間して、ＥＥＰＲＯＭ１３に記憶させるデータ量を少なくすることができる。更に、ＣＰＵ１２は、通信レートＣＭＲの補正を周期的に行うので、データ送信時間を安定的に維持することができる。
【００２２】
（第２実施例）
図７乃至図９は本発明の第２実施例を示すものであり、第１実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第２実施例では、ＥＥＰＲＯＭ１３に、検出温度即ちＡ／Ｄ変換値に応じた通信レートＣＭＲを、そのままデータテーブルとして記憶させるようにする。
即ち、図７は第１実施例の図３相当図であるが、ステップＰ１〜Ｐ３は、第１実施例と同様に行う。そして、ステップＰ３において、各Ａ／Ｄ変換値に対応した通信レートＣＭＲを求めると、それらをＡ／Ｄ変換値の所定範囲に対する代表値として設定することで、変換テーブルを作成する（ステップＰ６）。変換テーブルの一例を図８に示す。それから、作成した変換テーブルを、温度プロファイルとしてＥＥＰＲＯＭ１３に書き込んで記憶させる（ステップＰ７）。
【００２３】
次に、第２実施例の作用について図９も参照して説明する。図９は、図１相当図である。ＣＰＵ１２は、ステップＳ２を実行すると、ＥＥＰＲＯＭ１３に記憶されている変換テーブルよりＡ／Ｄ変換値が属する範囲に対応する通信レートＣＭＲを読み出す（ステップＳ６）。そして、取得した通信レートＣＭＲを、通信回路１７内部の制御レジスタに書き込んで設定すると（ステップＳ７）ステップＳ１に戻る。
【００２４】
以上のように第２実施例によれば、ＥＥＰＲＯＭ１３に、予めＡ／Ｄ変換値が属する範囲に対応する通信レートＣＭＲを変換テーブルとして記憶させておき、ＣＰＵ１２は、ＥＥＰＲＯＭ１３より読み出した通信レートＣＭＲを通信回路１７に設定するようにした。従って、ＣＰＵ１２は、通信レートＣＭＲを演算により求める必要がなく、補正を迅速に行なうことができる。
【００２５】
（第３実施例）
図１０及び図１１は本発明の第３実施例を示すものであり、第１実施例と異なる部分についてのみ説明する。図６相当図である図１１において、マイコン３１では、ＣＲ発振回路２０の周辺として例えば回路形成領域の四隅付近に、４つの温度検出回路２１ａ〜２１ｄを配置している。そして、温度検出回路２１ａ〜２１ｄの検出出力は全てＡ／Ｄ変換回路１６に入力されており、Ａ／Ｄ変換回路１６は、それらの入力を切り替えて順次Ａ／Ｄ変換を行なうようになっている。
【００２６】
次に、第３実施例の作用について図１１も参照して説明する。図１１は、第１実施例の図１相当図である。ＣＰＵ１２に替わるＣＰＵ３２は、ステップＳ２に替わるステップＳ１０において、４つの温度検出回路２１ａ〜２１ｄの検出電圧Ｖｆａ〜ＶｆｄのＡ／Ｄ変換値をＡ／Ｄ変換回路１６より順次読み込む。そして、各検出電圧Ｖｆａ〜Ｖｄに対応するＡ／Ｄ変換値を平均すると（ステップＳ１１）、続くステップＳ３では、その平均結果についてＥＥＰＲＯＭ１３に記憶させた温度プロファイルより一次関数の傾きａ及び切片ｂを読み出す。その他の処理は第１実施例と同様である。
【００２７】
即ち、ＣＲ発振回路２０が搭載されているマイコン３１の半導体基板の温度分布は、必ずしも一定であるとは限らない。具体的には図示しないが、例えばマイコン３１が比較的大きな電流が流れる外部駆動用のトランジスタなどを搭載していると、その駆動トランジスタの搭載領域並びにその周辺は、局所的に高温になる場合がある。従って、ＣＲ発振回路２１の周辺温度を複数箇所で検出してそれらの平均を得るようにすれば、検出精度が向上する。
【００２８】
以上のように第３実施例によれば、ＣＲ発振回路２０の周辺に４個の温度検出回路２１ａ〜２１ｄを配置し、ＣＰＵ３２は、それらの検出電圧Ｖｆａ〜ＶｆｄのＡ／Ｄ変換値を平均し、その平均結果に基づきＥＥＰＲＯＭ１３に記憶されているデータを読み出すようにした。従って、ＣＲ発振回路２０が搭載されているマイコン３１の半導体基板の温度分布に偏りが生じている場合でも検出精度を向上させることができ、データ送信時間を一層安定的に維持することができる。
【００２９】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
補正処理は、通信処理に同期して行っても良い。また、必ずしも周期的に行なう必要はなく、例えば、所定のイベントが発生したタイミングで行うようにしても良い。例えば、データ送信を開始する場合、最初に一回だけ行うようにしても良い。
ＣＲ発振回路２０の温度特性を、例えば、二次関数式で近似しても良い。
処理回路は、通信回路１７に限ることなく、その他、例えば、ＣＲ発振回路の発振出力に基づいて発生されるタイマ割込み数をカウントして、何らかの定時処理を行なうものなどに適用することができる。即ち、ＣＰＵが処理回路であっても良い。
第２実施例と第３実施例とを組み合わせて実行しても良い。
第３実施例における温度検出回路２１の配置数は、「２〜３」又は「５」以上であっても良い。また、複数の温度検出回路２１は、ＣＲ発振回路の周辺に適当な間隔で配置すれば良い。
温度検出手段は、温度検出回路２１に限ることなく、温度を検出可能に構成される回路であればどのようなものであっても良い。
【図面の簡単な説明】
【００３０】
【図１】本発明の第１実施例であり、マイコンのＣＰＵが行なう通信回路の通信レートを補正する処理の内容を示すフローチャート
【図２】補正を行なうタイミングの一例を示す図
【図３】マイコンを製品として出荷する前に、ＥＥＰＲＯＭに温度プロファイルを書き込んで記憶させるための工程を示すフローチャート
【図４】検出電圧ＶｆのＡ／Ｄ変換値と、通信レートＣＭＲとの関係を示す図
【図５】温度プロファイルの一例を示す図
【図６】マイクロコンピュータの電気的構成を示す機能ブロック図
【図７】本発明の第２実施例を示す図３相当図
【図８】図５相当図
【図９】図１相当図
【図１０】本発明の第３実施例を示す図６相当図
【図１１】図１相当図
【図１２】特許文献１に開示されている従来技術を示す図
【符号の説明】
【００３１】
図面中、１１はマイクロコンピュータ、１２はＣＰＵ（制御回路）、１３はＥＥＰＲＯＭ（記憶手段）、１７は通信回路（処理回路）、２０はＣＲ発振回路、２１は温度検出回路（温度検出手段）、３１はマイクロコンピュータ、３２はＣＰＵ（制御回路）を示す。
【図１】
2006270917.tif 000003
【図２】
2006270917.tif 000004
【図３】
2006270917.tif 000005
【図４】
2006270917.tif 000006
【図５】
2006270917.tif 000007
【図６】
2006270917.tif 000008
【図７】
2006270917.tif 000009
【図８】
2006270917.tif 000010
【図９】
2006270917.tif 000011
【図１０】
2006270917.tif 000012
【図１１】
2006270917.tif 000013
【図１２】
2006270917.tif 000014