楽天市場
[無料でホームページを作成] [通報・削除依頼]

PIC16F18313ブートローダー書き込み器の製作

Tiny Multi Bootloader+ で使用できる、HID仕様の書き込み器を製作しましたので、ご紹介します。

2018.03.29追記---------------------------------------------------------------------------------------------------------
本ページで紹介の機能が、Tiny Multi Bootloadetr+ v0.11.2以降のバージョンに正式搭載されました。
装置を接続してTiny Multi Bootloadetr+ (v0.11.2以降)を立ち上げると使用できます。

img_20180404-034555.jpg
----------------------------------------------------------------------------------------------------------------------------
2018.02.24 追記---------------------------------------------------------------------------------------------------------
パソコンの動作速度との兼ね合いで、装置(HID仕様の書き込み器)からのデータを正しく受信できない場合があります。
この問題はホストのデータ受信要求が早すぎることが原因で、データ受信前にウエイトを入れると解決します。
対策したホストプログラムを下にアップしました。
----------------------------------------------------------------------------------------------------------------------------


Tiny Multi Bootloader+のようなシリアル書き込みを使用するためには、以下の方法が一般的です。
①PCに付属(装着)の実体シリアルポートを使用する。
②FT232などのデバイスをCDCで登録した仮想シリアルポートを使用する。

今回提案する方法は、"HIDで登録した仮想シリアルポート使用する" です。
この方式の利点としては、安価で容易に製作可能であることです。
"続12 8ピンPICでUSB PIC16F18313 HID-シリアルアダプター"のページで紹介したHID-シリアルアダプターを
使用して小さく作ることができました。
右側のブレッドボードボード上にデバイスを差込み、ブレッドボードボードのピン配線を使用します。

img_20180123-132141.jpg
<回路図>
img_20180123-132357.png

<配線図>
img_20180123-132536.jpg

<HIDコマンド仕様>
img_20180123-133448.png

以前のPIC16F18313 HID-シリアルアダプターと同じ2バイト転送の仕様ですが、若干コマンドを追加しています。
○実シリアルポートのOpen/Closeに対応したシリアルEnable/Disableを追加。
○連続受信に対応した2バイト受信モードを追加。(2バイト目を受信したらレポート発行)
○受信したデータと、ひとつ前に受信したデータを常に同時に転送する仕様に変更。



<Tiny Multi Bootloader+での使用方法>
①USB接続した後、ホストを立ち上げると"Detected COM"のセレクトボックスに"16FUSB"が出現します。
img_20180123-135457.jpg

②"Detected COM"のセレクトボックスで"16FUSB"を選択すると、"Selected COM"のテキストボックスに
"16FUSB"が表示されます。
"16FUSB"はDTRの信号線をサポートしないので、"Reset Type"のDTRのボタンが使用不可となります。
img_20180123-140321.jpg

③適切な"Baud Rate"を選択し、書き込み実行。以下はPIC12F1822の例
img_20180123-141122.jpg



○PIC12F1822での配線例(RTS信号によるリセットを使用)
img_20180123-141258.jpg


謝辞:今回のTiny Multi Bootloader+の改変したホストには、楢ノ木技研さんのHIDSimpleFrameworkライブラリ
に含まれるUSBDevice.csを使用させていただきました。すばらしいものをどうもありがとうごさいました。

楢ノ木技研:http://oaktree-lab.com/downloads/index.html
HIDSimpleFramework:http://yamamaya.github.io/HIDSimpleFramework/




ダウンロードはこちらから (Tiny Multi Bootloader+の改変したホスト、PIC16F18313のファームウエアなど)

https://drive.google.com/file/d/1D2ftl2zp6oTD8Bq4MySc7yBJwVgQArBX/view?usp=sharing 

(データ受信取りこぼしを改善したホスト:追記参照)上記のダウンロードに上書きしてください。
https://drive.google.com/file/d/1SQodlcctrty_aLFb3ZzLNOMNNq5AIZ7a/view?usp=sharing