No.21 HIDaspxの製作でんし研   


今回は製作記で、ダウンロードファイルはありません。
HIDaspxのダウンロードはこちら( senshuさんのHIDaspxのページ)

ドライバのインストールCDが要らないライター
最近、話題のHIDaspxを作りました。
今回は単なる製作記です。ファームウェアの改造とかはしていません。

5V用で製作
3.6Vのツェナーダイオードを持っていなかったので最初は電源3.3Vで作りました。
ところが私の場合は5Vで書き込む基板が多いので5V用で作り直しました。
あまり良い方法ではないのですがLEDを2個直列にしてツェナーダイオードの代用にしています。持っているLEDの中ではシャープのGL3HD8が一番Vfが小さく、2個で3.5Vでした。
尚、D+/D−につなぐ抵抗値は220Ωにしています。



USBハブで速くなる?
senshuさんの記事に書いてあったので試してみました。
使ったのはUSB2.0ハブのU2H-TAP1310BWHです。
接続するとドライバが自動的に読み込まれました。
バスパワー専用型なので1ポート当たりの供給電流が100mAと少ないです。
使用パソコンはWindows2000(SP4) GEODE(ジオード)1.2GHz、USBはVIAになっていました。



USBハブで速くなりました
Tiny45で4Kバイトのランダムデータを実際に測ったのが下の表です。
下の表で「書込時間」は消去・書き込み・照合を実行した総合時間です。
HIDaspx -D0は水晶19.6608MHz、それ以外は内蔵発振8MHzでテストしました。

HIDaspxは速くなりました。-D0のときは2倍速いです。
USBaspは逆に遅くなってます。
78K0版AVR-ISPは変わらずです。78K0版はUSBポートが変わるとドライバをインストールし直す必要があり、COM番号も増えるので、その点はHIDaspxは楽でした。

追記
HIDaspx 1012版のファームでテストし直しました。
書き込み時間は1007版とほぼ同じです。
WindowsXP(SP3)、Core2Duo(3GHz)、USBはIntel ICH8のパソコンでも計測しましたが書き込み時間は大体同じでした。通信内容が変わるわけでもないのでパケット落ち?するぐらい遅いパソコンでないと変わらないと思います。

ライター  書込時間 
(ハブ有り)
 書込時間 
(ハブ無し)
 備考  
 デュアルMega48版   −−−    1.5 秒  SCK 921kHz
 78K0版 Ver 1.1    1.7 秒   1.7 秒  SCK 921kHz
 USBasp  -D1   2.8 秒    1.6 秒  
 HIDaspx -D0   1.6 秒    2.8 秒  hidspx 1012版。水晶20MHz弱 
 HIDaspx -D1   1.8 秒   3.0 秒  hidspx 1012版を使用
 HIDaspx -D2   2.6 秒   3.2 秒  hidspx 1012版を使用

旧世代のAVRをテストしました
AT90Sシリーズに書き込めるか確認しました。手持ちのS2313では1発で同期するので改善前から書き込めてしまいます。これではテストにならないので「enter前にSCKパルスを出すexe」や「SCKずらしをしないexe」といった特別なhidspx.exeを作って確認しました。
結果、
1012版(1010b版と同じHEX)のファームでは問題なくSCK同期できることを確認しました。



S1200の場合
AT90S1200の書き込みは下の画面のような異常がでました。これはチップの不具合なのでSPIブリッジでもでます。この場合は-tオプションで型式指定することで対処できます。



SCKとMOSIの波形
参考までに書き込み時の波形を取りました。上がSCKで下がMOSIです。-d10の波形です。
SCKの波形が延びているのはUSB通信のためだと思われます。SPIブリッジでも割り込みで波形が延びますがシリアルなのでここまで延びません。
又、USB送信中はツェナーに10mA以上流れるので少し脈流になります。パスコンが遠かったり、電源線がUEW(ウレタン線)のような細い線だと調子悪いと思います。
例えば、-d40でヒューズ書き込みすると2.8m秒後に書き込まれるはずなので3パケットめに引っ掛かる気がします。このとき波形も延びて脈流も起きるのでタイミング的には悪そうです。
ハードの不備をごまかす訳ではありませんが-dの値は極端に大きくしない方が良いと思います。



2号機を作りました
作ったものの、作り方が1号機と一緒なので特性も一緒でした。
早いうちにUSB用のLEDをツェナーに変更する予定です。



USB波形
下の2つはD-信号で、プルアップ抵抗が違います。
ハブからのH出力(L出力の後の0.5uSの電圧)は一定だということが確認できました。



青色LED
パソコンやUSBハブからの信号電圧を実測したところ3.3Vでした。
レギュレータの精度が悪いのかパソコン5台の中で1台、3.5Vのものがありました。
ツェナーダイオードの代用として青色LEDを使うときは過電流保護用としてUSBコネクタ間に抵抗を入れた方が安全だと思います。(下の回路図のR11、R12)
訂正
USBの仕様を調べたら36Ωの制限抵抗が入っていました。(ハイスピードのときは45Ω)
あえて追加する必要はなかったです。



USB出力
青色LEDについて書いた所、kumanさんよりホスト側に保護回路があるのではないかという質問がありました。
実際その通りで私が買ったハブのIC(NECのuPD720114)はチップ内に制限抵抗が内蔵されていました。

電圧・電流レベルについては分からなかったので下のような回路でA点の電圧を測りました。パソコン3台とハブ1台の特性はほぼ同じでした。
計算では10mAで3.3Vが3Vに下がったことになります。
R11を短絡したらA点は2.6Vになり、それでもHIDaspxは動きました。
全てがそうだと言えませんがUSB出力はワザと弱くしてあるようです。



どの回路が良いか
ツェナーダイオードが良いのか、LEDが良いのか。27Ω(R11)の両端の電圧やR11を短絡した結果からホスト側の負荷電流を推測してみました。右側はホストに掛かる入力電圧です。

ツェナー 3.0V: 8mA  3.2V
ツェナー 3.6V: 3mA  3.6V
青色LED    : 8mA  3.1V
赤色LED x2個 : 0mA  3.8V

・・・ドングリの背比べのようです。(どれもアマチュア規格)
USB用ICの絶対最大定格が40mA、使用レベルの最大が20mAぐらいなので この程度なら実用的に問題ないと思います。後は長年のストレスでどうなるか様子見でしょうか。

過電流もいや、電圧過大もいやならHIDaspxを3.3V専用にするか、双方向の3.3V−5V変換を入れることになると思います。



アクティブクランプ回路
ノンノさんの回路をオシロで確認しました。
3Vのツェナー以外は5Vから2.2kΩにつないでいます。

基準電圧素子 : ホスト側の負荷電流(推測) : ホストに掛かる入力電圧 : 備考

青色LED      : 0mA  3.5V   LEDはRI-5N3STBC-20(RIDER製)
純緑LED      : 2mA  3.2V   黄緑ではなく純緑 514UGC-WR037(中国製?)
TL431(抵抗なし): 1mA  3.25V  電流は2mAかも(精確に測れません)
ツェナー 3.0V  : 1mA  3.2V

かなり良くなりました。電圧は仕様が2.8〜3.6Vですので合格です。
青色LEDはSLC-0B126A-T1(三洋のチップLED)のとき3.7Vになったので型式を選ぶ必要があります。

お詫び
測定の仕方が悪いのかクランプ電圧に誤差があります。
Vbe(トランジスタのベース・エミッタ間の電圧)で調べると常に0.75Vでした。
理論的には0.7Vになるはずですが私のオシロでは0.75Vという結果になりました。
11月30日 追記 NEW!
すでにkumanさんの掲示板に書いていますが、会社の別のオシロで測ったら安定してVbeは0.65Vになりました。
アクティブクランプを製作される方へ
クランプ電圧=ベース電圧+0.65Vになるのでオシロが無くてもテスターでベース電圧を測れば大丈夫です。

ホスト側の負荷電流
ホストに負担を掛けてはいけないから0mAにしないとダメか、そうとも言い切れません。
負荷電流は終端抵抗になっているともいえます。
ロースピードはエッジレート(信号の立ち上がり)が遅いので終端抵抗は要らないみたいですが3mAぐらいならあってもいいのではないでしょうか。
デバイス側には19kΩのプルダウンが要らないのとか、USBの規格を知らないので大きなことは言えませんが絶対ゼロではない気がします。

訂正
ドライバーに入っている制限抵抗は反射を抑えるためのダンピング抵抗でした。
これが過電流保護の抵抗を兼ねているようです。



TL431の時の波形
kugaさんへ
今まで470pFを付けていました。(470pFは手持ちの都合)
紫色がベース電圧です。
コンデンサ無しはHIDaspxからの送信時の立下りにノイズぽいものがあります。



更新履歴
2008年11月30日: アクティブクランプのVbeを0.65Vに訂正。
2008年11月 9日: アクティブクランプのVbeについてお詫びを追加。
2008年11月 8日: アクティブクランプのオシロ波形を追加。
2008年11月 4日: ツェナーの時のD信号波形を追加。
2008年11月 2日: 青色LEDの時の回路案、USB出力実験を追加。
2008年10月27日: 2号機の写真とUSBの波形を追加。
2008年10月12日: HIDaspx 1012版ファームでのテスト内容を追加。
2008年10月 8日 : HIDaspxの製作記を追加。

  トップ アイコン  
直線上に配置