さて、誤差率の計算式が明確になったところで、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.