Hobby Lab 趣味のモノ作り実験のサイトです。
部品 センサー他 DS3231 ハードウェア
1.概要
2.簡単に使う
3.I2Cスレーブアドレス
4.レジスタ
 レジスタ一覧

I2C 関係
プロトコル
 I2C について
スレーブ関係資料
 ADS1115 16bit4CH A/D
 INA226 直流電圧電流計
 BME280 気圧,湿度,気温計
 BH1750 照度計
 DS3231 時計
 SSD1306 0.96"OLED
マスター関係プログラム
 I2C RaspberryPi_設定
ADS1115
 RaspberryPi_コマンド接続
 RaspberryPi_Python
 Arduino
 CH23V203 MounRiverStudioⅡ
INA226
 Arduino
 RaspberryPi_Python
BNE280
 Arduino
 RaspberryPi_Python
BH1750
 Arduino
 RaspberryPi_Python
DS3231
 Arduino
 RaspberryPi_Python
SSD1306
 Arduino
 RaspberryPi_Python

Pr:Sensor_AD_時計等
PrS:電圧、電流
ADS1115 16bit4CH I2C A/D
 Hardware
 RaspberryPi_コマンド接続
 RaspberryPi_Python
 Arduino
 CH23V203 MounRiverStudioⅡ
INA226 I2C 直流電圧電流
 Hardware
 Arduino
 RaspberryPi_Python
WCS 電流ホール素子
 Hardware
PrS:温度、気圧、湿度、照度
BNE280 I2C 気圧,湿度,気温
 Hardware
 Arduino
 RaspberryPi_Python
BH1750 I2C 照度
 Hardware
 Arduino
 RaspberryPi_Python
DS18B20 1-Wire 温度計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:時間、日時
DS3231 I2C 時計
 Hardware
 Arduino
 RaspberryPi_Python
PrS:表示器
MAR3953 320X480 3.95"
 概要と線や点を描く
 フォントを描く
SSD1306 I2C 0.96"OLED
 Hardware
 Arduino
 RaspberryPi_Python
Pr:Wire 電線関係
Pr:Resistance 抵抗
Pr:Capacitor コンデンサ
Pr:Coil コイル
Pr:PassiveElmt 受動素子
Pr:Diode ダイオード関係
Pr:OPAMP オペアンプ関係
PrO:送受信機  Si4735
PrO:オペアンプ  LM324
 LM358
Pr:Tr トランジスタ関係
2SC1815
 リレードライバー設計
 アンプ設計
 発振器
TLP152
 TLP152テスト
TLP2361
 TLP2361テスト
TLP5754
 TLP5754テスト
Pr:Source 電源関係  ツェナーダイオード
 TL431
 LM317
PrS:Downモジュール
 EGS002_IR2110S
 SKU011012
 ACDC02
 XH_M299
 LM2596
 Mini360_MP23070N
 DROK
 WH140
PrS:UPモジュール
 MT3608
PrS:充電モジュール
 TP4056
Pr:Old Processor他
Pr:Prプロセッサ関係
PrP:プロセッサ
動作比較
 STM32F動作比較
 CH32V203&STM32F 動作比較
 arduino動作比較
raspberrypi関係
 RaspberryPiハード
CH32V関係
 -CH32V開始
 -203K8T6(32Pin)開始
 -203C8T6(48P)開始
 -003J4M6(8Pin)開始
 -003F4P6(20Pin)開始
 -Moun River StudioⅡ
 プログラミング!
  203_GPIO関係
  203_TIME関係
  203_TIME Encoder
  203_I2C関係
  203_1-Wire関係
  003_DS18B20テスター
  USART(UART)関係
  DS18B20をModBus制御
 -マニュアル
 203データシート
 203取説
  MBA メモリとバス方式
  PWR 電力制御
  RCC リセット・拡張・クロック
  BKP バックアップレジスタ
  CRC 巡回冗長検査
  RTC リアルタイムクロック
  GPIO GPIOと代替機能
  DMA ダイレクトメモリアクセス制御
  ADTM 高度な制御タイマー
  GPTM 汎用タイマー
  BCTM 基本タイマー
  USART 同期非同期通信
arduino関係
 ESP12関係
 (a)ESP-8266D1mini注意
PrP:その他  RS485ドライバー
 CP2102 BRIDGE
 WCH-LinkEエミュレーター

1.概要

DS3231 は、温度補償型水晶発振器 (TCXO) と水晶を内蔵した、低コストで極めて正確な I2C リアルタイム クロック (RTC) です。 このデバイスにはバッテリー入力が組み込まれており、デバイスの主電源が中断されても正確な計時を維持します。
水晶共振器を内蔵しているため、デバイスの長期精度が向上するとともに、製造ラインの部品数も削減されます。
DS3231 は、商用および工業用温度範囲で使用可能で、16 ピン、300 ミル SO パッケージで提供されます。
RTC は、秒、分、時間、曜日、日付、月、年に関する情 報を維持します。
月末の日付は、閏年補正を含め、31 日未満の月には自動的に調整されます。 このクロックは、AM/PM インジケーター付きの 24 時間形式または 12 時間形式で動作します。
プログラム可能な 2 つの時刻アラームとプログラム可能な方形波出力が提供されます。 アドレスとデータは、I2C 双方向バスを介してシリアルに転送されます。
高精度の温度補償電圧リファレンスおよびコンパレータ回路は、VCC の状態を監視して電源障害を検出し、リセット出力を提供し、必要に応じてバックアップ電源に自動的に切り替えます。
機能
高精度 RTC がすべての計時機能を完全に管理 ? リアルタイム クロックが秒、分、時間、日付、月、曜日、年をカウントし、うるう年補正は 2100 年まで有効
* 0°C ~ +40°C で精度 ±2ppm
* -40°C ~ +85°C で精度 ±3.5ppm
* デジタル温度センサー出力: ±3°C 精度
* エージング トリムのレジスタ ? RST 出力/プッシュボタン リセット デバウンス入力
* 2 つの時刻アラーム ? プログラム可能な方形波出力信号
シンプルなシリアル インターフェイスでほとんどのマイクロコントローラに接続
* 高速 (400kHz) I2C インターフェイス
連続計時用のバッテリー バックアップ入力
* 低消費電力動作でバッテリー バックアップの実行時間を延長
* 3.3V 動作
動作温度範囲:商業用(0°C ~ +70°C)および工業用(-40°C ~ +85°C)
Underwriters LaboratoriesR(UL)認定

回路図


Pinアサイン
Pin DEVICE DESCRIPTION
1 32k 32kHz 出力。 このオープンドレイン ピンには外部プルアップ抵抗が必要です。 有効にすると、出力はどちらの電源でも動作します。 使用しない場合はオープンのままにできます。
2 SQW INT/SQW アクティブ ロー割り込みまたは方形波出力。
このオープン ドレイン ピンには、5.5V 以下の電源に接続された外部プルアップ抵抗が必要です。
この多機能ピンは、制御レジスタ (0Eh) の INTCN ビットの状態によって決まります。
INTCN が論理 0 に設定されている場合、このピンは方形波を出力し、その周波数は RS2 ビットと RS1 ビットによって決まります。
INTCN が論理 1 に設定されている場合、タイムキーピング レジスタとアラーム レジスタのいずれかが一致すると、INT/SQW ピンがアクティブになります (アラームが有効になっている場合)。
電源が最初に投入されたときに INTCN ビットが論理 1 に設定されているため、ピンはデフォルトでアラームが無効の割り込み出力になります。
プルアップ電圧は、VCC の電圧に関係なく、最大 5.5V です。
使用しない場合は、このピンを未接続のままにすることができます。
3 SCL シリアル クロック入力。 このピンは、I2Cシリアル インターフェイスのクロック入力であり、シリアル インターフェイス上のデータ移動を同期するために使用されます。 このピンには、VCC の電圧に関係なく、最大 5.5V を使用できます。
4 SDA シリアル データ入力/出力。 このピンは、I2Cシリアル インターフェイスのデータ入力/出力です。 このオープン ドレイン ピンには、外部プルアップ抵抗が必要です。 プルアップ電圧は、VCC の電圧に関係なく、最大 5.5V です。
5 VCC プライマリ電源用の DC 電源ピン。 このピンは、0.1μF ~ 1.0μF のコンデンサを使用してデカップリングする必要があります。 使用しない場合は、グランドに接続します。
6 GND Ground

EEPROM I2Cアドレス
  A2 A1 A0 ADD
1 0 0 0 0x50
2 0 0 1 0x51
3 0 1 0 0x52
4 0 1 1 0x53
5 1 0 0 0x54
6 1 0 1 0x55
7 1 1 0 0x56
8 1 1 1 0x57



2.簡単に使う

下記についてはArduinoでDS3231のライブラリをインストールしてコマンドを使用している。
(1)アクセスの仕方(DS3231の値を読む方法)
 I2C通信の信号は3種類 ②値を要求する ③値の返信
②値を要求する場合は 要求する装置の「スレーブアドレス」+要求する値の「レジスタアドレス」です。
③値の返信は 要求する装置の「スレーブアドレス」+要求する値の「レジスタ内容」です。
要求する値のレジスタアドレスを簡単に下記に記載します。  実際はもっと有ります 「3.レジスタ」参照
  Alarm 2 registers Alarm 1 registers
アドレス 0x0D 0x0C 0x0B 0x0A 0x09 0x08 0x07
データ内容

  watch registers
アドレス 0x06 0x05 0x04 0x03 0x02 0x01 0x00
データ内容 曜日

(2-1)年データを取得する。  使用コマンド myRTC.getYear()
 a.②値を要求する
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの選択
->
ー>
68
0x06
 b.③値の返信
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの内容
->
ー>
68
0x22


(2-2)時間データを取得する。  使用コマンド myRTC.getHour(h12Flag, pmFlag)
 a.②値を要求する
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの選択
->
ー>
68
0x02
 b.③値の返信
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの内容
->
ー>
68
0x09


(3-1) 年データを設定する  使用コマンド myRTC.setYear(22);
    時間と秒だけが信号が違っていたので、(3-2)(3-3)で示す。
 a.①値を設定する
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの選択
(c)設定する値
->
ー>
ー>
68
0x06
0x22


(3-2) 時間データを設定する  使用コマンド myRTC.setHour(9);
  10時から9時へ変更 時間だけが書込む前に値を要求・取得している。
  「c.①値を設定する」だけで良いと思う。 a.およびb.の必要性は不明です。
 a.②値を要求する
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの選択
->
ー>
68
0x02
 b.③値の返信
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの内容
->
ー>
68
0x10
 c.①値を設定する
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの選択
(c)設定する値
->
ー>
ー>
68
0x02
0x09


(3-3) 秒データを設定する  使用コマンド myRTC.setMinute(0);
 「a.①値を設定する」だけで良いと思が、なぜ32khzピンに方形波を出しているか、また出す事を設定しているか判らない。
 a.①値を設定する
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの選択
(c)設定する値
->
ー>
ー>
68
0x01
0x00
 b.②値を要求する
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの選択
->
ー>
68
0x0F
 c.③値の返信
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの内容
->
ー>
68
0x08
 d.①値を設定する
(a)読取るDS3231のスレーブアドレス番号
(b)要求する値のレジスタの選択
(c)設定する値
->
ー>
ー>
68
0x0F
0x08




3.I2Cアドレスの選択

 I2Cのアドレスは7bitで値設定は 0x68

 EEPROM は デフォルトは 0x57  A0 A1 A2で変更可能 0x50~0x57



4.レジスター

レジスタ一覧
ADD bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
0x00 0 10 Seconds Seconds
0x01 0 10 Minutes Minutes
0x02 0 12/24 AM/PM 10 Hour Hour
20 Hour
0x03 0 0 0 0 0 Day
0x04 0 0 10 Date Date
0x05 Century 0 0 10 Month Month
0x06 10 Year Year
0x07 A1M1 10 Seconds Seconds
0x08 A1M2 10 Minutes Minutes
0x09 A1M3 12/24 AM/PM 10 Hour Hour
20 Hour
0x0A A1M4 DY/DT 10 Date Day
Date
0x0B A2M2 10 Minutes Minutes
0x0C A2M3 12/24 AM/PM 10 Hour Hour
20 Hour
0x0D A2M4 DY/DT 10 Date Day
Date
0x0E EOSC BBSQW CONV RS2 RS1 INTCN A2IE A1IE
0x0F OSF 0 0 0 EN32kHz BSY A2F A1F
0x10 SIGN DATA DATA DATA DATA DATA DATA DATA
0x11 SIGN DATA DATA DATA DATA DATA DATA DATA
0x12 DATA DATA 0 0 0 0 0 0

ADD Function Range
0x00 Seconds 00~59
0x01 Minutes 00~59
0x02 Hours 1~12+AM/PM
00~23
0x03 Day 1~7
0x04 Date 01~31
0x05 Month/Century 01~12+Century
0x06 Year 00~99
0x07 Alarm 1 Seconds 00~59
0x08 Alarm 1 Minutes 00~59
0x09 Alarm 1 Hours 1~12+AM/PM
00~23
0x0A Alarm 1 Day 1~7
Alarm 1 Date 1~31
0x0B Alarm 2 Minutes 00~59
0x0C Alarm 2 Hours 1~12+AM/PM
00~23
0x0D Alarm 2 Day 1~7
Alarm 2 Date 1~31
0x0E Control
0x0F Control/Status
0x10 Aging Offset
0x11 MSB of Temp
0x12 LSB of Temp

(1)0x00~0x0D 時計レジスタ
  Alarm 2 registers Alarm 1 registers
アドレス 0x0D 0x0C 0x0B 0x0A 0x09 0x08 0x07
データ内容

  watch registers
アドレス 0x06 0x05 0x04 0x03 0x02 0x01 0x00
データ内容 曜日

 a.Clock and Calendar
時計とカレンダー 時間とカレンダーの情報は、適切なレジスタ バイトを読み取ることによって取得されます。
レジスタ一覧 は、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 に書き込むことで設定できます。
説明している表は[c.ALARM 1 REGISTER MASK BITS]又は[d.ALARM 2 REGISTER MASK BITS]で以下表と言う。
アラームは、アラーム一致条件で INT/SQW 出力をアクティブにするようにプログラムできます (制御レジスタのアラーム イネーブル ビットと INTCN ビットによって)。
各時刻/日付アラーム レジスタのビット 7 はマスク ビットです (表 )。 各アラームのマスク ビットがすべてロジック 0 の場合、タイムキーピング レジスタの値が、時刻/日付アラーム レジスタに格納されている対応する値と一致した場合にのみアラームが発生します。
アラームは、秒、分、時間、日、または日付ごとに繰り返すようにプログラムすることもできます。
表に、可能な設定を示します。
表に記載されていない構成では、非論理的な動作になります。
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
0
1
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

[レジスター一覧へ戻る]





































更新日 2025/11/24 19:49  管理者 平林 剛Hirabayashi Takeshi