2010年4月18日日曜日

【部品】MEMS Silicon Microphone

【Silicon Microphone:シリコン・マイクロフォン】
 シリコン・マイクとは何であろうか? これは半導体素子と同じように、シリコンの薄板(ウエファ)の上に微細加工で作ったマイクロフォンである。

 市販されているものは、写真のような形状をしている。 小さな穴が音響を取り込む部分である。 内部にはシリコンで作ったマイクエレメントとその出力を増幅するアンプが集積されている。

 マイクロフォンの形式としては「コンデンサ・マイク」である。コンデンサ・マイクは空気または真空を挟んだ2枚の薄板で構成されている。その電極板の間に直流電圧を与え電荷:Qを保持させておく。 音圧を与えると電極板の間隔が微小変化し、これはとりもなおさず電極間の静電容量:C(コンデンサの値)の変化を意味する。
 電極間の電圧:Vは、V=Q/Cであるから、Qは一定であってCが変化すれば電圧Vも変化することになる。 その微小電圧変化:ΔVがまさしく音声信号そのものである。 原理はいたってシンプルだ。(極板間で構成されるコンデンサCには高抵抗Rを通して電圧Vを加えてあるため、瞬時的な電荷Qの移動はなく一定と考える。逆に考えれば極板コンデンサと高抵抗Rの値で電気的な低域カットオフ周波数fLが決まってくる)

【Knowles SP0103N】
 これは、ノウルズ社のSP0103Nと言うシリコン・マイクロフォンの内部ブロック図である。

 左のマイクエレメントがシリコンのMEMS技術で作られたシリコン・マイク本体である。 電源端子に与えられたDC電圧からチャージポンプ式に高い電圧を作りマイクの電極板間に加えている。高い電圧とは言っても約11Vらしい。

 一般的なコンデンサマイクでは数10Vから100Vくらいの高い電圧を印加している。 シリコン・マイクがたったの11Vで済むのは対向する電極板の間隔がごく狭いからであろう。同時にアンプを直近に置くことでマイク出力が小さくても直ちに増幅すればS/Nの劣化を防げる。

 アンプはC-MOSアナログICだそうだ。極小マイクエレメントの静電容量は小さいのでアンプの入力インピーダンスは高いものが求められる。従ってMOS-FETのゲートで受けているのではないだろうか。 マイクで拾った音声信号はアンプで増幅され大きくなっている。また出力インピーダンスも低くなっているので誘導ハム(Hum)にも強い。扱いの感触は従来のエレクトレット・マイクと同じで良さそうだ。

 ずいぶん前からMEMS(メムス)技術(所謂マイクロマシン技術)を使うと、微小なマイクロフォンが作れるのではないかと思っていた。 これはシリコンの異方性エッチングと言う技術を使い非常に薄い膜(=ダイヤフラム)を作れるからだ。しかも半導体回路技術を使いアンプを含めた周辺回路も取り込むことができる。(現状は完全ワンチップ型ではなく、マイク部と増幅部は別個になった2チップ構成とのこと)
 音波の波長に比べ極小なダイヤフラム(振動板)を作ることよって、振動板の共振を可聴域外に追いやることができるだろう。そうすればクセのない良い音のマイクロフォンが実現できる筈だと思っていた。 しかし半導体技術を使うのでは莫大な設備コストが掛かるからよほどの量産が出来なければ実現性は乏しいと思ったものである。

 今になって登場したのは携帯電話に代表される移動体通信機器の過激なコストダウンと薄型化の要求による。今や電話機だけでなくパソコンほか何にでもマイクロフォンが内蔵されている。
 従来のエレクトレット・マイクは構造上熱に弱いことから他の電子部品と一緒にハンダ付け(表面実装)出来なかった。 しかし後から別に付けていたのでは製造行程が増えてコストは不利になる。 また従来のエレクトレット・マイクを薄くするには限界があった。
 そのような市場のニーズから一気に開発が進んだようだ。 もちろんモバイル機器は膨大な数量だから量産効果も十分期待でき価格も急落する。

 さて、我々が気になるのはお値段と音質であろう。お値段の方はだいぶ安くなってる。例によって秋月電子通商で小売りしている。2個入りで300円と400円のものがある。(2010年4月現在)
 初期不良が多いと聞くが、まあ2個のうち1個は使えるだろうと言う販売形態なのだろうか? 或は表面実装品を手付けで試している例も多いから過熱で劣化させているのかも知れない。
 肝心の音質だが無線用には十分なようだ。いま市販されているものはHi-Fiには今一歩らしいが、実際に確かめるべきだろう。 NHK技研が試作した同種のシリコン・マイクはとても良いので将来はナマ録(?)の分野でも大いに期待出来るかも知れない。

# このあと使ってみるのでその実体を報告したいと思っている。

参考:シリコンマイクSP0103NについてCQ出版社発行の月刊紙「トランジスタ技術誌」2015年1月号の付録冊子:トラ技Jr誌18号pp30〜35に評価レポートが掲載されました。 なお、トラ技Jr誌を纏めたCD-ROM版(No.1〜No.22)(←リンク)が発売されています。 SP0103Pの評価レポートはCD-ROM内のPDF版No.18号pp28〜33に収録されています。 トラ技Jr(紙版)のバックナンバーが入手困難な場合はCD-ROM版をご覧下さい。(2016.05.12追記)

(おわり)

2010年4月10日土曜日

【部品】MRF255 Power Amp.

【MRF255 RF Power MOS-FET】
 秋月電子通商をウオッチしていると様々な『出物』が登場して楽しませてくれる。高価で手が出なかったものが驚くような価格で突如登場することもあり、自作ファン・電子マニアなら常に目が離せないだろう。

 しかしRF用パワーデバイスの登場は滅多にないように思う。 昨今の移動体通信はどんどん高い周波数へ移行してるので、モバイル端末機器用の小電力RF Deviceなら結構登場していた。 しかし、このようにハイパワーで尚かつHF帯で使うようなパワー・デバイスの登場は過去の記憶にない。HAM向きのパワー・デバイスは秋月が信越電機商会と言っていたウン10年前、店頭にV/UHF用ツイン・ビーム管が並んで以来の出来事なのかも知れない。(笑)

 誰もが使えるような易しいデバイスとは言えないと思う。半導体ハイパワーアンプに相応のスキルをお持ちのお方向きだろう。過去に2SC2290や2SC2879等で100WクラスのRFアンプを作った経験がおありなら注目して良いFETだ。
 MRF255のドレイン耐圧は36Vと低いのでSSBやCWでも電源電圧Vddはせいぜい15Vまでが良い。もちろんそのままドレインにAM変調を掛けるなど無謀なことは考えない方が良い。(Vdd<9Vなら可だが)最大ドレイン電流は22Aで最大ドレイン損失も175Wあって、かなりハイパワーなRFデバイスだ。

【テスト回路】
 メーカーのデータシートにあった、54MHzのAB級SSB用直線増幅器である。 FETはBJTとは違い、明確な遮断周波数fTはないが、ゲートソース間の入力容量:Cissやドレインソース間の出力容量:Cossの大きさで使い易い(設計を実現し易い)上限周波数が決まってくる。
 このMRF255は144MHz帯には難しいように思うので50MHz帯までと考えれば合理的だろう。 但し、シングルバンドに特化し電極間容量を十分考慮した設計をすれば144MHzの可能性もあるかも知れない。当然ゲインは下がるし、もちろん「広帯域アンプ」の設計では旨くないだろう。

 最大定格が示すように低電圧大電流のデバイスである。電源電圧の低さを大電流でカバーする無理をしたデバイスだからリニヤリティはあまり宜しくないのである。 このテスト回路における3rd-IMDは標準で-30dB(ワーストケースでは-25dB)とあって歪み特性はあまり芳しくない。(今どきなので有利な数字が出るEIA式ではなく、厳しい方のMIL式のIMD評価であろう) 高電圧で使うPower MOS-FETは良好なIMD特性も期待できるが、ここまで低電圧大電流ではバイポーラ・トランジスタとあまり違わぬ性能に甘んじることになる。 但し、7次9次11次・・・と言った高次IMDが優れている可能性もあるので、ここは大いに期待したいと思う。

 100Wクラスで、しかも広帯域アンプではPush-Pull回路が有利だ。ただし偶数次高調波は少なくなるが、IMDはIn-Out間の直線性によるから殆ど改善されないと思った方が良い。NFBは安定動作には寄与するが、歪みに対する劇的な効果など期待しない方が良い。要はデバイス本来のリニヤリティが良くないと何をしてもそれなりにしかならない。
 厳しくなった電波法の新しい無線設備規則「帯域外領域に於けるスプリアス特性*1」を十分満たすだけの性能が得られない「時代遅れ」のデバイスになったのがこの時期に大量放出された理由なのかも・・・?。

*1:帯域外領域におけるスプリアス発射強度の許容値(5Wを越えるもの):『50mW以下であり、かつ、基本周波数の平均電力より40dB低い値』:第7条関係・無線設備規則別表第三号39による。(アマチュア局の無線設備基準に関わるもの)
・・・・TTT注記:この赤字部分はかなり厳しい数字だと思う。MRF255で実現するのは無理のある数字だ。もはや無線機メーカーが堂々と使う訳には行くまい。(だからバッタもんになったんだろうが・・・)

参考:アマチュア局無線設備のスプリアスに関連する拙Blog内のリンク=>こちら

【MRF255 Push-Pull Power Amp.】
 MRF255のパワーアンプにうってつけの部品が出て来た。 大きなヒートシンクとメガネ型になったRFトランス、そしてプリント基板である。頂き物だったと思うがずっと日の目を見なかった。(VY SRY)

 大きなヒートシンクなので、SSBやCWの間欠オンエアなら自然空冷でも何とかなるだろう。しかし安全を考えれば温度検知型の空冷ファンを付けた方が良いはずだ。

 出力100Wのリニヤアンプを作るには飽和出力が2倍の200W程度になるように設計する。その上で100Wまでの範囲で使うことにする。もちろんメーカー製トランシーバも同様の設計である。 飽和出力が100Wの設計で100Wいっぱい出したのでは、歪み特性(IMD特性)が使用に堪えないほど酷いものになってしまうからだ。

 必要なパワーの2倍くらいの飽和出力で設計し、概半分を超えぬようALCで抑制して実用にしている訳だ。そうしたメーカー機ではドレイン側の負荷インピーダンスは200Wの設計ではあっても、電源容量やヒートシンクの物理的なサイズは当然100W用なのでALCの抑制を外して100W以上を出そうなどと思ってはいけない。(スプラッタが甚だしいばかりか過負荷に対するマージンも不足し壊れやすくなる)

 MRF255は本来ならSSB用のリニヤアンプとして考えるのだろう。もちろんCW用にしても良いので十分な放熱をすればシングルで70〜90W、Push-Pullでは150〜200Wが期待できるだろう。 CWやFMはシングル・キャリヤなのでC級増幅でも良いわけでIMDはぜんぜん問題にならないからこのような使い方も可能だ。むしろ飽和領域あたりまでOver Driveして使うのが常識でさえある。そうすることで終段効率も随分良くなって行く。

 なおFull Powerでは非常に大きな電流が流れる。特に「広帯域アンプ」としてマルチバンド用に設計すると40〜50%のドレイン効率になるので、Vdd=12.0Vでは20A以上になることも多い。200Wならその倍近いだろう。電源スイッチの電流容量には十分注意し、さらに極太のケーブルで配線すると言った当たり前に思える配慮も「低電圧ハイパワー」なアンプ作りのノウハウの一つだ。さもないと入力信号のピークでドレイン電圧が降下してしまいパワーが伸びない『ノンリニヤ・アンプ』になる。(笑)(12V電源のメーカー機の終段回路は電源スイッチさえ通っていない)

 パワーが大きすぎるFETなので中電力には使いにくいが、シングルで使ってQRP-CW機に付加するPo=10〜30W程度のブースタにも良さそうだ。その場合はアイドリングも控え目にすれば物々しいヒートシンクは必要なくて手帳サイズでも大丈夫だ。Low Bandでは1〜2Wのドライブで十分なパワーが出る。 一般に狭帯域設計の方がゲインがあって効率も良いが、周波数特性の平坦化と安定動作を優先しNFBを掛けた広帯域アンプにしてみるのも良い。

 MRF255はSSBで奇麗な波を目指すにはいま一つかも知れないがCW/FM/FSKにはまったく支障ない。HF帯をFullにカバーするFBなブースタが作れる。電子デバイスは使い方しだいで活きてくるものだ。あまりたくさん在庫すると消費に困りそうだがパーツボックスに数個入れておきたい。パッケージは熱伝導に優れた窒化アルミニウムである。酸化ベリリウム(ベリリア)よりやや熱伝導性は劣るようだが、有毒物ではないので安心だ。

# この種のデバイスとしては異例のお値段なのでハラハラせず実験できるのは有難い。ドレイン耐圧が2倍くらいあったらもっと良かったのだが・・・。



【参考:MR255の使用例】(2010.10.10追記)
 左図は、ICOMのIC-706 MK-1トランシーバの終段部分である。ドライバ段もFETになっているが、これはVHF帯までカバーする都合であろう。HF帯用ならBJTでも良い。

 ドライバ段がPush-Pullではなくて済むのはドライバのMRF5015と終段のMRF255がハイゲインだからであろう。MRF255のBIAS電圧はダイオードで簡単に温度補償している。(注:このダイードは単なる回路保護用かもしれない。MRF255が破壊した時に意味を持つ)また、軽いNFBを掛けて周波数特性の平坦化をはかっている。 IC706は車載用なので電源電圧は13.8Vで設計しているはず。 見る機会が有ればドライバ・トランスや出力トランスの大きさなどを参照すると良い。

 理由は不明だが、IC706 MK-2ではファイナルが変更され2SC2694のPush-Pullになっている。さらにMK-2Gでは再びPower-MOSに戻っているがSRFJ7044と言う別のPower-MOS FETに変更されたほか、さらにもう一段のドライバ・アンプが追加されている。MK-1の回路ではHF帯各バンドで均等なパワーが得られなかったのかも知れない。設計時に想定したより、デバイス(MRF255)のバラツキが大きかったのではないだろうか。それさえ解決すればBJTよりPower-MOS FETの方が優れるので再び戻ったのだろう?(いえいえ、あくまでも想像でのお話し。真相はわりませんけど・・・)

 IC706が登場した時代のスプリアス基準は上記とは異なっていた。旧基準で作られたリグも2023年まで継続して使用できることになっていたと思う。(ずいぶん先のことだが、その先も使うには自作品の扱いで保証認定による方法だろうか?)

(おわり)

追記:MRF255は2012年11月ころ売り切れになったようだ。思えば2年半もの長きに渡って継続販売されたのだから、相当量の数があったのだろう。それも全てさばけたのである。 予想ではすぐになくなるのではないかと思っていたので意外と言う気もする。しかし冷静に考えると微妙に高価でしかも用途は限定的だから手を出さなかった自作HAMも多かったに違いない。自身も購入しながら未だに本格的活用に達していない。せっかくリキを入れて作っても性能がいま一つなのでは製作意欲も減退気味と言うものだ。それでも多くの自作HAMにとって縁遠かったRF用Power-MOSの扱い方の周知には役立っただろうと思う。秋月電子通商のお陰だ。 もう無くなってしまったものは仕方がない。買いそびれた人は無理に入手しようとせず、ずっと性能の良い別のFETを活用した方が良い。(2013.01.06)

2010年4月4日日曜日

【部品】XR2206CP Function Gen.

【EXAR XR2206CP Function Generator】
 エクサーのXR2206は古いICだったと思う。昔カタログで見て面白いICだと思ったことがあった。 しかしその頃は入手性が悪かったので「絵に描いた餅」の存在でしかなかったのだ。
 それが今頃になって秋月電子通商が扱うようになり一気にポピュラーな存在になった感じだ。 かなり高機能なICが@400円なのだから、お買い得だろうと思う。部品を自力で集める「完全自作」は面倒くさいと思うなら秋月kitもあり。専用基板付きなのでお手軽だ。(笑)

 ファンクション・ジェネレータの直訳は「関数発生器」だが、簡単に言えば一種の発振器である。三角波(さんかくは)、鋸歯状波(きょしじょうは)、矩形波(くけいは)など「正弦波(せいげんは)」以外の各種波形の信号も発生できるのでファンクション・ジェネレータと称している。
 この種のICとしては、Intersil社のICL8038があまりにも有名であったが既に生産中止である。ICL8038の機能と上位コンパチで広帯域のMAX-038(MAXIM社製)もあったが、こちらも生産中止のようだ。従って機能的に類似のXR2206の登場はファンクション・ジェネレータを自作したい人に嬉しいニュースだろう。アナログ式ミュージック・シンセサイザの構成要素(VCO信号源など)にも良さそうだ。

【XR2206CPの活用】
 アマチュア無線の用途で活用されるケースは稀かも知れない。まず思い付くのは単なる正弦波発振器の用途だろう。 CWのサイドトーン・オシレータに使ったら可哀想かも知れないが、専用の「正弦波発振回路」より起動特性が良いのでキーイングに向くかも知れない。
 可変抵抗器:VR一つで約2,000倍の周波数可変範囲がある。これは下限を10Hzに設計すれば上限は20kHzであるからオーディオ帯域を1バンドでカバーできる。他の発振器では数倍〜10倍程度が限度なので非常に可変範囲が広いのが特徴だ。
 左図ではC=0.05μFとすれば、10Hz〜20kHzくらいをカバーする。0.05μFは、0.1μFの2個直列で得るのが簡単だ。周波数可変用:2MΩのVRも秋葉原で見つけられる。VRになるべく大きなツマミを付けるのが操作性を良くするポイントだ。

 ほかにはオーディオ帯域の可変周波発振器を自作する程度であろうか。オーディオアンプの周波数特性やゲインの測定にあったら便利そうな発振器だ。ただし歪率測定用には向かない。データシートに正弦波が「低歪み」とあって期待してしまうが騙されてはいけない。 確かにファンクション・ジェネレータで得る正弦波としては良い方なのでウソとも言えないが、正弦波専門の発振回路と比べると低歪みとは言えない。
 従って近代的オーディオアンプの歪み測定用信号源にはまったく不十分だ。(100倍くらい悪い) 三角波を元にSine Shaper(=Sineコンバータ)に通す方式で超低歪みな正弦波を得るのは無理なのだ。 まあ無帰還管球アンプの測定くらいなら使えるかも知れないが。(笑)

 ICL8038には無かった機能で、面白いと思ったのは振幅変調器があることだ。 ラジオの調整に使うテストオシレータとか中波帯のワイヤレス・マイクが作れそうだ。 単独で発振させただけでは周波数安定度が悪いからVCO形式にしPLLでロックすれば良いだろう。しかし周波数上限が1MHzそこそこなのではあまり作り甲斐が無い感じもする。

 XR2206CPを核にして外付け回路を補い、本格的な「ファンクション・ジェネレータ」を作るのが一番だろうか? 低周波用スイープジェネレータやバースト波発生器などを作るには便利だろう。 そう思って数個パーツボックスに入れておいた。

# きっとパーツボックスの「肥やし」になるに違いない。(笑)

(おわり)

2010年3月28日日曜日

【AVR】HIDaspx_Writer(2)

【HIDaspx Writer】
 前のBlogの続きである。Egg-Writerを使ってファームウエアを書込んだATtiny2313を使い【HIDaspx】と言う名前のプログラム・ライタを作った。 なお、回路図と部品レイアウトはEgg-Writerを作る際にダウンロードした説明書:HIDaspx.pdfに詳しく書いてある。そちらを参照のこと。(参考:HIDaspx情報へのリンク→こちらから)

 混乱しやすいので、おさらいしておこう。 AVRマイコンのプログラムはパソコン(PC)を使って開発する。 開発したプログラムは目的のAVRマイコンのメモリに書き込む(転送する)必要がある。そのための書込器がこの写真の【HIDaspx】である。
 また、書込む際にパソコンには「書込用ソフトウエア」が必要で、そのソフトウエアには『hidspx』と言うのを使う。 BASCOM-AVRで自作したマイコン用のプログラムは:BASCOM→『hidspx』→【HIDaspx】→AVRマイコン・・・と言う経路で送られ、AVRマイコン内部にあるプログラム・メモリ(Flashメモリ)に書き込まれる。

 ここで作った【HIDaspx】は、パソコンPCとAVRマイコン基板の間をUSBインターフェース経由でプログラム転送の仲立ちをするためのハードウエア(装置・基板)である。 そのハードウエアのことをプログラム書込器(プログラム・ライタ)と呼んでいる。
 このプログラム書込器はマイコンを使って製作している。その書込器を作るためのマイコンにも当然プログラムが必要だ。 そのプログラムは「ファームウエア」と言い、前回のBlogで「Egg-Writer」なる「簡易書込器」を作って書込んだ。

 そのファームウエア書込済み済みのマイコンを使い、写真の様な【HIDaspx】ライタを製作したわけだ。 部品揃えから始めて配線終了までに要した時間はおおよそ4時間ほどであった。 途中で手持ち既存のライタとの互換性確認や休憩など挟んだので、正味の製作時間は2時間くらいだろう。専用基板も売っているそうなのでそれを使えば30分で出来そうだ。

【HIDaspx Writer:裏面】
 お見せするようなものでもないが、配線はこんな感じである。ISPコネクタの回りが厄介だったが、これは従来型の2列6ピン・ISPコネクタと、最近採用している1列7ピン・ISPコネクタの両方を実装したからだ。
 どちらか一方にすればスッキリするが、拙宅の開発環境に於ける互換性維持のために面倒だが2種類のコネクタを実装しておいた。
 USBコネクタからは5V/350mAが取り出せる。ライタ自身の動作だけでなく開発しているマイコン基板へも供給できる。 プログラム書込み用のISPコネクタから供給するが、マイコン側で既に電源が用意されていると衝突してしまう。 電源Vdd+5VはON/OFFできるようにスイッチを付けてある。

注:USBインターフェースのデータライン:D+及びD-とGnd間の3.6Vの定電圧ダイオード(Zenner Diode)は実装しなかった。使用するパソコンによっては不可欠なので実装しておくと良い。

【ISPコネクタ】
 既知と思うが、昨今のマイコンはISP(In-System Programming)機能を持っている。開発中の「AVRマイコン」を目的物の基板上に置いたままでプログラムの書き換えができる。
 ISPに必要な信号線はGnd(回路のアース)を含めて5本である。オプションとしてVdd+5Vの電源があるので一般に6ピンコネクタが使われている。(以前は10pinタイプも多かったようだ。JTAGの標準だった模様)趣味の製作なら任意のコネクタと任意のピン配置で構わないが、少なくとも自分の製作では合わせておかないと不便だ。
 左の1列のタイプでは7ピンを使っている。そのうち2番ピンの所を塞いでおき、ケーブルが逆に挿入されるのを防いでいる。 逆接続するとプログラム書込器あるいは、目的のマイコン回路を壊す危険がある。このように逆には装着できないようにしておくと安心だ。

 備忘用に各々ピン配置を記入しておいた。この6ピンコネクタの配列は一般市販のライタにも見られる「標準仕様」のようだ。

『hidspxでテスト』
 改めて書くが『hidspx』と言うのは、上記のプログラム・ライタ基板【HIDaspx】とセットで使うパソコン側のソフトウエアのことである。

 左図は、パソコンのDOS窓(コマンド・プロンプト)から『hidspx』を起動し動作確認している様子だ。 『hidspx』は、GUIではなく「CUI」インターフェースなのでキーボードからコマンドをキーインして使う。 定型作業は「バッチ・ファイル」を作って簡略化もできる。 あるいはTEXTファイルから文字列をコピペすれば間違いも少ない。赤のアンダーラインの部分をキーインすると、画面のように応答がある。(注:事前に【HIDaspx】ライタとその先にAVRマイコン基板を接続し動作させておく)

 この種のプログラム・ライタとして、以前はUSBasp(書込器)とavrspx(書込み用プログラム)のセットを使っていた。 avrspxも、同じようにコマンドプロンプトから使うが、主な用途はヒューズビットの書き換えである。 BASCOM-AVRからプログラムを書込むときにはコマンドプロンプトを意識する必要はなかった。 これはavrspxから発展して出来た『hidspx』も同様である。主要チップについて良く使うヒューズビットのパターンをTEXTファイルに書いておけば便利だろう。

【hidspx-GUIの登場】
 大昔にC/P-MやMS-DOSを使った世代には、コマンドプロンプトから「CUI」で使うのも苦痛ではないかもしれない。自身、何となく懐かしく思えて特に苦痛は感じなかった。 しかし、Mac-OSやWindowsの世代は「GUI」による操作環境が欲しいだろう。

 『hidspx』には使い易い「GUI」環境も用意されている。 図の様にコマンドプロンプトを感じさせるGUIであるが、わかり易い操作になっている。取りあえず説明書を読まずに操作できるのは流石に「GUI」だ。古い世代にもGUIはやはり便利で楽だと思う。(笑)


【hidspx-GUIのショートカット】
 良く出来たGUIが備われば、もはやコマンドプロンプトから使うことなどなさそうだ。 ・・・なので、さっそくショートカットを作ってデスクトップに常駐させることにした。

 ますますコマンドプロンプトからの操作を忘れてしまいそうだ。しかし、これも時代なのである。(GUIを作った人に感謝)



【BASCOM-AVRのセッティング】
 BASCOMで作成したプログラムを『hidspx』に渡し【HIDaspx】に送るには BASCOM-AVRのセッティングが必要である。

 BASCOM-AVRの「Option→Programmer」メニューから、図の画面を呼び出す。
(1)External Programmer(外部プログラマ)を選ぶ。【HIDaspx】はATMEL純正のライタではないので外部プログラマの扱いになる。
(2)【HIDaspx】とセットで使う書込用プログラム『hidspx』のある場所をフルパスで記述する。(左図の丸写しではなく、自分のパソコンのパスに合わせること)
(3)書込みパラメータは「ファイル」からなので。{file}と書いておく。なお、デフォルトではHEX fileがチェックされていると思うが、もしチェックがなければ付けておく。
(4)書込後にベリファイ(読み出し確認)をするならAutoVerifyにチェックを付けておく。
◎上記が済んだら画面の下の方にある「OK」ボタンをクリックして終了する。

注意:外部プログラマを使う場合、BASCOM-AVRからヒューズビットの操作はできない。従って、ヒューズビット(ロックビットも)を書き換えるには、コマンドプロンプトから『hidspx』、あるいは『hidspx-GUI』を起動することになる。 この点は少々不便だがGUI環境が備わったことで以前ほど面倒でもなくなった。 これを完全に解決するにはBASCOMが認知している純正プログラムライタ・・・たとえばATMELの「AVRISP-mkII」や「STK-200/300/500ライタ」を使うしかないだろう。

追記;同じUSBライタのUSBaspをBASCOM-AVRが正式にサポートするようになった。BASCOM-AVRからヒューズビットやロックビットを直接操作できるようになった。これは自作USBライタに於いては画期的な出来事だ。詳しくは以下のBlogで。==>ここ。

【使ってみる】
 写真は既存のAVRマイコン基板に接続しテストしている様子だ。 ISPコネクタは互換性があるようにしておいたので、すぐ確かめられる。
 コマンドプロンプトからは以前のUSBasp+avrspxのセットと同じように使えた。操作は同じなので違和感がないのは有利だ。 また『hidspx-GUI』も試したが使い勝手は良好だった。
 BASCOM-AVRからもUSBaspのときと同じようにスムースに使えた。 書込みの時間はUSBaspよりやや掛かる感じもするが、数kバイトの転送とベリファイは数秒のことだから特にストレスも感じなかった。

 これまで、USBasp+avrspxをメインに使ってきたが、【HIDaspx】+『hidspx』のセットで置き換えられそうだ。 使いながらしばらく様子を見たいと思う。

【USBライタ勢揃い】
 いつのまにかUSBライタが4種類になってしまった。 現在のところ決定版はやはり左から3番目の【HIDaspx】であろう。 USBライタを作るなら【HIDaspx】をお薦めしたいと思う。==>状況が変わって、BASCOM-AVRユーザならUSBaspライタが断然お薦めだ。(2010.10.10)

 写真は左からmini EZ-USBライタ、USBaspライタ、【HIDaspx】ライタ、デジット製USBライタである。
オプティマイズ社のmini_EZ-USBライタはCypress社製のEZ-USB(AN2131SC)と言うUSBマイコンを使ったユニークなキットである。「鶏と卵」の関係が発生しない賢い仕組みなのだが肝心のEZ-USBマイコンがディスコン(製造中止)になったのは残念だ。書込み用ソフトが最新AVRマイコンには対応していないのも痛いところ。
 USBaspはこれまで常用していたなかなか良いライタである。初めて使う際はパソコン側の初期設定があって少し面倒だ。パソコンにUSB機器として認識させるためのドライバをインストールする必要があるのだ。また、セットで使うavrspxはあまり新しいチップに対応していないようだ。但しUSBasp+『hidspx』で使うこともできる。写真のUSBaspはATmega48を使っており、ファームウエアはEgg Writer式で書込んだ。==>USBasp関連のページはこちら。
 一番右のデジット製USBライタは完成品として売っている。ATtiny2313を使い内部クロックによる動作なので安価にできている。GUIの専用書込みソフトが付属する。BACOM-AVRからは外部プログラマとして使うことができる。デジットのサイトから書込みソフトの最新版がダウンロードできるが、対応していないチップ・・・例えばATmega328Pなど・・・があるので注意が必要だ。

☆【HIDaspx】は新しいAVRマイコンチップ:例えばATmega328PにUSB経由で書込むライタが欲しくなって製作した。期待通りのFBなものだった。 【HIDaspx】ライタの良さとして強調すべきは、特別なUSBドライバのインストールなしで使えることだと思う。これは任意の(Windows)パソコンですぐに使えるわけで、自作のUSB機器としては画期的なことだと思う。 多くの人たちによって改良が重ねられてきたライタだけあって機能も便利で動作も安定しており信頼できそうだ。暫くは有志によるサポートも期待できるだろう。

◎HIDaspxやhidspxの記事が JN3XBY岩永さんのBlogにも有り→こちらから。

# ライタの製作も楽しいがBASCOM-AVRにはATMEL純正のAVRISP-mkIIが一番なのかもしれない。(注:BASCOM-AVRにはUSBaspと言う選択肢もできた。2010.7.28)これから始めるなら初期のトラブル回避にもそうした方が良い。結局このBlogは自身の備忘録なのである。(笑)

Egg Writerは心配ならファームウエアの書込みをサポートするので気軽に相談を。
(おわり)

2010年3月21日日曜日

【AVR】HIDaspx_Writer(1)

【Egg Writer】
 何台も同じモノを作る可能性は低いのですが、これは自身の備忘録です。 過去の製作と類似のモノをもう一度作ろうと思ったのですが、些細なことのようであって、実は重要なところを忘れてしまっていました。当時の簡単なメモも残っていたのですが・・・。もう少し詳しく書き置くことにしましょう。

 テーマ:これはAVRマイコンのプログラム開発に使う「メモリ書込器」を1から自作する話しです。

 パソコン(PC)のUSBインターフェース経由でマイコンにプログラムを書込む「USBライタ」の自作トレンドはATtiny2313を使った「HIDaspxライタ」が主流の勢いです。それが無いと世間の進歩に遅れをとり、不都合もあるようなので製作することにしました。なお、類似のライタとしては、ATmega48を使ったUSBaspと言うモノを作ったことがあって愛用していました。類似なので同じように旨く行くだろうと思って始めたら、意に反して思ったようには行かないところがありました。だから忘れぬうちの備忘録作りなのです。(笑)

 作るにあたって、すでにあるAVRマイコン用プログラム・ライタの助けを借りるのでは面白くありません。つまり、AVRマイコンに初めて取り組む人と同じ条件で始める訳です。(そこで所謂「鶏と卵」の関係にあたるエッグ・ライタの製作で行くことにしました) 使うノートPCはレガシーフリー、即ちUSBインターフェースくらいしかなくてRS-232Cシリアルポート(COMポートとも言う)やパラレルポート(LPTポートとも言う)が省かれた(最近の)マシンを想定することにしました。

 既にPICやAVRマイコンにお馴染みの人には以下の説明など無用だと思います。しかし、簡単に書いておきましょう。 マイコン工作ではプログラムを書込む道具が必要なのですが、「その道具を自分で作るにはプログラム書込み済みのマイコンが必要」と言う問題があるのです。 簡単には、よそから「書込み済みのマイコン」を貰ってくれば良い訳です。 しかし、よそを頼らずにごく簡単な「簡易書込器」・・・しかもマイコンは使わない・・・を作って「最初の卵」を産み落とせば良いことになります。 その簡易書込器がこの【Egg Writer】と言う訳です。

 プログラムのライタ(書込器)もUSB接続の市販品があって驚くほど高価でもないので購入してしまうのも手でしょう。労力を考えたら案外安いものかも知れません。しかし、ひと手間掛けて自分で作れば数100円の費用で手軽に遊ぶことができます。 実用に「使える道具」を自分で作ると言う楽しみもあります。 そうした趣旨からライタを自作する人も多く、製作を扱う記事には人気があるようです。

 上の写真は秋月電子通商で売っているUSBをRS-232Cに変換するケーブルを使って、USB経由でプログラム書込器用のAVRマイコンを作っている所です。これが「簡易書込器」を使った最初の一歩になるわけです。その作業手順をメモっておくのが、このBlogを書く意味です。

【Egg Writerの回路】
 何はともあれ、最初の1個だけプログラム書込済みのAVRマイコンを強引(?)に作ってしまおうと言う訳です。 図がそのための回路です。(上の写真参照)中央にあるATtiny2313と言うのがマイコンです。秋月電子通商で@¥100-で売っている。(参考:2017年現在では値上がりしています)もちろん買って来たままでは何のプログラムも書込まれていません。これに書込んだらプログラム・ライタ用のマイコンに変身する訳です。(注:旧型のAT90S2313は使えません。プログラムの書込み方に違いがあるからです)

 新品チップに書込むのが前提なら12MHzの水晶発振子と22pFのコンデンサ(2個)は不要です。 但し、あとで必要なので持っていなければ買っておきます。取りあえずの目的なら、抵抗4本とコンデンサ2本、あとダイオード1本だけでも良いでしょう。(ダイオードはなくても大丈夫そうですがマイコンの端子に逆電圧が印加されるのが気になるので私は入れておきました)
 右のD-SUB 9pinコネクタにUSB-RS232C変換器(USBシリアル変換ケーブル)を接続し、その先をパソコンのUSBに接続します。 なお書込む時には回路に+5Vを与える必要があるので、DC+5Vが出せる電源装置も必要です。(+3〜5Vの範囲で良いので単三乾電池を2〜3本直列にし電源の代用にしても良いです。電池は1本では電圧が足らず4本では高すぎます)

 一回こっきりしか使わないのが普通ですから、立派なものを作る必要はなくバラック配線あるいはブレッドボードに作れば良いでしょう。 これもプログラム・ライタには違いないですが非常に簡易なものであって常用には適しません。常用するために必要な確実に書込めたか否か確かめる重要な機能がないのです。 なので、上の写真のようにブレッドボードに組み立てました。恒久的に使う物ではないからそれで十分でしょう。 厳密に言えば不確実なライタなのですが、なるべく単純化し危なげな要素を極力なくすことで信頼性を上げているとも言えます。

【書込手順の備忘】以下、手順+ポイントを書いておく。
(1)USB-RS232C変換ケーブル・・・・
秋月電子通商で売っているものを使う。@¥950-だそうだ。(リンク→これ)PCには付属説明書の指示に従い専用のドライバソフトをインストールしておく。

(2)Setcom25・・・・
エレコム製のCOMポートの割付け変更用プログラムをどこかで探してPCにインストールしておく。このソフトは様々な場面で有用なので持ってると便利だと思う。なお、本家エレコムさんのサイトのSetcom25はこちら。

(3)LEDと4.7kΩの抵抗器・・・・
直列にしたものを作っておく。LEDはお好みの色で。これはUSB-RS232C変換ケーブルが確実に動作しているかビジュアルに確認するために使う。実際はオシロスコープを使ったが、無ければ「LED+抵抗器」でも十分役立つ。D-SUB9ピンコネクタのTXD(Pin3)に4.7kΩを通してLEDのアノード側を、カソード側をSG(Pin5)に仮に接続しておく。なお、オシロを使う場合は、プローブのGNDをPin5に接続し、Pin3の変化を監視する。垂直軸は5V/divにセットする。水平軸は適当でも良いが1mS/divくらいで。

(4)COMポートのセット・・・・
Setcom25をつかって、USB-RS232C変換ケーブルがCOM 1に割り当てられるよう変更する。 既に別のなにかがCOM 1に存在すれば、事前にそれを空いた番号へ割り当てておく。ポート番号を移したら一旦PCは再起動が必要なようだ。なおポート番号を移さずに済む方法もありそうだが、これが一番簡単で確実そうに思えた。

(5)HIDspxのダウンロード・・・・
ライタに命を吹き込むプログラムである。ネット上から圧縮されたファイルをダウンロードし、解凍してPCにインストールしておく。これは真っ先にやっておいても良い。HIDspxは取りあえず、ここにあるようだ。2011年3月6日現在のバージョンは「hidspx-2010-0823.zip」のようだがアップーデートされる可能性もあるからその時は最新版を。付いてくるHIDaspx.pdf:説明書は良く目を通しておくこと。(しかし如何にも良くわかった人が書いた説明であって無知の人に理解は難しそう。パソコンやマイコンに馴染みが無いと用語も含めてチンプンカンプンで難解だろうと・・。読み返すと多少はわかってくるのかも・笑)

(6)egg-writeバッチ(ソフトの一種)を準備・・・・
実行の前に(3)のLED+抵抗器が付けてあることを確認。Eggライタへの接続はまだしない。 hidspxを解凍したその中にあるbinフォルダを開き、さらにその中のfirmwareフォルダを開いてみる。中にegg-write.batと言うのがある。これをマウスで選んで実行する。バッチファイルと言うのは一連の作業を自動的に実行するためのもの。ここでは簡易書込み器へのプログラムの転送やヒューズビットの書き替えなどの一連が記述してある。中身をいじる必要はないがTEXTエディタで見ることができる。

(7)egg-writeバッチを試行・・・・
さっそくegg-writeバッチを実行し指示に従って進めると、先に接続しておいたLEDが40秒間ほど明滅るだろうか? 明滅すればデータはRS232Cの先端まで出て来ているとわかる。 これが確認できるまでは「Eggライタ」に接続しても意味は無い。 なお、オシロスコープで見ると約±10V振幅のパルス信号が40秒間くらい継続するのが観測されるだろう。 もし旨く行かなければUSB-RS232C変換ケーブルがCOM 1にセットされていないのが原因では? この試行は何回やっても支障はないから旨く行くまで再確認しながら試して見ること。

(8)簡易ライタ(=Eggライタ)に接続・・・・
上記でRS232Cの所まで信号が来ているのが確認できたら、D-SUB9ピンコネクタのTXD(Pin3)とSG(Pin5)を上記Eggライタ回路図の所定の場所に接続する。

(9)書込む・・・・
Eggライタに+5V電源を与える。上記(7)と同じことを実行する。PCのDOS窓画面(黒い背景の小画面)に「リセット解除ボタンを押せ」と出るので、その通り行なう。2〜3秒も押せば十分だ。済んだらPC画面の指示に従いReturnキーを押す。画面には試行した時と同じように進行状況が刻々と表示されるだろう。約40秒ほどで終了しDOS窓画面も消える。これで書込み完了だ。


 文章で書くと長ったらしいが、実際は手順を飲み込んでいれば5分も掛からずに終わるでしょう。特別難しいこともありませんが、しょっちゅうやることではないから忘れ易いのです。あとで辿れるように記憶が鮮明な今のうちにメモっておいたと言う訳です。さらに書き切れなかった細部は忘れても必要な事項さえ網羅されていればおそらく何とかなるでしょう。(笑)

 この簡易なEggライタは、一見怪しそうな方法にも思えます。しかし説明を読めばAVRマイコンの書込み原理に従った旨い方法で実現していることがわかります。したがってPCから来るコネクタの所に確実にデータ信号が出ていて、Eggライタの配線に間違いが無ければ、あとは指示された手順通りに行なえばちゃんと書込める訳です。

【確認方法・1】
 上の回路では書込めたかどうかを確認する術がありません。 確認方法の一つは、さっそく簡単な回路を作ってPort B2(Pin14)にR+LEDを付けてみることです。 このように点灯すれば成功したと思って良いです。

 書込みに成功していれば、外部水晶で動作するモードにプログラムされているので、もちろん外付けの水晶発振子が必要です。 従って、水晶発振子を付けると上記のLEDが点灯し、水晶がないと点灯しなければ、書込みの成功・不成功がわかります。
 その派生の方法として12MHzの水晶が発振しているか直接確かめる方法でも書込みが行なわれたか否かの判定にはなります。ジェネカバ受信機があれば12MHz付近を探ってみるのも良いでしょう。

【確認方法・2】
 これは反則ワザですが、もう少し確実な確認方法があります。BASCOM-AVRとパラレルポートに付けるライタが動作していれば、このようにメモリの読み出しができるから、書込めたことがわかる。

 もっとも、そんなライタがあるなら何も上記のようなEggライタを作る必要はないのですが・・・。(笑)

◎以下は既に別のプログラム・ライタを持っている場合の記述です。
 HIDaspx用のATtiny2313を作るには、ダウンロードして解凍したフォルダの中にある「main-12.hex」と言う、intel-hexa形式のプログラム・ファイルを書込めばよいです。

 手順ですが、まずhidspxを解凍したら、その中にあるbinフォルダを開き、さらにその中のfirmwareフォルダを開いて見ます。 firmwareフォルダの中に「main-12.hex」と言うファイルがあるでしょう。これをBASCOM-AVRのプログラム・メニューの画面に入って読み込んでからマイコン(ATtiny2313)に書込めば良いのです。

 もちろん、この方法ではヒューズビットの書替えも手作業で行なう必要があります。 ヒューズビットLowは「11111111」で、Highは「11-11011」にします。これでUSB接続用の書込器に使えるATtiny2313が作れます。

 AVRマイコンの開発環境をデスクトップ機から最近のノートPCに移行したいならUSBライタを自作すると良いでしょう。既に稼働中のプログラム・ライタがあればhidspxからもBASCOMからでも簡単にできるでしょう。Eggライタを使う方法よりも簡単です。 以上詳細な記述は端折ったのですがBASCOM-AVRの使用経験があるならこれで概ねわかると思います。


 この続きでは上記のATtiny2313を使ったライタの製作記を予定します。 Eggライタによって、すでに内蔵のプログラム(ファームウエア)は書込めた訳ですから、あとは単に配線するだけです。 製作自体は目新しくもありません。 製作後の動作確認を含め専用の書込みプログラムの使い方とそのGUI版を紹介し、さらにBASCOM-AVR側の初期設定の方法を扱う予定です。HIDaspx Writerを実用するための重要情報があるので参照して下さい。 de JA9TTT/1

☆このBlogの続きは→こちらから。

# 読んでいて、わかりにくい部分あるいは勘違いなど発見されればコメントをぜひ。

きょうは、このあとお彼岸の墓参です。

(Bloggerの新仕様に対応済み。2017.04.03)