(57)【特許請求の範囲】
【請求項１】
第１抵抗器に応じた原発振信号を出力するＣＲ発振器を具備し当該ＣＲ発振器の原発振信号を周期設定値に基づいて逓倍／分周してクロック信号を出力するＣＲ発振回路と、
前記ＣＲ発振器内の第１抵抗器と同種の第２抵抗器と、
前記第２抵抗器に直列接続された第１定電流源と、
前記第１定電流源と同一電流供給特性を備え前記第２抵抗器に直列接続された第２定電流源と、
通常動作時には前記第１定電流源から前記第２抵抗器に定電流が通電された状態において、劣化検出タイミングには前記第２定電流源から前記第２抵抗器に定電流を通電するように切替えて前記第２抵抗器の電圧を測定する測定手段と、
前記測定手段の測定電圧に基づいて前記ＣＲ発振回路の周期設定値を補正する補正手段とを備え、
前記第１定電流源および前記第２定電流源は、前記ＣＲ発振器内の第１抵抗器に通電する平均電流値とほぼ同一電流を前記第２抵抗器に通電可能に構成されていることを特徴とする発振周波数補正装置。
【請求項２】
第１抵抗器に応じた原発振信号を出力するＣＲ発振器を具備し当該ＣＲ発振器の原発振信号を周期設定値に基づいて逓倍／分周してクロック信号を出力するＣＲ発振回路と、
前記ＣＲ発振器内の第１抵抗器にスイッチを介して直列接続された定電流源と、
通常動作時には前記スイッチを切替えて前記ＣＲ発振器を動作させた状態において、劣化検出タイミングには前記スイッチが切替えられた状態にて前記定電流源から前記第１抵抗器に定電流を通電して第１抵抗器の電圧を測定する測定手段と、
前記測定手段の測定電圧に基づいて前記ＣＲ発振回路の周期設定値を補正する補正手段とを備えたことを特徴とする発振周波数補正装置。
【請求項３】
前記測定手段は、電源投入時点を前記劣化検出タイミングとして第２抵抗器の電圧を測定することを特徴とする請求項１記載の発振周波数補正装置。
【請求項４】
前記測定手段は、電源投入時点を前記劣化検出タイミングとして第１抵抗器の電圧を測定することを特徴とする請求項２記載の発振周波数補正装置。
【請求項５】
前記第１抵抗器および前記第２抵抗器は、共にＣｒＳｉ抵抗により構成されていることを特徴とする請求項１または３記載の発振周波数補正装置。
【請求項６】
前記第１抵抗器は、ＣｒＳｉ抵抗により構成されていることを特徴とする請求項２または４記載の発振周波数補正装置。
【請求項７】
前記補正手段は、前記第２抵抗器の測定電圧に対応した抵抗値が初期抵抗値に対し所定率以上の変化があったことを条件として前記ＣＲ発振回路の周期設定値を補正することを特徴とする請求項１、３、５の何れかに記載の発振周波数補正装置。
【請求項８】
前記補正手段は、複数回の所定率以上の変化があったことを条件として前記ＣＲ発振回路の周期設定値を補正することを特徴とする請求項７記載の発振周波数補正装置。
【請求項９】
前記補正手段は、前記第１抵抗器の測定電圧に対応した抵抗値が初期抵抗値に対し所定率以上の変化があったことを条件として前記ＣＲ発振回路の周期設定値を補正することを特徴とする請求項２、４、６の何れかに記載の発振周波数補正装置。
【請求項１０】
前記補正手段は、複数回の所定率以上の変化があったことを条件として前記ＣＲ発振回路の周期設定値を補正することを特徴とする請求項９記載の発振周波数補正装置。
【請求項１１】
前記補正手段は、所定周期毎にＣＲ発振回路の周期設定値を補正することを特徴とする請求項１ないし１０の何れかに記載の発振周波数補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＲ発振回路の発振周波数を補正する発振周波数補正装置に関する。
【背景技術】
【０００２】
一般に、基準クロックを生成するためには発振子が用いられる。例えば水晶発振子は高価であるため水晶発振子を用いないＣＲ発振回路が各種用途に用いられる。ＣＲ発振器は、その発振周波数が環境温度変化および電源電圧変化に応じて変化し易く、特に温度が多様に変化する環境下（特に車載機器内）では基準クロックとして適用しにくい。
【０００３】
例えば、車載ＬＡＮの通信プロトコルであるＬＩＮ（Local Interconnect Network）では、マスタノードから送信されるフレームのヘッダに０ｘ５５なるシンクバイトフィールド（Synch Field）が付加されている。スレーブノードでは、基準クロックを用いてシンクバイトフィールドの時間を計数することによって１ビット時間の正確な値を算出して通信レートを得る。このとき、基準クロックを用いて１ビット時間を算出するが、発振周波数が変化しやすいＣＲ発振器を用いると誤差が生じやすい。
【０００４】
これに対し、特許文献１記載の技術では、温度変化に応じて発振周波数が変化した場合、ＣＲ発振回路の時定数を変化させることなく、通信回路のデータ送信時間が一定となるよう制御するマイコンが開示されている。このマイコンは、通信回路が管理する１フレームのデータ送信時間を一定とするため、通信レートＣＭＲを決定するデータを読出し、決定した通信レートＣＭＲを通信回路に設定する。また、データが不足する温度領域では、高低２点間を一次関数で補間することで近似の通信レートＣＭＲを得ている。
【０００５】
しかしながら、この特許文献１記載のＣＲ発振器では、同じ温度条件、電源電圧条件であっても時間経過とともに徐々に発振周波数が変化してしまい、発振周波数の経年変化に対応できない。そこで、ＣＲ発振周波数の経年変化に対応するための技術が提案されている（特許文献２参照）。この特許文献２の技術では、通信処理に使用される同期信号を利用して正しい周波数を算出することで発振周波数の経年変化への対応を図っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２７０９１７号公報
【特許文献２】特開２００９−１１１９６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献２の技術では、何らかの影響により通信が遮断された場合等において、同期信号の検出ができなくなったときには正しい周波数を算出することができず、発振周波数の経年変化に対応できなくなる。
【０００８】
本発明は、上記事情に鑑みてなされたもので、その目的は、同期信号の検出が困難なときにも正確な発振周波数のクロック信号を生成できるようにした発振周波数補正装置を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載の発明によれば、ＣＲ発振器は第１抵抗器の抵抗値に応じた原発振信号を出力するが、ＣＲ発振回路はこの原発振信号を周期設定値に基づいて逓倍／分周してクロック信号を出力する。このためクロック信号を所望の周波数で出力できる。この場合、第２抵抗器はＣＲ発振器内に第１抵抗器と同種の抵抗により構成され、通常動作時には第１定電流源から第２抵抗器に定電流を通電するため、第１抵抗器の経年劣化に伴う抵抗値変化が第２抵抗器の抵抗値に反映されることになる。
【００１０】
測定手段は、劣化検出タイミングには第２定電流源から第２抵抗器に定電流を通電するように切替えて第２抵抗器の電圧を測定するため、第１抵抗器の抵抗値の経年変化に対応した第２抵抗器の電圧を測定できる。この場合、第１定電流源を用いず第２定電流源を用いて第２抵抗器の電圧を測定しているため、第１定電流源の電流供給能力が経年変化していたとしても、その影響を受けることなく第２抵抗器の電圧を測定できる。
【００１１】
補正手段は、測定手段の測定電圧に基づいてＣＲ発振回路の周期設定値を補正するため、ＣＲ発振器の第１抵抗器の経年変化に伴う抵抗値変化を反映してＣＲ発振回路のクロック信号の発振周波数を補正できる。これにより、同期信号の検出が困難なときにも正確な発振周波数のクロック信号を生成して出力できる。
【００１２】
しかも、第１定電流源および第２定電流源は、ＣＲ発振器内の第１抵抗器に通電する平均電流値とほぼ同一電流を第２抵抗器に通電可能に構成されているため、ＣＲ発振器内の第１抵抗器の劣化状態を忠実に再現できる。
【００１３】
請求項２記載の発明によれば、ＣＲ発振器は第１抵抗器に応じた原発振信号を出力するが、ＣＲ発振回路はこの原発振信号を周期設定値に基づいて逓倍／分周してクロック信号を出力するためクロック信号を所望の周波数で出力できる。定電流源は、ＣＲ発振器内の第１抵抗器にスイッチを介して直列接続されており、通常動作時にはＣＲ発振器が通常動作するようにスイッチが切替えられ、劣化検出タイミングには定電流源から第１抵抗器に定電流を通電するようにスイッチが切替えられる。測定手段は、その劣化検出タイミングにて第１抵抗器の電圧を測定するため、第１抵抗器の抵抗値の経年変化に伴う第１抵抗器の電圧を測定できる。
【００１４】
したがって、補正手段が、測定手段の測定電圧に基づいてＣＲ発振回路の周期設定値を補正すると、ＣＲ発振器の第１抵抗器の経年変化に伴う抵抗値の変化を反映してＣＲ発振回路のクロック信号の発振周波数を補正できる。これにより、同期信号の検出が困難なときにも正確な発振周波数でクロック信号を出力できる。
【００１５】
請求項３、４記載の発明のように、測定手段を、劣化検出タイミングを電源投入時点として第２抵抗器、第１抵抗器の電圧を測定するように構成すると良い。また、請求項５、６記載の発明のように、第１抵抗器、第２抵抗器がＣｒＳｉ抵抗により構成されていると温度変化に対する抵抗値の変化度を低くできる。
【００１６】
請求項７〜１０記載の発明によれば、補正手段は、第２抵抗器の測定電圧に対応した抵抗値が初期抵抗値に対し所定率以上の変化があったことを条件としてＣＲ発振回路の周期設定値を補正しているため、補正処理回数を削減できる。特に、請求項８、１０記載の発明によれば、補正手段は、複数回所定率以上の変化があったことを条件としてＣＲ発振回路の周期設定値を補正しているため、誤検出を極力抑制できる。また、請求項１１記載の発明のように、ＣＲ発振回路の周期設定値を所定周期毎に補正するように補正手段を設けても良い。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１の実施形態について示すマイクロコンピュータの電気的な機能ブロック図
【図２】ＣＲ発振器の電気的構成図
【図３】発振周波数の経年変化に伴う補正処理を示すフローチャート
【図４】発振周波数と逓倍数設定値ＦＭＵＬＲの相関関係特性図
【図５】発振周波数の温度補正処理を示すフローチャート
【図６】ＬＩＮのメッセージフレームの構成を示す図
【図７】本発明の第１の実施形態の変形例を示す図３相当図
【図８】本発明の第２の実施形態を示す図３相当図
【図９】本発明の第３の実施形態を示す図３相当図
【図１０】本発明の第４の実施形態を示す図３相当図
【図１１】本発明の第５の実施形態を示す図１相当図
【図１２】Ａ／Ｄ変換器とＣＲ発振器の電気的接続形態を示す説明図
【発明を実施するための形態】
【００１８】
（第１の実施形態）
以下、本発明の発振周波数補正装置をマイクロコンピュータに適用した第１の実施形態について図１ないし図６を参照しながら説明する。
【００１９】
図１は、車両のＥＣＵ（Electronic Control Unit）に搭載されているワンチップマイクロコンピュータの電気的構成を示す機能ブロック図である。このマイコン１は、ＣＰＵ（測定手段、補正手段に相当）２、ＥＥＰＲＯＭ３、ＲＡＭ４、ＲＯＭ５、Ａ／Ｄ変換器６、例えばＵＡＲＴ（Universal Asynchronous Receiver/Transmitter）などの通信回路７、ＣＲ発振回路８、温度検出回路９および劣化検出回路１０を備えている。ＥＥＰＲＯＭ３、ＲＡＭ４、ＲＯＭ５、Ａ／Ｄ変換器６、通信回路７およびＣＲ発振回路８は、それぞれ、データバス１１ａおよびアドレスバス１１ｂを介してＣＰＵ２に接続されている。これらの各回路には電源線１２およびグランド１３を通じて電源電圧Ｖｃｃが供給されている。
【００２０】
ＣＲ発振回路８は、ＣＲ発振器１４およびＤＰＬＬ（Digital Phase Lock Loop）１５から構成されている。図２は、ＣＲ発振器１４の電気的構成を示す。ＣＲ発振器１４は、電源線１２およびグランド１３間に接続された分圧抵抗Ｒａ，Ｒｂ，Ｒｃと、この分圧抵抗Ｒａ，Ｒｂ，Ｒｃ間の２つの共通ノードの電圧出力をそれぞれオンオフ切替えして出力するスイッチＳＷ１，ＳＷ２と、このスイッチＳＷ１，ＳＷ２の出力が非反転入力端子に与えられるコンパレータＣＰ１と、コンパレータＣＰ１の出力を反転入力端子に帰還する抵抗器Ｒ１と、コンパレータＣＰ１の反転入力端子とグランド１３との間に接続されたコンデンサＣ１とを備えている。
【００２１】
発振定常状態においては、スイッチＳＷ１がオンすると共にスイッチＳＷ２がオフし、コンパレータＣＰ１の出力が「Ｈ」状態でコンデンサＣ１に充電される。コンデンサＣ１の充電電圧Ｖｃが抵抗ＲａおよびＲｂの共通接続ノードの電圧ＶＴ＋を上回ると、コンパレータＣＰ１の出力が「Ｌ」になる。コンパレータＣＰ１の出力が「Ｌ」状態においてはスイッチＳＷ１がオフすると共にスイッチＳＷ２がオンし、コンデンサＣ１の充電電荷が抵抗器Ｒ１およびコンパレータＣＰ１の出力端子を通じて放電される。
【００２２】
そして、コンデンサＣ１の充電電圧Ｖｃが抵抗ＲｂおよびＲｃの共通接続ノードの電圧ＶＴ−を下回ると、コンパレータＣＰ１の出力が「Ｈ」になり、スイッチＳＷ１がオンすると共にスイッチＳＷ２がオフする。このような状態が繰り返されることにより発振状態が継続し、出力（原発振信号ＶＯ）は矩形波信号となる。
【００２３】
図１に戻って、ＤＰＬＬ回路１５は、ＣＲ発振器１４の発振信号を逓倍数設定値ＦＭＵＬＲに基づいて逓倍し、さらに、分周比設定値ＦＤＩＶＲに基づいて分周してクロック信号ＣＬＫを生成して出力する。逓倍数設定値ＦＭＵＬＲおよび分周比設定値ＦＤＩＶＲは周期設定値に相当し、それぞれＣＲ発振回路８内に設けられるレジスタに格納される。クロック信号ＣＬＫは、マイコン１のシステムクロックとしてＣＰＵ２、Ａ／Ｄ変換器６、通信回路７などに供給される。本実施形態では、周期設定値として分周比設定値ＦＤＩＶＲを一定とし逓倍数設定値ＦＭＵＬＲを補正する場合について説明するが、逓倍数設定値ＦＭＵＬＲを一定とし分周比設定値ＦＤＩＶＲを補正し、または、逓倍数設定値ＦＭＵＬＲおよび分周比設定値ＦＤＩＶＲの両者を補正するようにしても良い。
【００２４】
温度検出回路９は、電源線１２とグランド１３との間に接続された抵抗１６とダイオード１７〜１９との直列回路により構成されている。抵抗１６とダイオード１７の接続ノードはＡ／Ｄ変換器６に接続されている。ダイオード１７〜１９の順方向電圧Ｖｆは、−２．０〜−２．５ｍＶ／℃の温度特性を有している。温度検出回路９は、基板上でＣＲ発振器１４に近接した位置に配置されており、ＣＲ発振器１４（またはその周辺）の温度を検出できる。ＣＰＵ２はＡ／Ｄ変換器６を介して抵抗１６とダイオード１７の接続ノードの電圧３・Ｖｆを検出することで、Ａ／Ｄ変換器６の検出ＡＤ変換値に応じたＣＲ発振器１４（またはその周辺）の温度を検出できる。
【００２５】
劣化検出回路１０は、電源線１２およびグランド１３間に定電流源２０、スイッチ２１、抵抗器２２を直列接続した通常時劣化状態形成回路を備える。また、スイッチ２１と抵抗器２２との間の共通接続点をノードＮ１とすると、劣化検出回路１０は、電源線１２とノードＮ１との間に定電流源２３とスイッチ２４とを直列接続した経年劣化検出タイミング動作回路を備える。スイッチ２１およびスイッチ２４と抵抗器２２との共通接続ノードＮ１はＡ／Ｄ変換器６に接続されている。抵抗器２２は、温度変化に応じた抵抗値変化率の少ないＣｒＳｉ抵抗により構成されている。製品出荷当初は、定電流源２０と定電流源２３は同一電流値を供給可能な特性となっている。これらの定電流源２０および２３がそれぞれ供給する定電流値は、所定電流値（例えば、ＣＲ発振器１４内の抵抗器Ｒ１に通電する平均電流値とほぼ同一電流）に設定されている。
【００２６】
通信回路７は、車載ＬＡＮのシリアル通信プロトコルであるＬＩＮのスレーブノードとして機能するものである。通信回路７がフレーム（データ信号に相当）を受信するときの各ビットの取込タイミングおよび通信回路７が送信する際の通信レート（ボーレート）は、ＣＲ発振回路８から出力されるクロック信号ＣＬＫの周波数に基づいて規定されるため、クロック信号ＣＬＫの周波数（周期）が変動すると送受信処理に支障が生じる。
【００２７】
ＬＩＮ仕様２．０によれば、マスタノードの発振周波数の許容誤差（Oscillator Tolerance）は±０．５％未満であり、スレーブノードの発振周波数の許容誤差は±１．５％未満である。また、スレーブノードにおける同期前の規定周波数からのずれは±１４％未満である。したがって、一般的なＣＲ発振回路を用いて経年劣化をも考慮して例えば−４０℃から＋１２５℃の広範な温度範囲で発振周波数を±１．５％未満の変動に保つことは極めて困難である。
【００２８】
またスレーブノードでは、頻繁に通信処理を行わないノードも存在し、このような場合、温度検出回路９を用いたクロック信号ＣＬＫの補正処理が行われないと、発振周波数を所望の変動範囲に保持することは困難である。
【００２９】
そこで、本実施形態では、温度検出回路９を用いて温度特性の補正、電源電圧変動特性の補正処理をほぼ常時行うと共に、電源投入時の劣化検出タイミングにおいて抵抗器２２の抵抗値（実際にはＡＤ変換値）に応じた補正処理を行う。これにより、経年劣化に伴う抵抗値変化を検出し当該検出結果に応じた補正を行うことができる。
【００３０】
前記した構成の動作を説明する。まず、マイコン１を製品として出荷する前の工程において、逓倍数設定値ＦＭＵＬＲの初期値を設定しＥＥＰＲＯＭ３に書込む。すなわち、マイコン１を所定の温度Ｔの環境下で動作させ、クロック信号ＣＬＫが規定周波数（例えば４ＭＨｚ）に一致するように逓倍数設定値ＦＭＵＬＲを決定する。そして、Ａ／Ｄ変換器６が出力するＡＤ変換値（検出温度Ｔと等価）と前記で設定した逓倍数設定値ＦＭＵＬＲとを対応させてＥＥＰＲＯＭ３に書込む。これを複数の温度（例えば、−４０℃、２５℃、１２５℃）の３点以上で実行する。また、所定℃（例えば１℃）ステップで全て実行して書き込んでも良い。
【００３１】
また、製品ごとに逓倍数設定値ＦＭＵＬＲを決定して書き込むことに代えて設計値または当該製品ロットの代表値等に基づいて逓倍数設定値ＦＭＵＬＲを算出し、それをＡＤ変換値（検出温度Ｔ）に対応させてＥＥＰＲＯＭ３に書き込むようにしても良い。これは、逓倍数設定値ＦＭＵＬＲに多少の誤差が存在したとしても学習処理によって誤差をキャンセルできるためである。
【００３２】
また、製品出荷時には、例えばスイッチ２１がオン状態、スイッチ２４がオフ状態の通常状態（デフォルト）に設定されている。通常状態では、スイッチ２１がオン状態に設定されているため、定電流源２０が抵抗器２２に常に定電流を供給する。定電流源２０が供給する定電流値は、ＣＲ発振器１４内の抵抗器Ｒ１に通電する平均電流値とほぼ同一電流に設定されているため、抵抗器Ｒ１の抵抗値の経年変化率を抵抗器２２の抵抗値の経年変化率に反映できる。
【００３３】
図３は、製品出荷後にマイコン１が実行するＣＲ発振周期の補正処理をフローチャートにより示している。
電源投入（エンジン始動）されると、マイコン１は初めに図３に示す劣化検出処理を行う。劣化検出タイミングにおいて、ＣＰＵ２は、劣化検出回路１０側にＡ／Ｄ変換器６の入力を切替え、スイッチ２１をオフ状態に切替えると共にスイッチ２４をオン状態に切替える（Ｓ１）。
【００３４】
劣化検出タイミングにおいて、定電流源２３は抵抗器２２に定電流を供給する。ＣＰＵ２は、劣化検出回路１０のノードＮ１の電圧をＡ／Ｄ変換器６によりＡＤ変換値として取得する（Ｓ２）。このＡＤ変換値は、抵抗器２２の抵抗値に依存した値となる。
【００３５】
次に、ＣＰＵ２は、劣化検出回路１０の出力電圧ＶＲから算出される抵抗器２２の抵抗値と初期抵抗値との変化率に応じて逓倍数設定値ＦＭＵＬＲの補正値を算出する（Ｓ３）。ここでは、ＣＰＵ２は、抵抗器２２が時間経過に応じて変化する抵抗変化率を算出し、この値に応じた逓倍数設定値ＦＭＵＬＲの補正値を算出している。ＣＰＵ２は、ＥＥＰＲＯＭ３に記憶されている全温度の逓倍数設定値ＦＭＵＬＲを順次読出し、この読み出した全ての逓倍数設定値ＦＭＵＬＲに同一の補正値を加減算して更新する（Ｓ４）。
【００３６】
製品出荷当初は、定電流源２０と定電流源２３は同一電流値を抵抗器２２に供給するよう設定されているため、Ａ／Ｄ変換器６を介して得られるＡＤ変換値はほぼ標準値となり、どちらに切り替えたとしてもＡＤ変換値（抵抗値）はほぼ同一値となる。したがって、ＣＰＵ２は初期抵抗値との変化率に応じて逓倍数設定値ＦＭＵＬＲを補正したとしても補正前のＦＭＵＬＲと補正後のＦＭＵＬＲとがほぼ一致した値となる。
【００３７】
しかし、ＣＲ発振器１４の動作中（マイコン１の動作中）には、定電流源２０は抵抗器２２に常時電流を供給し続けるため、マイコン１の動作時間が積算されると、定電流源２０による抵抗器２２電圧のＡＤ変換値（抵抗値）は、劣化検出タイミングにしか動作しない定電流源２３による抵抗器２２電圧のＡＤ変換値（抵抗値）と異なる。
【００３８】
マイコン１の動作中にＣＲ発振器１４内の抵抗器Ｒ１の平均通電電流とほぼ同一電流が抵抗器２２に供給されているときには、抵抗器２２の劣化状態は抵抗器Ｒ１の劣化状態とほぼ同様となり当該抵抗器Ｒ１の劣化状態を忠実に再現できる。したがって、ステップＳ３においてＣＰＵ２は抵抗器２２の初期抵抗値との変化率に応じて逓倍数設定値ＦＭＵＬＲを補正することで、ＣＲ発振器１４内の抵抗器Ｒ１の劣化状況を反映して発振周波数を補正できる。
【００３９】
図４（ａ）および図４（ｂ）は、温度変化に対するＣＲ発振器１４の発振周波数（黒丸）と逓倍数設定値ＦＭＵＬＲ（白丸）の特性を示している。図４（ａ）は補正前の特性を示しており、図４（ｂ）は、逓倍数設定値ＦＭＵＬＲの補正方法を示している。また、図４（ｃ）は、時間経過に伴うノードＮ１の検出電圧値ＶＲの変化を示している。
【００４０】
図４（ａ）に示すように、ＣＲ発振器１４は、一般に温度上昇とともに発振周波数が低下する特性を持っているため、逓倍数設定値ＦＭＵＬＲは温度上昇とともに増加する特性となる。図４（ｃ）に示すように、時間経過に伴い抵抗器２２の抵抗値は徐々に増加する傾向にある。
【００４１】
ΔＲを抵抗値の経年変化値、ΔｆをＣＲ発振器１４の発振周波数の経年変化値とすると、
ΔＲ∝Δｆ  …（１）
の関係がある。図４（ｂ）に示す例の場合、抵抗器２２の劣化（抵抗器Ｒ１の劣化）に伴い当該抵抗値がｎ％増加しＣＲ発振器１４の発振周波数（クロック信号ＣＬＫの周波数）がｎ％低下したため、全温度の逓倍数設定値ＦＭＵＬＲをｎ％増加させる補正を行っていることを示している。
【００４２】
なお、本実施形態の抵抗器２２はＣｒＳｉ抵抗により構成されているため、温度変化に応じた抵抗値変化率が少なく、ステップＳ３において予め定められた初期抵抗値との変化率のみで逓倍数設定値ＦＭＵＬＲの補正値を求めたとしても適切な補正値を求めることができる。
【００４３】
このような経年劣化に基づく補正処理を行った後、マイコン１は、図５に示す処理を定期的に行う。この図５において、ＣＰＵ２は、Ａ／Ｄ変換器６の入力切替を行い温度検出回路９の電圧３・Ｖｆを入力し、当該Ａ／Ｄ変換器６を通じて電圧３・ＶｆのＡＤ変換値を入力する（Ｔ１）。このＡ／Ｄ変換器６のＡＤ変換値はＣＲ発振器１４の温度に対応する。そして、ＣＰＵ２は、ＥＥＰＲＯＭ３からＡＤ変換値（検出温度）に対応した逓倍数設定値ＦＭＵＬＲを読み出し（Ｔ２）、レジスタに設定する（Ｔ３）。
【００４４】
その後、ＤＰＬＬ回路１５は、レジスタＦＭＵＬＲの値に従って原発振信号を逓倍し、一定の分周比設定値ＦＤＩＶＲに従って分周してクロック信号ＣＬＫを出力する。そして、ＣＰＵ２はＬＩＮのマスタノードから送信された同期信号を検出したか否か判定する（Ｔ４）。
【００４５】
図６は、ＬＩＮのフレーム構成を示している。マスタノードはメッセージフレームを送信するが、このマスタノードが送信したフレームのヘッダは、ＬＩＮメッセージフレームの開始を示す１３ビット長のシンクブレークフィールド(Synch Break)、クロック（通信速度）補正を行うための０ｘ５５のデータとなるシンクバイトフィールド(Synch Field)、および、マスタタスクがレスポンス送信を行うスレーブタスクを指定するためのアイデントフィールド(Ident Field)を備える。
【００４６】
通信回路７がブレークフィールドとシンクバイトフィールドを受信した時点でそれがヘッダであることを認識できる。通信回路７が同期信号であるシンクバイトフィールドを含む受信処理をしていない期間には、ステップＴ１〜Ｔ４の処理が繰り返し行われる。この期間は、逓倍数設定値ＦＭＵＬＲの補正がなされず、ＥＥＰＲＯＭ３にすでに記憶されている逓倍数設定値ＦＭＵＬＲを用いてクロック信号ＣＬＫが生成される。
【００４７】
他方、通信回路７がシンクバイトフィールドを受信すると１ビット時間を計測する（Ｔ５）。具体的には、シンクバイトフィールドのスタートビットと第７ビットの両ダウンエッジの間の時間８Ｔビットをクロック信号ＣＬＫで計数することにより計測し、この計数値を８で除することで１ビット時間の計数値ＸＡを得る。例えば、マスタノードが９６００ｂｐｓの正確な通信レートで送信した場合、クロック信号ＣＬＫが正確に４ＭＨｚであれば計数値は４１６となる。
【００４８】
この１ビット時間（１／９６００＝１０４．２μｓ）に対する基準周期（１／４ＭＨｚ＝０．２５μｓ）に基づく計数値を基準計数値ＸＢとする。ＣＰＵ２は、以下の（２）式により補正後の逓倍数設定値ＦＭＵＬＲを演算し（Ｔ６）、それをＤＰＬＬ回路１５のレジスタに設定する。設定後、ＤＰＬＬ回路１５は補正後の新たな逓倍数設定値ＦＭＵＬＲに応じて原発振信号を逓倍する。
【００４９】
補正後のＦＭＵＬＲ＝現在のＦＭＵＬＲ  ×  ＸＢ  ／  ＸＡ  …（２）
その後、補正後の逓倍数設定値ＦＭＵＬＲをＡＤ変換値（検出温度Ｔ）に対応させてＥＥＰＲＯＭ３に書込む（Ｔ７）。当該検出温度Ｔに対応する逓倍数設定値ＦＭＵＬＲが既にＥＥＰＲＯＭ３に書き込まれている場合には設定値の更新となり、書き込まれていない場合には新たに逓倍数設定値ＦＭＵＬＲをＥＥＰＲＯＭ３に書き込むことになる。
【００５０】
ＣＰＵ２は、マスタノードから送られてくるフレームの同期信号を受信するごとに、クロック信号ＣＬＫを計数して１ビット長を計測する。ＬＩＮでは、マスタノードから正確な通信レートでフレームが送信されてくるので、ＣＰＵ２は、上記１ビット長のクロック信号ＣＬＫによる計数値ＸＡと正規の１ビット時間を基準周期で除して得られる基準計数値ＸＢとに基づいて逓倍数設定値ＦＭＵＬＲを補正し、補正後の逓倍数設定値ＦＭＵＬＲを検出温度Ｔに対応させてＥＥＰＲＯＭ３に書き込む。このような図５の処理が繰り返されることによって、ＣＲ発振器１４の温度検出結果に応じて逓倍数設定値ＦＭＵＬＲを補正し発振周波数を補正できる。
【００５１】
したがって、ＣＲ発振器１４の温度を示すＡＤ変換値とＣＲ発振回路８の逓倍数を決める逓倍数設定値ＦＭＵＬＲとが対応付けられてＥＥＰＲＯＭ３に記憶されているときに、マイコン１の動作中は、ＡＤ変換値（検出温度Ｔ）に応じた逓倍数設定値ＦＭＵＬＲを読み出してＣＲ発振回路８のレジスタに設定するので、温度変化によりＣＲ発振器１４の発振周波数がずれてもクロック信号ＣＬＫの周波数を一定化できる。
【００５２】
＜第１の実施形態のまとめ＞
以上説明したように、本実施形態によれば、電源投入時の劣化検出タイミングにおいて、定電流源２３から抵抗器２２に通電して得られたＡ／Ｄ変換器６のＡＤ変換値（抵抗器２２の端子電圧ＶＲ）に基づいて、ＣＰＵ２が逓倍数設定値ＦＭＵＬＲを補正する。この場合、定電流源２０を用いず定電流源２３が作動して抵抗器２２に通電するため、定電流源２０の電流供給能力が経年変化していたとしても当該経年変化の影響を排除することができ、抵抗器２２の抵抗値変化のみを正確に測定できる。
【００５３】
そして、ＣＰＵ２は、抵抗器２２の端子電圧（抵抗器２２の抵抗値）を測定することで抵抗器Ｒ１の抵抗値の経年変化を反映し、この変化に基づいてＣＲ発振回路８のクロック信号ＣＬＫの発振周波数を補正しているため、正確な発振周波数のクロック信号ＣＬＫを出力できる。したがって、通信回路７が何らかの原因で通信処理できない、もしくは、スレーブノードの通信回路７がメッセージフレームを受信せず補正処理がなされない状態が長期間継続し、通信回路７の同期信号を検出しない（できない）ときであっても、正確な発振周波数のクロック信号ＣＬＫを出力できる。
【００５４】
また、電源投入時の劣化検出タイミングにおいて、ＣＰＵ２は、劣化検出回路１０の出力電圧ＶＲから算出される抵抗器２２の抵抗値と予め定められた初期抵抗値との変化率に応じて逓倍数設定値ＦＭＵＬＲの補正値を算出しているため適切な補正値を算出できる。また、ＣＲ発振器１４の発振を停止することなく抵抗器Ｒ１の抵抗値変化を検出できる。
【００５５】
温度変化または経年変化に関わらずクロック信号ＣＬＫの周波数が一定となるため、クロック信号ＣＬＫをシステムクロックとして用いることができる。その結果、発振子が不要となり、発振子を用いてシステムクロックを生成した従来のマイコンに比較して低コストとなる。
【００５６】
また、ＣＲ発振器１４に経年変化が生じた場合に、全ての逓倍数設定値ＦＭＵＬＲを一度に補正できる。また、極端に高い温度や低い温度などのように発生頻度が少ない温度に対応した逓倍数設定値ＦＭＵＬＲも補正できるため、当該温度に対応した逓倍数設定値ＦＭＵＬＲが放置される事態を防ぐことができる。
【００５７】
＜第１の実施形態の変形例＞
図７は、抵抗器２２の抵抗値が温度依存性を有する抵抗（Ｎｗｅｌｌ抵抗等）によって構成される場合の図３に相当するフローチャートを示している。抵抗器２２の初期抵抗値は複数の温度（例えば、−４０℃、２５℃、１２５℃）に応じて予め測定されＥＥＰＲＯＭ３に記憶されている。
【００５８】
本変形例が図３に示す処理と異なるところは、ＣＰＵ２が劣化検出の抵抗切替処理（Ｕ２）よりも前に、温度検出回路９によりＡ／Ｄ変換器６を通じてＣＲ発振器１４の温度を検出し（Ｕ１）、この検出温度に対応した初期抵抗値との変化率に応じて逓倍数設定値ＦＭＵＬＲの補正値を算出し（Ｕ４）、検出温度に対応した逓倍数設定値ＦＭＵＬＲに加減算して更新している（Ｕ５）ところである。なお、ステップＵ３の処理はステップＳ２と同一処理である。
【００５９】
ステップＵ４では、ステップＵ１で検出した検出温度に対応した初期抵抗値との変化率を求め、この変化率に応じて逓倍数設定値ＦＭＵＬＲを補正している。この場合、検出温度のＡＤ変換値に対応した初期抵抗値が存在しないときには、例えば、初期抵抗値のＡＤ変換値を挟む２点のＡＤ変換値に対応した初期抵抗値に基づいて一次関数で補間（比例計算）して検出温度に対応した初期抵抗値を求めると良い。
【００６０】
また、ステップＵ５において、検出温度のＡＤ変換値に対応した逓倍数設定値ＦＭＵＬＲが存在しない場合には、例えば、ＡＤ変換値を挟む２点のＡＤ変換値に対応した逓倍数設定値ＦＭＵＬＲに基づいて一次関数で補間（比例計算）して逓倍数設定値ＦＭＵＬＲを求め、この逓倍数設定値ＦＭＵＬＲを新たに検出温度に対応して記憶させるようにすると良い。
【００６１】
本変形例によれば、抵抗器２２がＮｗｅｌｌ抵抗等により構成されていたとしても、ＣＰＵ２は、ＣＲ発振器１４の温度を検出した検出温度に対応した初期抵抗値と、当該検出温度に対応し劣化検出回路１０の出力電圧ＶＲのＡＤ変換値に対応した抵抗器２２の抵抗値との変化率に応じて逓倍数設定値ＦＭＵＬＲの補正値を算出し、検出温度に対応した逓倍数設定値ＦＭＵＬＲに加減算して更新しているため、適切な補正値を算出でき、正確な発振周波数のクロック信号ＣＬＫを生成できる。
【００６２】
（第２の実施形態）
図８は、本発明の第２の実施形態を示すもので、前述実施形態と異なるところは、抵抗器の測定電圧に対応した抵抗値が初期抵抗値に対し所定率以上の変化があったことを条件としてＣＲ発振回路の周期設定値を補正しているところにある。前述実施形態と同一部分、同一または類似機能の部分には同一符号を付して説明を省略し、以下、異なる部分について説明を行う。
【００６３】
図８は、図３に代えてマイコン１が電源投入後に行う処理のフローチャートを示している。この図８に示すように、ＣＰＵ２はＡ／Ｄ変換器６のＡＤ変換値を入力し（Ｖ１）、このＡＤ変換値を初期抵抗値と比較する（Ｖ２）。なお、ステップＶ１のＡＤ変換値は抵抗器２２の抵抗値に相当する。そして、ＣＰＵ２は、初期抵抗値との変化率に対し所定率ｋ％以上の変化を検出した（Ｖ３：ＹＥＳ）ことを条件として、初期抵抗値との変化率に応じて逓倍数設定値ＦＭＵＬＲの補正値を算出し（Ｖ４）、記憶されている全温度の逓倍数設定値ＦＭＵＬＲに加減算して更新する（Ｖ５）。
【００６４】
すなわち、ＣＰＵ２は、抵抗器２２の抵抗値が初期抵抗値に対しｋ％未満の変化しかしていないのであれば経年変化による影響は少ないと判断し、逓倍数設定値ＦＭＵＬＲを更新することなく図８に示すルーチンを抜ける。これにより、前述実施形態とほぼ同様の作用効果が得られると共に、電源投入後に逓倍数設定値ＦＭＵＬＲの補正を必ずするわけではなくなり補正処理回数を削減できる。
【００６５】
（第３の実施形態）
図９は、本発明の第３の実施形態を示すもので、前述実施形態と異なるところは、抵抗器の測定電圧に対応した抵抗値が初期抵抗値に対し複数回の所定率以上の変化があったことを条件としてＣＲ発振回路の周期設定値を補正しているところにある。前述実施形態と同一部分、同一または類似機能の部分には同一符号を付して説明を省略し、以下、異なる部分について説明を行う。
【００６６】
図９は、図３に代えてマイコン１が電源投入後に行う処理のフローチャートを示している。この図９に示すように、ＣＰＵ２はＡ／Ｄ変換器６のＡＤ変換値を入力し（Ｗ１）、このＡＤ変換値を初期抵抗値と比較する（Ｗ２）。なお、ステップＷ１のＡＤ変換値は抵抗器２２の抵抗値に相当する。そして、ＣＰＵ２は、初期抵抗値との変化率に対し所定率ｋ％以上の変化がある（Ｗ３：ＹＥＳ）と、ステップＷ４に移行する。そして、この所定率ｋ％以上の変化がＸ（複数）回目であるか否かを判定する（Ｗ４）。ＣＰＵ２は、Ｘ（複数）回以上ｋ％以上の変化があったことを条件として、初期抵抗値との変化率に応じて逓倍数設定値ＦＭＵＬＲの補正値を算出し（Ｗ５）、記憶されている全温度の逓倍数設定値ＦＭＵＬＲに加減算して更新する（Ｗ６）。
【００６７】
すなわち、ＣＰＵ２は、このｋ％以上の変化が複数回以上継続しないとノイズなどの誤検出であると判断する（Ｗ４：ＮＯ）。そして、抵抗器２２の抵抗値が初期抵抗値に対しｋ％未満の変化しかしていないのであれば経年変化による影響は少ないと判断し（Ｗ３：ＮＯ）、逓倍数設定値ＦＭＵＬＲを更新することなく図９に示すルーチンを抜ける。これにより、前述実施形態とほぼ同様の作用効果が得られると共に、誤検出を極力抑制できる。
【００６８】
（第４の実施形態）
図１０は、本発明の第４の実施形態を示すもので、前述実施形態と異なるところは、所定周期毎にＣＲ発振回路の周期設定値を補正しているところにある。前述実施形態と同一部分、同一または類似機能の部分には同一符号を付して説明を省略し、以下、異なる部分について説明を行う。
【００６９】
図１０は、図３に代えてマイコン１が電源投入後に行う処理のフローチャートを示している。ＣＰＵ２は、タイマ割り込みより例えば１時間毎の抵抗値の検出周期であると判断した（Ｘ１：ＹＥＳ）ときに、ＡＤ変換値を入力し（Ｘ２）、抵抗値の変化率に応じて逓倍数設定値ＦＭＵＬＲの補正値を算出し（Ｘ３）、記憶されている全温度の逓倍数設定値ＦＭＵＬＲに加減算して更新する（Ｘ４）。すると、所定周期毎に逓倍数設定値ＦＭＵＬＲを補正できる。
【００７０】
（第５の実施形態）
図１１および図１２は、本発明の第５の実施形態を示すもので、ＣＲ発振器内の抵抗器にスイッチを切替えて検出することで当該抵抗器の抵抗値の経年変化を検出しているところにある。前述実施形態と同一部分、同一または類似機能の部分には同一符号を付して説明を省略し、以下、異なる部分について説明を行う。
【００７１】
図１１は、図１に代わる回路構成を示している。図１１に示すように、ＣＲ発振器１４内の抵抗器Ｒ１にはＡ／Ｄ変換器６が直接接続されている。
図１２は、Ａ／Ｄ変換器とＣＲ発振器の電気的接続形態を表している。図１２に示すように、Ａ／Ｄ変換器６は、抵抗器Ｒ１の端子間のアナログ信号をデジタル変換するように結線されている。また、コンパレータＣＰ１の出力と反転入力端子との間に３接点スイッチＳＷ３が介在して構成されている。抵抗器Ｒ１とコンパレータＣＰ１の出力との間には３接点スイッチＳＷ３の可動接点、一の固定接点が接続されている。３接点スイッチＳＷ３の他の固定接点は、定電流源ＩＳを介して電源線１２に接続されている。また、コンデンサＣ１とグランド１３との間にも接点スイッチＳＷ４が接続されている。このような電気的接続形態において、劣化検出回路１０に代わる劣化検出回路２５は定電流源ＩＳ、３接点スイッチＳＷ３、抵抗器Ｒ１、接点スイッチＳＷ４により構成される。
【００７２】
通常動作状態において、ＣＲ発振器１４がＤＰＬＬ回路１５に原発振信号ＶＯを出力するときには、ＣＰＵ２は３接点スイッチＳＷ３の可動接点をコンパレータＣＰ１の出力側に切替え接点スイッチＳＷ４をオフすることで、図２と同一回路形態を保持する。これにより、ＤＰＬＬ回路１５はＣＲ発振器１４の原発振信号に基づいてクロック信号ＣＬＫを生成し各ブロック２〜７に出力する。
【００７３】
ＣＰＵ２は、劣化検出タイミングにて抵抗器Ｒ１の抵抗値（すなわち抵抗値の経年変化）を検出するときには、３接点スイッチＳＷ３の可動接点を定電流源ＩＳ側の固定接点に切替えると共に、接点スイッチＳＷ４をオンすることで、定電流源ＩＳ、３接点スイッチＳＷ３、抵抗器Ｒ１、接点スイッチＳＷ４を通じて通電する。
【００７４】
すると、ＣＲ発振器１４の原発振信号ＶＯの出力は停止するものの、Ａ／Ｄ変換器６は抵抗器Ｒ１の抵抗値に依存した電圧のＡＤ変換値を入力できる。ＤＰＬＬ回路１５は、電源線１２およびグランド１３から電源供給された状態が継続されており、クロック信号ＣＬＫの発振周波数をロックし当該クロック信号ＣＬＫを安定出力していれば、ＣＲ発振器１４の原発振信号ＶＯが入力されていなくても所定時間の間はクロック信号ＣＬＫを各ブロック２〜７に供給し続けることができる。
【００７５】
このため、Ａ／Ｄ変換器６はこのクロック信号ＣＬＫに応じて抵抗器Ｒ１の端子電圧をサンプリングすることができ、抵抗器Ｒ１の抵抗値に応じたＡＤ変換値を入力できる。すると、前述実施形態と同様の作用効果が得られる。しかも、抵抗器Ｒ１の抵抗値を直接測定できるため、経年劣化の判定を正確に行うことができる。
【００７６】
（他の実施形態）
本発明は、前述した実施形態に限定されるものではなく、例えば、以下に示す変形または拡張が可能である。
【００７７】
スレーブノードのマイコン１は自立したクロック信号ＣＬＫを用いて処理を行うときもあり、スレーブノードの通信回路７がマスタノードとの間で通信処理を行わない場合であっても、前述実施形態と同様の作用により逓倍数設定値ＦＭＵＬＲや分周比設定値ＦＤＩＶＲなどの周期設定値を補正でき、正確な発振周波数のクロック信号ＣＬＫで動作できる。
【００７８】
逓倍数設定値ＦＭＵＬＲと分周比設定値ＦＤＩＶＲを用いてクロック信号ＣＬＫの周波数を一定化する場合には、分周比設定値ＦＤＩＶＲも併せてＥＥＰＲＯＭ３に書き込めばよい。
【符号の説明】
【００７９】
図面中、１はマイコン（発振周波数補正装置）、２はＣＰＵ（測定手段、補正手段）、８はＣＲ発振回路、１４はＣＲ発振器、２０は定電流源（第１定電流源）、２２は抵抗器（第２抵抗器）、２３は定電流源（第２定電流源）、Ｒ１は抵抗器（第１抵抗器）、ＩＳは定電流源を示す。
【図１】
0005565349.tif 000002
【図２】
0005565349.tif 000003
【図３】
0005565349.tif 000004
【図４】
0005565349.tif 000005
【図５】
0005565349.tif 000006
【図６】
0005565349.tif 000007
【図７】
0005565349.tif 000008
【図８】
0005565349.tif 000009
【図９】
0005565349.tif 000010
【図１０】
0005565349.tif 000011
【図１１】
0005565349.tif 000012
【図１２】
0005565349.tif 000013