セイコーインスツル株式会社の、S-35180 (S-35190A互換)チップを積んでるらしいです。
(http://www.sii.co.jp/)
ミニ 8pin RTC、 3 ワイヤーシリアルバスって書いてあります。


**4000138h - リアルタイムクロックレジスタ [#jf9b9b27]

|ビット|説明|h
|0|データ I/O   (0=Low, 1=High)|
|1|クロック出力  (0=Low, 1=High)|
|2|選択出力 (0=Low, 1=High/Select)|
|3|未使用 I/O ライン|
|4|データ方向 (0=読み込み, 1=書き込み)|
|5|クロック方向 (常に 1=書き込み)|
|6|選択方向 (常に 1=書き込み)|
|3,8-11|未使用 I/O ライン|
|7,12-15|ビット8〜11の方向 (常に 0)|
|7|ビット 3 の方向 ? (常に 0)|
|8 〜 11|未使用 I/O ライン|
|12 〜 15|ビット8〜11の方向 (常に 0)|

**シリアル転送フローチャート [#gfba951b]

-チップ選択とコマンド・パラメータシーケンス

 CS = LOW 、 /SCK = HIGH に初期化。最低1マイクロ秒待つ
 CS = HIGH に変更。最低1マイクロ秒待つ
 コマンドバイトを送信 (bit-transfer 参照)
 送ったコマンドに合わせた、パラメータバイト列の送受信
 CS を LOW に変更

-ビット転送(コマンド・パラメータバイト列を8回繰り返す。LSBが最初に来る)

 /SCK = LOW と SIO = databit として出力 (書き込み時), 最低5マイクロ秒待つ
 /SCK = HIGH 出力, 最低5マイクロ秒待った後、SIO = databit として読み込み(読み込み時)
 In either direction, data is output on (or immediately after) falling edge.

両方のコマンドとパラメータの転送がLSBファーストになることが望ましい。
(セイコーのドキュメントにはLSBファーストになるのはデータで、コマンドはMSBファーストとなっている)


**コマンドレジスタ [#jf7ae964]

|Fwd|Rev|>|>||
|0-3|7-4|>|>|固定コード (06h = 0110b にしなければならない) (Fwd と Rev は同じ値)|
|4-6|3-1|>|>|コマンド|
|>||Fwd|Rev|パラメータバイト列 (読み/書きアクセス)|
|>||0|0|1 byte, ステータスレジスタ 1|
|>||4|1|1 byte, ステータスレジスタ 2|
|>||2|2|7 bytes, データ & 時間 (年,月,日,曜日,時,分,秒)|
|>||6|3|3 bytes, 時間 (時,分,秒)|
|>||1*|4*|1 byte, int1, 周期設定|
|>||1*|4*|3 bytes, int1, アラーム時間 1 (曜日,時,分)|
|>||5|5|3 bytes, int2, アラーム時間 2 (曜日,時,分)|
|>||3|6|1 byte, クロック調節レジスタ|
|>||7|7|1 byte, フリーレジスタ|
|7|0|>|>|パラメータ 読み/書き アクセス (0=書き込み, 1=読み込み)|

INT1: Type and number of parameters depend on INT1 setting in stat reg2. 
The "Fwd" bit numbers and command values for LSB-first command transfers (ie. both commands and parameters use the same bit-order).
The "Rev" numbers/values are for MSB-first command transfers (ie. commands using opposite bit-order than parameters, as being suggested by Seiko).

**コントロールとステータスレジスタ [#q22402dd]

-ステータスレジスタ 1
|0|W|リセット(0=通常, 1=リセット)|
|1|R/W|12/24 時間モード (0=12時間, 1=24時間)|
|2-3|R/W|General purpose bits|
|4|R|割り込み 1 フラグ (1=ON) ;auto-cleared on read|
|5|R|割り込み 2 フラグ (1=ON) ;auto-cleared on read|
|6|R|電源ローフラグ (0=通常, 1=電源ロー) ;auto-cleared on read|
|7|R|電源オフフラグ (0=通常, 1=電源オフ) ;auto-cleared on read|

電源オフは、バッテリーが取り除かれたか、完全に充電が切れた状態を示し、全てのレジスタが0x00(または0x01)にリセットされる。このとき、もう一度初期化しなければならない。

-ステータスレジスタ 2
|0-3|R/W|INT1 モード/有効&br;0000b 無効&br;0x01b 割り込み周期選択&br;0x10b Per-minute edge interrupt&br;0011b Per-minute steady interrupt 1 (duty 30.0 secomds)&br;0100b アラーム 1 割り込み&br;0111b Per-minute steady interrupt 2 (duty 0.0079 secomds)&br;1xxxb 32kHz 出力|
|4-5|R/W|General purpose bits|
|6|R/W|INT2 有効&br; 0b    無効&br;  1b    アラーム 2 割り込み|
|7|R/W|テストモード (0=通常, 1=テスト, 使わない) (cleared on Reset)|

-クロック調節レジスタ (発振器の誤差を訂正?)
|0-7|R/W|調節 (00h=通常, 調節無し)|

-フリーレジスタ
|0-7|R/W|General purpose bits|

**日付用レジスタ [#w941d4c9]
-年レジスタ
|0-7|R/W|年 (BCD 00h〜99h = 2000〜2099)|

-月レジスタ
|0-4|R/W|月 (BCD 01h〜12h = 1月〜12月)|
|5-7|-|未使用 (常に0)|

-日レジスタ
|0-5|R/W|日 (BCD 01h〜28h,29h,30h,31h, 最終日は年・月の指定による)|
|6-7|-|未使用 (常に0)|

-曜日レジスタ (7進数カウンタ)
|0-2|R/W|曜日 (00h〜06h, カスタム割り当て, 通常 0=月曜?)|
|3-7|-|未使用 (常に0)|

**時間レジスタ [#o1dc3cef]
-時レジスタ
|0-5|R/W|時 (BCD 00h〜23h →24時間モード, もしくは 00h〜11h →12時間モード)|
|6|*|AM/PM (0=AM, 1=PM)&br;    * 24時間モード: AM/PM フラグは読み込み専用 (PM=1 if hour = 12h〜23h)&br; * 12時間モード: AM/PM フラグは読み書き可能&br;       * 12時間モード: Observe that 12 o'clock is defined as 00h (not 12h)|
|7|-|未使用 (常に0)|

-分レジスタ
|0-6|R/W|分 (BCD 00h..59h)|
|7|-|未使用 (always zero)|

-秒レジスタ
|0-6|R/W|秒 (BCD 00h..59h)|
|7|-|未使用 (常に0)|

**アラーム 1 と アラーム 2 レジスタ [#u85ad09c]

-アラーム1 と アラーム2 曜日レジスタ (INT1 and INT2 each)
|0-2|R/W|曜日 (00h〜06h)|
|3-6|-|未使用 (常に0)|
|7|R/W|比較有効 (0=毎日アラーム, 1=指定された日のみアラーム)|

-アラーム1 と アラーム2 時レジスタ (INT1 and INT2 each)
|0-5|R/W|時 (BCD 00h..23h in 24h mode, or 00h..11h in 12h mode)|
|6|R/W|AM/PM    (0=AM, 1=PM) (must be correct even in 24h mode?)|
|7|R/W|比較有効 (0=毎時アラーム, 1=指定された"時"のみアラーム)|

-アラーム1 と アラーム2 分レジスタ (INT1 and INT2 each)
|0-6|R/W|分 (BCD 00h..59h)|
|7|R/W|比較有効 (0=毎分アラーム, 1=指定された"分"のみアラーム)|

-割り込み周期選択レジスタ (INT1 only) (when Stat2/Bit2=0)
|0|R/W|1Hz 周期有効 (0=無効, 1=有効)|
|1|R/W|2Hz 周期有効 (0=無効, 1=有効)|
|2|R/W|4Hz 周期有効 (0=無効, 1=有効)|
|3|R/W|8Hz 周期有効 (0=無効, 1=有効)|
|4|R/W|16Hz 周期有効 (0=無効, 1=有効)&br;      The signals are ANDed when two or more frequencies are enabled,&br;        ie. the /INT signal gets LOW when either of the signals is LOW.|
|5-7|R/W|General purpose bits|

Note: There is only one register shared as "Selected Frequency Steady Interrupt" (accessed as single byte parameter when Stat2/Bit2=0) and as "Alarm1 Minute" (accessed as 3rd byte of 3-byte parameter when Stat2/Bit2=1), changing either value will also change the other value.

**割り込み [#x004a091]
There's only one /INT signal, shared for both INT1 and INT2.
In the NDS, it is connected to the SI-input of the SIO unit (and so, also shared with SIO interrupts). To enable the interrupt, RCNT should be set to 8144h (Bit14-15=General Purpose mode, Bit8=SI Interrupt Enable, Bit6,2=SI Output/High).
Not sure why Output/High... maybe as pullup... however, it seems to be working also as Input... ie. RCNT=8100h.

**ピン詳細 [#te427536]

  1 /INT      8 VDD
  2 XOUT      7 SIO
  3 XIN       6 /SCK
  4 GND       5 CS

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS