Mobile PIC Writer

last up date 2014/11/07

Mobile PIC Writer 5 (PIC18F14K50バージョン)

兎
2013年-秋- 兎

春に比べて大きくなりました。

mpw5icsp 仕切り直しだ

mpw5icsp

PIC18F14K50を使ってICSP専用のPICライタを作成します。 ソケット対応版は、ピンに余裕があるPIC18F25K50で作ろうと思います。

初期仕様は、少し無理してPIC18F14K50にてソケット対応したのですが 横槍が入って中断しました。 基本構成は問題ないので、先ず簡単なICSP専用を作って動作確認してからソケット版を作ることになりました。

仕様・構成

mpw5icspは、マイクロチップ社製のフラッシュマイクロコントローラにプログラムを書き込む開発プログラマです。 +5V系/+3.3V系のPICに書き込むように設計してあります。 また、ICSPコネクタをPickitのピン配列に合わせることにします。

回路的にはmmpの後継相当に成りますが、MPW5の動作検証も兼ねています。

番号 項 目 内 容 備 考
1 制御用PIC PIC18F14K50-I/P USB内蔵/自己書換え機能含む
2 VDD Target +5V(VBUS電圧)/+3.3V(レギュレータ) 25mA 自動切り替え
3 VPP/MCRL +12.5V(VDD=5V)/+9.0V(VDD=3.3V) 2mA DC/DC生成
4 USB 2.0対応 Full Speed バスパワー(100mA) HID対応(ドライバ不要)
5 対応デバイス PIC10F/12F16F, PIC18F その他は未定

mpw5icsp 仕様

回路図

mpw5icsp
mpw5icsp 回路図 (2013/10/26 修正)

回路説明

PIC18F14K50
PIC18F14K50

USB内蔵の20ピンで価格も安いです。 しかも3V書き込み仕様なので、MPW3では簡単には書込できません。 まぁPickit2も使っているので書込できない訳ではありませんがね。

内部構造は、PIC16F19xxに近く新型PICに分類されるのかな? その他の特徴は、他ページでも記しているので割愛します。

回路電源
TA48M033F

今回の電源は、自電源を+5.0Vと+3.3Vに切り換えることで、新型のPIC(+3.3V系)に対応します。 ターゲットの電圧は、+5.0Vと+3.3Vに固定されますが十分でしょう。

レギュレータは、TA48M033F(東芝)を使いました。 出力にダイオードを入れると0.2~0.4V低下して少し使いずらいのでトランジスタによる切り替えにします。

VPP電源
470uH

高圧書き込みを行なうために、+9Vや+12Vの電圧が必要です。 今まで通りDCDCを使います。

MPW~MPW3/mmpまでは、VPPを+12.5V固定にしていました。 その為、VPP電圧監視をコンパレータで行なっています。 ADCに比べ高速に判断できるのですが、MPW5は+9V系と+12V系を作らないと行けないのでADCを使う予定にしています。

DCDCの発振周波数ですが、MPW3までは100kHz越えてPFM/PWM兼用使用していました。 無制御電圧で30V越えて、VPPが無負荷の時はパルスを抜いてPFM制御しないと行けませんでした。

MPW5は、約50kHzに落としてPWM制御のみにする予定です。 シュミレーションの結果は、無制御/無負荷で約18V 無制御/6kΩで約14V 出力できます。 PWMの制御範囲内で、7V~13V(負荷5mAにて)制御できそうです。

mpw5icspのDCDCでは、インダクタ470uH/130mAで昇圧用の引き込み電流値を約10mAにしてます。 13V/2mAは大丈夫みたいです。 ただVPP出力トランジスタの抵抗値を間違えて予定通りの電圧が出なくて少し焦りました。 (2013/09/11)

ICSP端子

MPW3設計時点では、Pickitが公開されてなくてICSP端子が独自でしたが、今回はPickitと共通になります。

USB
USB-B コネクタ

PIC18F14K50の内蔵を使います。 ブートローダも付ける予定です。 ROM容量に余裕が有れば、ファームウェアの更新機能を付けられるかも。

クロック(Fosc)は、48MHzで行きます。 ディレータイミングは、割り込みが使えるのでプログラムにも余裕がありかな? (と言ったら『USB-シリアル変換付けられるね』って言われてしまった。検討はしますけど。)

部品表 (2013/10/26)

ロケーション 部品名 型格 メーカ 員数 参考価格 備考
1 U1 マイコン PIC18F14K50-I/P Microchip 1 AK @170 USB内蔵
2 U2 レギュレータ TA48M033F 東芝 1 AK @100 低損失3.3V
3
4 Q1 トランジスタ 2SC2655 東芝 1 @30 (代替BC337-25)
5 Q2,3 トランジスタ 2SA1020 東芝 2 AK @5 (代替BC327-25)
6 Q4,5 トランジスタ 2SA1015 東芝 2 AK @5 (代替2N3906)
7 Q6-8 トランジスタ 2SC1815 東芝 3 AK @5 (代替2N3904)
8
9 D1,2 小信号用 1N4148 各社 2 AK @2
10 D3 SBD 11DQ04 NI 1 @30 (代替1S4)
11 D4~6 SBD BAT43 各社 3 AK @20
12 LED1 発光ダイオード 緑色等 各社 1 AK @20 Φ3
13 LED2 発光ダイオード 黄色等 各社 1 AK @20 Φ3
14
15 Y1 セラミック発振子 12MHz 各社 1 AK @20
16
17 R1~4 カーボン抵抗 33Ω 1/6W 5% 各社 4 AK @1
18 R5~9 カーボン抵抗 4.7kΩ 1/6W 5% 各社 5 AK @1
19 R10~17 カーボン抵抗 10kΩ 1/6W 5% 各社 8 AK @1
20 R18 カーボン抵抗 47kΩ 1/6W 5% 各社 1 AK @1
21 R19 カーボン抵抗 8.2kΩ 1/6W 5% 各社 1 AK @1
22 R20 カーボン抵抗 47kΩ 1/6W 5% 各社 1 AK @1 (2013/09/11 修正)
23 R21~23 カーボン抵抗 2.2kΩ 1/6W 5% 各社 4 AK @1
24 R24~26 カーボン抵抗 1kΩ 1/6W 5% 各社 3 AK @1
25 R27 カーボン抵抗 100Ω 1/6W 5% 各社 1 AK @1
26 R28,29 カーボン抵抗 560Ω 1/6W 5% 各社 2 AK @1 LED電流制限用
27
28 L1 インダクタ 470uH 135mA 各社 1 @50 DCDC用 パワー等
29
30 C1,2 積層セラミック RDEC71E106K2K1C03 村田 2 AK @30 DCDC用
31 C3 積層セラミック 2200pF 50V 各社 1 AK @15 DCDC検出用
32 C5~7 積層セラミック 0.1μF 50V 各社 3 AK @10 パスコン
33 C9,10 アルミ電解 47μF 25V 各社 2 AK @10 電源用
34 C11 積層セラミック 0.33μF 50V 各社 1 AK @10 VUSB用(1μF可)
35 C4,C8 積層セラミック (0~220pF 50V) 各社 2 (2013/10/26 修正)
36
37 PS1 ポリスイッチ RXEF010 タイコ 1 AK @30 100mA用
38
39 CN1 USB-Bコネクタ 各社 1 AK @50
40 CN2 ICSPコネクタ ヘッダ 各社 1 AK @6 6ピン
41 SW1 タクトスイッチ □6.3 各社 1 AK @10
42 J1 ICSPヘッダ ヘッダ 各社 1 AK @5 5ピン
43 基板 片面ガラスCタイプ [P-00517] 72x48mm (FR-4) 各社 1 AK @60
44 配線 錫メッキ線 適量 各社 1
45 配線 ジュフロンETFE 電線 AWG30(0.28mm) 適量 潤工社 1
46 合計 約\1,000 ソフト費含まず

mpw5icsp 部品表 2013/08/12 単価調べ AK=秋月電商 / 他調べ

代替のトランジスタは、ピン配置が違います。実装には気を付けてください。

R20の抵抗値を間違えていました。2.2kΩ->47kΩに変更します。(2013/09/11)

書き込み不良対応 (2013/10/26)

PIC18FxxJxxのVPPの立ち上がり時間が1uS以内です。 電源のパスコンとしてC4(0.1uF)入れていたのですが、この為低圧VPPは、約50mSの立ち上がりでした。

改善策として、C4を削除または220pF以下にします。 これにより低圧VPPの立ち上がりは、1uS以内に納まります。(ICSPの配線は20cm以下の時) それに伴い、VTGのパスコン(C8)も削除または220pF以下にします。

(シミュレーションで1000pFで約1uSの立ち上がりになりました。 ICSPの配線長も影響しますので、波形を見てコンデンサ容量決めた方が良いかもしれません。 波形を見られないなら削除で構わないと思います。)

基 板 (2013/08/17)

部品配置
部品配置(部品面)2013/10/26 修正

配線1
配線1(半田面)

配線2
配線2(半田面)

2013/08/14の部品配置で10kと1kのが逆でした。(2カ所)後は多分大丈夫かな。

秋月電子通商の72×48mm片面ユニバーサル基板に実装します。 今回は、なんとパソコン上で配置決めて配線考えてから作ることにしました。

通常、私の場合大物の位置を決めたらいきなり組み立てていくのですが、 基板を起こす予定が無いのでユニバーサルにどの様に作るか残していこうかと思ってます。

電源関連と制御部分を裏面のパターン配線で繋いでいます。 PICと制御部分接続を布線にしています。 配線2図では、曲線で繋いでいますがある程度長さで綺麗に配線していきます。

配線1の線色

  • 黒 - GND
  • 赤 - VBUS及び+3.3V
  • 橙 - VDD
  • 金 - VPP
  • 桃 - VTG
  • 白 - 信号線

ソフトウェア 2014/11/07

ソフトウェア(公開版)

アイコン

Ver 0.80aを公開します。 デバイスリストに誤りが有りそれのみ修正しています。 0.80をダウンロードしている人は、デバイスリストだけダウンすることもできます。

Ver 0.80を公開します。 一応PICの書き換えできる程度で、「実用できるかな?」と言う状態です。 後コンフィグビット操作やハードウェアテスト等の機能を追加かな?

PIC10F/12F/16F/18Fのデバイスリストをほぼ作成しました。 まだ間違えが有ると思いますが、何とか使えると思います。

PIC16F系ベースラインを修正して書き込めるようにしました。 勘違いして、読み出し手順を間違っていたのでかなり奇怪しかったようです。

PIC18FxxJxx の低圧VPPにハード的問題があり修正しています。(2013/10/26)

その他のPICは、今のところ実装予定はありません。 要望が有れば考えるということで。

ダウンロード

モバイル PIC ライター 5(ICSP) 公開版

[ mpw5icsp Version 0.8 (mpw5icsp_080a.zip) ]

PIC18F14K50用ブートローダーとmpw5icspファームウェアのhexファイル及び Windows用アプリケーションが一式入れてあります。

最新デバイスリスト

[ mpw5icsp用デバイスリスト Version 0.81 (PicDeviceList5_081.zip) ]

PIC書き込み

既にPIC18F14K50にブートローダーが書き込まれている場合は、 mpw5icsp.exeを起動して[Tool]から[to Bootloder]を選択しHID Booloaderを起動します。

PIC18F14K50にブートローダー書き込まれていない場合は、他のライタでHID Booloaderを書き込みます。

次に、mpw5icspファームウェアは、USBを通じて「HID Booloader」で書き込みます。

使い方

Pickit2ライクな使い方をします。

ICSP接続されたターゲットデバイスを用意します。 確実に接続してください。

最初に[デバイスファミリ]を選択して[選択]ボタンをターゲットデバイスを選びます。 (ベースラインはコンポポックスから選びます。)

次に、書き込むhexファイルを選んで、[プログラム]ボタンを押して書き込みます。

難しくはないと思います。

その他

Window側のプログラムは、mpw5icsp専用でそれ以前のMPWシリーズは接続できません。 また、ハードウェアが正常に応答しないと各機能は動きません。

現在USBのベンダーID/プロダクトIDはマイクロチップ社のものを使用しています。 ブートローダーは、まあ良しとしてライター側のベンダーID/プロダクトIDは換えたいかも。

プログラムコードの表示機能は付いていません。 必要が有るか意見が分かれるところですが…。 ただ読み出したプログラムコードを書き出す機能は、要るかな?

何か不具合が有れば連絡(掲示板かメールにて)頂けると助かります。

動作デバイス

下記のデバイスの書き込み情報を生成しています。

PIC10F
  • PIC10F200/ 202/ 204/ 206
  • PIC10F220/ 222
  • PIC10(L)F320/ 322
PIC12F
  • PIC12F508/ 509
  • PIC12F510
  • PIC12F519
  • PIC12F609/HV609
  • PIC12F617
  • PIC12F629/675
  • PIC12F635/683
  • PIC12F752/ HV752
  • PIC12(L)F1501
  • PIC12(L)F1822
  • PIC12(L)F1840
PIC16F
  • PIC16F54/ 57/ 59
  • PIC16F72
  • PIC16F73/ 74/76/77
  • PIC16F83/ 84
  • PIC16F84A
  • PIC16F87/ 88
  • PIC16F505/ 506
  • PIC16F526/ 527
  • PIC16F570
  • PIC16F610/ HV610
  • PIC16F616/ HV616
  • PIC16F627/ 628
  • PIC16F627A/ 628A/ 648A
  • PIC16F630/ 676
  • PIC16F631/ 677/ 685/ 687/ 689/ 690
  • PIC16F636(639)
  • PIC16F684
  • PIC16F688
  • PIC16F716
  • PIC16(L)F720/ 721
  • PIC16(L)F722/ 723/ 724/ 726/ 727
  • PIC16(L)F722A/ 723A
  • PIC16F737/ 747/ 767/ 777
  • PIC16F753/ HV753
  • PIC16F785/ HV785
  • PIC16F818/ 819
  • PIC16F870/ 871/ 872
  • PIC16F873/ 874/ 876/ 877
  • PIC16F873A/ 874A/ 876A/ 877A
  • PIC16F882/ 883/ 884/ 886/ 887
  • PIC16F913/ 914/ 916/ 917/ 946
  • PIC16(L)F1454/ 1455/ 1459
  • PIC16(L)F1503/ 1507/ 1508/ 1509
  • PIC16(L)F1512/ 1513
  • PIC16(L)F1516/ 1517/ 1518/ 1519
  • PIC16(L)F1526/ 1527
  • PIC16(L)F1703/ 1704/ 1705/ 1707/ 1708/ 1709
  • PIC16(L)F1782/ 1783/ 1784/ 1786/ 1787/ 1788/ 1789
  • PIC16(L)F1823/ 1824/ 1825/ 1826/ 1827/ 1828/ 1289
  • PIC16(L)F1933/ 1934/ 1936/ 1937/ 1938/ 1939
  • PIC16(L)F1946/ 1947
  • PIC16LF1902/ 1903/ 1904/ 1906/ 1907
PIC18F
  • PIC18F242/ 252/ 442/ 452
  • PIC18F248/ 258/ 448/ 458
  • PIC18F1220/ 1320/ 2220/ 2320/ 4220/ 4320
  • PIC18F1230/ 1320/ 1330-ICD
  • PIC18F2221/ 2321/ 4221/ 4321
  • PIC18F2331/ 2431/ 4331/ 4431
  • PIC18F2410/ 2510/ 2515/ 2610/ 4410/ 4510/ 4515/ 4610
  • PIC18F2420/ 2520/ 4420/ 4520
  • PIC18F2423/ 2523/ 4423/ 4523
  • PIC18F2450/ 4450
  • PIC18F2455/ 2550/ 4455/ 4550
  • PIC18F2458/ 2553/ 4458/ 4553
  • PIC18F2480/ 2580/ 4480/ 4580
  • PIC18F2525/ 2620/ 4525/ 4620
  • PIC18F2585/ 2680/ 4585/ 4680
  • PIC18F2682/ 2685/ 4682/ 4685
  • PIC18F6310/ 6410/ 8310/ 8410
  • PIC18F6390/ 6490/ 8390/ 8490
  • PIC18F6393/ 6493/ 8393/ 8493
  • PIC18F6527/ 6622/ 6627/ 6628/ 6722/ 6723/ 8527/ 8622/ 8627/ 8628/ 8722/ 8723

1. PIC18F6520/ 6620/ 6720/ 8520/ 8620/ 8720 は未実装

PIC18FxxJxx
  • PIC18(L)F24J10/ 25J10/ 44J10/ 45J10
  • PIC18(L)F24J11/ 25J11/ 26J11/ 44J11/ 45J11/ 46J11
  • PIC18(L)F26J13/ 27J13/ 46J13/ 47J13
  • PIC18(L)F24J50/ 25J50/ 26J50/ 44J50/ 45J50/ 46J50
  • PIC18(L)F26J53/ 27J53/ 46J53/ 47J53
  • PIC18F65J10/ 65J15/ 66J10/ 66J15/ 67J10 /85J10 /85J15 /86J10/ 86J15/ 87J10
  • PIC18F63J11/ 64J11/ 65J11/ 83J11/ 84J11/ 85J11
  • PIC18F66J11/ 66J16/ 67J11/ 86J11/ 86J16/ 87J11
  • PIC18F65J50/ 66J50/ 66J55/ 67J50/ 85J50/ 86J50/ 86J55/ 87J50
  • PIC18F63J90/ 64J90/ 65J90/ 83J90/ 84J90/ 85J90
  • PIC18F66J90/ 67J90/ 86J90/ 87J90
  • PIC18F66J93(86J72)/ 67J93(87J72)/ 86J93/ 87J93
  • PIC18F66J60/ 66J65/ 67J60/ 86J60/ 86J65/ 87J60/ 96J60/ 96J65/ 97J60
  • PIC18F65J94/ 66J94/ 66J99/ 67J94/ 85J94/ 86J94/ 86J99/ 87J94/ 95J94/ 96J94/ 96J99/ 97J94
PIC18FxxKxx
  • PIC18(L)F13K22/ 14K22
  • PIC18(L)F13K50/ 14K50
  • PIC18F23K20/ 24K20/ 25K20/ 26K20/ 43K20/ 44K20/ 45K20/ 46K20
  • PIC18(L)F23K22/ 24K22/ 25K22/ 26K22/ 43K22/ 44K22/ 45K22/ 46K22
  • PIC18(L)F24K50/ 25K50/ 45K50

2. PIC18F6XKXX/8XKXX FAMILY は未実装

3. PIC18FXXK80 FAMILY は未実装

青色は、動作確認済み。

『Pickit3』との違い

Pickit2は、最新の1.8V動作デバイスのデバックができません。 Vdd Targetを2.5Vまでしか下げられないからです。 でも、書き込み器として使うなら最新のPICでも書き込みができます。 3.3Vか5Vあれば、1.8V動作デバイスに書き込めます。 できる筈ですが、デバイスリストが更新されない為使えません。 (もうサポート対象外なのかな?)

そこでPickit3です。 基本的には、Pickit2の低圧/デバッグ機能拡張版です。 書き込み機能はPickit2とほぼ同等です。

mpw5icspと比べてもしたか無いのですが、一応

内 容 Pickit3 mpw5icsp 備 考
1 VTG電圧範囲 1.8~5V 3.3V,5V mpw5icspは切り替え
2 VPP電圧範囲 1.8~14V 3.3~13V
3 CPU PIC24FJ256GB106-I/PT PIC18F45K50-I/P PIC24Fは3.3V単一動作
4 インターフェース USB2.0 FULL SPEED USB2.0 FULL SPEED CPU内蔵
5 デバッカ機能 エミュレーション内蔵PICに対応 未対応
6 ICSP 6pin (PGM/LVP対応) 6pin (PGM/LVP非対応)
7 拡張ICSP 対応 未非対応 PIC24FとかdsPIC用※1
8 ターゲット接続IC 74LVC1T45 PIC18F45K50-I/P (直結) Pickit3は電流保護付き
9 電圧リファレンス MCP1525 PIC18F45K50-I/P (内蔵)
10 VTG電圧生成 降圧可変reg (CPU制御) 3端子reg (CPU切り替え)
11 VPP電圧生成 昇圧型DCDC (CPU制御) 昇圧型DCDC (CPU制御) 機能は同等
12 書き込み方法 高圧/低圧書き込み 高圧書き込みのみ対応※2
13 対応PIC 10F/12F/16F,18F他多数 10F/12F/16F,18F

※1 拡張ICSPの具体的内容は把握していません。

※2 バルクイレーズのみ対応の為。プログラムの一部書き換えには非対応。

免 責

情報は出来るだけ正確に書くつもりです。ただこの記事を見て作ると思ったときは、 個人の責任において作業を行なってください。 データの喪失や機器の損傷が有っても、一切の責任は取れません。

© 2013 莎華(SAKA) / SakaSofotwares All rights reserved.