電音の工場ブログ

趣味の電子工作を中心としたブログです.音モノの工作が多いです.

休日の進捗 ― 8pin AVR LFO

休日の進捗 ― 8pin AVR LFO

実は家事手伝いの必要があって休みをとっていた。思いのほか自由時間もあったので、今月の目標のひとつであるところの、

  1. 8pin AVR LFO
    • いじれるように環境を常設すること

をやってみた。

できたことは、

  • timer0でそれっぽい動作をさせてみた
  • A/D変換を動かしてパラメータ算出部の動作確認。

あとは出力系。プログラムROMが余りそうなので、LFO波形のテーブルを複数そっちに持つという手もあるけれど、どうやって切り替えたものか。

以下ツレヅレ。

  • AVR Studio開発環境でgccなプロジェクトを起こし、
  • とにかくコードを書き始めて、
  • ちょっと書いてはAVR Stuidoのシミュレータを動かそうという考え。
    • 事前に構成を考えないのは、良くない開発スタイルである。

アルゴリズム以前に考えておいたもので。

timer1(8bitタイマ)でタイミングを作ってtimer0(8bitタイマ)でPWM出力をしようとしていたら、AVR Studioのシミュレータは ATtiny25/45/85シリーズのtimer1はサポートしていなくて動かないらしい。決め打ちパラメータでtimer0でシミュってみて、まぁいいかな、となった。

実チップで動かしてみようと考えた。

  • AVRワンチップマイコンATtiny45(8pin)を持ってきて、
  • STK500評価ボードに載せて
  • JTAG ICE mkII*1を接続したら、
    • ファームアップデートがあるよ、と言われたのでアップデートする
      • なんか tiny45と通信できなくなって焦る
        • シリアルハイボルテージでプログラムして直したり
      • でも直らん
      • うわーどうすればいいんだー
      • と思っていたらAVR Studioの新しい版があるという
        • とりあえずアップデートした
        • 動かすとJTAG ICE mkIIの新ファームがあるよ、と言われたのでまたアップデートする
      • AVR Studioの見た目がかなり変わっていて焦る
      • あいかわらずtiny45と通信ができない
        • USBを道連れに死んでしまう
      • とりあえずデバッグはいちど諦めて debugWIREモードから抜ける
    • ICEでISPはできてる
    • PLL clockは止めてInt OSC 8MHzにしてみた
    • debugWIREでICEとtiny45で通信できた
  • とりあえずA/D変換のチェックなど終えてみた

と、こんな感じ。

基板かブレッドボードで実験してみますかね。

*1:どうしてAVR Dragonじゃないかというと、まだ絶縁の処理をしていないのです。基板むき出しは怖い。