リアルタイムクロックRTC-4543SA /WSN366 ボード (1)

リアルタイムクロックIC EPSON TOYOCOM製 RTC-4543SAの使い方とWSN366基板とCQガチャduinoを使った製作例を紹介します。

秋月電子でIC単体、またはDIPモジュールとして販売されているRTC-4543SAを使ってみます。原稿執筆時のIC単体の価格は@250です。

今回は、筆者製造のWSN366 RTC-4543SAボードを利用し、CQカチャduino(Arduino互換機)に接続して評価します。

●おもな仕様 (マニュアルより引用)

  • 32.768kHzの水晶振動子を内蔵で無調整使用可能
  • 時刻(秒、分、時)カウンタ及びカレンダー(日、曜日、月、年)カウンタ内蔵
  • 動作電圧範囲:2.5~5.5V
  • 電源電圧検出電圧:1.7±0.3V
  • 低消費電流:1.0μA/2.0V(max)
  • うるう年自動演算処理
  • 32.768kHz/1Hz選択出力

パッケージにSOP 14ピンの”SA”と SOP 18ピンの”SB”の2種類ありますが、今回使うのは”SA”の方です。ピン配列を以下に示します。

ピン配列(マニュアルより引用)

RTC-4543SASB-2

簡単に説明しておくと、CLKがシリアルクロック、DATAがシリアルデータ、CEがチップイネーブル、WRがリード/ライト切り替え、FOUTがクロック出力(32.768kHz/1Hz)、FOEがクロック出力イネーブル、FSELが32.768kHz/1Hzの切り替えとなっています。

このICは、ノーマルモードとかスリープモードとかの区別はなく、ホストマイコンが停止してRTC-4543SAを電池でバックアップ動作させる際も、常時と同じ動作になります。
クロック出力をホストマイコン側で利用している場合は、バックアップ動作時はクロック出力を止めた方が良いでしょう。クロック出力はFOEピンをLレベルにすることで電気的に止めることができます。通常、FOEをホスト側電源につないでおけば、ホストの電源が落ちたときにLレベルになりクロックは停止します。

時計などで、1秒のタイミングがほしいときは、FOUTから1Hzを出力させ、それをホストマイコンの外部割込みなどに接続して1秒ごとに割込みを発生させるなどの方法で利用できます。

なお、クロック発生回路は時計回路と独立しているため、RTCとしてではなく、単なる 32.768kHz/1Hzの高精度オシレータとしても利用できます。

●RTC-4543SAの通信方式

このICの通信方法はI2CやSPIでなく、単純なシリアル通信(シフトレジスタと同じ)です。内部データへアクセスする際は、秒から年号までを1つのデータの固まり(いわゆるストリング)として、一括でリードまたはライトします。従って、通信処理そのものは単純です。

シリアルデータの構成は次の図のようになっています。

図1 データ構成(マニュアルより引用)

RTC-4543SASB-1

データの送信順はLSBが先に来る方向です。具体的にはS1, S2, S3 , ….y40、y80という具合に54ビット全部つながったストリングとなります。

●データ リード

WRをLレベル、CEをHレベルにしたあと、CLKパルスを加えるとCLKの立ち上がりでDATAにシリアルデータが出力されます。次のCLKの立ち上がりまでデータは保持されるため、プログラムで取り込む際は、CLKの立ち下がりのタイミングで読み込むとよいでしょう。

このCLKパルスの出力を54回繰り返して、54ビットの値を得て、図1のようなフォーマットに整えて利用します。データはBCDコードになっているため、桁毎に表示させるなどの際は好都合ですが、16進数の数値として扱うためにはBCD-HEXA変換が必要です。

リードが終わったら、CEをLレベルに戻します。

なお、切りの良いところでパルス出力をやめると、途中までのデータを取得することができます。たとえば、h20で止めると時、分、秒のみのデータストリングを得ることができます。

●データ ライト

WRをHレベルにし、CEをHレベルにしてDATAに出力するデータを設定したのち、CLKパルスを加えると、CLKの立ち上がりで1ビットのデータがRTC-4543SAへ取り込まれます。これを54回繰り返します。

ライトの際は基本的には54ビット全部書き込む必要がありますが、途中で止めることもできます。この場合、確実に書き込まれたことを確認するために、すぐに読み出してベリファイすることが奨励されています。

ライトが終わったらCEをLレベルに戻します。このとき1秒カウンタの桁上げが許可され、時計が作動し始めます。

●電圧低下検出

このICの電源電圧は2.5V~5.5Vですが、1.7V以下になったこと検出できるようになっています。低下を検出した場合、FDTビットがセットされているため、時計が止まったかどうか(それまで時計が正常に作動していたかどうか)の履歴として利用することができます。

54ビットすべてリードするか、FDTビットを0にしてライトすることでクリアできます。


引用、参考文献: アプリケーションマニュアル ETM09J_02_R4543SASB.pdf

この記事はマニュアルを元に筆者が作成したものです。無断転写はお断りします。また、内容に誤りがあった場合など責任は負えませんのでご了承ください。

コメントは受け付けていません。