Previous: 8. リアルタイムクロック |
Up: 8. リアルタイムクロック |
Next: 8.2. リアルタイムクロックの利用 |
最近の携帯型電子機器の多くは時計を内蔵しており、時計代わりに利用している人も多いのではないかと思います。ユーザに「時計として認識されない時計」が必要になる場合も多く、たとえばSDカードにアクセスしたい場合には、アクセス日時を記録するために、正確な時計が必要です。また、パソコンのマザーボード(実際にはその中で動いているBIOS)のように、主電源を切っている間も動作し続ける時計が必要な場合もあります。マイコンでこういった時計機能を実装するために使用される周辺回路がリアルタイムクロックです。
リアルタイムクロックは、Real Time Clockであり、文字通り現実の時間のための時計を意味します。STM32には、タイマやシステムタイマとは独立した、リアルタイムクロック回路が内蔵されています。
別にリアルタイムクロックを利用しなくても、高機能タイマや汎用タイマ、システムタイマで時計を実装することはできます。もっともこれらのタイマはいずれも高速なHSEやHSIをベースにしていますから、消費電力が大きく、CPUを利用しないのであれば停止しておく方がのぞましいと言えます。リアルタイムクロックの動作周波数は32,768Hzですから、消費電力は少ないです。CPU停止中でも、ボタン電池から電力を供給しさえすれば、何年も時刻を刻み続けることができます。
またリアルタイムクロックのカウンタは32ビットあるため、232(4,294,967,296)までカウントできます。1日は86,400秒ですから、49,710日(136年36日程度)まで数えられる計算になります。一方各種のタイマを使ってカレンダーを実装しようと思うと、カウンタが1日分にも足りませんので(16ビット=65,536)、CPUの助けを借りて別途メモリを使用する必要があります。
リアルタイムクロックはこのように「時計」のために特化したタイマ・カウンタであるということができるでしょう。
Previous: 8. リアルタイムクロック |
Up: 8. リアルタイムクロック |
Next: 8.2. リアルタイムクロックの利用 |