Skip to content

ハードウェア

Masahiro Honda edited this page Nov 7, 2024 · 23 revisions

ハードウェア

1. 外形図

外形図

2. 仕様

項目 仕様 備考
寸法 65mm x 56mm コネクタ類の突起物を除く
入力電圧 6 ~ 24V  
出力 5V / 3A (定格) 5A (最大)
消費電流(本製品のみ) 最大 10mA 入力電圧 12V 時
消費電流(スリープ時) 10μA 以下 入力電圧 12V 時
動作温度 -20℃ ~ 60℃ 結露なきこと
環境基準 ROHS, 鉛フリー  

3. インターフェース

RPI1

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

GPIO 名 設定 機能 備考
GPIO18 / GPIO16 IN RI Active Low
JP1 で選択
GPIO26 / GPIO23 IN IRQ 立下りエッジで割り込み
JP2 で選択
GPIO5 / GPIO24 OUT HEARTBEAT 1ms 以上の間隔でトグル
JP3 で選択

JP1

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

JP2

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

JP3

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

JP4

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

LED1

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

LED2

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

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

SW1

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

DIPSW1

パワーマネジメントモジュール部の設定を行うディップスイッチです。

  • DIP1, DIP2
    I2C アドレスを変更します。
    各スイッチの番号と I2C アドレスとの対応は次のとおりです。
ADDRESS
[h]
DIP1 DIP2
0x6E OFF OFF
0x6D ON OFF
0x6B OFF ON
無効 ON ON

設定を反映させるにはリセットを行う必要があります。
リセットは JP4 をショートするか、ボタン電池を取り外すことで可能です。

CN1, CN2

電源入力用のコネクタです。
形状は日本圧着端子製造の S2B-XH-A です。
XHP-2 が嵌合します。
電源コネクタと補助電源コネクタは電気的に等価です。
ダイオードを介して並列に接続されています。

ピン番号 仕様
1 電源+
2 電源‐

CN4

外部入力信号を接続するためのコネクタです。
形状は日本圧着端子製造の SB2-EH です。
EHR-2 が嵌合します。
3.3V 10kΩ プルアップ CMOS 非絶縁入力です。
無電圧接点の接続を想定しています。

ピン番号 仕様
1 入力
2 GND

CN5

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

ピン番号 仕様
1 コレクタ
2 エミッタ

使用しているフォトカプラ(TLP293)の絶対最大定格は次のとおりです。

項目 定格 単位
コレクタ・エミッタ間電圧 80 V
コレクタ電流 50 mA

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

Linux 上では MCP79410 の互換デバイスとして動作します。
I2C アドレスは 0x6F に固定されています。
暦は 2000-2099 年までのうるう年に対応しています。
アドレス 00h から 06h までのレジスタ内容はボタン電池によりバックアップされます。

レジスタマップ

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 Control - - - ALM0 - - - -
08 Calibration MSB LSB
09 - - - - - - - - -
0A Alarm Seconds - 40 20 10 8 4 2 1
0B Alarm Minutes - 40 20 10 8 4 2 1
0C Alarm Hours - - 20 10 8 4 2 1
0D Alarm Day - - - - ALM0F 4 2 1
0E Alarm Date - - 20 10 8 4 2 1
0F Alarm Month - - - 10 8 4 2 1
10 - 1F - - - - - - - - -
20 - 5F SRAM - - - - - - - -

00h 秒レジスタ

  • BIT 0-6 60 進の BCD カウンタです。

01h 分レジスタ

  • BIT 0-6 60 進の BCD カウンタです。
    秒レジスタからの桁上げでインクリメントされます。

02h 時レジスタ

  • BIT 0-5 24 進の BCD カウンタです。
    分レジスタからの桁上げでインクリメントされます。

03h 曜日レジスタ

  • BIT 0-2
    曜日に対応した BCD カウンタです。
    対応は下表のとおりです。

    曜日
    1 2 3 4 5 6 7

04h 日レジスタ

  • BIT 0-5
    01-31 までの BCD カウンタです。
    時レジスタからの桁上げでインクリメントされます。
    下表に対応する月日でインクリメントされると桁上げが発生し 01 に戻ります。
01 02 03 04 05 06 07 08 09 10 11 12
31 28 31 30 31 30 31 31 30 31 30 31
(うるう年) - 29 - - - - - - - - - -

05h 月レジスタ

  • BIT 0-4
    12 進の BCD カウンタです。
    日レジスタからの桁上げでインクリメントされます。

06h 年レジスタ

  • BIT 0-7
    00-99 までの BCD カウンタです。
    月レジスタからの桁上げでインクリメントされます。

07h 制御レジスタ

  • BIT 4 [ALM0] アラーム動作を選択します
    1 = アラーム割り込み有効
    0 = アラーム割り込み無効

08h 校正レジスタ

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

0Ah アラーム秒レジスタ

  • BIT 0-6 60 進の BCD カウンタです。

0Bh アラーム分レジスタ

  • BIT 0-6 60 進の BCD カウンタです。

0Ch アラーム時レジスタ

  • BIT 0-5 24 進の BCD カウンタです。

0Dh アラーム曜日レジスタ

  • BIT 0-2
    曜日に対応した BCD カウンタです。
    対応は曜日レジスタと同じです。

  • BIT 3 [ALM0IF] アラーム割り込みフラグです。
    アラームトリガ時に 1 がセットされます。

0Eh アラーム日レジスタ

  • BIT 0-5
    01-31 までの BCD カウンタです。

0Fh アラーム月レジスタ

  • BIT 0-4
    12 進の BCD カウンタです。

20-5Fh SRAM

電源の入力により OS シャットダウン後も内容が保持されます。

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

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

レジスタマップ

ADDRESS
[h]
FUNCTION BIT 7
(MSB)
BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
(LSB)
00 Voltage CN1(Lower Byte) LSB
01 Voltage CN1(Upper Byte) MSB
02 Voltage CN2(Lower Byte) LSB
03 Voltage CN2(Upper Byte) MSB
04 Threshold Voltage(Lower Byte) LSB
05 Threshold Voltage(Upper Byte) MSB
06 ADC Interval MSB LSB
07 Push Switch Count MSB LSB
08 External Input Count MSB LSB
09 Watchdog Timeout MSB LSB
0A Sleep Timeout MSB LSB
0B Watchdog Control - - - - - UVLO - RSTE
0C Input Control - - - - - RITRG EITRG EIPDE
0D I/O Status - - - - - SW EI EO
0E Wakeup Status - PRF RIF EIF SWF ALMF WDTF PORF
0F Version MSB LSB

00-01h CN1 電圧レジスタ

CN1 に入力された電圧の値が格納されます。
値は unsigned 16bit 形式です。
単位は [mV(ミリボルト)] です。
小数点以下は切り捨てられます。

02-03h CN2 電圧レジスタ

CN2 に入力された電圧の値が格納されます。
値は unsigned 16bit 形式です。
単位は [mV(ミリボルト)] です。
小数点以下は切り捨てられます。

04-05h 電源復旧電圧レジスタ

スリープ時に CN1 または CN2 で検出された電圧が閾値を上回った場合に起動します。
単位は [mV(ミリボルト)] です。
小数点以下は切り捨てられます。
0 に設定した場合は無効になります。
デフォルト値は 0 です。

06h ADC インターバルレジスタ

CN1 および CN2 に入力された電圧の A/D 変換を行う間隔を設定します。
値は unsigned 8bit 形式です。
単位は [秒] です。
0 に設定した場合は A/D 変換を行いません。
デフォルト値は 0 です。

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

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

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

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

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

ウォッチドッグタイマが応答を検知するまでの時間を設定します。
値は unsigned 8bit 形式です。
単位は [秒] です。
設定値を超えても応答を検知できない場合は無応答と判定されます。
0 に設定した場合は無効になります。
デフォルト値は 0 です。
ボタン電池により値がバックアップされます。

0Ah スリープタイムアウトレジスタ

ウォッチドッグタイマが応答を検知できない場合にスリープするまでの時間を設定します。
値は unsigned 8bit 形式です。
単位は [秒] です。
このレジスタの設定はウォッチドッグタイムアウトレジスタの設定より優先されます。
0 に設定した場合は無効になります。
スリープ復帰時に 0 にクリアされます。
デフォルト値は 0 です。

0Bh ウォッチドッグ設定レジスタ

ウォッチドッグタイマの動作を設定します。

  • BIT 0 [RSTE] : 再起動有効ビット
    無応答と判定された場合の動作を設定します。
    1 = 再起動有効(電源再投入)
    0 = 再起動無効(電源断)
    スリープタイムアウトレジスタの設定が優先されます。
    ボタン電池により値がバックアップされます。

  • BIT 2 [UVLO] : 低電圧動作防止ビット
    低電圧動作防止機能を設定します。
    1 = 低電圧動作防止
    0 = 通常動作
    有効にした場合にはアラーム発生時に入力された電圧を検出します。
    検出された電圧が起動電圧レジスタに設定された値を下回っている場合にはスリープします。

0Ch 外部端子設定レジスタ

外部端子の動作を設定します。

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

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

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

0Dh 入出力ステータスレジスタ

  • BIT 0 [EO] : 外部出力ビット
    外部出力の状態を設定します。
    1 = 外部出力有効
    0 = 外部出力無効

  • BIT 1 [EI] : 外部入力ビット
    外部入力の状態が格納されます。
    1 = 外部入力有
    0 = 外部入力無

  • BIT 2 [SW] : SW1 入力ビット SW1 の状態が格納されます。
    1 = SW1 ON
    0 = SW1 OFF

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

起動要因が格納されます。
ステータスのフラグはスリープ時に 0 にクリアされます。

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

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

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

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

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

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

  • BIT 6 [PRF] : 電源復旧起動フラグ
    電源復旧検知による起動時に 1 がセットされます。

0Fh バージョンレジスタ

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

Clone this wiki locally