Armadilloフォーラム

Armadillo420でpwmの信号を取得する

sudohayato

2016年12月1日 19時34分

お世話になっております。須藤と申します。
初歩的な質問になってしまうかもしれませんが、pwmについて教えてください。

CON9_25をPWM2に設定し、外部機器との同期をとる手段に使うことを考えています。
この際、Armadillo側からpwmの同期信号を受け取る(把握する)手段はありますでしょうか?
/sys/class配下のどこかに「value」のようなファイルがあり、中身をを読み込むことで把握可能かと思いましたが見当たりませんでした。

コメント

at_matsuzaka

2016年12月2日 10時14分

松坂です。

ArmadilloがPWMを出力して、Armadillo自身もそのPWM周期に同期して処理をする感じでしょうか?
その場合は、PWMのカウンターコンペア割り込みを利用する方法はどうでしょうか。
(ドライバーが割り込み対応しているかどうかは未確認。。)

PWMが使える状態でcat /proc/interruptsコマンドを実行して、リストの中にpwmの文字があれば望みがありそうです。

ちなみにPWMの周期はどのくらいの速さですか?

sudohayato

2016年12月2日 13時28分

松坂さん
ご返信ありがとうございます。

> ArmadilloがPWMを出力して、Armadillo自身もそのPWM周期に同期して処理をする感じでしょうか?
ご認識の通りです。

> その場合は、PWMのカウンターコンペア割り込みを利用する方法はどうでしょうか。
> (ドライバーが割り込み対応しているかどうかは未確認。。)
たしかにコンペア割り込みが利用可能であれば状態を把握する手段になりそうです。

> PWMが使える状態でcat /proc/interruptsコマンドを実行して、リストの中にpwmの文字があれば望みがありそうです。
確認してみましたがpwmに関連する情報は出力されていないようです。。。

> ちなみにPWMの周期はどのくらいの速さですか?
1msec~2msecでの周期を考えております。
Armadillo側の周期把握誤差は20μsec以内に収めたいと考えています。

以上、よろしくお願いします。

> 松坂です。
>
> ArmadilloがPWMを出力して、Armadillo自身もそのPWM周期に同期して処理をする感じでしょうか?
> その場合は、PWMのカウンターコンペア割り込みを利用する方法はどうでしょうか。
> (ドライバーが割り込み対応しているかどうかは未確認。。)
>
> PWMが使える状態でcat /proc/interruptsコマンドを実行して、リストの中にpwmの文字があれば望みがありそうです。
>
> ちなみにPWMの周期はどのくらいの速さですか?
>

at_matsuzaka

2016年12月6日 14時38分

松坂です。

もし、ArmadilloのGPIOが余っているようでしたら
PWM出力を別のGPIOにも接続して、GPIOの入力割り込み機能を使う方法はいかがでしょうか?
以下のページにGPIO sysfs 割り込みサンプルプログラムがあります。

* GPIO sysfs
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_soft…

sudohayato

2016年12月7日 19時29分

松坂さん

ご提案ありがとうございます。
ただ、GPIOをすべて他のIOで使用しているためGPIOに空きはない状況です。
GPIOに空きが確保できれば実装可能と思いますので検討してみます。