日曜日, 5月 29, 2016

Arduino as ISP: ATtiny13A ヒューズ・リセッター

ATtiny13A というマイクロコントローラICがあります。

このたびこいつを Arduino でどうにかプログラミングすることができたので経緯を記しておきます。すったもんだしたあげくいろいろなものを壊した気がします。というのは、ヒューズの設定で動いてくれなかったからです。

わかってみるとなんですが、この入手したチップ、内部クロック用ヒューズが工場出荷時の値(0x6a, 0xff)ではなかったわけなんです(データシート)。これが原因だと分かるまで時間がかかりました。まずは表面実装部品を使ったのが苦労の発端。

使い慣れない部品を使って新しいことをやろうというのは不確定要素が重なって原因への追及への困難が増します。気を付けましょう。SOP8変換ボードが悪いのか、はたまた設定のせいなのか、そもそも不可能を試みているのかわからないからです。

自作のヒューズ・リセッタ


結論をいうと、Arduino IDE 1.6.x で ATtiny13A をプログラムすることができました。ただし、ヒューズのリセッタを作成する必要がありました。以下のサイトを参照させていただきました。

Arduino UNOでATTiny開発してるときに書き込めない!AVR壊れた!?その前に
Attiny13をArduino化 ついでに外部クロック
AVRマイコンを Arduino-IDE 1.6.x で使用する方法

リセットされれば標準的な?やり方でプログラムできます。

まず File | Examples | 11. ArduinoISP メニューから ArduinoISP をアップロードします。ロード出来たらライタ・シールドを接続し、ATtiny をセットします。青いLED が点滅すれば準備ができています。Tools|Board を ATtiny13 、Tools|Programmer を Arduino as ISP を設定します。そしてプログラムをアップロード。


Attiny 自作ライタ・シールド

ATtiny13A でフルカラーLEDを動かしてみました。


I2S プロトコル

I²S(Inter-IC Sound)は、マイコンやオーディオ機器間で音声データをやり取りするために設計された、シリアル通信プロトコルです。I²CやSPIと名前は似ていますが、I²Sは音声専用のプロトコルです。 I²Sは、以下の3つの主要な信号線を使って通信します。 BCLK (...