2008年02月26日

私がAVRを選んだ理由

いますぐPICをやめてAVRに移行すべき10の理由に触発された。このブログを作った理由にも関係するので、私がAVRを選んだ理由を書いてみようと思う。


  • gcc が使える
    2KB のプログラムメモリと 128B のRAM のチップで、C でプログラミングが出来るのはいったいどういうことなのか? どの程度のことまで出来るのだろう? という興味を持ったのが、AVRを使ってみようと思った最大の理由。
  • ELM - Atmel AVRについてを知ったこと
    このページで、日本語ドキュメントがあり、ライタも簡単に作れることを知った。このページがなければ、単に興味を持っただけで終わったかも知れない。
  • 秋月で ATtiny26L が入手可能になったこと
    秋月で早くから AT90S8535 や AT90S8515 などを扱っていたのは知っていたのだが、そのころは興味を持てなかった。
    ELM を知り、ATtiny26L が買えることを知って初めてプログラミングをすることにしたことを覚えている。


私がAVRを選んだ理由は、こういったことだが、考えてみれば既に過去の話で今も選び続けている理由ではない。

今AVRを選び続けている理由というのも書いてみよう。


  • gcc と avr-libc が使え、 日本語ドキュメントがある
    たとえ 2KB でも gcc で思うようにプログラミングできることを知ってしまった以上、もう gcc のないチップを選択する気はまったくおきない。avr-libc も気にいっている。データシートを見ればプログラミングできるし、ソースコードを見てどういう処理をしているのか調べることもできる。
  • アーキテクチャが洗練されている
    AVRはまともな RISC だ。mips に通じるところもあり、今まで経験してきたプログラミング流儀を生かせたりして非常に気に入っている。また、パイプライン処理をしていて 1clock あたり 1命令を実行できるほど高速であるのに、あるコードが何 clock で実行されるのか容易に計算できるところも気に入っている。
  • レベルの高いアプリケーションが公開されている
    CPUでの USB 処理や バーチャルアナログシンセなどが公開されていることは、プログラミングにチャレンジしようという気を起こさせる。
  • ADC や PWM などのデバイスの使い勝手が良い
    使い勝手が良いと言い切ってしまうのは少々抵抗があるが、ワンチップマイコンである以上デバイスがどこまで使えるかがすべてである。たとえアーキテクチャが洗練されていて gcc が使えても デバイス周りがダメダメなら使えない。そういう意味で必要な水準は超えているといえる。


さて、今AVRを選んでいるわけだが、ブログのタイトルから判るように AVR only である。なぜ他のチップを(少なくとも当面は)選ばないのか? その理由も書いておこう。


  • AVR で十分である
    AVR でかなりのことはできる。AVR で出来るのに他のチップを選ぶ理由はない。PIC24F は RAM が 8KB もあったりデバイスが充実していたりして、AVR で出来ないことが出来そうで、かなり魅力的なのだが、gcc やライブラリの条件をクリアしていないので選択する気がおきない。PIC24F を選ぶぐらいなら ARM や AVR32 など 32bit に移行してしまうと思う。
  • AVRで出来ないようなものは面倒である
    AVRで出来ないことをするということは、回路の規模が大きくなったり、プログラムの規模が大きくなるということでもある。なにか作ってみたいという気持ちはあるのだが、そういうものを作るには、(私にとっては)面倒を乗り越えるだけの動機が必要でそれはまだ見つけられていなかったりする。


追記

ゆきの研究室 - つれづれ日記で知ったのだが、もうひとつ AVR しか選ばない理由が増えた。

それは、XMEGA シリーズが発表されたこと。

3.6V までしか動作しなくなったけれども、32MHz まで高クロック化され、ADC が 12bit (2Msps) まで高機能化された。さらに 12 bit DAC (1Msps)まで付き、DMA までできるようになった。AES/DES エンジンというのも嬉しい場合があるかも知れない。

たぶん実際に使うデバイスは、ATxmega16/32/64/128A4 シリーズ。TQFP44 なら、アイテムラボの変換基板も使えるし、0.8mm ピッチで半田付けも楽。

gcc,binutils,avr-libc,avrdue の対応。そして実際に入手可能になるのを待たなければ使えないが、相当に魅力的だ。DMA も持っているから、へたな 32 bit より早いかも知れない。RAM が 最大 8KB しかないことだけが不満か。
posted by すz at 02:44| Comment(2) | TrackBack(0) | 日記
この記事へのコメント
最近、秋月で自作では扱いやすいDIP型で、容量の大きいAVR(ATMEGA164P, ATMEGA644P, ATMEGA88)も扱われ、安価で色々な事が試せる環境が整ってきましたね。
Posted by jujurou at 2008年02月26日 08:29
ATmega88 250円というのはびっくりですね。入手しやすくなった記念に なにか作ってみたいです。
Posted by すz at 2008年02月26日 14:27
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/30760446
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック