A・V・R!  A・V・R!

STATUS: 故障中

 ホビーで使えるマイコンというと、PICとかH8とかZ80系とかという印象が強かったのですが、先日の夏コミでAVRマイコンのサークルがあり、とても印象深い展示をしていました。
 そのサークルで頒布しているAVRマイコンキットの展示なのですが、キットの箱からビデオ出力が出ていてポータブルTVに繋がっています。TV画面では、カーレースゲームが動いていました。
 AVRにCRTC(VDP?)繋いでいるのかなあ〜と思って、基板を見てもそれらしいものはありません。
 サークルの人に聞いてみると、(嫌な予感はしていましたが)なんとAVRマイコンのIOに直接ビデオOUTを接続し、ビデオ信号の生成はマイコン側でのソフト処理で行っているとのことでした。
 なんという無茶をするんだ〜。でも、AVRってそんなに速いのか。と、びっくり。
 近くのサークルで、AVRの同人誌を頒布していたので買って帰りました。ここのサークルの人にAVRについてなら、elm-chanのサイトが参考になる教えてもらいました。

 というわけで、elm-chan.org。
 AVRマイコンについては、以下の紹介ページが参考になります。
 Atmel AVRについて

 適当に要約すると、レジスタも豊富で命令に直行性があってわかりやすく、アドレッシングもいろいろできて、8bitRISCで、殆どの命令が1クロックで実行できて高速で、フラッシュメモリ内蔵なのでプログラムの書き換え簡単という感じです。
 PIOやSIO,ADC,PWMの有無、ピン数などでいろいろ品種があります。
 クロックは、よく使われると思われるATシリーズで、8〜12Mhzです。1クロックで命令を実行出来ることを考えると、AVRの12Mhzは、Z80換算では48MHz以上になりますね(Z80では4クロックの命令しか使わないと仮定しても)。速い〜。
 品種毎の機能については、以下のページの表が参考になります。(でも、品種が多すぎてまだよく把握できていなんだけど)
 AVRマイコンの特徴とラインナップ

 実際に開発するに当たっては、AMTELからAVRstudioという開発環境が無償で提供されています。Cコンパイラとしては、gccも使えるようです。以下のページが参考になります。
 AVRをとりあえず使ってみる。
 
 AVRstudioやAVR自体の解説の有志により翻訳が以下のページで公開されています。
 HERO'S Download

 また、商用ソフトではBASICやCコンパイラもあるようです。
 開発ツール比較
 
 プログラミングにあたっては以下のページが参考になりそうです。
 AVRのプログラミング
 
 で、出来上がったソフトを書き込むのですが、AVRにはISPというインターフェース(pin)があり、これを介してフラッシュメモリにアクセスできます。
 PCのLPTポートやシリアルポートを使用した簡単な回路でインターフェースへの接続出来るようです。
 次のページにISPアダプタ制作についての解説があります。
 AVRライタ製作集

 というわけで、お手軽で高性能マイコンなAVRに萌え萌えです。 

コメント