• ベストアンサー

PICのクロック周波数の決定は?

手元に、PIC18F2550を使って周波数をカウントする装置があります。 これの基準クロックに16MHzのクリスタルオシレータが使われているのですが、これの安定性や精度を上げるのはどうすればよいでしょうか。 今使っているのは、16.000と書いてありますが、これを16.000000などというように、精度を上げることは意味がありますでしょうか。 また、そもそもの周波数がPICは48MHzまで対応しているので、水晶の発振周波数を40MHzなどにすることも意味がありますでしょうか? 設計の考え方について、教えていただけませんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • Yorisin
  • ベストアンサー率54% (364/663)
回答No.1

部品仕様としては、周波数偏差(ずれ、Frequency Tolerance)が小さい物を選ぶことです。 16.000でも16.00000でも、仕様としてのずれが大きければ同じです。 通常この仕様の単位はppmで、一般的な電子機器に組み込む用途であれば、 発振器(発振回路込みの部品)で3~20ppm程度、 振動子(水晶のみがパッケージされた物)では10~100ppm程度をよく見ます。 ppmは100万分の1を示し、16MHzの20ppmでは、16×20÷1000000= 0.00032MHz= 320Hzまでのずれが 部品としての仕様となります。 周波数が安定しない(ずれる)外的要因の一つとしては温度があります。 水晶にも温度特性があり、低温~常温~高温では数ppm~数十ppmのずれが発生する可能性があります。 温度による影響は次に述べるコンデンサなどの構成部品による影響もあります。 この対策として出来ることは、温度特性の良い(温度による影響の少ない物)を選ぶか、 保証温度範囲の広い部品を選ぶことです。 また、水晶振動子では特に回路の構成部品の影響を強く受けます。 水晶の回路では一般的に数pF~数十pFのセラミックコンデンサをクロック回路に入れます。 このコンデンサの容量が周波数にてきめんに影響し、平気で100ppmくらい変わります。 通常はIC側に水晶容量が記載されいてその通りにすれば良いのですが、 基板やパターン、ICピンの浮遊容量の影響があるため、 ずれを小さくするためには細かい調整が必要です。 また、コンデンサ以外にEMI対策としてダンピング抵抗やインダクタを入れる場合もあります。 こちらは周波数というよりも波形に影響しますが、 RC,LCフィルタによって変な動きになる事もあります。

micky_goo
質問者

補足

とても細かで丁寧な説明、本当にありがとうございます。とても参考&勉強になりました。 私の説明が不足していたように思いますので、補足させていただきます。 周波数をカウントする装置、と書きましたが、絶対値を計測しようとして いるわけではなく、センサー部品がはき出す周波数を、安定して表示して いればそれでokなのです。1000Hzをカウントしたときに、1005Hzと表示さ れるのは問題がなく、それがずっと1005Hzであってほしい、ということな のです。 まずは、私が理解できて、とれる対策として「温度保証範囲の広い」水晶 を探してみます。 本当にありがとうございますm(..)m

関連するQ&A

専門家に質問してみよう