3.レジスター
レジスタ一覧
ADD |
bit7 |
bit6 |
bit5 |
bit4 |
bit3 |
bit2 |
bit1 |
bit0 |
Function |
Range |
0x00 |
0 |
10 Seconds |
Seconds |
Seconds |
00~59 |
0x01 |
0 |
10 Minutes |
Minutes |
Minutes |
00~59 |
0x02 |
0 |
12/24 |
AM/PM |
10 Hour |
Hour |
Hours |
1~12+AM/PM
00~23 |
20 Hour |
0x03 |
0 |
0 |
0 |
0 |
0 |
Day |
Day |
1~7 |
0x04 |
0 |
0 |
10 Date |
Date |
Date |
01~31 |
0x05 |
Century |
0 |
0 |
10 Month |
Month |
Month/Century |
01~12+Century |
0x06 |
10 Year |
Year |
Year |
00~99 |
0x07 |
A1M1 |
10 Seconds |
Seconds |
Alarm 1 Seconds |
00~59 |
0x08 |
A1M2 |
10 Minutes |
Minutes |
Alarm 1 Minutes |
00~59 |
0x09 |
A1M3 |
12/24 |
AM/PM |
10 Hour |
Hour |
Alarm 1 Hours |
1~12+AM/PM
00~23 |
20 Hour |
0x0A |
A1M4 |
DY/DT |
10 Date |
Day |
Alarm 1 Day |
1~7 |
Date |
Alarm 1 Date |
1~31 |
0x0B |
A2M2 |
10 Minutes |
Minutes |
Alarm 2 Minutes |
00~59 |
0x0C |
A2M3 |
12/24 |
AM/PM |
10 Hour |
Hour |
Alarm 2 Hours |
1~12+AM/PM
00~23 |
20 Hour |
0x0D |
A2M4 |
DY/DT |
10 Date |
Day |
Alarm 2 Day |
1~7 |
Date |
Alarm 2 Date |
1~31 |
0x0E |
EOSC |
BBSQW |
CONV |
RS2 |
RS1 |
INTCN |
A2IE |
A1IE |
Control |
ー |
0x0F |
OSF |
0 |
0 |
0 |
EN32kHz |
BSY |
A2F |
A1F |
Control/Status |
ー |
0x10 |
SIGN |
DATA |
DATA |
DATA |
DATA |
DATA |
DATA |
DATA |
Aging Offset |
ー |
0x11 |
SIGN |
DATA |
DATA |
DATA |
DATA |
DATA |
DATA |
DATA |
MSB of Temp |
ー |
0x12 |
DATA |
DATA |
0 |
0 |
0 |
0 |
0 |
0 |
LSB of Temp |
ー |
(1)0x00~0x0D 時計レジスタ
|
Alarm 2 registers |
Alarm 1 registers |
watch registers |
アドレス |
0x0D |
0x0C |
0x0B |
0x0A |
0x09 |
0x08 |
0x07 |
0x06 |
0x05 |
0x04 |
0x03 |
0x02 |
0x01 |
0x00 |
データ内容 |
日 |
時 |
分 |
日 |
時 |
分 |
秒 |
年 |
月 |
日 |
曜日 |
時 |
分 |
秒 |
a.Clock and Calendar
時計とカレンダー 時間とカレンダーの情報は、適切なレジスタ バイトを読み取ることによって取得されます。
図 1 は、RTC レジスタを示しています。
時間とカレンダーのデータは、適切なレジスタ バイトを書き込むことによって設定または初期化されます。
時間とカレンダーのレジスタの内容は、2 進化 10 進数 (BCD) 形式です。
DS3231 は、12 時間モードまたは 24 時間モードで実行できます。
時間レジスタのビット 6 は、12 時間モードまたは 24 時間モード選択ビットとして定義されています。
ハイの場合、12 時間モードが選択されます。
12 時間モードでは、ビット 5 は AM/PM ビットで、ロジック ハイは PM です。
24 時間モードでは、ビット 5 は 20 時間ビット (20 ~ 23 時間) です。
年レジスタが 99 から 00 にオーバーフローすると、世紀ビット (月レジスタのビット
7) が切り替わります。
曜日レジスタは午前 0 時に増加します。
曜日に対応する値はユーザー定義ですが、連続している必要があります (つまり、1
が日曜日に等しい場合、2 は月曜日に等しいなど)。
非論理的な時刻と日付のエントリは、未定義の動作になります。
時刻と日付のレジスタの読み取りまたは書き込みを行うときは、内部レジスタの更新時にエラーが発生しないように、セカンダリ (ユーザー) バッファーが使用されます。
時刻と日付のレジスタの読み取りを行うときは、START が発生するたびに、およびレジスタ
ポインタがゼロにロールオーバーするときに、ユーザー バッファーが内部レジスタに同期されます。
時刻情報は、クロックが動作している間、これらのセカンダリ レジスタから読み取られます。
これにより、読み取り中にメイン レジスタが更新された場合に、レジスタを再度読み取る必要がなくなります。
秒レジスタが書き込まれるたびに、カウントダウン チェーンがリセットされます。
書き込み転送は、DS3231 からの確認応答エッジで発生します。
カウントダウン チェーンがリセットされると、ロールオーバーの問題を回避するために、残りの時間と日付のレジスタは 1 秒以内に書き込まれる必要があります。
1Hz の矩形波出力が有効になっている場合、発振器がすでに動作していれば、秒データ転送の 500 ミリ秒後にハイに遷移します。
b.Alarms
アラーム
DS3231 には、2 つの時刻/日付アラームが含まれています。
アラーム 1 は、レジスタ 07h ~ 0Ah に書き込むことで設定できます。
アラーム 2 は、レジスタ 0Bh ~ 0Dh に書き込むことで設定できます。
アラームは、アラーム一致条件で INT/SQW 出力をアクティブにするようにプログラムできます
(制御レジスタのアラーム イネーブル ビットと INTCN ビットによって)。
各時刻/日付アラーム レジスタのビット 7 はマスク ビットです (表 2)。 各アラームのマスク ビットがすべてロジック 0 の場合、タイムキーピング レジスタの値が、時刻/日付アラーム レジスタに格納されている対応する値と一致した場合にのみアラームが発生します。
アラームは、秒、分、時間、日、または日付ごとに繰り返すようにプログラムすることもできます。
表 2 に、可能な設定を示します。
表に記載されていない構成では、非論理的な動作になります。
DY/DT ビット (アラーム日/日付レジスタのビット 6) は、そのレジスタのビット
0 ~ 5 に格納されているアラーム値が曜日を反映するか、月日を反映するかを制御します。
DY/DT が論理 0 に書き込まれると、アラームは月日との一致の結果になります。
DY/DT が論理 1 に書き込まれると、アラームは曜日との一致の結果になります。
RTC レジスタ値がアラーム レジスタ設定と一致すると、対応するアラーム フラグ「A1F」または「A2F」ビットが論理
1 に設定されます。 対応するアラーム割り込みイネーブル「A1IE」または「A2IE」も論理
1 に設定され、INTCN ビットが論理 1 に設定されている場合、アラーム条件によって
INT/SQW 信号がアクティブになります。
一致は、時刻および日付レジスタの 1 秒に 1 回の更新でテストされます。
c.ALARM 1 REGISTER MASK BITS (BIT 7)
DY/DT |
A1M4 |
A1M3 |
A1M2 |
A1M1 |
Alarm Rate |
x |
1 |
1 |
1 |
1 |
Alarm once per second
1 秒に 1 回アラーム |
x |
1 |
1 |
1 |
0 |
Alarm when seconds match
秒が一致したらアラーム |
x |
1 |
1 |
0 |
0 |
Alarm when minutes and seconds match
分と秒が一致したらアラーム |
x |
1 |
0 |
0 |
0 |
Alarm when hours, minutes, and seconds match
時間、分、秒が一致したらアラーム |
0 |
0 |
0 |
0 |
0 |
Alarm when date, hours, minutes, and seconds match
日付、時間、分、秒が一致したらアラーム |
1 |
0 |
0 |
0 |
0 |
Alarm when day, hours, minutes, and seconds match
曜日、時間、分、秒が一致したらアラーム |
d.ALARM 2 REGISTER MASK BITS (BIT 7)
DY/DT |
A1M4 |
A1M3 |
A1M2 |
Alarm Rate |
x |
1 |
1 |
1 |
Alarm once per minute (00 seconds of every minute)
1 分に 1 回アラーム (毎分 00 秒) |
x |
1 |
1 |
0 |
Alarm when minutes match
分が一致したらアラーム |
x |
1 |
0 |
0 |
Alarm when hours and minutes match
時間と分が一致したらアラーム |
0 |
0 |
0 |
0 |
Alarm when date, hours, and minutes match
日付、時間、分が一致したらアラーム |
1 |
0 |
0 |
0 |
Alarm when day, hours, and minutes match
曜日、時間、分が一致したらアラーム |
[レジスター一覧へ戻る]
(2)0x0E 制御レジスタ
EOSC |
0 |
論理 0 に設定すると、発振器が起動します。 |
1 |
論理 1 に設定すると、DS3231 が VBAT に切り替わったときに発振器が停止します。 |
発振器の有効化:Enable Oscillator (EOSC)。
このビットは、最初に電源が投入されたときにクリアされます (論理 0)。
DS3231 が VCC によって電源供給されている場合、EOSC ビットの状態に関係なく、発振器は常にオンになります。
EOSC が無効になっている場合、すべてのレジスタ データは静的です。 |
BBSQW |
0 |
BBSQW が論理0の場合、VCC < VPF のときに INT/SQW ピンは高インピーダンスになります。 |
1 |
INTCN = 0 で VCC < VPF のときに論理 1 に設定すると、このビットは方形波を有効にします。 |
バッテリバックアップ方形波有効:Battery-Backed Square-Wave Enable (BBSQW).
このビットは、最初に電源が投入されたときに無効 (論理 0) になります。 |
CONV |
0 |
|
1 |
変換が進行中でない場合に1に設定すると温度センサーは温度をデジタル コードに変換し、TCXO
アルゴリズムを実行して、発振器への容量アレイを更新します。 |
温度変換:Convert Temperature (CONV)
ユーザーは、コントローラに新しい TCXO 実行を強制する前に、ステータス ビット
BSY を確認する必要があります。
ユーザーが開始した温度変換は、内部の 64 秒更新サイクルには影響しません。
ユーザーが開始した温度変換は、約 2 ミリ秒間 BSY ビットに影響しません。
CONV ビットは、書き込まれた時点から変換が終了するまで 1 のままです。変換が終了すると、CONV と BSY の両方が 0 になります。
CONV ビットは、ユーザーが開始した変換のステータスを監視するときに必要 |
RS2
RS1 |
RS2 |
RS1 |
矩形波出力 |
0 |
0 |
1Hz |
0 |
1 |
1.024kHz |
1 |
0 |
4.096kHz |
1 |
1 |
8.192kHz |
レート選択:Rate Select (RS2 and RS1).
これらのビットは、方形波が有効になっているときに方形波出力の周波数を制御します。
次の表は、RS ビットで選択できる方形波周波数を示しています。
これらのビットは両方とも、電源が最初に投入されたときにロジック 1 (8.192kHz)
に設定されます。 |
INTCN |
0 |
INTCN ビットが論理 0 に設定されている場合、INT/SQW ピンに方形波が出力されます。 |
1 |
INTCN ビットが論理 1 に設定されている場合、タイム キーピング レジスタとアラーム レジスタのいずれかが一致すると、INT/SQW 出力がアクティブになります (アラームも有効になっている場合)。 |
割り込み制御:Interrupt Control (INTCN)
このビットは INT/SQW 信号を制御します。
対応するアラーム フラグは、INTCN ビットの状態に関係なく常に設定されます。
INTCN ビットは、電源が最初に投入されたときに論理 1 に設定されます。 |
A2IE |
0 |
A2IE ビットが論理 0 に設定されている場合、または INTCN が論理 0 に設定されている場合、A2F ビットは割り込み信号を開始しません。 |
1 |
このビットが論理 1 に設定されている場合、ステータス レジスタのアラーム 2 フラグ (A2F) ビットが INT/SQW をアサートできます (INTCN = 1 の場合)。 |
アラーム 2 割り込み有効:Alarm 2 Interrupt Enable (A2IE).
電源が最初に投入されると、A2IE ビットは無効 (論理 0) になります。 |
A1IE |
0 |
A1IE ビットが論理 0 に設定されている場合、または INTCN が論理 0 に設定されている場合、A1F ビットは INT/SQW 信号を開始しません。 |
1 |
このビットが論理 1 に設定されている場合、ステータス レジスタのアラーム 1 フラグ (A1F) ビットが INT/SQW をアサートすることを許可します (INTCN = 1 の場合) |
アラーム 1 割り込み有効 :Alarm 1 Interrupt Enable(A1IE)。
電源が最初に投入されると、A1IE ビットは無効 (論理 0) になります。 |
[レジスター一覧へ戻る]
(3)0x0F ステータスレジスタ
OSF |
0 |
--0書込み出来ます。 |
1 |
発振器が停止しているか、一定期間停止していたことを示す。 |
発振器停止フラグ:Oscillator Stop Flag (OSF)。
計時データの有効性を判断するために使用できます。
このビットは、発振器が停止するたびに論理 1 に設定されます。
以下は、OSF ビットが設定される可能性のある条件の例です:
1) 初めて電源が投入されたとき。
2) VCC と VBAT の両方に存在する電圧が、発振をサポートするのに不十分です。
3) EOSC ビットがバッテリ バックアップ モードでオフになっています。
4) 水晶振動子への外部の影響 (ノイズ、リークなど)。
このビットは、論理 0 に書き込まれるまで論理 1 のままです。 |
EN32kHz |
32kHz 出力の有効化 :Enable 32kHz Output(EN32kHz)。
このビットは 32kHz ピンの状態を制御します。
ロジック 1 に設定すると、32kHz ピンが有効になり、32.768kHz 方形波信号を出力します。
ロジック 0 に設定すると、32kHz ピンは高インピーダンス状態になります。
このビットの初期電源投入状態はロジック 1 で、DS3231 に電源が供給されると
(発振器が動作している場合)、32kHz ピンに 32.768kHz 方形波信号が表示されます。 |
BS-Y |
0 |
デバイスが 1 分間アイドル状態になるとクリアされます。 |
1 |
温度センサーへの変換信号がアサートされるとロジック 1 になり |
ビジー :Busy(BSY)
このビットは、デバイスが TCXO 機能の実行でビジーであることを示します。
|
A2F |
0 |
--0書込み出来ます。 |
1 |
アラーム21 フラグ ビットの論理 1 は、時刻がアラーム 2 レジスタと一致したことを示します。
A2IE ビットが論理 1 でINTCN ビットが論理 1 に設定されている場合、INT/SQW
ピンもアサートされます。 |
アラーム 2 フラグ :Alarm 2 Flag (A2F)
A2F は、論理 0 に書き込まれるとクリアされます。
このビットは、論理 0 にのみ書き込むことができます。
論理 1 に書き込もうとしても、値は変更されません。
|
A1F |
0 |
--0書込み出来ます。 |
1 |
アラーム 1 フラグ ビットの論理 1 は、時刻がアラーム 1 レジスタと一致したことを示します。
A1IE ビットが論理 1 で、INTCN ビットが論理 1 に設定されている場合、INT/SQW
ピンもアサートされます。 |
アラーム 1 フラグ:Alarm 1 Flag (A1F)
A1F は、論理 0 に書き込まれるとクリアされます。
このビットは、論理 0 にのみ書き込むことができます。
論理 1 に書き込もうとしても、値は変更されません。 |
[レジスター一覧へ戻る]
(4)0x10 Aging Offset
エージング オフセット エージング オフセット レジスタは、ユーザー指定の値を使用して、容量アレイ
レジスタのコードに加算または減算します。
コードは 2 の補数でエンコードされ、ビット 7 は符号ビットを表します。
1 つの LSB は、水晶ピンで容量アレイに挿入または切断される 1 つの小型コンデンサを表します。
エージング オフセット レジスタの容量値は、デバイスが各温度補償に対して計算する容量値に加算または減算されます。
オフセット レジスタは、通常の温度変換中、温度が前回の変換から変化した場合、または手動ユーザー変換中
(CONV ビットの設定) に容量アレイに追加されます。
エージング レジスタが 32kHz 出力周波数に及ぼす影響をすぐに確認するには、エージング レジスタを変更するたびに手動変換を開始する必要があります。
正のエージング値はアレイに容量を追加し、発振器周波数を遅くします。
負の値はアレイから容量を削除し、発振器周波数を増加します。 LSB あたりの
ppm の変化は、温度によって異なります。
周波数対温度曲線は、このレジスタで使用される値によってシフトします。
+25°C では、1 LSB で通常約 0.1ppm の周波数変化がもたらされます。
エージング レジスタの使用は、EC テーブルで定義されている精度を達成するために必要ではありませんが、特定の温度でのエージングを補正するために使用できます。
温度に対する精度に対するレジスタの影響を示すグラフについては、「一般的な動作特性」セクションを参照してください。
[レジスター一覧へ戻る]
(5)0x11 0x12 温度レジスタ(上位 下位)
上位ビットが整数部
下位ビットが小数点で分解能は0.25
[レジスター一覧へ戻る]
[目次に戻る]
|