2008年10月18日土曜日

Beagle Board 続き2

Beagle Board Wikiによると、Rev.CのボードではRawLCD InterfaceとUSB Hostが加わる模様。
そうすると、
SDIO1 SDカード
SDIO2 カメラ
USB Host USBハブ
USBハブ1 無線LAN
USBハブ2 Bluetooth
USBハブ3 FT2232ボード -> RS485ポート
USB OTG コントロール用ポート
RS232C コンソールポート
SPI1 ADC1 ジャイロ+PSDセンサ
SPI2 ADC2 足裏感圧センサー
I2C 加速度センサ
AudioIN マイク
AudioOUT 2Wアンプ -> スピーカー
RawLCD OLEDモジュール
DVI-D RawLCDと排他利用のはずなのでパス
という配置が可能

Beagle Board 続き

FT2232がLinux用のドライバを持っているようなので、USBからRS485とシリアルを出すという手もあるかなと。レスポンスが心配ですが。

2008年10月15日水曜日

Beagle Board

非常におもしろいボードなんですが、ロボットに適用するとなるとIOの制限からなかなか難しそうなので、割り当ての考えてみました。Expantion BoardはオプションAです。
SDIO1 SDカード
SDIO2 カメラ
USB 無線LAN
RS232C シリアルサーボ接続
SPI1 ADC1 ジャイロ+PSDセンサ
SPI2 ADC2 足裏感圧センサー
I2C 加速度センサ
AudioIN マイク
AudioOUT スピーカー
DVI-D ミニチュアモニター
ぎりぎりですがこの割り当てで理屈上はIOの帳尻が合います。果たして本当に可能かどうかですが…。
UARTが出ていないのが痛いです。

本日時点でのTo Do

① 開発環境を作る
 CPUボードの組み立て
 IOボードの接続
 IOボードの電源準備
 USBでの動作確認
 Tiny-JTAGでの動作確認
 FT2232の接続テスト
 FT2232のスタック作成
 UARTのBluetooth化の準備
② サーボの動作確認
 アダプタボードの製作
 US485による動作テスト
 サーボのテスト
③ 図面完成
 バッテリーの設置確認 ヒンジ?マジックテープ?
④ センサ選定
 センサーを選ぶ
 センターを接続してテスト


 

2008年10月14日火曜日

AT91SAM7S256のIOをどう使うか

ベストテクノロジーのARM7ボードは、AT91SAM7S256を実装しているのですが、IOの割り当て上、
AD入力 8
I2C 1
SPI 2(チップセレクト使用の場合)
DBGU 1
USART 2
になりそうです。SSCは端子が被るので×。
デジタル出力ができるジャイロは個人では入手が難しそうなので、ADを3つ使用します。普通は2軸制御のようですが、センサ設置部の姿勢が傾いていても適切な検出ができるようにしたい(三角関数でのベクトル補正)ので3軸にします。
加速度センサはストロベリーリナックスで売っているセンサがI2C/SPI両対応なので、適宜振り分けが可能。
PSDセンサは浅草ギ研からデジタル版が出ていますが、TTLシリアル制御でIDによる識別が難しそうなので、パスします。シリアルポートは貴重なので。
足裏の感圧センサは使ってみたいのですが、ADポートが8つも必要になるので迷います。ADコンバータを増やすことで対応するという手も有りですが。

組み込みLinuxで開発は?

http://www.atmark-techno.com/products/armadillo/a500/specs
http://www.freescale.co.jp/products/32bit/iMX/imx31.html
これを使って組み込みLinux環境で開発するというのも有りかと思いました。
http://akizukidenshi.com/catalog/items2.php?q=%22I-00238%22&s=score&p=1&r=1&page=
http://ww1.microchip.com/downloads/en/DeviceDoc/21298b.pdf
ADコンバータが無いのですが、これをSPIでつなげれば問題無さそう。

組み込みLinuxと聞くだけでなんだか楽しそうなのですが、ただ実際にやるのであれば有意な技術的課題を設定しないと、オーバーヘッドを増やすだけで意味が無いですよね。
今のところ思いつくのは、
・ネットワークと通信してインテリジェント動作
・画像のリアルタイム送受信
・デバイスドライバを作成してロボット用ソフトウェアをハードウェアレイヤーから抽象化する
ぐらいでしょうか。
もう少しLinuxを使う意味を出したいですねぇ。