今日は一日FIFOのデバッグ.RTLからXSTにBRAMを推論してもらって,パラメータで任意のサイズのFIFOを作ってもらおうと頑張った.
結果的に動いたが,時間かかりすぎだ.
ロボットは,とりあえず任意のモータの角度をいじれるようになった. モータのパラメータを読む部分がもうちょっと時間かかりそう.それができればロボット側は完成予定.
研究室のコンフィギュレーションケーブルが足りなくなってきたので,
去年購入したアットマークテクノ製
JTAG-Blazer
を使うことになった.
Windowsでは問題なく使えるのだが,Linux版のツールは研究室の環境ではコンパイルもままならなかった.
せっかくなので今後のためにソースの修正を行い,使えるようにした.便利便利.
オリジナルのソースは,C++とCのコードが入り混じったものになっていた. メンテナが複数人おられるのだろうか? コンパイラはg++だったので, C++に統一したいところ.オープンキャンパスが終わったらやろう.
Olimexに発注していた基板がブルガリアから届いた.
早速組み立て.
黒いFPGAボードは
Humandata製
XP68-01.
ロボットの頭に載せれるようなボードを探したら選択肢はほとんどなかった.
SATAのコネクタはserdes用.JTAGの専用コネクタをつけたらボードのサイズが大きくなってしまうので断念.
反対側に表面実装でつければよかったかな? 次のボードでは検討しよう.
部品の実装順序に制約があることが分かった.具体的には,PLCCソケットを実装する前にSATAのコネクタを実装しないと詰む.
それで基板を一枚無駄にしてしまった.あと,やはり電源はちゃんとしたコネクタを実装したい.
足回りのケーブルを綺麗にした.2011/06/28あたりの写真を比べるとわかりやすいかもしれない.
また,下半身の配線を行い,Bluetooth経由で角度の設定/取得ができることを確認した.
ただ手作りのzhコネクタ付きケーブルは信頼性に欠けるようだ.
メイン制御基盤に設計ミスがあった. SERDESを用いた通信のためにSATAコネクタを搭載したが,全ポート入力専用にしてしまっていた. つまり,差動信号の出力ドライバがついていないポートのみをSATAに割り当ててしまっていた. 事前にまったく考慮していなかったので,完全な過失だ.
とりあえず入力専用のままでも最終的なアプリケーションのマッピングは可能. ただし,デバッグが大変なので別のモジュールの検証を進めながら基盤の再設計を行う予定.
メイン制御基盤のテスト中.
Switch, LED, Bluetooth,SATAのコネクタを使った通信はOK.
後はZH-4コネクタのテストが終われば作成した基盤のテストは終了.
Olimexからの基盤が今週中に届くことを信じる.
メイン制御基盤をロボットに組み込んだ.
メイン制御基盤の部品.
モータインタフェース基盤とは違って両面基盤で,ガラスエポキシなので加工が大変だった.
モータの配線もしてないかわいそうなロボットの体操座り.
頭の部分にはカメラが乗る予定.Olimexに発注した基盤はいつくるのだろうか.
上の写真を後ろから.
アクリルの部分にはそのうち制御基盤が乗る予定.
2011/06/24の写真の部品を実装して,ロボットに装着した図.
表面実装部品ばかりなので,部品点数のわりに寂しい.
モータのインタフェース基盤.
主な部品はZHコネクタとアイソレータ.
一番小さな部品は(1mm x 0.5mm)のコンデンサ.
去年は,せっかく実装したハードウェアが,FPGAのリソースが足りないためお蔵入りになった.
今年はその教訓を生かして画像処理専用のボードを制御回路とは別に搭載することにした.
画像はそのPCB.Olimexに発注.
去年までの成果.実は各所にいろいろと不具合があり,うまく動かない.
今年はこれをベースにスタート.