ハードウェア - 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 形式です。