内容へ移動
MA-X/MA-S/MA-E/IP-K Developers' WiKi
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
PDF の出力
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
メインページ
»
MA-E3xx シリーズの操作
»
DI(ハードウェアカウンタ機能付き)を利用する
トレース:
mae3xx_ope:di_hardware_counter:start
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== DI(ハードウェアカウンタ機能付き)を利用する ====== [[https://www.centurysys.co.jp/products/linuxserver/mae350lad.html|MA-E350/LAD-20]] は、DI/DO/RELAY OUT の端子台は MA-E350/GLAD と同じですが、\\ DI 8channel の前半 4channel 部分(DI0..DI3) に 8bit ハードウェアカウンタ((255までカウント可能))が実装されています。 ハードウェアによる実装なので、本体が Standby による待機中でもパルスをカウントすることができます。 \\ ===== ソフトウェア ===== sysfs のノードは下記のようになっています。 <code> root@plum:/sys/class/gpio/DI_03# ls -l total 0 -rw-r--r-- 1 root root 4096 Dec 24 09:14 active_low -rw-r--r-- 1 root root 4096 Dec 24 09:14 counter -rw-r--r-- 1 root root 4096 Dec 24 09:14 debounce lrwxrwxrwx 1 root root 0 Dec 24 09:14 device -> ../../../gpiochip13 -rw-r--r-- 1 root root 4096 Dec 24 09:14 edge -rw-r--r-- 1 root root 4096 Dec 24 09:14 hwcounter -rw-r--r-- 1 root root 4096 Dec 24 09:14 hwcounter_enable drwxr-xr-x 2 root root 0 Dec 24 09:14 power lrwxrwxrwx 1 root root 0 Dec 23 20:39 subsystem -> ../../../../../../../../class/gpio -rw-r--r-- 1 root root 4096 Dec 23 20:39 uevent -rw-r--r-- 1 root root 4096 Dec 24 09:14 value -rw-r--r-- 1 root root 4096 Dec 24 09:14 wakeup_enable </code> \\ 他の機種と比べると、下記が追加になっています。 |<35em 4em 12em 20em>| ^ No. ^ Name ^ Info | | 1|hwcounter|カウント値 R/W| | 2|hwcounter_enable|ハードウェアカウンタ enable/disable| | 3|wakeup_enable|割込 enable/disable| \\ ==== hwcounter ==== カウンタ値の読み出しおよび設定を行います。 8bit で 255 までしか記録できないため、 * 定期的に 0 クリアする * ラップアラウンドをソフトウェアで検知し、上位の桁を補う などの処理をする必要があります。 <code> root@plum:/sys/class/gpio/DI_03# cat hwcounter 0 root@plum:/sys/class/gpio/DI_03# echo 10 > hwcounter root@plum:/sys/class/gpio/DI_03# cat hwcounter 10 root@plum:/sys/class/gpio/DI_03# </code> \\ ==== hwcounter_enable ==== ハードウェアカウンタの有効化/無効化を設定します。"1" を書くと有効化、"0" を書くと無効化((v4.4.3まではバグにより無効化ができません、v4.4.4 で修正してあります))します。 <code> root@plum:/sys/class/gpio/DI_03# cat hwcounter_enable 0 root@plum:/sys/class/gpio/DI_03# echo 1 > hwcounter_enable root@plum:/sys/class/gpio/DI_03# cat hwcounter_enable 1 </code> \\ ==== wakeup_enable ==== 割込信号を CPU 側に入れるかどうかを設定します。初期状態は『無効』(0) になっています。 ※ Standby による低消費電力待機中に、DI の割込により Wakeup しないため。 そのため、これを有効にしない場合、割込により実装されているソフトウェアカウンタ(("counter" というノード))が動作しませんので注意が必要です。 <code> root@plum:/sys/class/gpio/DI_03# cat wakeup_enable 0 root@plum:/sys/class/gpio/DI_03# echo 1 > wakeup_enable root@plum:/sys/class/gpio/DI_03# cat wakeup_enable 1 root@plum:/sys/class/gpio/DI_03# echo 0 > wakeup_enable root@plum:/sys/class/gpio/DI_03# cat wakeup_enable 0 </code> \\
mae3xx_ope/di_hardware_counter/start.txt
· 最終更新: 2020/12/24 11:07 by
admin
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
PDF の出力
文書の先頭へ