――――――――――――――――――――――――――――――――――――――――――――――――――
*** VER.030 から033 へ変更しました *** (2009/10/26)
VER.030 から033 への変更点
・AVR側ライタ・ソフトで最初の1bitがターゲットAVRに送れない不具合を修正しました。
(HIDsphDESCソースコード中の//MYD090925 のコメントのある2行)
・PC側ライタ・ソフトにATmega168 もプログラム可能にしました。
・PC側ライタ・ソフトでfuse データを表示するようにしました。
・PC側ライタ・ソフトのVerfy エラーを10行まで表示するようにしました。
・シリアル通信テスト用マイコンをATtiny2313 からATmega168 に変更しました。
また、シリアル通信の受信を割り込み使用に変更しました。
@USB_GET_DESCRIPTOR 使用によるシリアル(COM)通信機能
・VISTA 対応 (Win2K、WinXp、VISTA対応)
user mode ドライバのみを使用し、LIBUSB も使用していませんので、
未認証のKernel mode ドライバを排除するVISTA でも動きます。
PC側の Terminal Emulate(HidTerm) ソフトは、直接AVRマイコンを
コントロールしていますので、特別なデバイスドライバは不要です。
使用したAPI は以下のもののみです。
DeviceIoControl(IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION)
・データの転送速度は(PCとAVRマイコン間で)
4m秒間隔でPCから4Byte+7bit 、PC へ7B(データは6B)の転送が可能です。
・AVR側の転送レートは9600BPS 固定で、Data8、NoParity、Stop1 です。
AVRでのフロー制御はCTS/RTSハードウェアコントロールです。
・AVRライタのターゲット部で動く、シリアル通信テスト用マイコン(sphTEST)も用意しました。
AAVRライタ部で追加・変更した機能
・データ転送速度を高速化しました。(HID転送)
2008年(Ver.01)では7Byte(実際には5B)転送に4m秒かかっていましたが、
Ver.03 では40(実際には32B)転送に8m秒(約3倍に高速化)しました。
この場合、ターゲットCPUのクロックは2.8MHz 以上の必要があります。
そのため、プログラム域に書き込む前に、フューズを書き込む必要があります。
その(フューズを書き込む)場合でも、ターゲットのクロックは0.9MHz 以上の必要があります。
・ATmega88 もプログラム可能にしました。
ターゲット・デバイスのSignature Bytes によって自動的に切り替わります。
・PC側ソフトは、HEX ファイルのドラッグ・アンド・ドロップで起動しても、
終了時にDOSプロンプトを閉じなくするために、ショートカットを用意しました。
EXE でなくショートカットのほうで起動してください。
また、終了後にマウスを右クリックすれば、起動時のコマンドを貼り付けます。
・Vendor-ID名、Product-ID名を変更しました。
PC側ソフト(HIDsph)はVer.01 と同じ名前ですので、新版(Ver.03)に換える前に、
始めにAVR に新版ファームウェア(sphDESC)を書き込んでからでないと、
新版(Ver.03)PC側ライタソフト(HIDsph)で旧版ファームウェア(sph2313)使用では
ライトできなくなりますので、注意してください。
ダウンロードHIDsph034.zip (251K) 旧(2008年)版ダウンロードHIDsph010.zip (208K)
・dual-AVR 版
回路図。
U2(mega168マスタ)、U3(tiny2313スレーブ)合わせて29本のポートが利用可能です。
U3(スレーブ)側のライトはAVRSPH コマンドに「-S[V|W|P|F]」オプション付加で可能です。
・dual-AVR 版
の通信とライタ部分のみを抜き出した回路図
・LDO(Low Drop Out)レギュレータ部分は旧判と同じようにシリコンダイオード(1N4148等)2個を
直列接続した回路で代用が可能です。(C3のバイパスコンデンサは必要)
但し、その場合には、PC供給のUSB電源電圧が4.5V以上の必要があります。(規格では最小4.07V)
・ファームウェア(U1)はライタ機能のみ使用の場合、1822(71EH)バイト使用しています。残り226バイト。
シリアル通信機能も使用の場合は残り0バイトです。
USB Vendor-ID、Product-IDは当方が保有しています。
非営利の場合はそのまま変更せずに使用してください。
非営利での使用で、他の用途に使用する時は、デバイスドライバは
HIDのまま使用し、Product名の最初の1文字が「I」で始まるように
変更して使用してください。
非営利での使用で、同時に複数台を同じPCに接続し、各々区別する必要の
ある時は、シリアルナンバの最後の1字のみを変更して使用してください。
非営利以外で使用する場合は、メールにてお尋ねください。
ソースコードのライセンスはGPL2(GNU
GPL ver.2)です。
しかし、なるべく、大きな変更や改良をした場合は公開するようにしてください。
プログラム(含むオブジェクト)、回路図などの著作物の著作権に関しては、
放棄はしませんが、非営利の場合はご自由にお使いください。
――――――――――――――――――――――――――――――――――――――――――――――――――