コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for 9月, 2010


hatena bookmark

AVR初心者にとって取っつきにくいのがヒューズビットの設定。
チップ起動時の設定を焼き込むものなのだけれども、この設定をミスすると一般的な USBライタで読み書きできなくなったりしてしまう。まあ、設定ビット自体はPICにもあるし、普段はプロジェクトで隠蔽されているけれどもPSoCにもあるので概念としては難しくないのだけれども、うっかり変な値を書いて書き込みできなくなるというのが難しいところ。
書き込みできなくなるといっても簡素な手順であるシリアルでの書き込みができなくなるだけで、12Vの印可が必要になる高電圧書き込みだと書いたり消したりすることができる。
高電圧書き込みできるライターってのはちょいと大きかったり古かったりするので玄人さんでないとなかなか所持していないものだったりもする(偏見)。
追記:Dragonってそんなに大きくないのね、AVRスターターと混同してた

どうする、自分でそのライターを作ってみるか?データシートに手順は書いてあるからできなくもない。

DSC00711
考えを巡らせているうちに、ユニバーサルプログラマを持っているのを思い出した。ROMとかフラッシュとかを読み書きできるちょいと便利な機械。昔はドライバーに使っているUSBフレームワークがバージョン古くて、同じフレームワークを利用している他のアプリと喧嘩しまくり(そして案外使っているアプリがおおい)で不満たらたらだったけれども、最新版はそのへんが解消されていた。今なら9800円とかだしお買い得かも。
で、このプログラマだとPICやAVRの主要なチップを読み書きすることもできるのですな。全種類じゃないけれども。
なので、こいつを使ってヒューズビットやロックビットを間違えた AVR を全消去してしまえば万事解決なのでした。
このユニバーサルプログラマ、ソフトウェアの書き込み用に使えるかというと使えるのだけれども、普通にAVRライタを使った方が良いと思う。

で、このユニバーサルプログラマで対応しておらず、過去にヒューズ設定を間違えた AVR がまだほかにあるのです。
DSC00710
ATTiny85、8ピンの奴はなぜか対応していなかった。
通常 AVR の高電圧印可書き込みはパラレル方式なのだけれども、この8ピンのシリーズは足が足りないので高電圧印可シリアル書き込みという奇妙なモードを持っている。
データシートを見てみると 12V を印可しながらシリアルで手順を踏めば良いだけとわかる。んじゃ、ちょっと手作業でヒューズ消し作業をやってみますか。
Read the rest of this entry »


hatena bookmark

tri_03-1
一応の連載になっていたので、その後の報告をば。

地道に状況デバッグを重ねていって三角形を小さな三角形で表現しながら合成していくという目標はなんとか達成することができた感じ。
2枚はOKでも3枚で破綻する、なんてのもあったけれども今は問題なく処理できている。ただ、たまーにアウトラインモードで内部にゴミラインが出る事があって、何らかで線が重なった瞬間じゃないかと考えている。でも出る頻度が低いのと、ここまで来れば前に進めるのとで、とりあえず置いておこうかと。

tri_03_2
こんな風に穴あきになるような重なりでもちゃんとアウトラインがとれているよ。

Source code: ironruby_gl_fw_03.zip


hatena bookmark

DSC00701
morecatさんが作成した「もなかシールド」をおわけして貰っていたのだけれども、後回し後回しになっていてやっとこさ組み立て。遅くなってごめんなさい。
Arduinoにピンを合わせた、Arduinoシールド互換な Ginger 基板といったところ。
(※個人的に「あかもなか」と呼びたい)

もなかは USB MIDI デバイスとして認識されるプラットフォーム基板。かなでの V-USB バージョンというか後継。

DSC00703
AVRマイコンを乗せて単体で簡潔するモードと、Arduinoに載せてV-USBシールドとして楽しめるモード、2種類の楽しみ方ができるのが特徴。
Arduinoに載せてV-USBシールド、というのがなかなかそそられる言葉なのだけれども今のところ bootloader を使って Arduino Sketch として開発ができるわけじゃなく、それらを潰して ISP で書き込む必要があるとか。なので、AVR を載せて単体動作させる方が今はメインっぽい。

DSC00704
Arduino に乗せるとこんな感じ。

従来の Ginger 使用のもなかと比べて、AVRチップが異なるのとクリスタルクロックが 16MHz なのとでファームウェアは別に作り直さないといけないらしい。
特に新しいファームが置いてあるわけでもなさそうなので、もなかのプロジェクトをいじくって作成してみた。monakaファームの 20100630 版(monaka-20100630.tgz)に Arduino 用パッチと HEXが入っているので、これを焼き込む形となる。んが、ちと失敗したのでファームに関してはまたこのつぎということで。
単体バージョンのほうでクリスタルを 12MHz のせちゃったり、ヒューズビットいじってたら失敗して DisableRST で書き込んじゃったりしていろいろしょんぼり。AVR は慣れていないのです。

しかし、V-USB でいろいろ実験してみたいという野望はあるし、そのために Ginger とか分けていただいているので是非とも進展させたいところ。