さて、AVRの超小型マイコン、ATtiny10が秋月電子通商でも取扱が始まったので、早速使ってみることにした。
変換基板を使って、実験用のテストボードを製作した。しかし、今までのAVRシリーズとはちょっと違った部分もあったので、要注意(実験しながら気づいたのが大半(・・;))
変更点①
プログラミングインターフェースがISPではなくTPIになった。
AVRISP mkⅡでも書き込み出来るが、ISPでは4線(電源含まず)で通信していたものがTPIでは3線になっている。具体的には「#RESET」、「TPICLK」、「TPIDATA」で、結果的にはI2Cみたいな物である。ISPとの違いはMISOとMOSIが合わさっており、結線もTPIDATAにMISOを接続するだけで良い。6pinコネクタの場合には下記の通り。
※また重大なことに、TPIインターフェースでは#RESETが開放されない?ようで、プログラム書き込み後、電源再投入もしくはリセットでプログラムを始動させなければならない。どうも動かないと思ったら、ここが原因だったようで1時間悩みました。
変更点②
フューズビットが変わっている。
フューズビットにて内蔵発振器やシステムクロックの分周比を決定していたが、内部レジスタにアクセスすることにより変更する仕様となった。ただ、内部レジスタ変更の際には事前に「CCP」レジスタに「0xD8」を書き込み、4クロック以内にCLKMSRやCLKPSRを変更しなければならない。
変更点③
割り込み処理の規制
タイマー割り込みを使用してLEDを点滅させようとプログラムを組んだが、何故か動かない。しかもノイズに影響されている挙動をしているので、どうもおかしい。検証の結果、割り込み処理内ではメモリーアクセス(データメモリ)が出来ないようである。レジスタの変更は可能。コンパイラが悪いのかどうか分からないが、とにかく不便である。
変更点④
AVR Studio 4.19以降に対応
むやみに開発環境をアップデートしたくないので、ずっと4.16を使っていたが、tiny10に対応していないので、やむ終えずアップデートする。GCCがツールチェインとしてインストール出来る様になった。これを知らなかったので、コンパイル出来ずに焦った。
まとめ、はっきり言って使えるデバイスである。A/Dは8bitだが4チャンネルついているし、タイマーは16bitでPWMも2チャンネルある。レジスタの設定も上位マイコンと互換性があるので、使い慣れていて良い。また内蔵発振器も十分使える。欲を言えばEEPROMがあれば尚良かったが。今後、これを使った開発もしてみたい。


0 コメント:
コメントを投稿