[Armadillo:05355] Re: Armadillo-420のシリアル通信における正確なボーレートについて

Myoukan Kiyohito email@hidden
2010年 6月 23日 (水) 10:10:51 JST


明官です。

nakai様、返信ありがとうございます。

説明不足で申し訳ありません。再度質問させてください。

ボーレートはクロックによって計算することができ、算出したボーレートと
設定したボーレートには誤差があると思います。
#以下のページを参考にしています(ページ中央あたり)
#http://spectrum123.at.infoseek.co.jp/serial/serial_1/serial_1.htm

知りたいことは、Armadillo-420のクロックでの算出ボーレートですので、
ご教示いただけると幸いです。

目的はArmadillo-420と接続する機器との間のボーレート誤差を調べることです。


> また、他のボーレートについては、
> ioctl設定時にinvalid argmentが返るようです。
> stty -F /dev/ttymxc4 2000000
> stty: invalid argument `2000000'
>
> これは、クロックソースから指定のボーレートを作り出せないために
> エラーが返るようです。

上記のようにありましたが、現在、シリアル通信のテストを行っており、
その際にプログラムでボーレートの設定を1M,2M,3M,4Mとしているのですが、
1M,2M,3Mでもエラーは出ていません。
<ソース抜粋>
fd = open(SERIAL_PORT, O_RDWR | O_NOCTTY);
newtio.c_cflag = B2000000 | CS8 | CLOCAL | CREAD; ← 1M,2M,3M,4Mを設定している
tc = tcsetattr(fd,TCSANOW,&newtio); ← エラー(tc=-1)にはなりません
if(tc == -1){
	return -1;
}
<接続>
・Armadello-420を2台使用
・シリアルインターフェース2(ttymxc2)とシリアルインターフェース3(ttymxc4)を
 クロスで接続
<動作>
・パケット数と受信時間によりボーレートを計算したところ、誤差はあるものの
 設定したボーレートに近い値になる

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

> -----Original Message-----
> From: email@hidden
> [mailto:email@hidden] On Behalf Of nakai
> Sent: Tuesday, June 22, 2010 9:07 PM
> To: Armadillo series general discussion list
> Subject: [Armadillo:05354] Re: Armadillo-420のシリアル通信における正確なボーレ
> ートについて
>
> nakaiです。
>
> Armadillo-420の高ボーレート設定につきまして、
> 弊社で標準のカーネルで動作を確認しているものは、
> 921600, 1152000, 4000000
> です。
>
> stty -F /dev/ttymxc4 [baudrate]
> のように設定後、
> echo Z > /dev/ttymxc4
> として実際の波形を確認したところ、
> 上記3設定については問題ない周波数で出力できているようです。
>
> また、他のボーレートについては、
> ioctl設定時にinvalid argmentが返るようです。
> stty -F /dev/ttymxc4 2000000
> stty: invalid argument `2000000'
>
> これは、クロックソースから指定のボーレートを作り出せないために
> エラーが返るようです。
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo




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