メディア

マイコンで信号の周波数をppmレベルで測定する裏ワザQ&Aで学ぶマイコン講座(50)(3/4 ページ)

» 2019年12月25日 11時15分 公開

誤差をppmレベルにできるか?

 さて、誤差率の計算式が明確になったところで、ppm(parts per million)レベルの誤差率で、周波数を測定できるかどうかを検証してみましょう。

 ppmは百万分率(ひゃくまんぶんりつ)と呼ばれ、100万分のいくらであるかという割合を示します。簡単に言うと1ppmが100万分の1となり、パーセント(百分率)で表すと1ppm=0.0001%または、1万ppm=1%になります。

 ここでは、商用電源の周波数50Hzを1ppmの誤差率で測定する場合を考えます。

 式2から、次の式が導き出されます。

カウントクロックの周波数=([入力信号の周波数]/[最大誤差率])×2×100  …式3

 ここに入力信号の周波数=50Hz、最大誤差率=0.0001を代入すると、カウントクロックの周波数は100MHzとなります。

 したがって、100MHzでカウントできるインプットキャプチャ機能であれば、1ppmの誤差率で測定できることになります。

 また、カウンターは100万以上をカウントできなければならないため、20ビット以上(220=104万8576)のカウンターが必要になります。

 H7に搭載されているタイマー2は、最大カウントクロック周波数が280MHzの32ビットカウンターであるため、

 50Hzをppmレベルの誤差率で測定することができます。この場合の最大誤差率は式2から次のようになります。

最大誤差率(%)=(50Hz/280MHz)×2×100=0.000035714%

0.000035714%/0.0001%=0.35714ppm

 以上より、1ppmよりも小さい誤差で測定できることが分かります。

 ちなみに、このカウンターで、1ppm以下の誤差率で測定できる入力信号の最大周波数は、式2より、次のようになります。

入力信号の周波数=([カウントクロックの周波数]×[最大誤差率])/(2×100)  …式4

        =(280MHz×0.0001)/(2×100)=140Hz

 この結果、140Hzまでの周波数の信号であれば、H7で1ppm以下の誤差率で測定できることになります。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.