[Armadillo:00961] Re: Armadillo-9に関する質問

nakai email@hidden
2006年 4月 12日 (水) 14:12:32 JST


中井です。

> >> (1)Linuxはリアルタイム性がないと言われますが、例えばArmadillo-9で
> >>  20msec周期でタイマー割り込みを定期的に発生させて、汎用入力の
> >>  状態を抜けることなくサンプリングすることは可能でしょうか?
> > 
> > 可能です。
> 
>  リアルタイムOSではないのに20msecの割り込みが可能である理由を
> 教えて頂けませんか?
> また、どのくらいの間隔までつめることができるでしょうか?
> (例.100usec毎の割り込みまでなら可能で、その理由は○○であるから)

難しい質問なので、ちょっと解りづらいかもしれませんが。。


質問項目には、リアルタイム性能について何も書かれておりませんでしたので、
一般的な20msオーダーでの割込み処理応答の見解として答えさせていただきました。
リアルタイムOSには、ある割込みの処理に要する応答時間が
最大応答時間内であると保証されます。
Linuxではこれがないものの、例えば、20msオーダーでGPIOからデータを
読み込むとした場合、応答時間の誤差は支障をきたさないようなものでしょう。

また、割込み応答の誤差を小さくするためには、kernelを極力idle状態に
しておかなければなりません。これをするためには、周辺機器を停止するなどの
対策が必要となります。

上記と合わせ、割込み間隔の誤差の観点からですと、
usオーダーのタイマー割込みを発生する場合、
EP9315の内部Timer(508kHz、2kHz)を新たに使用されるかと思います。
しかし、Linuxで使用される場合、(デバイスドライバ等の)割込み禁止区間が
あるため意図した間隔で割り込みが入らない場合がございますのでご注意ください。
計測間隔を狭める手段としては、実測により調整されるのが一番良いかと思われます。

ソフトウェアで計測される以上、遅延やぶれなどが発生すると思います。
これを解決する手段として、RTOSの選択、FPGA(やHardware)等で計測するという手段も
考えられます。
FPGAでの計測には弊社製品の『SUZAKU』というソリューションの
選択肢も考えられると思います。
http://www.atmark-techno.com/products/suzaku





armadillo メーリングリストの案内