■ 高精度RTC <RV-8803-C7> の ラズパイ評価基板 / RV8803-Raspi基板 

 ラズベリーパイ(通称:ラズパイ、RaspberryPi )(※)用の高精度RTCモジュール<RV-8803-C7> 搭載基板

     

 ※ RaspberryPi は RaspberryPi 財団の商標です。


■高精度リアルタイムクロックモジュール <RV-8803-C7> の概要
パッケージサイズ  3.2x1.5x0.8mm  外観
周波数精度  ±1.5ppm以内(0〜+50℃) かつ ±3.0ppm以内(-40〜+85℃)
 かつ±7.0ppm以内(-40〜+105℃)

 リフロー変動値は含めず*1
 
電源電圧  +1.5〜+5.5V
インターフェー   I2C (2線)
消費電流  0.25μA Typ. (@+3.0V, 温度補償動作, Timekeeping時 )
その他 アラーム、タイマ機能、うるう年自動補正など 
  *1 周波数安定度にはリフロー変動値は含まれません (リフロー変動値は初年度経年変化に含まれます)


★RV-8803-C7 のリナックスドライバは こちらからダウンロード出来ます (Microcrystalのウェブサイトに移動します)。


 (ダウンロードの際に免責事項への同意が必要になります。 "I agree " の右のチェックボックスをクリックし、メールアドレスを入力し"Submit"をクリックします)



 RV8803-Raspi基板のハードウェア概要

※画像クリックで拡大します。

 ・RV8803-Raspi基板/図面及びピンアサイン ・RV8803-Raspi基板/回路図
 


ご注意事項
静電気にご注意下さい
RV-8803-C7 はCMOSのICを内蔵した素子です。
静電気で故障する恐れがありますのでお取り扱い時には十分にご注意下さい。

逆接続にご注意下さい
この基板には逆接続時の回路保護素子は入っておりませんので、誤って逆接続すると
搭載されている RV-8803-C7 を故障させてしまうので、逆接続は決してしないようにご注意下さい。


リチウム電池ホルダへの電池挿入時にご注意下さい
底面のリチウム電池ホルダは、外側ホルダ部分が+電極になります。電池交換の際には
プラス・マイナスの方向にご注意下さい。
(逆接続は決して行わないで下さい)

また電池ホルダはプラス電極が露出しています。外部で予期せぬ接触があると破損に
つながる恐れがありますので、お取り扱いにはご注意下さい。

リチウム電池の性能について
出荷時に新品の一次電池を搭載していますが、電池容量の保証はありません。
あくまで実験・評価用のものとお考え下さい。

評価基板の信頼性について
生産時に機能試験は行っていますが、この評価基板での信頼性試験等は行っておりません。
産業機器用途などで製品の故障により社会的な、または企業や個人の損失をもたらし得る
用途でのご使用は避けるようにお願い致します。
あくまで実験用・評価用などのツールとお考え下さい。

<RV-8803-C7> のRTC単体は AEC-Q200認証など高い信頼性があります。

ピン接続、回路等について 
RaspberryPai への接続 
RaspberryPi のPin 1,3,5,7,9 へ角ピンソケットを差し込んで接続します
( ラズパイ側 #1=3.3Vdd #3=SDA #5=SCL #7=GPIO #9=GND の各端子。
 #7はRV8803-Raspi基板はNCになっています )

SDA, SCL, INT端子について
SDA, SCL, INT端子はそれぞれこの基板上で 10kΩでプルアップされています

バックアップ一次電池
裏面にリチウム一次電池 =CR1025 用のホルダを実装しています
(出荷時には 秋月電子の GoldenPower の CR1025 を搭載します。
時刻情報と周波数オフセット情報を書き込み済み)

計算上は+25℃環境で10年以上の電池持ちになりますが、温度環境などによる電池の自然放電
などの付帯状況を加味しこの電池(CR1025)の持ち期間は5年程度と考えられます。


※ 実際に RV-8803-C7 を用いてアプリケーション開発される場合は、CR1625 など
  もっと大きな電池容量に余裕のあるものをご使用されることを推奨します。


CLK出力について
( E/D端子の扱い)

デフォルトではCLK出力はオフになっています(消費電流を抑えるため)。
出力させる場合は E/Dピンと Vddピン をジャンパ接続して下さい。
ジャンパピン接続時はVdd-GND間が10kΩ抵抗で接続されますので、Vdd=+3.3Vの
場合には0.33mAの電流が流れますのでご注意下さい。

E/D端子がオープンになっているとCLK出力します。出荷時・保管時での電池消耗を
抑える目的でこの基板では E/D端子は 10kΩでGND へプルダウンしています。
RV-8803-C7 を用いて回路設計される場合は、E/D端子はオープンにしないようご注意下さい。


E/D端子をIOポートに接続して制御される場合には、GNDへのプルダウン抵抗を
取り外してご使用下さい。
ただしその場合はラズパイボードから取り外した状態で放置すると E/D端子が
オープンになり電池消耗が早く進んでしまいますのでご注意下さい。

EVI端子について
EVI端子を使用しない場合には、消費電流を抑えるために GNDへ短絡させておく必要があります。
この基板ではデフォルトでは0Ω(短絡)でGNDへ接続しています。
EVI端子を使用する場合には、未実装の 1005サイズのパターンがありますので、GNDへの
0Ω抵抗を取り外し、未実装のパターンに10kΩなどを実装してご使用下さい。


Vdd =+3.3V での使用と
+5.0V での使用について

RaspberryPi 3B(または同様のピンアサインのもの)にて、+3.3Vddで使用される場合は
そのまま角ピンソケットで接続してご使用頂けます。
評価試験などで+5.0Vddでの動作を確認されたい場合は、回路図の右端の #1(3V3) と
Vddピン間の抵抗(0Ω)がありますので、そちらを取り外して Vddピンに +5V印加して頂ければ
+5V動作でご使用頂けます。

電池の保護抵抗について
リチウム電池の保護抵抗は以下の計算から1.8kΩとしています。
 ・CR1025の充電許容最大電流値 = 2mA
 ・Vdd電圧の最大値 = +5.0V
 ・電池の電圧値 = 3V
 ・計算式 保護抵抗値 > 電圧値(5.0-3.0) ÷充電許容最大電流値(2*10E-3) = 1.0kΩ
電池電圧が RV-8803-C7のバックアップ動作下限の1.5V になった場合の値では1.75kΩ以上に
なるためこの基板では 1.8kΩと設定しました。

(逆流防止ダーオードの導通破壊時の電池の保護抵抗)


ダイオードについて
ダイオードは極力漏れ電流の少ないものの方が電池保持時間は有利になります。
実際に使用しているダイオードの型番についてはお問い合わせ下さい。





 RaspberryPi への RV-8803-C7ドライバのインストール

※ 弊社ではRaspberryPi 及び Linux についてのサポートは行っておりませが、
  実際に上述の Linux用ドライバを 組み込んだテストでのご参考情報として以下記します。
  なおテスト作業者はRaspberryPi 及び Linux については初心者のため必ずしもこの方法が最善ではないと
  考えられますので、そのあたりご賢察頂ければ幸いです。

★RV-8803-C7 のリナックスドライバは こちらからダウンロード出来ます (Microcrystalのウェブサイトに移動します)。
 (ダウンロードの際に免責事項への同意が必要になります。
  "I agree " の右のチェックボックスをクリックし、メールアドレスを入力し"Submit"をクリックします)

  上述の Linuxドライバのダウンロードセットの中に 簡単な設定の手順(英文)があります。
  そちらに沿ってテストを行っています。


 使用した RaspberryPi のバージョン等の情報

 ハードウェア  RaspberryPi 3B 
 OS  Rasbian GNU/Linux 9.4 (stretch) 
 ディスクサイズ  16GB

※Rasbian のバージョンはこの記事作成時(2018年10月上旬)では最新のバージョンです。



今回のテストでは SDカードメモリを一旦フォーマットし、新たにOSをインストールした状態から行いました。


 事前の用意について

 ・ Microcrystal のウェブサイトから RV-8803-C7 用の Linuxドライバ用のファイルを入手し、
  USBメモリなどでRaspberryPai の任意のフォルダ(ドキュメントなど)に移しておきます。
  (パソコンからドライバファイルを取得した場合 )


 Raspberry Pai での設定

 ・Rasbian の設定の部分で I2Cインターフェースを有効化します。
  この時点で、RV-8803-C7 が正しく電気的に接続されていると以下の様に<0x32アドレス> に接続されていることを確認出来ます。

 


 この状態で I2Cデバイスとして、RaspberryPi から RV-8803-C7 へのレジスタへのアクセス及び設定が出来ます。
 (時刻設定、アラーム、タイマ、周波数オフセット設定など)
 任意のプログラムを用いてRV-8803-C7 をご使用になる場合には、この後の Linuxドライバの設定は必要ありません。



 Linuxドライバの作成 (makeコマンドの実行)

 今回のテストではフォーマットしたディスクに新規にOSをインストールしたものを使用したため
 必要なツールがインストールされていませんでしたので一般的に必要そうな以下のもののインストールを行いました。
 (この辺りはご使用の環境により異なると思いますのでご留意下さい )

 ・automake (
apt-get install automake でインストール)
 ・autoconf (
apt-get install autoconf でインストール → こちらはデフォルトでインストール済みでした)
 ・libtool (
apt-get install libtool でインストール)
 ・build-essential, git はデフォルトでインストール済みでした。

 また
make KDIR = /usr/src/linux として /usr/src/のディレクトリ下に作業用のディレクトリとして
 "/linux" のディレクトリを作成し こちらに ドライバ作成用のファイル ( Makefile と rtc-rv8803.c ) をコピーしました。

 ( この時点では /usr/src/linux ディレクトリで
make コマンドを用いても "〜へ入ります" "・・・M=$PWD" が
  無限に繰り返されてしまい まだ何かツールが不足していて次へ進めなくなっている様子でした )


 追加で以下の kernel-header をインストールしました。
 ・raspberrypi-kernel-headers (
apt-get install raspberrypi-kernel-headers でインストール)

 カーネルヘッダのインストール後に /usr/src/linux ディレクトリで
make コマンドを実行すると
 
make が実行されて 、ドライバファイルの "rtc-rv8803.ko" も生成されました。






 Linuxドライバの組み込み

 作成された "rtc-rv8803.ko" ドライバファイルを必要な場所へ移動します。

 modprobe rtc-rv8803

 のコマンドを使うと、 "Module rtc-rv8803 not found in directry /lib/modules/4.17.70-v7+ " とエラーが返ってきますので
"/lib/modules/4.17.70-v7+/" のディレクトリに ドライバファイルをコピーします ( "rtc-rv8803.ko" ファイルのみ )。
(この辺りはご使用の環境によって異なってくると思いますのでご注意下さい)


 ここで再度
modprobe rtc-rv8803 のコマンドを使ってもまだエラーになります。
 これは "/lib/modules/4.17.70-v7+/modules.dep " ファイルに rv8803 が反映されていないためです。
 


 RV-8803-C7 を modules.dep ファイルに反映させるために同ディレクトリで

 
depmod

 のコマンドを使います。
 すると "modules.dep" に rtc-rv8803 が反映され、
modprobe rtc-rv8803 コマンドが通るようになります。

 (ファイルを開くと末尾に rtc-rv8803.ko が登録されていることを確認出来ます)



ここで

modprobe rtc-rv8803

のコマンドと、

sudo bash
echo rv8803 0x32 > /sys/class/i2c-adapter/i2c-1/new_device

(管理者権限で実行)

のコマンドを送ると hwclock として認識されます。

i2cdetect

のコマンドでi2cリストを確認すると、 rv8803の表示が <32> から<UU> に変わっていてOSの管理下になったことが確認出来ます。



ここまで出来れば、後は ご使用方法に合わせて諸設定を行って頂ければ RasbpberryPi の
hwclock として 非常に高精度で低消費電流の RV-8803-C7 を使用することが出来ます。

,※ また /etc/default/hwclock ファイルの最後の行の以下の部分はコメントアウトを外しておきました。
  ( #HTOSYS_DEVICE=rtc0 →先頭の#を削除して HTOSYS_DEVICE=rtc0 として保存 )


最初にネットワークに接続して、時計の初期値を設定しておけば (
hwclock -w コマンドなどで)
その後は RaspberryPi本体の電源が落ちてもその後は時刻情報を正確に保持します。
(バックアップバッテリを接続している場合)。
実際に使ってみると、時報や電波時計と比較してもほとんど差が出ません。
1〜2ヶ月またはそれ以上ネットワークにつながない状態をつくらないと差が見えてこなかもしれません。



また ハードウェアクロックとして設定すると

demog | grep rv8803

のコマンドで電圧低下の状態を確認することが出来ます。
(電池を抜き差しして電圧低下状態を作って上記コマンドで確認した例 )


Voltage low, temperature compensation stoppted (電圧が規定値を下回り温度補償動作が停止した)

及び

Voltage low, data is invalid (電圧が規定値を下回ったため データ=時刻情報 が無効です)

のコメントが確認出来ます。

このコメントは <RV-8803-C7> の フラグレジスタ (0Ehアドレス、または1Ehアドレス)を読み込み返されます。
このフラグレジスタは値が"1"の時にフラグが立った状態で、"0"と書き込むとクリアされます。
ラズパイに RV8803のドライバを組み込んで HWCLOCK として動作させている場合は、新たに時刻情報の書き込みが
行われるとドライバの動作でこれらのフラグはクリアされます。



Raspberry Pi は、Raspberry Pi財団の商標です。
※こちらの記事内容の作成及び 上記基板の提供等についてRaspberry Pi財団 は一切関与はしておりません。




(免責事項)
当サイト上の情報・資料の掲載には細心の注意を払っておりますが、当サイトに掲載されている情報・資料を
ご利用されて直接または間接的に生じたいかなる損害についても当社は一切の責任を負うものではありません。



→ リアルタイムクロックモジュールのTOPページへ



Copylight (c) Tamadevice.co.ltd . ※ サイト内のコンテンツの無断転用はご遠慮下さい。

| お問合せ先 | プライバシーポリシー
| サイトマップ |