マイクロコンピュータ
【課題】温度が変化する環境下において、CR発振回路の発振出力に基づいて行われる所定の処理時間が一定となるように補正する構成を、より簡単に実現するマイクロコンピュータを提供する。
【解決手段】マイクロコンピュータのEEPROMに、温度により変動するCR発振回路の発振出力特性に基づき、通信回路により管理される1フレームのデータ送信時間を一定とするための通信レートCMRを決定するデータを記憶しておく。CPUは、温度検出回路によって検出される温度(ステップS2)に応じてEEPROMに記憶されているデータを読み出し(ステップS3)、決定した通信レートCMR(ステップS4)を通信回路に設定する(ステップS5)。
【解決手段】マイクロコンピュータのEEPROMに、温度により変動するCR発振回路の発振出力特性に基づき、通信回路により管理される1フレームのデータ送信時間を一定とするための通信レートCMRを決定するデータを記憶しておく。CPUは、温度検出回路によって検出される温度(ステップS2)に応じてEEPROMに記憶されているデータを読み出し(ステップS3)、決定した通信レートCMR(ステップS4)を通信回路に設定する(ステップS5)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CR発振回路により出力される発振信号に基づいて、所定の処理を行なうための時間を管理する処理回路を備えるマイクロコンピュータに関する。
【背景技術】
【0002】
例えばマイクロコンピュータにおいて使用するクロック信号を得る場合には、発振子を用いた発振回路を構成すれば、発振周波数が安定した高精度のクロック信号を得ることができる。しかし、発振子は比較的高価な素子であるため、低コスト化を図る場合には、CR発振回路を用いる場合がある。ところが、CR発振回路は周囲温度が変化すると発振周波数が変動してしまう。従って、CR発振回路の発振出力に基づいて行う所定の処理を行なう場合、その処理に要する時間について等時性を確保する必要があるとすれば、発振周波数が一定に維持されるように何らかの補正を行なわなければならない。
【0003】
図12は、上記補正を行なう構成の一例として、特許文献1に開示されているIC発振器1の構成を示すものである。IC発振器1は、コンデンサC1の容量とバリスタR1の抵抗値とに基づいて発振周波数fが決定されるCR発振回路2に対して、平滑回路4及びアンプ5よりなる補正回路6を設けている。即ち、CR発振回路2の発振出力をスイッチドキャパシタ3に対するスイッチング制御信号として与え、発振周波数fに応じてDC電圧への変換を行うようにする。そして、そのDC電圧を平滑回路4において平滑し、アンプ5により増幅した電圧をバリスタR1へ印加することでその抵抗値を変化させ、発振周波数fを補正している。
斯様に構成することで、IC発振器1の作り込み状態に応じて、しきい値電圧やゲート遅延時間のばらつきが生じる場合でも容量C1の充放電を自動的に調整して、発振周波数fが一定となるように補正している。
【特許文献1】特開昭60−81921号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示されている技術では、CR発振回路2の発振周波数fを補正するのに回路規模が大きなスイッチドキャパシタ3が必要である。また、バリスタR1はIC化が非常に困難な回路素子であるため、IC発振器1を実際に構成するには、例えばハイブリッドIC化するなどの必要があり、回路構成が複雑になってしまうという問題があった。
本発明は上記事情に鑑みてなされたものであり、その目的は、温度が変化する環境下において、CR発振回路の発振出力に基づいて行われる所定の処理時間が一定となるように補正する構成を、より簡単に実現するマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【0005】
請求項1記載のマイクロコンピュータによれば、記憶手段には、温度により変動するCR発振回路の発振出力特性に基づき、処理回路により管理される処理時間を一定とするための制御値を決定するデータが記憶されている。そして、制御回路は、温度検出手段によって検出される温度に応じて記憶手段に記憶されているデータを読み出し、決定した制御値を処理回路に設定する。
即ち、温度の変化に応じてCR発振回路の発振周波数が変動するとしても、結果として、処理回路において行われる処理の時間が一定となれば問題はない。従って、温度の変化に応じて処理回路で行われる処理の時間が一定となるように制御することで、特許文献1のようにCR発振回路の時定数を直接変化させるような複雑な構成の補正回路を必要とすることなく、簡単な構成で処理時間が一定となるように補正することができる。
【0006】
請求項2記載のマイクロコンピュータによれば、制御回路は、CR発振回路の周辺に複数個の温度検出手段によって検出される温度を平均した結果に基づいて、記憶手段に記憶されているデータを読み出す。即ち、CR発振回路が搭載されている半導体基板の温度分布は必ずしも一定であるとは限らない。従って、CR発振回路の周辺温度を複数箇所検出してそれらの平均を得ることで、検出精度を向上させることができる。
【0007】
請求項3記載のマイクロコンピュータによれば、制御回路は、記憶手段より読み出した関数パラメータに基づいて制御値を演算して決定するので、制御値を関数近似によって補完することができる。従って、例えば所定の温度範囲に対応する制御値を用意する場合に比較して、より少ないデータ量で精度の高い補正を行なうことができる。
【0008】
請求項4記載のマイクロコンピュータによれば、制御回路は、記憶手段より読み出した制御値を処理回路に設定するので、制御値を演算して決定する必要がなく、補正を迅速に行なうことができる。
請求項5記載のマイクロコンピュータによれば、制御回路は、制御値の設定を周期的に行うので、処理回路による処理時間を安定的に維持することができる。
【0009】
請求項6記載のマイクロコンピュータによれば、処理回路が通信処理を行なうものである場合に、制御値を通信処理における通信速度とする。即ち、通信処理においては、例えば1フレームのデータを送信する時間について等時性を確保する必要がある。そして、温度の変化に応じてCR発振回路の発振周波数が変動した場合でも、その周波数変動に応じて通信速度を設定すれば、それらの相殺によって送信時間が一定となるように補正することができる。
【発明を実施するための最良の形態】
【0010】
(第1実施例)
以下、本発明の第1実施例について図1乃至図6を参照して説明する。図6は、マイクロコンピュータ(マイコン)11の電気的構成を示す機能ブロック図である。マイコン11は、CPU(制御回路)12を中心として、EEPROM(記憶手段)13,RAM14,ROM15,A/D変換回路16,例えばUART(Universal Asynchronous Receiver Transmitter)などの通信回路(処理回路)17などを備えており、これらは、アドレスバス18及びデータバス19を介して接続されている。そして、システムクロック信号CLKは、CR発振回路20によって発振出力され、CPU12,A/D変換回路16及び通信回路17に供給されている。このCR発振回路20は、発振周波数を逓倍するためのPLL(Phase Locked Loop)回路も内蔵している。
【0011】
また、マイコン11は、温度検出回路(温度検出手段)21を備えている。温度検出回路21は、電源とグランドとの間に接続される抵抗22及びダイオード23〜25(順方向接続)の直列回路によって構成されている。そして、抵抗22及びダイオード23の共通接続点は、A/D変換回路16のアナログ入力ポートに接続されている。即ち、ダイオード23〜25が有する温度特性により、前記共通接続点における分圧電位Vfが温度に応じて変化するようになっている。そして、以上の各回路は同一の半導体基板上に搭載されており、マイコン11はワンチップで構成されている。
【0012】
ここで、CR発振回路20は、上述したように温度に応じて発振信号CLKの周波数が変化する。そして、通信回路17の通信速度(ボーレート)は、発振信号CLKの周波数に基づいて定まるため、その周波数が変動すると通信速度(以下、通信レートと称す)が変動する。すると、通信回路17が1フレームのデータを送信するために要する時間がばらつくことになる。
そこで、本発明では、詳細は後述するが、EEPROM13に、温度検出回路21によって検出される温度に応じて通信回路17の通信レート(制御値)を補正するためのデータを記憶しておく。そして、マイコン11が動作している期間は、CPU12がEEPROM13に記憶されているデータに基づいて、通信回路17の通信速度をダイナミックに補正するようにしている。
【0013】
次に、本実施例の作用について、図1乃至図5も参照して説明する。図3は、マイコン11を製品として出荷する前に、EEPROM13に上記データを書き込んで記憶させるための工程を示すフローチャートである。先ず、マイコン11の動作環境温度を数段階で変化させ、夫々の温度において、温度検出回路21が出力する検出温度VfのA/D変換値とCR発振回路20の発振周期(又は周波数)とを測定する(ステップP1)。そして、CR発振回路20が基準となる発振周期T0で信号CLKを出力している場合に、通信回路17が1フレームのデータをシリアルで送信するための基準時間を設定し、その基準時間を満たすために必要な(理想の)通信レートCMR0を設定する(ステップP2)。
【0014】
例えば、ある温度においてCR発振回路20の発振周期Tが10μs(周波数100kHz)となる場合に(T0)、通信レートCMRが416.6bps(CMR0)によってデータが送信される時間を基準として設定する。つまり、温度に応じて発振周期Tが変動するとしても、その発振周期Tと通信レートCMRとの積が、基準周期T0と通信レートCMR0との積:T0×CMR0に等しくなるように通信レートCMRを設定すれば、データの送信時間は一定となる。即ち、発振周期Tに応じた通信レートCMRは、次式のように求められる。
CMR=T0×CMR0/T
【0015】
そして、温度に応じた発振周期Tの変化は検出電圧VfのA/D変換値に反映されているので、A/D変換値に応じて通信レートCMRを設定する(ステップP3)。図4には、その一例を示す。例えば、温度が−30℃の場合、検出電圧Vfは2.44V,その9ビットA/D変換値が「498」であり、その時の発振周期Tに応じた通信レートCMRは419.6bpsに設定する。また、温度が125℃の場合、検出電圧Vfは1.43V,そのA/D変換値が「295」であり、その時の発振周期Tに応じた通信レートCMRは408.3bpsに設定する。
【0016】
更に、温度がそれらの中間になった場合についても、発振周期Tを測定して通信レートCMRを設定しグラフ上にプロットすると、図4に示すように、CR発振回路20の温度特性が必ずしも直線性を示すとは限らない。そこで、各点の間を一次関数で近似して補間する。即ち、傾きをa,切片をbとすれば、
CMR=a×(A/D変換値)+b
として通信レートCMRを演算で求めるようにする。例えば、図4においては、A/D変換値の範囲(1)〜(3)について、夫々に対応する傾きa及び切片b(関数パラメータ)を用意する(ステップP4)。
【0017】
図5には、温度プロファイルの一例を示す。以上のように測定及び計算処理を行なった結果図5に示すデータが得られるが、これらの内より上記の事項を抜き出して温度プロファイルとする。但し、図5は、図4に示すよりもよりも詳細な範囲毎に関数パラメータを設定している。そして、最後に、マイコン11のEEPROM13に、ステップP4で決定した傾きa及び切片bを「温度プロファイル」として書き込んで記憶させる(ステップP5)。以上で、図3の処理は終了する。
【0018】
図1は、マイコン11のCPU12が、実動作上において通信回路17の通信レートを補正する処理の内容を示すフローチャートである。CPU12は、通信レートの補正を一定周期毎に行なうようになっており(ステップS1,「YES」)、それ以外は「NO」他の処理を実行する(図示せず)。図2は、補正を行なうタイミングの一例を示すものであり、補正周期は必ずしもデータの送信タイミングに同期するものでなくても構わない。
【0019】
補正処理としては、先ず、温度検出回路21の検出電圧VfのA/D変換値をA/D変換回路16より読み込む(ステップS2)。それから、EEPROM13に記憶させた温度プロファイルより、A/D変換値に応じて設定されている一次関数の傾きa及び切片bを読み出すと(ステップS3)、読み出した傾きa及び切片bに基づいて通信レートCMRを計算する(ステップS4)。そして、計算した通信レートCMRを、通信回路17内部の制御レジスタBRRに書き込んで設定すると(ステップS5)ステップS1に戻る。
【0020】
以上のように本実施例によれば、マイコン11のEEPROM13に、温度により変動するCR発振回路20の発振出力特性に基づき、通信回路17により管理される1フレームのデータ送信時間を一定とするための通信レートCMRを決定するデータを記憶しておき、CPU12は、温度検出回路21によって検出される温度に応じてEEPROM13に記憶されているデータを読み出し、決定した通信レートCMRを通信回路17に設定するようにした。
従って、温度の変化に応じてCR発振回路20の発振周波数が変動した場合でも、通信回路17がデータ送信を行う時間が一定となるように制御されるので、CR発振回路20の時定数を直接変化させるような複雑な構成の補正回路を必要とすることがない。そして、通信処理においては、送信側と受信側とで処理タイミングの同期を取る場合もあり、1フレームのデータを送信する時間について等時性を確保する必要があるので、本発明を適用すれば、簡単な構成でデータ送信時間が一定となるように補正を行なうことができる。そして、マイコン11を小型に構成することができる。
【0021】
また、CPU12は、EEPROM13より読み出した傾きa及び切片bに基づいて、一次関数により通信レートCMRを演算して決定するので、一次関数で近似した通信レートCMRを得ることで補間して、EEPROM13に記憶させるデータ量を少なくすることができる。更に、CPU12は、通信レートCMRの補正を周期的に行うので、データ送信時間を安定的に維持することができる。
【0022】
(第2実施例)
図7乃至図9は本発明の第2実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第2実施例では、EEPROM13に、検出温度即ちA/D変換値に応じた通信レートCMRを、そのままデータテーブルとして記憶させるようにする。
即ち、図7は第1実施例の図3相当図であるが、ステップP1〜P3は、第1実施例と同様に行う。そして、ステップP3において、各A/D変換値に対応した通信レートCMRを求めると、それらをA/D変換値の所定範囲に対する代表値として設定することで、変換テーブルを作成する(ステップP6)。変換テーブルの一例を図8に示す。それから、作成した変換テーブルを、温度プロファイルとしてEEPROM13に書き込んで記憶させる(ステップP7)。
【0023】
次に、第2実施例の作用について図9も参照して説明する。図9は、図1相当図である。CPU12は、ステップS2を実行すると、EEPROM13に記憶されている変換テーブルよりA/D変換値が属する範囲に対応する通信レートCMRを読み出す(ステップS6)。そして、取得した通信レートCMRを、通信回路17内部の制御レジスタに書き込んで設定すると(ステップS7)ステップS1に戻る。
【0024】
以上のように第2実施例によれば、EEPROM13に、予めA/D変換値が属する範囲に対応する通信レートCMRを変換テーブルとして記憶させておき、CPU12は、EEPROM13より読み出した通信レートCMRを通信回路17に設定するようにした。従って、CPU12は、通信レートCMRを演算により求める必要がなく、補正を迅速に行なうことができる。
【0025】
(第3実施例)
図10及び図11は本発明の第3実施例を示すものであり、第1実施例と異なる部分についてのみ説明する。図6相当図である図11において、マイコン31では、CR発振回路20の周辺として例えば回路形成領域の四隅付近に、4つの温度検出回路21a〜21dを配置している。そして、温度検出回路21a〜21dの検出出力は全てA/D変換回路16に入力されており、A/D変換回路16は、それらの入力を切り替えて順次A/D変換を行なうようになっている。
【0026】
次に、第3実施例の作用について図11も参照して説明する。図11は、第1実施例の図1相当図である。CPU12に替わるCPU32は、ステップS2に替わるステップS10において、4つの温度検出回路21a〜21dの検出電圧Vfa〜VfdのA/D変換値をA/D変換回路16より順次読み込む。そして、各検出電圧Vfa〜Vdに対応するA/D変換値を平均すると(ステップS11)、続くステップS3では、その平均結果についてEEPROM13に記憶させた温度プロファイルより一次関数の傾きa及び切片bを読み出す。その他の処理は第1実施例と同様である。
【0027】
即ち、CR発振回路20が搭載されているマイコン31の半導体基板の温度分布は、必ずしも一定であるとは限らない。具体的には図示しないが、例えばマイコン31が比較的大きな電流が流れる外部駆動用のトランジスタなどを搭載していると、その駆動トランジスタの搭載領域並びにその周辺は、局所的に高温になる場合がある。従って、CR発振回路21の周辺温度を複数箇所で検出してそれらの平均を得るようにすれば、検出精度が向上する。
【0028】
以上のように第3実施例によれば、CR発振回路20の周辺に4個の温度検出回路21a〜21dを配置し、CPU32は、それらの検出電圧Vfa〜VfdのA/D変換値を平均し、その平均結果に基づきEEPROM13に記憶されているデータを読み出すようにした。従って、CR発振回路20が搭載されているマイコン31の半導体基板の温度分布に偏りが生じている場合でも検出精度を向上させることができ、データ送信時間を一層安定的に維持することができる。
【0029】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
補正処理は、通信処理に同期して行っても良い。また、必ずしも周期的に行なう必要はなく、例えば、所定のイベントが発生したタイミングで行うようにしても良い。例えば、データ送信を開始する場合、最初に一回だけ行うようにしても良い。
CR発振回路20の温度特性を、例えば、二次関数式で近似しても良い。
処理回路は、通信回路17に限ることなく、その他、例えば、CR発振回路の発振出力に基づいて発生されるタイマ割込み数をカウントして、何らかの定時処理を行なうものなどに適用することができる。即ち、CPUが処理回路であっても良い。
第2実施例と第3実施例とを組み合わせて実行しても良い。
第3実施例における温度検出回路21の配置数は、「2〜3」又は「5」以上であっても良い。また、複数の温度検出回路21は、CR発振回路の周辺に適当な間隔で配置すれば良い。
温度検出手段は、温度検出回路21に限ることなく、温度を検出可能に構成される回路であればどのようなものであっても良い。
【図面の簡単な説明】
【0030】
【図1】本発明の第1実施例であり、マイコンのCPUが行なう通信回路の通信レートを補正する処理の内容を示すフローチャート
【図2】補正を行なうタイミングの一例を示す図
【図3】マイコンを製品として出荷する前に、EEPROMに温度プロファイルを書き込んで記憶させるための工程を示すフローチャート
【図4】検出電圧VfのA/D変換値と、通信レートCMRとの関係を示す図
【図5】温度プロファイルの一例を示す図
【図6】マイクロコンピュータの電気的構成を示す機能ブロック図
【図7】本発明の第2実施例を示す図3相当図
【図8】図5相当図
【図9】図1相当図
【図10】本発明の第3実施例を示す図6相当図
【図11】図1相当図
【図12】特許文献1に開示されている従来技術を示す図
【符号の説明】
【0031】
図面中、11はマイクロコンピュータ、12はCPU(制御回路)、13はEEPROM(記憶手段)、17は通信回路(処理回路)、20はCR発振回路、21は温度検出回路(温度検出手段)、31はマイクロコンピュータ、32はCPU(制御回路)を示す。
【技術分野】
【0001】
本発明は、CR発振回路により出力される発振信号に基づいて、所定の処理を行なうための時間を管理する処理回路を備えるマイクロコンピュータに関する。
【背景技術】
【0002】
例えばマイクロコンピュータにおいて使用するクロック信号を得る場合には、発振子を用いた発振回路を構成すれば、発振周波数が安定した高精度のクロック信号を得ることができる。しかし、発振子は比較的高価な素子であるため、低コスト化を図る場合には、CR発振回路を用いる場合がある。ところが、CR発振回路は周囲温度が変化すると発振周波数が変動してしまう。従って、CR発振回路の発振出力に基づいて行う所定の処理を行なう場合、その処理に要する時間について等時性を確保する必要があるとすれば、発振周波数が一定に維持されるように何らかの補正を行なわなければならない。
【0003】
図12は、上記補正を行なう構成の一例として、特許文献1に開示されているIC発振器1の構成を示すものである。IC発振器1は、コンデンサC1の容量とバリスタR1の抵抗値とに基づいて発振周波数fが決定されるCR発振回路2に対して、平滑回路4及びアンプ5よりなる補正回路6を設けている。即ち、CR発振回路2の発振出力をスイッチドキャパシタ3に対するスイッチング制御信号として与え、発振周波数fに応じてDC電圧への変換を行うようにする。そして、そのDC電圧を平滑回路4において平滑し、アンプ5により増幅した電圧をバリスタR1へ印加することでその抵抗値を変化させ、発振周波数fを補正している。
斯様に構成することで、IC発振器1の作り込み状態に応じて、しきい値電圧やゲート遅延時間のばらつきが生じる場合でも容量C1の充放電を自動的に調整して、発振周波数fが一定となるように補正している。
【特許文献1】特開昭60−81921号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示されている技術では、CR発振回路2の発振周波数fを補正するのに回路規模が大きなスイッチドキャパシタ3が必要である。また、バリスタR1はIC化が非常に困難な回路素子であるため、IC発振器1を実際に構成するには、例えばハイブリッドIC化するなどの必要があり、回路構成が複雑になってしまうという問題があった。
本発明は上記事情に鑑みてなされたものであり、その目的は、温度が変化する環境下において、CR発振回路の発振出力に基づいて行われる所定の処理時間が一定となるように補正する構成を、より簡単に実現するマイクロコンピュータを提供することにある。
【課題を解決するための手段】
【0005】
請求項1記載のマイクロコンピュータによれば、記憶手段には、温度により変動するCR発振回路の発振出力特性に基づき、処理回路により管理される処理時間を一定とするための制御値を決定するデータが記憶されている。そして、制御回路は、温度検出手段によって検出される温度に応じて記憶手段に記憶されているデータを読み出し、決定した制御値を処理回路に設定する。
即ち、温度の変化に応じてCR発振回路の発振周波数が変動するとしても、結果として、処理回路において行われる処理の時間が一定となれば問題はない。従って、温度の変化に応じて処理回路で行われる処理の時間が一定となるように制御することで、特許文献1のようにCR発振回路の時定数を直接変化させるような複雑な構成の補正回路を必要とすることなく、簡単な構成で処理時間が一定となるように補正することができる。
【0006】
請求項2記載のマイクロコンピュータによれば、制御回路は、CR発振回路の周辺に複数個の温度検出手段によって検出される温度を平均した結果に基づいて、記憶手段に記憶されているデータを読み出す。即ち、CR発振回路が搭載されている半導体基板の温度分布は必ずしも一定であるとは限らない。従って、CR発振回路の周辺温度を複数箇所検出してそれらの平均を得ることで、検出精度を向上させることができる。
【0007】
請求項3記載のマイクロコンピュータによれば、制御回路は、記憶手段より読み出した関数パラメータに基づいて制御値を演算して決定するので、制御値を関数近似によって補完することができる。従って、例えば所定の温度範囲に対応する制御値を用意する場合に比較して、より少ないデータ量で精度の高い補正を行なうことができる。
【0008】
請求項4記載のマイクロコンピュータによれば、制御回路は、記憶手段より読み出した制御値を処理回路に設定するので、制御値を演算して決定する必要がなく、補正を迅速に行なうことができる。
請求項5記載のマイクロコンピュータによれば、制御回路は、制御値の設定を周期的に行うので、処理回路による処理時間を安定的に維持することができる。
【0009】
請求項6記載のマイクロコンピュータによれば、処理回路が通信処理を行なうものである場合に、制御値を通信処理における通信速度とする。即ち、通信処理においては、例えば1フレームのデータを送信する時間について等時性を確保する必要がある。そして、温度の変化に応じてCR発振回路の発振周波数が変動した場合でも、その周波数変動に応じて通信速度を設定すれば、それらの相殺によって送信時間が一定となるように補正することができる。
【発明を実施するための最良の形態】
【0010】
(第1実施例)
以下、本発明の第1実施例について図1乃至図6を参照して説明する。図6は、マイクロコンピュータ(マイコン)11の電気的構成を示す機能ブロック図である。マイコン11は、CPU(制御回路)12を中心として、EEPROM(記憶手段)13,RAM14,ROM15,A/D変換回路16,例えばUART(Universal Asynchronous Receiver Transmitter)などの通信回路(処理回路)17などを備えており、これらは、アドレスバス18及びデータバス19を介して接続されている。そして、システムクロック信号CLKは、CR発振回路20によって発振出力され、CPU12,A/D変換回路16及び通信回路17に供給されている。このCR発振回路20は、発振周波数を逓倍するためのPLL(Phase Locked Loop)回路も内蔵している。
【0011】
また、マイコン11は、温度検出回路(温度検出手段)21を備えている。温度検出回路21は、電源とグランドとの間に接続される抵抗22及びダイオード23〜25(順方向接続)の直列回路によって構成されている。そして、抵抗22及びダイオード23の共通接続点は、A/D変換回路16のアナログ入力ポートに接続されている。即ち、ダイオード23〜25が有する温度特性により、前記共通接続点における分圧電位Vfが温度に応じて変化するようになっている。そして、以上の各回路は同一の半導体基板上に搭載されており、マイコン11はワンチップで構成されている。
【0012】
ここで、CR発振回路20は、上述したように温度に応じて発振信号CLKの周波数が変化する。そして、通信回路17の通信速度(ボーレート)は、発振信号CLKの周波数に基づいて定まるため、その周波数が変動すると通信速度(以下、通信レートと称す)が変動する。すると、通信回路17が1フレームのデータを送信するために要する時間がばらつくことになる。
そこで、本発明では、詳細は後述するが、EEPROM13に、温度検出回路21によって検出される温度に応じて通信回路17の通信レート(制御値)を補正するためのデータを記憶しておく。そして、マイコン11が動作している期間は、CPU12がEEPROM13に記憶されているデータに基づいて、通信回路17の通信速度をダイナミックに補正するようにしている。
【0013】
次に、本実施例の作用について、図1乃至図5も参照して説明する。図3は、マイコン11を製品として出荷する前に、EEPROM13に上記データを書き込んで記憶させるための工程を示すフローチャートである。先ず、マイコン11の動作環境温度を数段階で変化させ、夫々の温度において、温度検出回路21が出力する検出温度VfのA/D変換値とCR発振回路20の発振周期(又は周波数)とを測定する(ステップP1)。そして、CR発振回路20が基準となる発振周期T0で信号CLKを出力している場合に、通信回路17が1フレームのデータをシリアルで送信するための基準時間を設定し、その基準時間を満たすために必要な(理想の)通信レートCMR0を設定する(ステップP2)。
【0014】
例えば、ある温度においてCR発振回路20の発振周期Tが10μs(周波数100kHz)となる場合に(T0)、通信レートCMRが416.6bps(CMR0)によってデータが送信される時間を基準として設定する。つまり、温度に応じて発振周期Tが変動するとしても、その発振周期Tと通信レートCMRとの積が、基準周期T0と通信レートCMR0との積:T0×CMR0に等しくなるように通信レートCMRを設定すれば、データの送信時間は一定となる。即ち、発振周期Tに応じた通信レートCMRは、次式のように求められる。
CMR=T0×CMR0/T
【0015】
そして、温度に応じた発振周期Tの変化は検出電圧VfのA/D変換値に反映されているので、A/D変換値に応じて通信レートCMRを設定する(ステップP3)。図4には、その一例を示す。例えば、温度が−30℃の場合、検出電圧Vfは2.44V,その9ビットA/D変換値が「498」であり、その時の発振周期Tに応じた通信レートCMRは419.6bpsに設定する。また、温度が125℃の場合、検出電圧Vfは1.43V,そのA/D変換値が「295」であり、その時の発振周期Tに応じた通信レートCMRは408.3bpsに設定する。
【0016】
更に、温度がそれらの中間になった場合についても、発振周期Tを測定して通信レートCMRを設定しグラフ上にプロットすると、図4に示すように、CR発振回路20の温度特性が必ずしも直線性を示すとは限らない。そこで、各点の間を一次関数で近似して補間する。即ち、傾きをa,切片をbとすれば、
CMR=a×(A/D変換値)+b
として通信レートCMRを演算で求めるようにする。例えば、図4においては、A/D変換値の範囲(1)〜(3)について、夫々に対応する傾きa及び切片b(関数パラメータ)を用意する(ステップP4)。
【0017】
図5には、温度プロファイルの一例を示す。以上のように測定及び計算処理を行なった結果図5に示すデータが得られるが、これらの内より上記の事項を抜き出して温度プロファイルとする。但し、図5は、図4に示すよりもよりも詳細な範囲毎に関数パラメータを設定している。そして、最後に、マイコン11のEEPROM13に、ステップP4で決定した傾きa及び切片bを「温度プロファイル」として書き込んで記憶させる(ステップP5)。以上で、図3の処理は終了する。
【0018】
図1は、マイコン11のCPU12が、実動作上において通信回路17の通信レートを補正する処理の内容を示すフローチャートである。CPU12は、通信レートの補正を一定周期毎に行なうようになっており(ステップS1,「YES」)、それ以外は「NO」他の処理を実行する(図示せず)。図2は、補正を行なうタイミングの一例を示すものであり、補正周期は必ずしもデータの送信タイミングに同期するものでなくても構わない。
【0019】
補正処理としては、先ず、温度検出回路21の検出電圧VfのA/D変換値をA/D変換回路16より読み込む(ステップS2)。それから、EEPROM13に記憶させた温度プロファイルより、A/D変換値に応じて設定されている一次関数の傾きa及び切片bを読み出すと(ステップS3)、読み出した傾きa及び切片bに基づいて通信レートCMRを計算する(ステップS4)。そして、計算した通信レートCMRを、通信回路17内部の制御レジスタBRRに書き込んで設定すると(ステップS5)ステップS1に戻る。
【0020】
以上のように本実施例によれば、マイコン11のEEPROM13に、温度により変動するCR発振回路20の発振出力特性に基づき、通信回路17により管理される1フレームのデータ送信時間を一定とするための通信レートCMRを決定するデータを記憶しておき、CPU12は、温度検出回路21によって検出される温度に応じてEEPROM13に記憶されているデータを読み出し、決定した通信レートCMRを通信回路17に設定するようにした。
従って、温度の変化に応じてCR発振回路20の発振周波数が変動した場合でも、通信回路17がデータ送信を行う時間が一定となるように制御されるので、CR発振回路20の時定数を直接変化させるような複雑な構成の補正回路を必要とすることがない。そして、通信処理においては、送信側と受信側とで処理タイミングの同期を取る場合もあり、1フレームのデータを送信する時間について等時性を確保する必要があるので、本発明を適用すれば、簡単な構成でデータ送信時間が一定となるように補正を行なうことができる。そして、マイコン11を小型に構成することができる。
【0021】
また、CPU12は、EEPROM13より読み出した傾きa及び切片bに基づいて、一次関数により通信レートCMRを演算して決定するので、一次関数で近似した通信レートCMRを得ることで補間して、EEPROM13に記憶させるデータ量を少なくすることができる。更に、CPU12は、通信レートCMRの補正を周期的に行うので、データ送信時間を安定的に維持することができる。
【0022】
(第2実施例)
図7乃至図9は本発明の第2実施例を示すものであり、第1実施例と同一部分には同一符号を付して説明を省略し、以下異なる部分についてのみ説明する。第2実施例では、EEPROM13に、検出温度即ちA/D変換値に応じた通信レートCMRを、そのままデータテーブルとして記憶させるようにする。
即ち、図7は第1実施例の図3相当図であるが、ステップP1〜P3は、第1実施例と同様に行う。そして、ステップP3において、各A/D変換値に対応した通信レートCMRを求めると、それらをA/D変換値の所定範囲に対する代表値として設定することで、変換テーブルを作成する(ステップP6)。変換テーブルの一例を図8に示す。それから、作成した変換テーブルを、温度プロファイルとしてEEPROM13に書き込んで記憶させる(ステップP7)。
【0023】
次に、第2実施例の作用について図9も参照して説明する。図9は、図1相当図である。CPU12は、ステップS2を実行すると、EEPROM13に記憶されている変換テーブルよりA/D変換値が属する範囲に対応する通信レートCMRを読み出す(ステップS6)。そして、取得した通信レートCMRを、通信回路17内部の制御レジスタに書き込んで設定すると(ステップS7)ステップS1に戻る。
【0024】
以上のように第2実施例によれば、EEPROM13に、予めA/D変換値が属する範囲に対応する通信レートCMRを変換テーブルとして記憶させておき、CPU12は、EEPROM13より読み出した通信レートCMRを通信回路17に設定するようにした。従って、CPU12は、通信レートCMRを演算により求める必要がなく、補正を迅速に行なうことができる。
【0025】
(第3実施例)
図10及び図11は本発明の第3実施例を示すものであり、第1実施例と異なる部分についてのみ説明する。図6相当図である図11において、マイコン31では、CR発振回路20の周辺として例えば回路形成領域の四隅付近に、4つの温度検出回路21a〜21dを配置している。そして、温度検出回路21a〜21dの検出出力は全てA/D変換回路16に入力されており、A/D変換回路16は、それらの入力を切り替えて順次A/D変換を行なうようになっている。
【0026】
次に、第3実施例の作用について図11も参照して説明する。図11は、第1実施例の図1相当図である。CPU12に替わるCPU32は、ステップS2に替わるステップS10において、4つの温度検出回路21a〜21dの検出電圧Vfa〜VfdのA/D変換値をA/D変換回路16より順次読み込む。そして、各検出電圧Vfa〜Vdに対応するA/D変換値を平均すると(ステップS11)、続くステップS3では、その平均結果についてEEPROM13に記憶させた温度プロファイルより一次関数の傾きa及び切片bを読み出す。その他の処理は第1実施例と同様である。
【0027】
即ち、CR発振回路20が搭載されているマイコン31の半導体基板の温度分布は、必ずしも一定であるとは限らない。具体的には図示しないが、例えばマイコン31が比較的大きな電流が流れる外部駆動用のトランジスタなどを搭載していると、その駆動トランジスタの搭載領域並びにその周辺は、局所的に高温になる場合がある。従って、CR発振回路21の周辺温度を複数箇所で検出してそれらの平均を得るようにすれば、検出精度が向上する。
【0028】
以上のように第3実施例によれば、CR発振回路20の周辺に4個の温度検出回路21a〜21dを配置し、CPU32は、それらの検出電圧Vfa〜VfdのA/D変換値を平均し、その平均結果に基づきEEPROM13に記憶されているデータを読み出すようにした。従って、CR発振回路20が搭載されているマイコン31の半導体基板の温度分布に偏りが生じている場合でも検出精度を向上させることができ、データ送信時間を一層安定的に維持することができる。
【0029】
本発明は上記し又は図面に記載した実施例にのみ限定されるものではなく、以下のような変形が可能である。
補正処理は、通信処理に同期して行っても良い。また、必ずしも周期的に行なう必要はなく、例えば、所定のイベントが発生したタイミングで行うようにしても良い。例えば、データ送信を開始する場合、最初に一回だけ行うようにしても良い。
CR発振回路20の温度特性を、例えば、二次関数式で近似しても良い。
処理回路は、通信回路17に限ることなく、その他、例えば、CR発振回路の発振出力に基づいて発生されるタイマ割込み数をカウントして、何らかの定時処理を行なうものなどに適用することができる。即ち、CPUが処理回路であっても良い。
第2実施例と第3実施例とを組み合わせて実行しても良い。
第3実施例における温度検出回路21の配置数は、「2〜3」又は「5」以上であっても良い。また、複数の温度検出回路21は、CR発振回路の周辺に適当な間隔で配置すれば良い。
温度検出手段は、温度検出回路21に限ることなく、温度を検出可能に構成される回路であればどのようなものであっても良い。
【図面の簡単な説明】
【0030】
【図1】本発明の第1実施例であり、マイコンのCPUが行なう通信回路の通信レートを補正する処理の内容を示すフローチャート
【図2】補正を行なうタイミングの一例を示す図
【図3】マイコンを製品として出荷する前に、EEPROMに温度プロファイルを書き込んで記憶させるための工程を示すフローチャート
【図4】検出電圧VfのA/D変換値と、通信レートCMRとの関係を示す図
【図5】温度プロファイルの一例を示す図
【図6】マイクロコンピュータの電気的構成を示す機能ブロック図
【図7】本発明の第2実施例を示す図3相当図
【図8】図5相当図
【図9】図1相当図
【図10】本発明の第3実施例を示す図6相当図
【図11】図1相当図
【図12】特許文献1に開示されている従来技術を示す図
【符号の説明】
【0031】
図面中、11はマイクロコンピュータ、12はCPU(制御回路)、13はEEPROM(記憶手段)、17は通信回路(処理回路)、20はCR発振回路、21は温度検出回路(温度検出手段)、31はマイクロコンピュータ、32はCPU(制御回路)を示す。
【特許請求の範囲】
【請求項1】
CR発振回路と、
このCR発振回路により出力される発振信号に基づいて、所定の処理を行なうための時間が一定となるように管理する処理回路と、
前記CR発振回路周辺の温度を検出する温度検出手段と、
温度により変動する前記CR発振回路の発振出力特性に基づき、前記処理回路により管理される処理時間を一定とするための制御値を決定するデータが記憶されている記憶手段と、
前記温度検出手段によって検出される温度に応じて前記記憶手段に記憶されているデータを読み出し、前記制御値を決定して前記処理回路に設定する制御回路とで構成されることを特徴とするマイクロコンピュータ。
【請求項2】
前記温度検出手段は、前記CR発振回路の周辺に複数個配置されており、
前記制御回路は、前記複数個の温度検出手段によって検出される温度を平均し、その平均結果に基づき前記記憶手段に記憶されているデータを読み出すことを特徴とする請求項1記載のマイクロコンピュータ。
【請求項3】
前記記憶手段には、温度に応じて前記制御値を演算するための関数パラメータが記憶されており、
前記制御回路は、前記記憶手段より読み出した関数パラメータに基づいて前記制御値を演算して決定することを特徴とする請求項1又は2記載のマイクロコンピュータ。
【請求項4】
前記記憶手段には、温度に応じて設定すべき制御値が記憶されており、
前記制御回路は、前記記憶手段より読み出した制御値を前記処理回路に設定することを特徴とする請求項1又は2記載のマイクロコンピュータ。
【請求項5】
前記制御回路は、前記制御値の設定を周期的に行うように構成されていることを特徴とする請求項1乃至4の何れかに記載のマイクロコンピュータ。
【請求項6】
前記処理回路は、通信処理を行なうものであり、
前記制御値は、前記通信処理における通信速度であることを特徴とする請求項1乃至5の何れかに記載のマイクロコンピュータ。
【請求項1】
CR発振回路と、
このCR発振回路により出力される発振信号に基づいて、所定の処理を行なうための時間が一定となるように管理する処理回路と、
前記CR発振回路周辺の温度を検出する温度検出手段と、
温度により変動する前記CR発振回路の発振出力特性に基づき、前記処理回路により管理される処理時間を一定とするための制御値を決定するデータが記憶されている記憶手段と、
前記温度検出手段によって検出される温度に応じて前記記憶手段に記憶されているデータを読み出し、前記制御値を決定して前記処理回路に設定する制御回路とで構成されることを特徴とするマイクロコンピュータ。
【請求項2】
前記温度検出手段は、前記CR発振回路の周辺に複数個配置されており、
前記制御回路は、前記複数個の温度検出手段によって検出される温度を平均し、その平均結果に基づき前記記憶手段に記憶されているデータを読み出すことを特徴とする請求項1記載のマイクロコンピュータ。
【請求項3】
前記記憶手段には、温度に応じて前記制御値を演算するための関数パラメータが記憶されており、
前記制御回路は、前記記憶手段より読み出した関数パラメータに基づいて前記制御値を演算して決定することを特徴とする請求項1又は2記載のマイクロコンピュータ。
【請求項4】
前記記憶手段には、温度に応じて設定すべき制御値が記憶されており、
前記制御回路は、前記記憶手段より読み出した制御値を前記処理回路に設定することを特徴とする請求項1又は2記載のマイクロコンピュータ。
【請求項5】
前記制御回路は、前記制御値の設定を周期的に行うように構成されていることを特徴とする請求項1乃至4の何れかに記載のマイクロコンピュータ。
【請求項6】
前記処理回路は、通信処理を行なうものであり、
前記制御値は、前記通信処理における通信速度であることを特徴とする請求項1乃至5の何れかに記載のマイクロコンピュータ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2006−270917(P2006−270917A)
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願番号】特願2005−340445(P2005−340445)
【出願日】平成17年11月25日(2005.11.25)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成18年10月5日(2006.10.5)
【国際特許分類】
【出願日】平成17年11月25日(2005.11.25)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]