リアルタイムクロック
モジュール
アプリケーションマニュアル
目次
1.
概要
2. ブロック図
3. 端子機能
4. 絶対最大定格
5. 電気的特性
5-1. AC
特性
(I
2C-BUS シリアルインターフェース)
5-2. AC
特性
2(OUTPUT端子出力)
5-3. 電源立ち上げ及び電源降下時間
6.
機能説明
6-1. 時計制御レジスタテーブル
6-2. 時計・カレンダーレジスタ(Address 00h – Address 06h)
6-3. アラームレジスタ(Address 07h – Address 09h)
6-4. タイマーカウンタレジスタ (Address 0Ah)
6-5. セレクトレジスタ(Address 0Bh)
6-6.フラグレジスタ (Address 0Ch)
6-7. コントロールレジスタ (Address 0Dh)
7. 割り込み機能説明
7-1. 定周期タイマー割り込み
7-2. アラーム割り込み
7-3. 時刻更新割り込み
7-4. 割り込み信号の識別方法
8. I
2C-BUS シリアルインターフェース
8-1. システム構成とI2C-BUSの接続方法
8-2. START コンディションと STOP コンディション
8-3. アクノリッジ信号(ACK Signal)
8-4. スレーブアドレス
9. I
2C-BUS データ転送フォーマット
9-1. データ書き込みフォーマット
9-2. データ読み出しフォーマット
1. 概要
本製品は、32.768kHzのディジタルTCXOを内蔵したI2C-BUSインターフェース準拠の高精度リアル タイムクロックモジュールです。時計・カレンダー機能に加え、アラーム割り込み機能、定周期タイマー 割り込み機能、時刻更新割り込み機能、クロック出力機能、電源電圧検出機能を備えております。2. ブロック図
*E/D=Enable / Disable3. 端子機能
端子名
I/0
機能
Enable/Disable I OUTPUT 端子制御の入力端子です。E/D 端子が"H"時はクロック出力、 "L"時はハイインピーダンスとなります。
/INT I 1Hz 信号,アラーム割り込み信号、定周期タイマー割り込み信号、時刻更新 割り込み信号の Nch オープンドレイン出力端子です。
GND - 電源のマイナス側(グランド)接続端子です。
OUTPUT 0 32.768kHz クロック出力端子です。C-MOS 出力で E/D 端子により出力 状態が制御されます。 SCL I I2C-BUS シリアルインターフェースクロック入力端子です。 SDA I/0 I 2C-BUS シリアルインターフェースデータ入出力端子です。Nch オープン ドレイン出力で、SCL クロック入力に同期し、アドレス、データ、アクノリッジ ビットを入出力します。 VCC - 電源のプラス側接続端子です。 DIVIDER CLOCK CALENDER COUNTER ALARM REGISTER INTERRUPT CONTROL TIMER REGISTER /INT OUTPUT CONTROL I2C-BUS INTERFACE SDA SCL Enable/ Disable OUTPUT GND VCC 32.768kHz DTCXO EEPROM
4. 絶対最大定格
項目
記号
条件
定格
単位
電源電圧 VCC VCC – GND 端子間 -0.3 to +6.5 V 入力電圧 (*1 ) VIN SCL,SDA,E/D 端子 -0.3 to +6.5 V 出力電圧 (*1,*2 ) VOUT1 OUTPUT 端子 -0.3 to VCC+0.3 V VOUT2 SDA,/INT 端子 -0.3 to +6.5 V 保存温度 (*3 ) TSTG - -40 to +105 °C *1:一瞬たりとも超えてはならない値です。万一超えた場合は、電気的特性、信頼性などに影響を与える 恐れがあります。 *2: VCCの値は推奨動作条件に定める動作電源電圧のVCC値です。 *3: N2または真空雰囲気での単体保存の場合です。5. 電気的特性
5-1. AC 特性 ( I2C-BUS シリアルインターフェース: 時計制御レジスタアクセス時 ) 条件に記載無き場合、VCC=1.5 ~ 5.5V , GND=0V , Ta=-40 ~ +105°C項目
記号
条件
規格
単位
Min Typ Max
SCLクロック周波数 fSCL - - - 400 kHz 開始条件 セットアップ時間 tSU,STA - 0.6 - - μs 開始条件 ホールド時間 tHD,STA - 0.6 - - μs データ セットアップ時間 tSU,DAT - 100 - - μs データ ホールド時間 tHD,DAT - 0 - 900 μs 停止時間 セットアップ時間 tSU,STO - 0.6 - - μs 開始条件と停止条件の間の バスフリー時間 tBUF - 1.3 - - μs SCL "L"時間 tLOW - 1.3 - - μs SCL "H"時間 tHIGH - 0.6 - - μs SCL,SDA 立ち上がり時間 tr 20% -> 80% - - 0.3 μs SCL,SDA 立ち下がり時間 tf 80% -> 20% - - 0.3 μs バス上の許容スパイク時間 tSP - - - 50 ns バスラインの負荷容量 Cb Vcc > 1.8V - - 400 pF Vcc < 1.8V - - 50 pF ※本製品へのSTARTコンディション送信からSTOPコンディション送信までのアクセスは、0.5秒以内に終了して 下さい。0.5秒以上アクセスした場合、内部監視タイマーによりRTCのI2C-BUSインターフェースアクセスが強制 終了されます。
タイミングチャート
5-2. AC 特性 2(OUTPUT端子出力)
条件に記載無き場合、VCC=1.5 to 5.5V , GND=0V , Ta=-40 to +105℃
項目
記号
条件
規格
単位
Min Typ Max
OUTPUT デューティー Duty CLOUT=15pF , 閾値 0.5VCC 40 50 60 %
OUTPUT 立ち上がり時間 trC 20% → 80% CLOUT=15pF Vcc=1.8 to 5.5V - - 70 ns Vcc=1.5 to 5.5V - - 180 ns Vcc=1.3 to 5.5V - - 1100 ns OUTPUT 立ち下がり時間 tfC 80% → 20% CLOUT=15pF Vcc=1.8 to 5.5V - - 70 ns Vcc=1.5 to 5.5V - - 180 ns Vcc=1.3 to 5.5V - - 1100 ns ※CLOUTはOUTPUT 端子に接続される IC 外部の負荷容量です。 タイミングチャート Duty = t WH / t OUTPUT x 100(%) START コンディション START コンディション STOP コンディション 80% 20% t r tf t
SU:STA tHD:STA tSU:DAT tHD:DAT tSU:ST tBUF tSP
SCL SDA t LOW tHIGH 1/fSCL OUTPUT 80% 20% 50% trc tfc tOUTPUT tWH
5-3. 電源立ち上げ及び電源降下時間 本製品は、初期電源投入時に内部設定を初期化する為のパワーオンリセット回路を搭載しています。 仕様時間外での電源立ち上げ、電源降下した場合、初期電源投入時にパワーオンリセット回路が動作しな かったり、バックアップ移行時/復帰時にパワーオンリセット回路が動作したりする可能性があります。 パワーオンリセット回路を安定的に正常動作させる為に仕様時間内で電源立ち上げ、電源降下をさせて 下さい。
項目
記号
条件
規格
単位
Min. Typ. Max.
初期電源立ち上げ時間 tr1 - - - 10 ms/V バックアップ移行時電源降下時間 t - 5 - - μs/V バックアップ復帰時電源立ち上げ時間 tr2 - 5 - - μs/V VCC 0V バックアップ電圧 (Min 1.3V) バックアップ時 tf1 t r2 tr1
6.
機能説明
6-1. 時計制御レジスタテーブル
Address
Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
00h SEC - S40 S20 S10 S8 S4 S2 S1
01h MIN - M40 M20 M10 M8 M4 M2 M1
02h HOUR - - H20 H10 H8 H4 H2 H1
03h WEEK - - - W4 W2 W1
04h DAY - - D20 D10 D8 D4 D2 D1
05h MONTH - - - MO10 MO8 MO4 MO2 MO1
06h YEAR Y80 Y40 Y20 Y10 Y8 Y4 Y2 Y1
07h MIN Alarm AE MA40 MA20 MA10 MA8 MA4 MA2 MA1 08h HOUR Alarm AE RAM HA20 HA10 HA8 HA4 HA2 HA1 09h WEEK Alarm AE WA6 WA5 WA4 WA3 WA2 WA1 WA0 DAY Alarm RAM DA20 DA10 DA8 DA4 DA2 DA1 0Ah Timer Counter T128 T64 T32 T16 T8 T4 T2 T1 0Bh Select Register TCS1 TCS0 CFS1 CFS0 TSS1 TSS0 AS UTS 0Ch Flag Register - - VDHF VDLF - TF AF UTF 0Dh Control Register RESET TEST RAM FIE TE TIE AIE UTIE * 初期電源投入時レジスタ値は不定ですので、必ず初期設定を実施してからご使用ください。 但し、初期 電源投入時 TCS1,TCS0,CFS1,CFS0,TEST,FIE,TE,TIE,AIE,UTIEビットは”0”リセットされ、VDLF ビットは”1 ”セットされます。 * ”-”ビットは書き込みデータ無効で、リード時”0”読み出しとなります。 * VDHF,VDLF,TF,AF,UTFビットは、”0”データのみ書き込み有効となります。 * TESTビットは弊社テスト用ビットですので必ず”0”設定でご使用ください。 * Address 0Eh, 0Fhへの書き込み読み出し動作は誤動作の原因となりますのでアクセス禁止とします。 6-2. 時計・カレンダーレジスタ(Address 00h – Address 06h)
Address Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
00h SEC - S40 S20 S10 S8 S4 S2 S1
01h MIN - M40 M20 M10 M8 M4 M2 M1
02h HOUR - - H20 H10 H8 H4 H2 H1
03h W EEK - - - W4 W2 W1
04h DAY - - D20 D10 D8 D4 D2 D1
05h MONTH - - - MO10 MO8 MO4 MO2 MO1
・データ形式 時計・カレンダーのデータはBCDコードで表現しています。 ・HOURレジスタ HOURレジスタは24時間表示です。 ・WEEKレジスタ WEEKレジスタは7進アップカウンタで、(W4W2W1) = (000) → (001) → ・・・ → (110) → (000) とカウントします。 曜日とビット設定 (W4W2W1)の対応は、自由にユーザーで設定可能です。 ・YEARレジスタ YEARレジスタは西暦の下2桁を設定します。 ・自動閏年補正機能 自動閏年補正機能は2000年~2099年まで対応しています。 ・時計・カレンダー設定例 例 98年07月06日 日曜日 05時43分21秒の場合 (WEEKレジスタ 日曜日 = (W4W2W1) = (000)とした場合)
Address Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
00h SEC - 0 1 0 0 0 0 1 01h MIN - 1 0 0 0 0 1 1 02h HOUR - - 0 0 0 1 0 1 03h W EEK - - - 0 0 0 04h DAY - - 0 0 0 1 1 0 05h MONTH - - - 0 0 1 1 1 06h YEAR 1 0 0 1 1 0 0 0 * 存在しない時計・カレンダーデータの設定は誤動作の原因となりますので必ず正しいデータ設定を行って ください。 6-3. アラームレジスタ(Address 07h – Address 09h)
Address
Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
07h MIN Alarm AE MA40 MA20 MA10 MA8 MA4 MA2 MA1 08h HOUR Alarm AE RAM HA20 HA10 HA8 HA4 HA2 HA1 09h
W EEK Alarm
AE
WA6 W A5 WA4 W A3 WA2 W A1 WA0 DAY Alarm RAM DA20 DA10 DA8 DA4 DA2 DA1 曜日、日、時、分についてのアラーム時刻の設定レジスタです。09hについてはAddress 0BhのAS (AlarmSelect)ビットの設定により、曜日、日のアラームのどちらを使用するかを指定します。アラーム レジスタに設定した時刻になると、Address 0ChのAF (Alarm Flag) ビットに”1”がセットされます。 ・WEEK Alarmレジスタのビットと各曜日の割り当て
WEEK AlarmレジスタのWA0~WA6ビットはAddress 03hのWEEKレジスタ (W4W2W1) = (000)~ (110) に対応します。
例) WEEKレジスタで日曜日 = (W4W2W1) = (000) とした場合
Address
Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
09h W EEK Alarm AE 土 金 木 水 火 月 日
曜日は任意の複数の曜日にアラーム設定が可能です。
例) WEEKレジスタで日曜日 = (W4W2W1) = (000) として月~金曜までアラーム設定の場合
Address
Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
09h W EEK Alarm 0 0 1 1 1 1 1 0
・毎分アラーム、毎時アラーム、毎日アラーム機能各アドレスのbit7のAE (Alarm Enable) ビットに”1 を設定するとそれぞれ、毎分アラーム、毎時アラーム、毎日アラームの設定になります。
例) 毎時15分アラームを設定した場合
Address Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
07h MIN Alarm 0 0 0 1 0 1 0 1
08h HOUR Alarm 1 bit 7="1" のため不問 ・RAMビット
RAMとして使用可能です。
6-4. タイマーカウンタレジスタ (Address 0Ah)
定
周期タイマー割り込みに使用するダウンカウンタのカウント数を設定するレジスタです。定周期タイマー のソースクロックはAddress 0BhのTSS1,TSS0(Timer Source Clock Select)ビットで指定します。 Address 0DhのTE(Timer Enable)ビットを”0”から”1”にセットすると、設定したカウント数でカウント ダウンしていき、カウント数がゼロになると、Address 0ChのTF(Timer Flag)ビットに”1”がセット されます。TEビット”1”の間、設定したカウント数での繰り返しダウンカウンタ動作となります。 6-5. セレクトレジスタ(Address 0Bh)
Address
Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
0Ah Timer Counter T128 T64 T32 T16 T8 T4 T2 T1
Address
Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
TCS1
TCS0
温度補償動作間隔
0 0 0.5 s
0 1 2 s
1 0 10 s
1 1 30 s
・TCS (Temperature Compensation Select) ビット
温度補償動作間隔の選択ビットです。時計レジスタの時刻に合わせた動作となります。
* 初期電源投入時の値は”00”で温度補償動作間隔0.5s選択となります。
・CFS (CLKOUT Frequency Select) ビット OUTPUT端子出力周波数の選択ビットです。
CFS1
CFS0
OUTPUT 出力周波数
0 0 32.768 kHz 0 1 1024 Hz 1 0 32 Hz 1 1 1 Hz * 初期電源投入時の値は”00”でCLKOUT出力周波数32.768kHz選択となります。• TSS (Timer Source Clock Select) ビット
定周期タイマーのソースクロックの選択ビットです。
TSS1
TSS0
タイマーソースクロック
0 0 4096 Hz 0 1 64 Hz 1 0 1 Hz 1 1 1/60 Hz・AS (Alarm Select) ビット
曜日、日アラームの選択ビットです。Address 09hに設定されているデータを下記のアラーム設定として 認識します。
AS
アラーム認識
0 曜日アラーム
1 日アラーム
• UTS (Update Time Select) ビット
時刻更新割り込み発生タイミングの選択ビットです。
UTS
時刻更新割り込みタイミング
0 秒 更新
6-6. フラグレジスタ (Address 0Ch)
Address
Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
0Ch Flag Register - - VDHF VDLF - TF AF UTF • VDHF (Voltage Detect High Flag) ビット
温度補償動作電圧検出のフラッグビットです。電圧検出動作は温度補償動作間隔タイミングに合わせた 間欠動作となります。
VDHF
内容
0 電源電圧がVDET1(Max 2.0V)以上 1 電源電圧がVDET1(Max 2.0V)以下 * VDHFビット”1”検出後は”0”を書き込むまで保持します。また、本ビットは”0”データのみ書き込み 有効となります。• VDLF (Voltage Detect Low Flag) ビット
低電源電圧検出、またはパワーオンリセット信号検出のフラグビットです。電圧検出動作は、温度 補償動作間隔タイミングに合わせた間欠動作となります。 * VDLFビット”1”検出後は”0”を書き込むまで保持します。また、本ビットは”0”データのみ書き込み有効と なります。 • TF (Timer Flag)ビット 定周期タイマー割り込み発生検出のフラグビットです。
TF
内容
0 通常状態 1 定周期タイマーダウンカウンタのカウントゼロを検出 * TFビット”1”検出後は”0”を書き込むまで保持します。また、本ビットは”0”データのみ書き 込み有効となります。 • AF (Alarm Flag)ビット アラーム割り込み発生検出のフラグビットです。AF
内容
0 通常状態 1 アラーム設定時刻との一致を検出 * AFビット”1”検出後は”0”を書き込むまで保持します。また、本ビットは”0”データのみ書き 込み有効となります。VDLF
内容
0 電源電圧がVDET1(Max 1.5V)以上、又はパワーオンリセット信号(未検出) 1 電源電圧がVDET1(Max 1.5V)以下、又はパワーオンリセット信号(検出)• UTF (Update Time Flag) ビット 時刻更新割り込み発生検出のフラグビットです。
UTF
内容
0 通常状態 1 時刻更新終了を検出 * UTFビット”1”検出後は”0”を書き込むまで保持します。また、本ビットは”0”データのみ書き込み有効と なります。 6-7. コントロールレジスタ (Address 0Dh)Address
Function
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
0Dh Control Resister RESET TEST RAM FIE TE TIE AIE UTIE
• RESETビット
RESET
内容
0 通常状態 1 64Hz~1Hzの分周カウンタをリセットし、時計機能が停止します。 • TESTビット 弊社テスト用ビットです。必ず ”0 ”設定でご使用ください。TEST
内容
0 通常動作モード 1 テストモード • RAMビット RAMとして使用可能です。• FIE (Frequency Interrupt Enable)ビット
/INT端子へのDuty 50%の1Hz信号出力のイネーブルビットです。
FIE
内容
0 /INT端子から1Hz出力 Disable 1 /INT端子から1Hz出力 Enable * 初期電源投入時の値は”0”で/INT端子出力ディセーブル選択となります。 • TE (Timer Enable) ビット 定周期タイマーダウンカウンタのイネーブルビットです。TE
カウンタ動作
0 タイマーカウント停止 1 タイマーカウント開始 * 初期電源投入時の値は”0”でタイマーカウント停止選択となります。TIE,AIE,UTIE
内容
0 /INT端子出力 Disable
1 /INT端子出力 Enable
• TIE, AIE, UTIE (Timer, Alarm, Update Time Interrupt Enable) ビット
/INT端子への割り込み信号出力イネーブルビットです。定周期タイマー割り込み出力はTIEビット、 アラーム割り込み出力はAIEビット、時刻更新割り込み出力はUTIEビットにて制御します。 * 初期電源投入時の値は”0”で/INT端子出力ディセーブル選択となります。 /INT端子からの出力は、定周期タイマー、アラーム、時刻更新の各割り込み信号とFIEで制御する1Hz 信号出力の論理和で出力されます。
7. 割り込み機能説明
7-1. 定周期タイマー割り込み *1 : 割り込み発生、TIE=”1”で下記のように設定した期間のみ/INT端子出力は"L"レベル出力を出力します。 *2 : 割り込み発生後、/INT端子出力が”L”レベルの間にTFビットを”0”にクリアした場合、/INT端子出力は強制的に クリアされます。 TE TIE TF カウント停止 設定したカウント数 タイマーカウント数 割り込み発生 割り込み発生 タイマーカウントがゼロ ハイインピーダンス "L"レベル /INT 端子出力 (N chオープンドレイン出力) TF ビットを "0"にクリア TIE ビットが"0"の間は出力 Disable "0" "L"出力期間終了 (*1) "L"出力期間(tL)内に TF ビットを"0"にクリアした場合、 /INT 端子出力は強制的にハイインピーダンス状態 (*2) 割り込み発生 tL tLTIE
内容
0 /INT端子からの亭主来タイマー割り込み出力 Disable
1 /INT端子からの定周期タイマー割り込み出力 Enable
* 定周期タイマー割り込み機能を使用しない時は、TE,TIE=”0”とする事でタイマーカウンタ レジスタ (Address 0Ah) を全てRAMとして使用する事ができます。
TSS1
TSS0
ソースクロック
”
L"出力期間 (tL)
0 0 4096 Hz 0.122 ms 0 1 64 Hz 7.81 ms 1 0 1 Hz 7.81 ms 1 1 1/60 Hz 7.81 ms ・タイマースタートタイミング 書き込みモードにおいて下記のようにAddress 0Dh 書き込みクロックの立ち下がりエッジからタイマーが カウント動作を開始します。 ・定周期タイマー時間 タイマーカウンタ設定とソースクロックの設定により、定周期タイマー時間を設定できます。 設定可能時間: 244.14μs ~ 255min 定周期タイマー時間 = タイマーカウンタ設定値 × ソースクロック周期 (ソースクロック周期はソースクロック周波数の逆数) * 定周期タイマー時間は、内部回路動作の影響により最大ソースクロック1周期分の誤差が生じます。SCL
SDA
1
TIE
AIE
UTIE
ACK
TE
カウントダウンスタート
・コントロールレジスタ(Adress
・定周期タイマー割り込み設定のレジスタ設定例 例) 定周期タイマー時間を 10 分にセットする場合
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Ch - - VDHF VDLF - 0 AF UTF 0Dh RESET TEST RAM FIE 0 0 AIE UTIE
TE TIE TF
TSS1 TSS0
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Dh RESET TEST RAM FIE 1 1 AIE UTIE TE TIE 7-2. アラーム割り込み アラーム割り込みは、アラームレジスタに設定した時刻と一致した時に割り込み動作を発生させる 機能です。割り込み動作発生時はAF=”1”となり、AIEビットの設定状態により、下図のような/INT 端子出力になります。 アラーム割り込みタイミングは、秒桁が59秒 → 0秒により分桁へのキャリー発生時に出力されます。
AIE
内容
0 /INT端子からの定周期タイマー割り込み出力 Disable 1 /INT端子からの定周期タイマー割り込み出力 Enable* アラーム割り込み機能を使用しない時はAIE=”0”とする事でアラームレジスタ (Address 07h~09h)を全てRAM として使用する事ができます。
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Ah 0 0 0 0 1 0 1 0 0Bh TCS1 TCS0 CFS1 CFS0 1 1 AS UTS ・誤動作防止の為、 TF, TE, TIE="0"に設定 ・定周期タイマー時間を設定 ・タイマーカウントレジスタ を10 カウント(0Ah)に設定 ・ソースクロックを1 分 (TSS1TSS0) = (11)に設定 ・TE,TIE="1"に設定してタイマー をスタートさせ、 /INT 端子出力 をEnable にして、カウントが ゼロになり、定周期タイマー 割り込み発生待ち状態 出力Disable 出力Enable 割り込み発生 出力Enable AIE AF /INT 端子出力 (Nch オープンドレイン出力) 割り込み発生 AF ビットを "0"にクリア ハイインピーダンス "L"レベル AIE ビットが"0"の間は出力 Disable
・アラーム割り込み設定のレジスタ設定例
例) 月~金曜日の毎朝7時にアラームを出す場合
(但し、曜日レジスタ (Address 03h) で日曜日 = (W4W2W1) = (000) とします。)
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Dh RESET TEST RAM FIE TE TIE 0 UTIE AIE
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
07h 0 0 0 0 0 0 0 0
08h 0 0 0 0 0 1 1 1
09h 0 0 1 1 1 1 1 0
0Bh TCS1 TCS0 CFS1 CFS0 TSS1 TSS0 0 UTS AS
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Ch
-
-
VDHF VDLF
-
TF
0
UTF
AF
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Dh
RESETTEST RAM FIE
TE
TIE
1
UTIE
AIE ・誤動作防止の為、 AIE="0"に設定 ・アラーム時刻を設定 ・分アラームレジスタを0 分 (00h) に設定 ・時アラームレジスタを7 時 (07h) に設定 ・曜日アラームレジスタを月~ 金 (07h) に設定 ・AS="0"に設定して曜日アラー ムを選択 ・AF ビットを"0"にクリア ・AIE="1"に設定して/INT 端子 出力をEnable に してアラーム割り込み発生 待ちの状態
UTS
時刻更新タイミング
"L"出力期間(tL)
0 秒 更新 7.81ms 1 分 更新 7.81ms 7-3. 時刻更新割り込み 時刻更新割り込みは、設定した秒更新または分更新発生時に、割り込み動作が発生する機能です。割り込み 発生時はUTF=”1”となり、UTIEビットの設定状態により、下図のような/INT端子出力になります。時刻更新割り 込みタイミングは、UTSビットで設定した時刻でのキャリー発生時に出力されます。 Address 0DhのRESETビットが”1”の場合は、時刻更新割り込みは発生しません。 *1 : 割り込み発生、UTIE=”1”で下記のように設定した期間のみ/INT端子出力は”L”レベル出力します。 *2 : 割り込み発生後、/INT端子出力が”L”レベルの間にUTFビットを”0”にクリアした場合、/INT端子出力は強制的 にクリアされます。UTIE
内容
0 /INT端子からの時刻更新割り込み出力 Disable 1 //INT端子からの時刻更新割り込み出力 Enable TIE UTF 時刻更新 割り込み発生 割り込み発生 割り込み発生 /INT 端子出力 (Nch オープンドレイン出力) ハイインピーダンス UTF ビットを "0"にクリア 時刻更新 "0" "L"レベル UTIE ビットが"0"の間は出力 Disable "L"出力期間終了 (*1) "L"出力期間(t L)内に UTF ビットを"0"にクリアした場合、 /INT 端子出力は強制的にハイインピーダンス状態(*2) tL tL・時刻更新割り込み設定のレジスタ設定例 例) 分更新の時刻更新割り込みを設定する場合
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Ch - - VDHF VDLF - TF AF 0
0Dh RESET TEST RAM FIE TE TIE AIE 0
UTIE UTF
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Ah
TCS1 TCS0 CFS1 CFS0 TSS1 TSS0 AS
1
UTS
Address bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
0Dh
RESETTEST RAM FIE
TE
TIE
AIE
1
UTIE 7-4. 割り込み信号の識別方法 /INT端子からの割り込み出力は、定周期タイマー、アラーム、時刻更新の各割り込みが発生した時に”L”レベル 出力します。共通の出力端子となっていますので、割り込みが発生した場合は、フラグレジスタ (Address 0Ch) を 参照することでどの割り込み信号であるかを確認できます。 ・誤動作防止の為、UTF、 UTIE="0"に設定 ・時刻更新割り込みを設定 ・UTS ビットを分更新(1) に設定 ・UTIE="1"に設定して INTN 端子出力をEnable にして、 時刻更新発生待ち状態
8. I2C-BUS シリアルインターフェース
本製品はSCL (クロックライン) とSDA (データライン) の2線式のI2C-BUS シリアルインターフェースでデータの 送受信を行なっています。 8-1. システム構成とI2C-BUSの接続方法 下記のようにSCL、SDAの信号線とCPU等のコントローラを接続します。出力はオープンドレイン端子で構成されて います。その為、SCL、SDAの信号線は抵抗を付加してVCCにプルアップしています。 8-2. START コンディションと STOP コンディション I2C-BUSがデータ転送を行なっていない時、SCL、SDAはHighを保っています。この時、SDAがHigh からLowに変化した状態 (STARTコンディション) となり、アクセスが開始され、データ転送を 行ます。反対にSCLがHighの時、SDAがLowからHighに変化した状態 (STOPコンディション) となり、 アクセスの終了となります。 8-3. アクノリッジ信号(ACK Signal) STARTコンディション検出後にデータ転送を8bitずつ行ないます。転送するデータは8bit毎で何回でも 構いません。8bitの転送毎に、受信側のデバイスは送信側に対し、アクノリッジ信号というデータの受信 確認のビットを送ります。 送信側は8bit目のクロックパルスの立ち下がりでSDAを解放 (High) し、受信側はデータを正常に受信し ていれば、SDAをLowにします。これにより送信側はアクノリッジ信号が返って来たことを確認します。 次のデータを送信、またはSTOPコンディションを送信します。一方、CPU等のマスタ側が受信側の場合、 8bit受信した後にSDAをLowにしない (アクノリッジ信号を送らない) ことで送信側 (RTC module) に データ転送の終了であると認識させ、マスタ側がSTOPコンディションを送信します。 START コンディション STOP コンディション SCL SDARTC
モジュール
CPU 等
(マスタ)
Vcc SCL SDA RP RPスレーブアドレス
R/W
bit
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1
bit 0
書き込みモード 0 1 1 0 0 1 0 0 読み出しモード 0 1 1 0 0 1 0 1 8-4. スレーブアドレス I2C-BUSでは、各デバイスに7bitのスレーブアドレスが設定されています。STARTコンディションを検出後、 このスレーブアドレスをI2C-BUSにより受信する事でその後のマスタからの通信に反応します。実際の通信時には、 スレーブアドレスと共にR/W (リードライト) ビットを付加した8bitデータを受信します。 スレーブアドレス ハイインピーダンス START コンディション アクノリッジ 信号
SDA
(受信側出力)
SDA
(送信側出力)
SCL
(送信側出力)
1
8
9
"L"
マスタが送信側の場合のアクノリッジ信号タイミング
9. I2C-BUS データ転送フォーマット
以下にI2C-BUSのデータ転送フォーマットを示します。このRTCは、レジスタアドレスのオートインクリメント機能 があります。レジスタアドレスを毎回書き込む必要はありません。8bitのデータの送信毎にレジスタアドレスは+1加算 されます。0Dhアドレスに+1加算されると00hアドレスになります。アドレス、データはMSBファーストで転送して 下さい。 9-1. データ書き込みフォーマットS
スレーブアドレス
0
0
アクノリッジ信
0
0
アクノリッジ信
R/W (Write)0
0
アクノリッジ信
レジスタアドレス
データ
P
書き込み終了
0
0
アクノリッジ信
号
データ
レジスタアドレスが+1されます
P
書き込み終了
データ追加
レジスタアドレスが+1されます
データ追加
CPU が送信側 CPU が受信側 S START コンディション
P
STOP コンディション・CPU が START コンディションを送信 ・CPU が RTC Module のスレーブアドレス、 R/W ビット(書き込みモード)を送信 ・CPU がアクノリッジ信号を受信 ・CPU が RTC Module へ書き込みレジスタ アドレスを送信 ・CPU がアクノリッジ信号を受信 ・CPU が上記で指定したアドレスへ書き込む データを送信 ・CPU がアクノリッジ信号を受信 ・書き込み終了ならCPU が STOP コンディション を送信 *データ追加なら続けてデータを送信する事で 上記から+1 したアドレスへ書き込み事ができます ① CPU が+1 加算したアドレスへ書き込むデータ を送信 ② CPU がアクノリッジ信号を受信 ・データ追加なら①、②を繰り返し行ってください。 ・書き込み終了ならCPU が STOP コンディションを 送信
9-2. データ読み出しフォーマット
レジスタアドレス指定の場合
CPU が送信
CPU が受信側
S
START コンディ
P
STOP コンディシ
・CPU が START コンディションを送信 ・CPU が RTC Module のスレーブアドレス、 R/W ビット(書き込みモード)を送信 ・CPU がアクノリッジ信号を受信 ・CPU が RTC Module へ読み出すレジスタ アドレスを送信 ・CPU がアクノリッジ信号を受信 ・CPU が START コンディションを再度送信 ・CPU が RTC Module のスレーブアドレス、 R/W ビット(読み出しモード)を送信 ・CPU がアクノリッジ信号を受信 ・RTC Module から上記で指定したアドレスの データを受信 ・読み出し終了ならCPU がアクノリッジ信号を 送信しない CPU が STOP コンディションを送信 *データ追加なら続けてデータを受信する事で 上記から+1 したアドレスのデータを読み出す 事ができます ① CPU がアクノリッジ信号を送信 ② RTC Module から+1 加算したアドレスの データを受信 ・データ追加なら①、②を繰り返し行って下さい ・読み出し終了ならCPU がアクノリッジ信号を 送信しない CPU が STOP コンディションを送信
S
スレーブアドレス
0
0
アクノリッジ信号0
アクノリッジ信号 R/W (Write)1
0
アクノリッジ信号レジスタアドレス
スレーブアドレス
データ
0
読み出し終了
レジスタアドレスが+1されます データ追加S
R/W (Read)1
P
データ
0
読み出し終了
レジスタアドレスが+1されます データ追加1
P
アクノリッジ信号レジスタアドレス指定しない場合 最初に読み出しモードに設定した場合でも、データ読み出しできます。レジスタアドレスは前回の アクセスで終了したアドレスの+1 加算したアドレスとなります。
1
0
アクノリッジ信号スレーブアドレス
データ
0
読み出し終了
レジスタアドレスが+1されます
データ追加S
R/W (Read)1
P
データ
0
データ追加
レジスタアドレスが+1されます
データ追加
1
P
アクノリッジ信号CPU が送信
CPU が受信側
S
START コンディ
P
STOP コンディシ
・CPU が START コンディションを送信 ・CPU が RTC Module のスレーブアドレス、 R/W ビット(読み出しモード)を送信 ・CPU がアクノリッジ信号を受信 ・RTC Module から前回アクセスしたアドレス に+1 加算したアドレスのデータを受信 ・読み出し終了ならCPU がアクノリッジ信号を 送信しない CPU が STOP コンディションを送信 *データ追加なら続けてデータを受信する事で 上記から+1 したアドレスのデータを読み出す 事ができます ① CPU がアクノリッジ信号を送信 ② RTC Module から+1 加算したアドレス のデータを受信 ・データ追加なら①、②を繰り返し行って下さい ・読み出し終了ならCPU がアクノリッジ信号 を送信しないCPU が STOP コンディション を送信