メディア
連載
» 2019年12月25日 11時15分 公開

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

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。50回目は、中級者の方からよく質問される「マイコンで信号の周波数をppmレベルで測定する裏ワザ」についてです。

[STマイクロエレクトロニクス,EDN Japan]

過去の質問一覧はこちら

 素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。

 今回は、中級者から多く寄せられる質問です。

 マイコンの周辺機能を使って、外部から入力される交流信号の周波数(例えば、商用電源の周波数50Hz)を測定できませんか? もしできる場合は、どのくらいの精度で測れますか? また、マイコンに内蔵された発振回路の周波数も測れますか?

 マイコンに搭載されているインプットキャプチャ機能は、外部から入力された信号の立ち上がりまたは立ち下がりをトリガーにして、カウンターの値を取り込むことができます。図1に示すように、カウンターをマイコンの内部クロック(既知の周波数)でカウントさせつつ、外部信号の2つの連続する立ち上がりの時のカウンターの値を取り込み、引き算をすることで外部信号の周期を測定できます。また、周期の逆数を計算すれば周波数が得られます。

図1:インプットキャプチャ機能を使った周波数計測

 外部から入力されるクロックの周波数に対し、カウンターの周波数が高ければ高いほど、測定精度は上がります。例えば、最大動作周波数480MHzの32ビットマイコン「STM32H7シリーズ(STマイクロエレクトロニクス製/以下、H7*1)を使って商用電源の50Hzを測定した場合は理論上(カウンターのカウント周波数誤差を含まなければ)、0.35714 ppmの誤差率(精度)で測定できます。

 また、逆に外部信号として周波数精度の高いクロックを入れれば、マイコンの内部発振回路の周波数の誤差を測定できます。周波数の補正機能が付いているマイコンであれば、そのまま補正することも可能です。

*1)参考リンク:「STM32H7シリーズ」の概要(STマイクロエレクトロニクスサイト)

       1|2|3|4 次のページへ

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.