[Armadillo:01414] Re: PWM出力の方法について
Yasushi SHOJI
email@hidden
2006年 11月 29日 (水) 21:14:24 JST
At Mon, 20 Nov 2006 13:20:39 +0900,
or02310 wrote:
>
> R.Onodera です。一つ言い忘れました。
>
> Yasushi SHOJI wrote:
> > どのような環境で、どのぐらいの制度が必要ですか?
> サーボモータ2つを独立して制御します。出力に用いるポートは
> ・サーボモータA CON7の3番ピン
> ・サーボモータA CON7の7番ピン
> です。
> 制御信号の周期は18[msec]程度で、パルス幅は0.75〜2.25[msec]
> 程度を予定しています。
う〜む…。ぜひ SUZAKUをご検討ください。やりたい放題ですよ :-)
htttp://suzaku.atmark-techno.com/
と、宣伝は置いておいて、どれくらいの精度が必要なのかわからないので条件
をみたすかわかりませんが、ep9307の timerを使う方法を紹介します。
EP9307には4つの timerが搭載されていますが、Linuxでは Timer 1と Timer 4
を使用しています。ですので、Timer 2 (16bit)と Timer 3(32bit)は自由に使
えます。
どちらかの timerを使う linux device driverを作成し、希望のインターバル
で割り込みが入るように作ります。device driverの割り込みハンドラで、希
望の計算をして、GPIOを叩くと簡易的に可能です。
外部から動的に計算に必要な値を渡す必要があれば、write()やioctl()を実装
し、userlandから渡すと良いと思います。
しかし、Linuxは RTOSではないので、反応時間に一切保証がありません。もし、
240を使いながら精度を求めるのであれば、ARMの FIQ機能を使うのも面白いか
もしれません。
--
yashi
armadillo メーリングリストの案内