2010年7月19日月曜日

【AVR】USBasp again !

【USBasp 】
 これはUSBaspが再び注目されると言うお話である。BASCOM-AVRがUSBaspを正式なプロフラム・ライタとして対応するようになったからだ。

 写真はUSBaspと言うAVRマイコン用のプログラム・ライタだ。 AVR仲間ではポピュラーな存在だろう。 しかしパソコン側の専用書込みソフト:avrspxは最新のAVRマイコンに対応していなかったことから、先日作った【HIDaspx】ライタに押され気味である。

 その新しく作った【HIDaspx】はUSBaspより後発のライタで、Windowsの標準ドライバで動作しUSBに刺すだけですぐ使える優れモノだ。その特徴から組込み系ソフトウエアの教育現場でも効果を発揮しているそうだ。 しかしBASCOM-AVRユーザーにとって【HIDaspx】が十分使い易いかと言えば、必ずしもそうではないと思う。

 BASCOM-AVRから【HIDaspx】専用の書込みソフト:hidspx を経由して書込みとベリファイはできるので実用可能ではある。しかし「外部プログラマ」の扱いなのでヒューズ・ビットやロック・ビットの操作がBASCOM-AVRからは直接出来ない。 それらの操作はBASCOMを一旦離れてコマンド・プロンプトからhidspxを別に起動して行なうか、GUI操作の独立した専用ソフトを起動する必要があった。このあたりのことは、写真のUSBaspでも同じような状況であった。だから新作の【HIDaspx】に固有の欠点と言う訳ではなかったのだが・・・。

 出来ない訳ではないとしても、別途行なうと言う面倒さが常に感じられるのだ。 アセンブラやCの人は感じないだろうが、BASCOM-AVRと言う統合開発環境のユーザーには大いに気になる(不満のある)部分だった。 結局その環境からシームレスに作業が出来る旧来のSTKライタ(LPTポート用)を今でも愛用する人も多いのだ。(実は私も・笑)

【USBasp again !】
 USBaspは、もともと海外で開発されプログラム・ライタだった。 それをモディファイしたバージョンとPC側書込みプログラムが改良されて行った経緯がある。鶏とたまごの関係を打ち破るための考案など日本人が貢献した素晴らしい成果だろう。

 先日、たまたまUSBaspオリジナルのサイト(左の写真)を見ていたら下の方の一行で目が止まった。 USBaspがBASCOM-AVR公認の標準的なプログラム・ライタとしてサポートされたようなのだ!

 正式サポートされればBASCOM-AVRがサポートするAVRマイコンのすべての開発に使える筈だ。 最近問題になったATmega328Pへもプログラム可能だろう。 さらに将来登場するであろう新チップももちろん自動的に対応するだろう。 そしてヒューズ・ビットやロック・ビットの操作も一体の機能としてBASCOM-AVRのGUI環境からシームレスに可能になるに違いない。これが何と言っても一番のポイントではないだろうか。

 私が今なおUSBaspライタに拘るには相応の理由があった。 それは書込みやベリファイ(読出し比較参照)が非常に高速なのだ。 プログラム開発も佳境に入れば試行と修正・書込みの繰り返しになる。 少しでも早いライタは実に嬉しい存在なのだ。 【HIDaspx】より10倍も早そうなUSBaspの高速性は捨てるに惜しい魅力だった。

思い立ったなら、さっそくUSBaspをリバイバルしよう!
BASCOM-AVRのアップデートだけでごく簡単に済みそうだったのだが・・・しかし。

【ファームウエアの書替え】
 上の写真によれば、BASCOM-AVRのバージョン1.11.9.6以降でUSBaspがサポートされるようだ。 まずは、MCS Electronicsに行って最新のBASCOM-AVRにアップデートした。 2010年7月19日現在のバージョンは、正規版が1.12.0.0、デモ版は1.11.9.8である。

 さっそく試したところが私のUSBaspは約3年前のもの。 搭載しているATmega48のファーム・ウエアもパソコン側のデバイス・ドライバも古過ぎたようだ。BASCOM-AVRから適切なバージョンではないと言うようなエラーが出た。

ここでやるべきことは二つある。まずは、USBaspに搭載されたATmaga48のプログラム(ファームウエア)書き換え。もう一つは、WindowsパソコンのUSBasp用デバイス・ドライバ更新(書き換え)である。それが済んだらBASCOM-AVRのセットアップを行なって完了だ。

 そこで、上記のサイトから作業で必要となる「最新のファームウエア」と「Windows用ドライバ・ソフト」をダウンロードした。 写真はダウンロードしたファームウエアを取込んでATmega48を書き換える準備を始めたところだ。

 図ではファイルからATmega48用のHEXファイルを読み込んでいる。 もちろんアップデート対象のUSBaspとは別の書込み器が必要で、ここではSTKライタ(同等の自作品)とBASCOM-AVRを使って作業している。
 BASCOM-AVRのProgramメニューを開き、写真左上の「Load file into Buffer」(=バッファ・メモリへファイルからデータを読み込む)をクリックする。

【HEXファイルの読み込み】
 既に上記サイトからダウンロードし、解凍しておいたフォルダの中から「usbasp_atmega48_2009-02-28.hex」と言うファイルを選択する。 写真では「usbasp_2009-02-28」フォルダから、ファイルをデスクトップに取り出して示してある。 直接該当のフォルダの中から選んでも良い。

 必ず「ファイルの種類」をIntel HEXにしておかないとファイルが見えないので注意を。 Intel HEX形式は機械語ファイルの配布用として一般的(古典的?)だが、詳しく知りたければWikipediaでも。

 書替え対象のチップ:ATmega48はUSBaspから一旦取り外し、読み書きができる何か別のAVRマイコンボードに挿入しておく。(28pinのATmega8シリーズ対応で、外部水晶発振になっているボードが必要。たとえばこれ。)そのボードにSTKライタを接続してISPで書き換える。 USBaspに接続するのではないので注意を。(最初からファームウエアの書き換えができるようにUSBaspを作ってあれば別だ)
 ATmega48のプログラムメモリを一度消去し、ブランクチェックしてから書込む方が良いようだ。 さっそくバッファに読み込んだデータをATmega48に書込んだらファーム・ウエアのアップデートは完了だ。 ヒューズビットは元のままが温存されているから書き換えなくても良い。もし新品のチップに書込んだのならヒーズビットのセットも忘れずに。 さっそくUSBaspにATmega48を戻して完了だ。 なお、ATmega8用のファーム・ウエアもあるので、mega8でUSBaspを作っているならそちら用を選ぶこと。(:秋月電子通商はATmega48を扱っていないので新規製作ならATmega8-16PU/単価200円がお薦め)

 続いて、USBaspのデバイス・ドライバを更新する。 出来上がった「新USBasp」をパソコンのUSBに挿入すると「新しいハードウエアが見つかった・・・」と言うアラートが出る。  そこで早速デバイス・ドライバをインストールする。 上記のサイトからダウンロードし、解凍しておいたWindows用デバイス・ドライバの入ったフォルダを選択し、指示に従ってインスートルすればOKだ。 その後一旦パソコンを再起動するとアップデート済みのUSBaspが認識される。(一般的な作業なので、かなりを省略した。わからないようなら検索で)

【BASCOM-AVRの設定】
 さっそく、BASCOM-AVRの設定を行なってみよう。メニューから、「Option→Programmer」の順に開いて行く。 この操作は既に十分お馴染みのことだろう。
 新しいBASCOM-AVRではUSBasp(=USBASP)を含めて数種のUSBライタがサポートされているようだ。 但し純国産らしい【HIDaspx】は未だサポートされていないのが残念だ。

 いつもの様にメニューのリストから「USBASP」を選んで、下の方の「OK」ボタンをクリックすれば終了である。 これでUSBaspはBASCOM-AVRから正規にサポートされたライタとして直接使えるようになった。  従来のUSBaspとパソコン側の書込みソフト「avrspx」と言う組み合わせとは縁が切れたわけだ。「avrspx」は間に入らないからBASCOM-AVRがサポートしているAVRマイコンならどれにでも読み書きできる訳だ。

【さっそく使ってみる】
 BASCOM-AVRのProgramメニューを開くと、このようにUSBaspが正常に起動していることがわかる。
 もちろん、USBaspをUSBインターフェースに接続し何らかのAVRマイコン基板を接続しておく。 この例ではATtiny2313が搭載された基板を接続してあるが、写真のようにフラッシュ・メモリの内容を読み込んだり、もちろんフューズ・ビットの操作も従来通りにBASCOM-AVRの画面から可能だ。 こうした簡単なことも「外部プログラマ」では出来なかった。

 USBライタには幾つかの機能制限もあるが、大きなものとしてはBASCOM-AVRの画面から対象基板のリセットボタンが押せないことくらいだった。 少しSTKライタとは様子が異なる部分もあるが概ね同じように使える。 試した範囲では特に問題はなさそうだった。 書込みも試したが、その高速性は如何なく発揮され素晴らしいスピードは健在である。

【BASCOM-AVRのアップデートも】
 ここまで来る過程でBASCOM-AVRのアップデートも済んでいるだろう。 正規版はVer.1.12.0.0であるが、バグが気になるなら一つ前のバージョンも良いかもしれない。 しかし、このバージョンも登場から時間が経過しているようなので現行の最新版で大丈夫だろう。

 無償デモ版もVer.1.11.9.8になっていたからUSBaspはサポートされているはず。 デモ版は容量制限があるのでATmega328Pを使うことはないかもしれないが、USBaspライタでシームレスな開発を楽しみたいならアップデートはお薦めだ。

 せっかくプログラム・ライタをアップデートしても、製作,etcのアクティビティが最低ではあまり意味はないかも知れない。 しかし、気が向いた時に道具を磨いておけば、いざと言う時にはきっと役立つに違いない・・・と思いたい。(笑)

(おわり)

16 件のコメント:

JG6DFK さんのコメント...

復活おめでとうございます。

AVRの開発環境はどんどん進化していますね。Arduinoにも使われているチップですし、PICより安くて速くて高機能ですから、それだけ人気があるということなのでしょうか。

私のところは使いやすいツールを選択するというレベルにまで達していません。とりあえず秋月のライタとAVR Studioを準備しただけで何も手を付けていません。

こういう開発環境&アセンブラ使いなんて時代遅れもいいところなのでしょうが、これからぼちぼちやります。というより、そろそろ手を付けないと「まずい」のですが… Hi.

T.Takahashi JE6LVE/JP3AEL さんのコメント...

BASCOM対応ライターで一番便利なのが、
ヒューズビットの書き換えですね。
他のライターを使っていても、ヒューズビットだけは簡易ライターを使ってBASCOMから行ったりしてました。

でも最近BASCOMもライターも使ってないなあ(汗)

TTT/hiro さんのコメント...

JG6DFK/1 児玉さん,こんばんは。 既に関西からお帰りでしょうか? 暑いところご苦労様でした。

早速のコメント有難うございます。
> 復活おめでとうございます。
復活と言うよりも、ネタができたので書いたまでのことです。hi 話題が続かないのでまたオヤスミかも知れませんね。hi hi

> AVRの開発環境はどんどん進化して・・・
定番にできるような高性能なチップが秋月で安価に売られるようになりました。 世界的にも豊富に流通するようになったようで、AVRの開発ツールも充実して来た感じですね。 好循環の状態に入った模様です。

> そろそろ手を付けないと・・・
趣味でしたら、いつから始めても「まずい」ことはないと思いますが、旬になって来たと思います。 ぼちぼち遊んでみて下さい。 PICもずいぶん進歩しているようですから、そちらも良さそうですけれど。

TTT/hiro さんのコメント...

JE6LVE/3 高橋さん、こんばんは。 暑い日が続いてますねえ。 今日は隣の市で38℃を記録したそうです。 当地ももちろん暑かったです。(今も暑いです)

コメント有難うございます。
> 一番便利なのが、ヒューズビットの書き換え・・・
そうなんです。 サポート対象のライターになったお陰で、非常にやり易くなりました。確か高橋さんもUSBaspを製作されたと思いましたが、アップデートはお薦めですよ。

> でも最近BASCOMもライターも使ってないなあ(汗)
う〜ん。。。 twitterに大切なお時間を吸い取られちゃったりしてませんか?(笑)

お時間を作って、ぜひ何かを創作されて下さい。

T.Takahashi JE6LVE/JP3AEL さんのコメント...

こんばんは~

JG6DFK/1 児玉さん、関ハムでは短い時間でしたがアイボールありがとうございました。
日本橋は楽しまれたでしょうか。Hi

>twitterに大切なお時間を吸い取られちゃったりしてませんか?(笑)
いや~耳が痛い(笑)
マイコン系の製作は余り楽しくないのでつい後回しに。Hi
最近はtwitterの合間にAMステレオアダプターとDDS-PLLをいじっています。

TTT/hiro さんのコメント...

JE6LVE/3 高橋さん、おはようございます。

コメント有難うございます。
> いや~耳が痛い(笑)
私もタイムラインをウオッチしていたときは、時間があっと言う間に「蒸発」しちゃいましたので・・・。(笑)

それに、あんまりクリエーティブなtweetって無いんですよねえ・・・。まあ程々が良いですよ。(苦笑)

暑さ厳しいおり、ご自愛下さい。 当地は今日も37℃の予報が・・。

JG6DFK さんのコメント...

加藤さん、高橋さんおはようございます。

大阪も暑かったですが、こちらも暑くて参りますね。今日はこの時間から外はサウナ状態です。熊谷ほどではないのでしょうけれど。Hi Hi.

先日の大阪遠征は高速バスの到着が3時間も遅れて参りました。おかげで日本橋には3時間いられませんでしたが、デジットで買い物をしてメイド喫茶で食事をしてきました。Hi.

オタロードでは炎天下の中、メイドさんがビラ配りをしていました。ご苦労様。この界隈は秋葉原でも見かけるお店が多いこともあり、秋葉原とあまり代わり映えしませんでした。

電子部品店の数は秋葉原より圧倒的に少ないのですが、デジットの店員さんには活気がありましたし、たくさんの電子工作キットが並んでいました。

日本橋は全体の半分も回れませんでしたが、Google Mapのストリートビューでだいたいの雰囲気は掴んでいました。便利な時代になりましたね。

高橋さん、こちらこそアイボールありがとうございました。関ハムの会場にも3時間いられませんでしたが、キャリブレーションのブースでそこの親方とFCZさんに捕まってしまい、他のブースは全然見られませんでした。Hi.

その間にTGS-40Cの開発者である稲田さんなど数名の方が訪ねてこられ、夜には懇親会へ顔を出させていただきました。

あちらはPIC主体のようですが、キャリブレーションのキットにもマイコンが使われるようになり、確かにマイコン応用工作全体が「旬」のようですね。

私は今後AVRへ全面移行しようと思っています。まずはライブラリの移植からですね。高級言語を使えばその手間は不要ですが…

これからはパソコンとの連携も重要になってきますので、併せてWindowsプログラミングのリハビリもしようかと思っています。今はUSB I/Fも手軽に扱えるようで、いい時代になったと思います。

長駄文失礼しました。

TTT/hiro さんのコメント...

JG6DFK/1 児玉さん、こんばんは。 今日も37℃、お暑うございます。(汗汗)

コメント有難うございます。
> 日本橋には3時間いられませんでした・・・
それは残念でしたね。 もともと九州男児の児玉さんは大阪・日本橋もお馴染みの場所なのかと思っておりました。hi

> デジットの店員さんには活気がありましたし・・・
大阪商人らしく、twitterを使って積極的に「つぶやく」など、商売熱心が伝わって来ますよ。 ついつい欲しくなってしまいます。(よく考えると、大ジャンクだったりします・笑)

> 夜には懇親会へ・・
楽しい「関ハム」だったようで、お出掛けの甲斐がありましたね。

> いい時代になったと思います。
なんだかんだ言っても、今は部品も豊富にあるし情報の入手も幅広く可能ですから自作には良い時代だと思います。ぜひ新しい方向でも製作を楽しまれて下さい。

さて、やっと部屋が涼しくなって来ました。 すこし本でも読んで寝ましょう。 お盆休みまでに勉強でもしておきます。(笑)

exJE1UNX tamura さんのコメント...

JA9TTT/1 加藤さん

ご無沙汰しています。
ホットな内容ありがとうございます。

AVRを友人にすすめたらすっかり気に入ったらしく
いろいろやるには容量が足りないと、正規版(¥13000)を購入しました。

私はまだそこまでいっておりません。
ライティングの回数も少ないので不便も感じていませんでした(お恥ずかしい話ですが・・・・)

ところで、常用していないパソコンから
このBlogを見ると一瞬チラリとでて記事が消えます。
再読み込みすると出ます。

画面がリニューアルされてからのように思います。

暑い日が続きますが元気でお過ごしくださるよう願っています。

田村

TTT/hiro さんのコメント...

JE1UNX 田村さん、こんばんは。 毎日暑いですねえ!!

コメント有難うございます。
> ホットな内容ありがとうございます。
BASCOM-AVRによって、初めて正式に認められた「自作のUSBライタ」ですから、意味があると思ってご紹介してみました。従来もUSB書込みはできたのですが、あくまでも外部のプログラムを介した便宜的な方法でしたので、ヒューズビットの書き換えなどが直接できない不便がありましたね。 これでスッキリ解消した訳です。 その意義は小さくないと思っています。

>正規版(¥13000)を購入しました。
機能を考えると、非常に安いと思います。もっとも、使いこなさなければ高いものかも知れませんが。(笑)

> 画面がリニューアルされてからのように思います。
デザイン・テンプレートを元にしてリニューアルしたのですが、ブラウザやそのバージョンによっては旨くないものがあるのかも知れません。アンチウイルスソフトの関係もあるかも知れません。 IE、Safariの最新版で確認していますが、田村さんの他にも不具合があるようなら検討してみましょう。 但し、ページ情報を廃棄してしまったので前の状態にはもう帰れないのです。

酷暑ですが、田村さんも元気にご活躍を。

JA9MCH_tanutanu さんのコメント...

加藤先輩

 おはようございます。ほんとに暑いですねぇ。AVRですか、私は秋月のライタキットとアセンブラでPICで、やっと本のプログラムを少し弄べる程度です。AVRの方が高級言語で良さそうなのですが。最近、物覚えが。。。三歩歩くと忘れる鳥頭のようになってましてなかなか、つらいものがあります。取り組んで見たい気持ちもあるのですが。

 最近、JRCのNRD73をひょんなことで会社の関係者からお譲り頂きました。九州の港湾局の予備機だった様で、その大きさも驚きましたが、出来の良さにも感心しました。1kHzと0.1kHz の切り替えが、アマチュアには使いづらいですが、BCLにはとっても使いやすいです。

TTT/hiro さんのコメント...

JA9MCH 和田さん、こんにちは。 今日も暑いですねえ。 昼前後はショッピングモールへ出かけて食事+買物をして涼んで来ました。(笑)

コメント有難うございます。
> 取り組んで見たい気持ちもあるのですが。
新しく1から覚えるのは大変かもしれませんが、昔やったBASIC言語を多少なりとも覚えていれば難しくないですよ。 若い頃ならともかく、低級言語を覚えて始めるのでは大変ですけれど。hi hi

> JRCのNRD73をひょんなことで・・・
1980年代の受信機ですが、今でも十分高性能です。 船舶無線関係は短波を使わなくなったので、もはやこうした受信機がたくさん作られることも無いと思います。部品も大きくてメンテナンスも容易ですので大切にされてください。拙宅には姉妹機のNRD72がありますが、QSOにも十分使えますね。自作送信機と組み合わせておたのしみください。

JJ3CMV 酒井 さんのコメント...

TTT/hiroさん、こんにちは。ご無沙汰しています。

大阪も暑いです。午前中は子供とセミ採りでした。1時間弱で10匹以上捕獲しました。昔とった・・・ですか。今の時期、大阪ではクマゼミばかりです。

BASCOMがUSBaspが対応したことを、hiroさんのブログで知り、早速作ってみました。
 http://jj3cmv.exblog.jp/13649370/
やはりBASCOMからヒューズビットの設定もできるのがいいですね。今まではヒューズビットの設定はパラレルライタ、ソフトウェアの書き換えにはHIDaspxと、使い分けをしていました。


AVR工作は、ぼちぼちとやっています。
<最近のAVR工作>
(1)SDカードを使った記録装置。Xportを使用して、PCのブラウザからデータの読み込みができます。Mega644使用。

(2)電波時計の時刻あわせ装置
電波時計の電波状態が悪く、時刻修正ができない時計の時刻を手動修正するモノ。40/60kHzでタイムコードを発生します。1~2メートル以内で使用可能。Mega168使用。

(3)大気圧計
秋月で販売しているデジタル気圧センサモジュールを使って、大気圧をグラフ表示させるもの。グラフ表示する部分(ソフトウェア)はまだ未完成。Mega168使用。

TTT/hiro さんのコメント...

JJ3CMV 酒井さん、こんばんは。 ご無沙汰でした。 大阪も暑いようですね。

 子供のころは九州に親戚のある子供のクマゼミ標本が羨ましかったです。関東はアブラゼミが主流でクマゼミはいません。昨日はミンミンゼミも鳴いてました。hi hi

> ブログで知り、早速作ってみました。
早速製作されたようですね。 旨く行っているようで何よりです。 やはり便利さが違うと思いますね。

> AVR工作は、ぼちぼちとやっています。
ぼちぼちどころか、とても楽しそうな製作の数々です。素晴らしいです。電波時計の時刻合わせ装置が面白いですね。 タイムコードを送ってやれば電波時計はすっかり騙される訳ですね。(笑)

これからも色々お楽しみなって下さい。

JA6IRK@岩永 さんのコメント...

TTT/加藤さん、こんばんは。
久しぶりに覗いたら、新しい書き込みが!
しかもAVRライターではないですか!!
BASCOMが正式にUSBaspをサポートしたとなると当局も復活させなければならないですね!
その前に、時間を作らないとだめですね!
今年の関ハムは賑わったようですが、残念ながら3連休をつぶして出張してました。各局さんにお会いできなくて残念です。
>TGS-40Cの開発者である稲田さん
は当局と同じ職場なのですが、最近当局の出張が多くて話も出来ていません。
AVRは良いよ!と洗脳しているのですが、PICをCで書かれています(^^)

明日も早起きで東京出張です。
金曜日も東京出張の予定です(とほほ)

TTT/hiro さんのコメント...

JN3XBY 岩永さん、こんばんは。ご無沙汰でした。 北関東は今日も夕立でした。明日の夕方も雷雨の可能性があるそうです・・・。

コメント有難うございます。
> しかもAVRライターではないですか!!
Blogは暫くオヤスミのつもりだったのですが、FBな情報を見つけたので結果を簡単に報告しておくことにしたのです。(笑)

> BASCOMが正式にUSBaspをサポート・・・
HIDaspxも非力なtiny2313を使いながら、たいへん良くできたライタだと思いますが、BASCOMの正式サポートがあるUSBaspの優位性は決定的だと感じました。BASCOMユーザーにとって、これからのUSBライタは市販品かUSBaspが1番のお薦めと言えるでしょう。ツールも充実して来たAVRマイコンを皆さんにお薦めして下さい。(笑)

お忙しいようですがどうぞお元気で。都合がついてハムフェアにお出掛けになれると宜しいですね。

私も明日は都内で研究会に出席予定です。