« 2006年12月 | トップページ | 2007年2月 »

2007年1月 8日 (月)

2006年マウス活動報告

今更ですが。2006年度のマイクロマウス開発プロジェクトの成果物をまとめて公開します。

ハードウェア設計(水魚堂さんのBSchを使用)

ソフトウェア設計

ソースコード

反省(ふりかえり)

なんかたいそうな名前の仕様書がならんでいますが、中身はスカスカだったり書きかけだったりします。ごく大雑把に設計の意図がつかめれば、あとはどうにでもなると思ってます。

ちなみに、当初は"pilot"というクラス(のようなもの)を持たせるつもりでしたが、急いでコードを書いているうちに「必要ない!」と判断して落としました。

使用しているROM/RAMを調べてみたら、RAMが若干足りていないことが判明。そこであれこれやってみたのですが、スタック量をいじっても配列の要素数を削ってもうまくRAMの消費量を減らせないどころか、いじっているうちにプログラムが起動するとすぐ止まるようになってしまったので、あきらめました。とりあえず4×6サイズの調整用迷路はばっちり走れているので・・・。

これで2006年度のマイクロマウスプロジェクトを正式に終了します。

入出力ポートを増やすには

昨年のマイクロマウスの反省をしてみて、思うのはRAMの容量に余裕が欲しいということです。しかし、SRAM/DRAMを外付けすれば、それだけマイコン側で出力として使える足の数が減るわけで。

入出力ポートを増やしたかったら、究極はFPGAやCPLDなどでメモリ空間を拡張してあげる方法。マイコンを制御するプログラムにはこれが一番親切で拡張性が高いのですが、私にとっては「そこまでしなくても・・・」という感じで敷居が高い。続いて考えられる方法は、8255A, 82C55, 82C55Aなどのパラレルインタフェース用LSIを使う方法とか、シリアル-パラレル変換ICを使う方法とか。トラ技で74HC165という石を使って入力ポートの数を増やしてました。出力ポートを増やすなら74HC595という石を使うようです。どちらもシリアル-パラレル変換ICのようです。

そこで74HC165をキーワードにしてググッてみると、

http://home.h08.itscom.net/albatros/webshop/newproducts.html

http://oshiete.eibi.co.jp/kotaeru.php3?q=484356

などが出てきました。この方法がよく使われるようです。千石電通(http://www.sengoku.co.jp/)で\110-、マルツパーツ館(http://www.marutsu.co.jp/)で\189-。入手性はよさそうです。

LEDやドットマトリクスLEDを駆動するには電流が足りなくなりそうなので、トランジスタアレイを使うか、ドライバICを使うか。LEDドライバICではTB62705という石がシリアル-パラレル変換込みでLEDを駆動できるので、今度LEDを駆動するときはこれを使ってみようかなぁ。

FPGA/CPLDも勉強してみたいのですが、手を広げすぎると収拾が付かなくなりそうなのでちょっと我慢します。

« 2006年12月 | トップページ | 2007年2月 »

最近の写真