ハードウェア - m-honda/slee-pi2 GitHub Wiki

ハードウェア

1. 外形図

外形図

2. 仕様

項目 仕様 備考
寸法 64.5mm x 56mm コネクタ類の突起物を除く
入力電圧 6 ~ 24V  
消費電流(本製品のみ) 最大 50mA 入力電圧 12V 時
消費電流(スリープ時) 20μA 以下 入力電圧 12V 時 バックアップキャパシタ満充電後
動作温度 -20℃ ~ 60℃ 結露なきこと
環境基準 ROHS, 鉛フリー  

3. インターフェース

LED1

緑色の LED です。
Raspberry Pi の状態を表します。
後述の HEARTBEAT 信号に同期して点滅します。

LED2

赤色の LED です。
slee-Pi 2 の状態を表します。
LED の動作と slee-Pi 2 の状態の対応は次のとおりです。

動作 状態
点灯 パワーオン
点滅 シャットダウン
消灯 スリープ

SW1

手動起動用のプッシュスイッチです。
スリープ中に押すと起動します。
押下された秒数はパワーマネジメントモジュール部のカウントレジスタに反映されます。
パワーオン状態で 10 秒以上押し続けると強制的に電源を遮断します。

DIPSW1

パワーマネジメントモジュール部の I2C アドレスを変更するために使用するディップスイッチです。
各スイッチの番号と I2C アドレスとの対応は次のとおりです。

ADDRESS[h] DIP1 DIP2
0x69 OFF OFF
0x6A ON OFF
0x6C OFF ON
無効 ON ON

CN1, CN2

電源入力用のコネクタです。
形状は日本圧着端子製造の S2B-XH-A です。
XHP-2 が嵌合します。
電源コネクタと補助電源コネクタは電気的に等価です。

ピン番号 仕様 備考
1 電源+ 付属ハーネス黄色
2 電源‐ 付属ハーネス黒色

CN3

外部入力信号を接続するためのコネクタです。
形状は日本圧着端子製造の SB2-EH です。
EHR-2 が嵌合します。
入力は無電圧です。
信号は非絶縁です。

CN4

外部出力信号を接続するためのコネクタです。
形状は日本圧着端子製造の SB2-EH です。
EHR-2 が嵌合します。
出力はオープンコレクタです。
信号は絶縁です。

CN5

Raspberry Pi にスタックするためのピンソケットです。
使用する GPIO は次のとおりです。
出荷時には 太字 の GPIO ポートが有効になっています。

GPIO 名 設定 機能 備考
GPIO18 / GPIO16 IN RI JP1 で選択
GPIO26 / GPIO23 IN IRQ JP2 で選択
GPIO5 / GPIO24 OUT HEARTBEAT JP3 で選択

JP1

RI 信号の割り当てを設定します。
GPIO16 と GPIO18 が選択できます。
3GPi 着信時にスリープ状態から復帰するために使用します。

JP2

IRQ 信号の割り当てを設定します。
GPIO26 と GPIO23 が選択できます。
リアルタイムクロックのアラームを通知するために使用します。

JP3

HEARTBEAT 信号の割り当てを設定します。
GPIO5 と GPIO24 が選択できます。
Raspberry Pi の応答を監視するために使用します。

JP4

設定をリセットする際にジャンパします。
Reset 表記位置のピンをショートするとリセットが発生します。

4. リアルタイムクロックモジュール

Linux 上では ds3231 の互換デバイスとして動作します。 I2C アドレスは 0x68 に固定されています。

レジスタマップ

ADDRESS[h] FUNCTION BIT 7(MSB) BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0(LSB)
00 Seconds - 40 20 10 8 4 2 1
01 Minutes - 40 20 10 8 4 2 1
02 Hours - - 20 10 8 4 2 1
03 Day - - - - - 4 2 1
04 Date - - 20 10 8 4 2 1
05 Month - - - 10 8 4 2 1
06 Year 80 40 20 10 8 4 2 1
07 Alarm Seconds - 40 20 10 8 4 2 1
08 Alarm Minutes - 40 20 10 8 4 2 1
09 Alarm Hours - - 20 10 8 4 2 1
0A Alarm Date - 40 20 10 8 4 2 1
0B - - - - - - - - -
0C - - - - - - - - -
0D - - - - - - - - -
0E Control - - - - - - - AIE
0F Status OSF - - - - - - AF
10 Aging Offset MSB LSB
11 - - - - - - - - -
12 - - - - - - - - -
13 - - - - - - - - -

00-02h 時刻レジスタ

  • [Seconds], [Minutes]
    60 進の BCD カウンタです。

  • [Hours]
    24 進の BCD カウンタです。
    下位レジスタからの桁上げでインクリメントされます。

03h 曜日レジスタ

  • [Day]
    曜日に対応した BCD カウンタです。
    対応は下表のとおりです。

    曜日
    1 2 3 4 5 6 7

04-06h 暦レジスタ

暦は 2000-2099 年までのうるう年に対応しています。
下位レジスタからの桁上げでインクリメントされます。
時刻レジスタが 23:59:59 から 00:00:00 へロールオーバーする際に [Date] がインクリメントされます。
下表の [Month], [Date] で [Date] がインクリメントされると桁上げが発生し [Date] は 01 に戻ります。

Month 01 02 03 04 05 06 07 08 09 10 11 12
Date 31 28 31 30 31 30 31 31 30 31 30 31
(うるう年) - 29 - - - - - - - - - -
  • [Date]
    01-31 までの BCD カウンタです。

  • [Month]
    12 進の BCD カウンタです。

  • [Year]
    00-99 までの BCD カウンタです。

07-0Ah アラームレジスタ

アラームが有効な場合に割り込みを発生させます。
各レジスタは [Seconds], [Hours], [Minutes], [Date] に対応する BCD 値を取ります。

0Eh コントロールレジスタ

  • BIT 0 [AIE] : アラーム割り込み有効化ビット
    1 = アラーム割り込み有効
    0 = アラーム割り込み無効

0Fh ステータスレジスタ

  • BIT 7 [OSF] : オシレータストップフラグ
    初期化時に 1 がセットされます。

  • BIT 0 [AF] : アラーム割り込み発生フラグ
    1 = アラーム割り込み発生
    0 = アラーム割り込み未発生

10h クロック校正レジスタ

  • [Aging Offset]
    01111111 = 正の最大補正、毎分 508 RTC クロックを加算
    ...
    00000001 = 正の最小補正、毎分 4 RTC クロックを加算
    00000000 = 補正なし
    11111111 = 負の最小補正、毎分 4 RTC クロックを減算
    ...
    10000000 = 負の最大補正、毎分 508 RTC クロックを減算

5. パワーマネジメントモジュール

電源管理と Linux の応答監視を行います。
電源電圧および SW1 の状態が取得可能です。
無応答時に電源の遮断または再投入を行うことが可能です。
I2C アドレスは DIPSW1 の設定により 0x69, 0x6A, 0x6C, 無効 から選択可能です。

レジスタマップ

ADDRESS[h] FUNCTION BIT 7(MSB) BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0(LSB)
00 ADC Value (Lower Byte) LSB
01 ADC Value (Upper Byte) MSB
02 Voltage (Lower Byte) LSB
03 Voltage (Upper Byte) MSB
04 Push Switch Count MSB LSB
05 Watchdog Control - - - - - - SLPE RSTE
06 Watchdog Timeout MSB LSB
07 Watchdog Wakeup Delay MSB LSB
08 Input Control - - - - - RITRG EITRG EIPDE
09 External Input Count MSB LSB
0A Output Control - - - - - - - EOE
0B Wakeup Status - - RIF EIF BTNF ALMF WDTR POR
0C - - - - - - - - -
0D - - - - - - - - -
0E - - - - - - - - -
0F Version MSB LSB

00-01h ADC データレジスタ

電源電圧の AD 変換の結果を格納します。
値は unsigned 16bit 形式です。

02-03h 電源電圧データレジスタ

AD 変換の結果から計算した電源電圧の値を格納します。
値は unsigned 16bit 形式です。
単位は [mV(ミリボルト)] です。
小数点以下は切り捨てられます。

04h プッシュスイッチカウントレジスタ

SW1 の押下時間を格納します。
値は unsigned 8bit 形式です。
単位は [秒] です。
小数点以下は切り上げられます。

05h ウォッチドッグ設定レジスタ

  • BIT 0 [RSTE] : 再起動有効ビット
    無応答と判定された場合の動作を設定します。
    1 = 再起動有効(電源再投入)
    0 = 再起動無効(電源断)
    スリープ有効ビットの設定が優先されます。

  • BIT 1 [SLPE] : スリープ有効ビット
    無応答と判定された場合のスリープ動作を設定します。
    1 = スリープ動作(ウォッチドッグ停止)
    0 = 通常動作(再起動ビットの設定に従う)
    スリープ復帰時に 0 がセットされます。

06h ウォッチドッグタイムアウトレジスタ

ウォッチドッグタイマが応答を検知するまでの時間を格納します。
値は unsigned 8bit 形式です。
単位は [秒] です。
設定値を超えても応答を検知できない場合は無応答と判定されます。
0 に設定した場合は応答を検知しません。

07h ウォッチドッグ動作遅延レジスタ

スリープ復帰時にウォッチドッグタイマが動作を開始するまでの時間を格納します。
値は unsigned 8bit 形式です。
単位は [秒] です。

08h 外部端子設定レジスタ

  • BIT 0 [EIPDE] : 外部入力強制電源断有効ビット
    有効な場合はパワーオン状態で 10 秒以上の Low 入力で強制的に電源を遮断します。
    1 = 外部入力による強制電源断有効
    0 = 外部入力による強制電源断無効

  • BIT 1 [EITRG] : 外部入力起動トリガビット
    1 = レベル検出時起動(Low レベルでトリガ)
    0 = エッジ検出時起動(立下りでトリガ)

  • BIT 2 [RITRG] : RI 起動トリガビット
    1 = レベル検出時起動(Low レベルでトリガ)
    0 = エッジ検出時起動(立下りでトリガ)

09h 外部入力カウントレジスタ

外部入力の Low 状態の経過時間を格納します。
値は unsigned 8bit 形式です。
単位は [秒] です。
小数点以下は切り上げられます。

0Ah 外部出力設定レジスタ

  • BIT 0 [EOE] : 外部出力有効ビット
    1 = 外部出力有効
    0 = 外部出力無効

0Bh 起動ステータスレジスタ

起動要因を格納するレジスタです。
ステータスのフラグはスリープ時に 0 がセットされます。

  • BIT 0 [POR] : パワーオンリセットフラグ
    パワーオンリセットによる起動時に 1 がセットされます。

  • BIT 1 [WDTR] : ウォッチドッグタイマリセットフラグ
    ウォッチドッグタイマによる再起動時に 1 がセットされます。

  • BIT 2 [ALMF] : アラーム起動フラグ
    アラーム発生による起動時に 1 がセットされます。

  • BIT 3 [BTNF] : プッシュボタン起動フラグ
    SW1 の押下による起動時に 1 がセットされます。

  • BIT 4 [EIF] : 外部入力起動フラグ
    外部入力の検出による起動時に 1 がセットされます。

  • BIT 5 [RIF] : RI 起動フラグ
    RI による起動時に 1 がセットされます。

0Fh バージョンレジスタ

ファームウェアのバージョン情報が格納されます。
値は unsigned 8bit 形式です。