スポンサーリンク

超小型 AVR米粒MPUレビュー

今回ちょっと気になったAtmel社のMPU(というか役割的には超小型CPUと言っても良いのではないでしょうか?)を使ってみたのでレビューも兼ねて紹介します。
もともとMicrochip社のPICをメインに使っていて、最近ようやくデータシートが読めるようになってきました。

ところが、羽ばたきラジコンの滑空装置を作る為、どんなMPUを使おうか選んでいると、AVRマイコンというものがプログラムしやすく、どうやら性能も高いという情報を得ました。
プログラムしやすく、高性能なら使わないてはありません。

さっそく秋月電子でAVRマイコンをチェックすると、種類があまりありません。ただ、シリーズ最小のATtiny10があったので一安心。
とりあえず、純正の開発ツール「AVRISPmkII」といっしょに注文。
米粒サイズの大きさながら、内部オシオレータで8MHz駆動し、16ビットタイマ、4本のIOポートがあるので機能上不足はありません。ただ、EEPROMは欲しかった。購入後に気が付き本気で焦った。

で、これがATtiny10 下にあるのは米粒です。

良く使うPIC12F1822と表面実装の683と比較してみるとこれくらい

ちなみに、このままでは開発し難いので、実装品も購入しています。
blank

スポンサーリンク

ATtiny10使用レビュー

まず、開発環境から。
マイコンのデータシートはAVR.jpで日本語に翻訳されたものがアップされているので新規マイコンの抵抗はほとんどありません。(大変読みやすい)
しかも、無料のCコンパイラの環境も整っていることから、アセンブラが面倒な私にとっては理想的な環境です。C言語によるプログラム表記方法もAVRWikiに一通り書いてあるので隅から隅まで読んでいけばとりあえずプログラムを作ることはできました。

ところが、ATtiny10は他のATtinyシリーズと比較し、癖のあるマイコンのようです。具体的には最新の開発環境であるAtmel Studio 6でビルドすると割り込みでエラーが出てしまい、どうにもならない。
一世代前のAVR Studioでビルドすれば割り込みの問題は解決するが、インストールしただけの環境ではグローバル変数が使えないと言う不具合が・・・。

以上の二つの問題で(導入したばかりなのでプログラムが悪いのかデバッガが悪いのか区別がつかない)、3日ほど悩みました。
最終的には「http://www.mikrocontroller.net/articles/Atmel_Studio 」から「avr-toolchain-installer-3.4.1.1195-win32.win32.x86.exe」をダウンロードandインストールし、さらに、C:\Program Files (x86)\Atmel\AVR Toolsに生成された「AVR Toolchain」のフォルダの中身を、C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27にある「AVRToolchain」フォルダへコピーすることで正常にビルドすることができました。

一通り、IOポート入出力、入力変化割り込み、タイマ、タイマ割り込みなどをつかってみると、バランス良くピンの機能が割り振られていて扱いやすい。
タイマも他の8ピンAVRにはない16bitタイマを内蔵しているので高解像度のパルス測定が可能で、何より米粒より小さい大きさが魅力的なマイコンです。

コメント