====== 省電力モードの利用 (standby/poweroff) ====== MA-S1xx シリーズでは、MA-E3xx シリーズで対応していた Standby モードに加えて、電源 OFF 状態で待機する off モードが利用できるようになりました。\\ これにより、待機時の消費電力の大幅な削減が可能になっています。 \\ ====== Power off モード ====== shutdown された状態で待機し、対応した入力があった場合に起動するという動作をします。\\ OS の起動シーケンスすべてが走りますので、起動する頻度が高い場合には不向きです。\\ 1 時間に 1 回など、低頻度でバッテリー駆動する、というような用途に向いています。\\ ※ 電源コードを抜いて電源供給を断ってしまうと**起動することはできません**。 対応している入力には下記があります。 |<30em 3em 10em 15em>| ^ No. ^ GPIO Name ^ 内容 | | 1|BU_DI0|DI0 変化検知| | 2|BU_DI1|DI1 〃| | 3|BU_DI2|DI2 〃| | 4|BU_DI3|DI3 〃| | 5|BU_EXT_RTC_ALARM|外付け RTC ALARM| | 6|BU_MSP430_IRQ|マイコン割込((将来の機能拡張により利用予定))| | 7|BU_XIO_WAKEUP|拡張ボード割込((将来の機能拡張により利用予定))| | 8| - |OPT スイッチ割込((常時有効))| \\ ===== 使用方法 ===== ==== OPT スイッチ押下による起動 ==== shutdown 後、OPT スイッチを押下することで MA-S1xx を起動することができます。\\ {{:mas1xx_ope:power_management:ma-s1xx_opt_sw.jpg?600|OPT スイッチ}} \\ ==== DI 変化検知による起動 ==== DI の変化のエッジ(立ち上がり/立ち下がり)を設定しておくことで、該当 DI が変化した場合に起動することができます。\\ 起動後は無効化されていますので、sysfs でエッジの極性を設定する必要があります。 {{:mas1xx_ope:power_management:ma-s1xx_di.jpg?600|DI}} \\ === DI0 立ち下がりエッジ(接点 ON)指定 === root@gemini:~# cd /sys/class/gpio/BU_DI0 root@gemini:/sys/class/gpio/BU_DI0# cat wakeup_pol none <--- 無効化されている root@gemini:/sys/class/gpio/BU_DI0# echo falling > wakeup_pol root@gemini:/sys/class/gpio/BU_DI0# cat wakeup_pol falling <--- 立ち下がりエッジに設定された root@gemini:/sys/class/gpio/BU_DI0# \\ ==== 外付け RTC Alarm による起動 ==== 外付け RTC にアラームを設定し、指定時刻になったら起動するように設定することができます。\\ 注意点としては、アラームには **日・時・分** しか設定できないので、2ヶ月先のような指定は指定はできません。\\ また、電源 OFF 中は時刻補正ができませんので、あまり先のアラームを設定すると起動時刻にズレが生じます。 === 例: 2020/08/24 16:30:00(JST) に起動する設定 === root@gemini:~# rtcwake -d rtc1 -m off -u -t `date +%s -d "2020-08-24 16:30:00"` rtcwake: wakeup from "off" using rtc1 at Mon Aug 24 07:30:01 2020 root@gemini:~# Stopping Session c1 of user root. Stopping Session c2 of user root. [ OK ] Removed slice system-modprobe.slice. [ OK ] Stopped target Multi-User System. [ OK ] Stopped target Login Prompts. [ OK ] Stopped target Timers. ... shutdown [ 1917.951871] systemd-shutdown[1]: Failed to finalize file systems, loop devices, ignoring [ 1918.008126] reboot: Power down AT91Bootstrap 3.9.1-00029-gc1b347d (Sat Jun 27 07:17:07 JST 2020) ACT8865: changed nRSTO trigger to "OSC OK" SF: Got Manufacturer and Device ID: 0xbf 0x26 0x41 0xbf 0x26 SF: Copy 0x80000 bytes from 0x10000 to 0x26f00000 SF: Done to load image \\ ===== Alpine Linux 高速起動モード ===== 不要な機能を省いた軽量化 Kernel + Alpine Linux を使用することで、15 秒ほどで起動するシステムを作ることも可能です。\\ これを使用することで、比較的高頻度で Power off モードを使用することも可能になります。 {{:mas1xx_ope:power_management:ma-s1xx_alpine_initramfs_boot.mp4}} \\ ===== RTOS(NuttX) 併用モード ===== 毎回 Linux を起動すると起動・終了に時間がかかり、高頻度でこのモードを利用すると待機時の低消費電力が無駄になってしまいます。\\ そのため、Linux を必要としないような軽い処理は RTOS(NuttX) で処理を行い、AWS へ通信をするなどの高度な処理をするときだけ\\ Linux を起動する、というような使い方も可能です。 (将来拡張) \\ ===== Barebox 併用モード ===== Linux を起動せず、Barebox(ブートローダー) で処理をしてしまうモードです。\\ NuttX 利用のケースと同様、通信など高度な処理が必要な場合に Linux を起動して処理を行います。 \\