シェーキーの体内ネットワークを考える(その1)
ロボット作ろう:シェーキー製作記
サーバソフトの仕様を明確にするには、まず、ネットワークの性能を決めなければなりません。
まずは電気的な通信を行う物理層の検討です。
「ちゃんとやる」にはおなじみのイーサネットを搭載するのがスジかとは思いますが、アマチュア向けの資料がすくないのでちょっと難しそうです。カニの絵で有名なリアルテック社でも、データシートはNDAを結ばないともらえません。
また、今回のネットワークの要求仕様はイーサネットの高速性を必要としないので、ここは図のようなワイヤードオアのシリアルバスを使うことにします。【図をクリックすると拡大します】
マイコンのシリアル端子直接接続なので、バスの論理は負論理、Hが0でLが1です。受信側を100Kでプルアップしているので、サーバ・クライアントの総数は20ユニットくらいが上限です。20ユニット接続時の合成負荷抵抗は5K、TXポートの引き込み電流は1mAくらいですから、いいところだと思います。
シェーキーの規模ならまったく問題ありません。
シリアル通信の仕様は下記のように定めます。
■伝送速度 38400bps
■1スタートビット、1ストップビット【任意】
■パリティなし
38400bpsは「早すぎず、遅すぎず」です。理屈の上ではもっと早くても何の問題もなさそうですが、むやみに早くして電気的なトラブル(波形の乱れなど)を起こすと面倒です。
車の電装品の通信によく使われるCANバスは平衡伝送で1Mbpsだそうです。こんな簡単な物理層では0.0384Mbps(!)くらいが身の丈にあった仕様でしょう。
次はネットワークを流れるメッセージを検討します。
« ドライブサーバの基板を作る | トップページ | シェーキーの体内ネットワークを考える(その2) »
「ロボット作ろう」カテゴリの記事
- Raspberry Pi3でturtlebotを動かしたいのだけど(2016.06.11)
- STM32F4のAD変換トラブル(その2)(2013.03.29)
- TrueSTUDIOからEclipseへ乗り換える(拾遺)(2012.07.14)
- TrueSTUDIOからEclipseへ乗り換える(その3)(2012.07.13)
- TrueSTUDIOからEclipseへ乗り換える(その2)(2012.07.07)
コメント