さらに使いやすくなりました。USB接続のPICライタの紹介です。その名もPICerFT(ピッカーエフティ)。
- 導入方法が簡単に。FTDI内部の初期設定を自動化しました。FT_Progを使用する必要がなくなりました。
- ドラッグアンドドロップ機能。書き込みはHEXファイルをドロップするだけです。ファイルを選択する必要がなくなりました。
- プラグアンドプレイ対応。FTDIデバイスの接続、切断を自動認識します。プログラムを再起動する必要がなくなりました。
秋月のUSBシリアル変換モジュール[FT232RL]を利用し、安価で小型のライタです。
ひとまずフリーとして公開しますが、将来有料化(ライセンス化)する可能性があります。
※設計費用、プログラム開発費用、サポート費用などの人件費を回収する必要があるためです。
右上:PICerFT
左上:AE-UM232R(秋月のUSBシリアル変換モジュール)
著作権と免責事項セキュリティソフト
- このハードウェアとソフトウェアの著作権は法律で保護されています。
- 個人利用に限定され、著作権者の許可なく商用利用できません。
- このソフトウェアはフリーウェアです。ただし将来有料化することもあります。
- 無保証です。そのため、修正義務、回答義務を負いません。
- 直接間接に関わらず、使用によって生じたいかなる損害も著作権者は責任を負いません。
- 自己責任において使用してください。
- 仕様は予告なく変更されることがあります。
- ウイルスセキュリティZEROで"Trojan(00071a9b1)"と誤認するとの報告を受けました(2010-08-29)。
- Immunet3で"Clam.Win.Trojan.Remotesob"と誤認するとの報告を受けました(2015-02-06)。
- こちらでは Avastでチェックしています。
PICライタの基本的な仕組みです。
- デバイスによって多少異なります。
- たとえば、Vpp(12.5V/9V)の代わりにMCLR(5V/3.3V)を使用するデバイスがあります。
- PGM端子をもつデバイスがあります。低電圧書き込みモードのときHighにします。通常はLowにします。
![]()
さて、PICerは自作でき、入門には最適なPICライタでした。 しかし時代の移り変わりとともに問題点も浮かび上がってきました。入門レベルを卒業された方は18Fシリーズを扱うことが出てくるでしょう。 18Fシリーズ、dsPICシリーズの書き込みには複雑な処理を必要とするため、パラレル制御では限界がありました。 そこでこれらを解決すべく、計画されたのが PICerUSB, PICerFT です。 PICkit2($44.95=\5000前後)PICkit3($47.95=\6000前後)よりも手軽に制作できそして低コストを目指しました。
- 最近のノートPCのインターフェースはパラレル、シリアルからUSBに変更された。
- 外部電源を必要としていた。
- 18Fシリーズ、dsPICシリーズへの対応が困難であった。
PICerFTのメリットPICerFTのデメリット
- ファームウェア不要のため、自己完結で製作できる(PICライタを作るためにPICライタが不要)
- ICSP方式採用
- dsPIC/PIC24ではEnhanced ICSP対応(Standard ICSPよりも高速処理)
- 低コスト(PICkit2よりも低コスト)
- USB 接続(FTDIの外部モジュールを使用)
- 外部電源不要(USBから供給)
- デバイスタイプを検知(対応デバイスが多いため、選択を半自動化)
- PIC電源として5Vだけでなく3.3V書き込みにも対応(LFタイプ用)
- タイミング制御はFTDIの精度に依存
- 高速書き込み(大容量の18Fシリーズで効果を発揮)
- USB 接続でありながら、少ない部品点数(主要パーツ20点)
- 入手しやすい部品(特殊パーツなし)
- 製作が容易(小型軽量)
- プログレスバー搭載(進行状況把握)
- ほぼすべてのFLASHタイプに対応(10F,12F,16F,18Fシリーズ)
- Atmelにも対応(ATtiny,ATmegaシリーズ)
- ドラッグアンドドロップ機能(簡単操作、HEXファイルをドロップするだけで書き込み)
- FTDIデバイス自動認識(プラグアンドプレイ対応、プログラムの再起動不要)
- PCのCPUですべての処理を行うため、処理速度はCPU性能に左右される(Celeron 1.2GHz以上を推奨)。
- CPU負荷が高く、1コアの場合ほぼ100%のCPU使用率となる。2コア(Core 2 Duo)の場合、50%程度。
- ファームウェアを使用する方式に比べて処理時間がやや長くなる。(ただし許容できる時間)
![]()
J1はVpp=9Vのときショートさせます。以下のデバイスはVpp=12.5VではなくVpp=9Vですので注意が必要です。
J1 Vpp電圧選択 ショート 9.0V オープン 12.5V
PIC10F 320, 322
LF320, LF3228-9V PIC12F 1501, 1571, 1572, 1612, 1822, 1840
LF1501, LF1571, LF1572, LF1612, LF1822, LF18408-9V PIC16F 720, 721, 722, 722A, 723, 723A, 724, 726, 727
LF720, LF721, LF722, LF722A, LF723, LF723A, LF724, LF726, LF727
1455, 1458, 1459
LF1455, LF1458, LF1459
1503, 1507, 1508, 1509, 1512, 1513, 1516, 1517, 1518, 1519, 1526, 1527
LF1503, LF1507, LF1508, LF1509, LF1512, LF1513, LF1516, LF1517, LF1518, LF1519, LF1526, LF1527
LF1554, LF1559, LF1566, LF1567
1574, 1575, 1578, 1579
LF1574, LF1575, LF1578, LF1579
1613, 1614, 1615, 1618, 1619
LF1613, LF1614, LF1615, LF1618, LF1619
1703, 1704, 1705, 1707, 1708, 1709, 1713, 1716, 1717, 1718, 1719, 1764, 1765, 1768, 1769, 1782, 1783, 1784, 1786, 1787, 1788, 1789
LF1703, LF1704, LF1705, LF1707, LF1708, LF1708, LF1713, LF1716, LF1717, LF1718, LF1719, LF1764, LF1765, LF1768, LF1769, LF1782, LF1783, LF1784, LF1786, LF1787, LF1788, LF1789
1823, 1824, 1825, 1826, 1827, 1828, 1829, 1847
LF1823, LF1824, LF1825, LF1826, LF1827, LF1828, LF1829, LF1847
1933, 1934, 1936, 1937, 1938, 1939, 1946, 1947
LF1902, LF1903, LF1904, LF1906, LF1907
LF1933, LF1934, LF1936, LF1937, LF1938, LF1939, LF1946, LF1947
18313, 18323, 18324,18344, 18325, 18345
LF18313, LF18323, LF18324, LF18344, LF18325, LF183458-9V PIC18F 13K22, LF13K22, 13K50, LF13K50
14K22, LF14K22, 14K50, LF14K50
24K50, 25K50, 26K50, 45K50, 46K50
LF24K50, LF25K50, LF26K50, LF45K50, LF46K508-9V PIC18F 23K20,24K20,25K20,26K20,43K20,44K20,45K20,46K20 Vdd+1.5V-9.0V PIC18F 23K22,24K22,25K22,26K22,43K22,44K22,45K22,46K22
LF23K22, LF24K22, LF25K22, LF26K22, LF43K22, LF44K22, LF45K22, LF46K22Vdd+4.5V-9.0V PIC18F 65K22, 66K22, 67K22, 85K22, 86K22, 87K22
65K90, 66K90, 67K90, 85K90, 86K90, 87K90Vdd+1.5V-10.0V
値 数 備考 単価 0.01uF 1 C1 積層セラミックコンデンサ \10 22uF 1 C2 縦型電解コンデンサ(耐圧25V) \10 1N4148 1 D1 スイッチング・ダイオード(代替品 1S1588, 1S2076A)、整流ダイオードは不可 \10 HZ12A2 1 Z1 12V(11.9-12.4)ツェナー・ダイオード(RENESAS)(代替品 RD12E B3)(代替品 GDZJ12C) \20 HZ9B1 1 Z2 9V(8.3-8.7)ツェナー・ダイオード(RENESAS)(代替品 RD9.1E B1)(代替品 GDZJ9.1C) \20 100uH 1 L1 アーキシャルリード・インダクタ(LAL03NA101K, 太陽誘電)(代替品 LAL02NA101K)(代替品 AL0307-101K) \50 2SC1815Y 2 Q1,Q4 NPNトランジスタ(TOSHIBA)、ランクはY, GR, BL など \10 2SA1015Y 2 Q2,Q3 PNPトランジスタ(TOSHIBA)、ランクはY, GR, BL など \10 1K 1 R7 カーボン皮膜抵抗(小型1/4W) \10 4.7K 1 R6 カーボン皮膜抵抗(小型1/4W) \10 10K 4 R1,R2,R4,R5 カーボン皮膜抵抗(小型1/4W) \10 100K 2 R3,R8 カーボン皮膜抵抗(小型1/4W) \10 AE-UM232R 1 IC1 秋月のFT232RLモジュールキット[AE-UM232R] \800 24PW 1 24ピンソケット幅広(600mil) \70 合計 20 \1110
- 機能強化のためR6=10Kから4.7Kに変更しました。
- 機能強化のためR7=4.7Kから1Kに変更しました。
- AE-UM232Rにはキットと完成品があります。どちらも使用できます。
- 似たようなモジュールとして、AE-FT245Rがありますので注意してください。
![]()
- J1の解説です。
- 左がピンヘッダです。ピン間隔は2.54mmです。必要なピン数をカッターで折って使います。
- 形状は1列と2列があります。ピンの長さも標準、ロング、ロープロファイルがあり用途によって使い分けます。
- 右がジャンパーピンです。これを使ってピンヘッダをショートさせます。
部品配置
- 基板は不定期に配布しています。
- 在庫切れの際はご了承ください。
![]()
![]()
PIC専用
- 自作で回路図から基板を起こすことは良い勉強になります。
- 悩み、苦しみ、間違いを繰り返すことで習得していきます。
- いかに大変なことか身をもって経験するでしょう。
- ハードウェアはどこか一箇所でも間違うと正しく動きません。間違いの許されない世界です。
- 大体組み立てれば大丈夫だろうとお考えの方に電子工作は向いていません。
- そのため、あえて基板図を掲載しませんでした。
- そもそも2層基板でないと、小型化できません。
- あまりに配線間違いが多いので、1層基板の例を掲載します。R0はジャンパー線です。
- ただしPIC専用、AVR専用です。1層基板では複雑な配線は難しいからです。
- 単に部品を配置すればよいというものではありません。できるだけ配線を短く、交差しないようにしなければなりません。
- 回路図と見比べてみてください。
![]()
![]()
AVR専用
![]()
![]()
- トランジスタにはNPN型とPNP型があります。
- PNP型に慣れていない方が多く、特にE(エミッタ)とC(コレクタ)を取り違えます。
- PNP型はEとCがP型に接続されているため、中途半端に動いてしまいます。ただし、正しい使い方ではありません。
- 取り違えても動いてしまうことが多いため、間違いに気づきにくいです。
- PNP型だからと言って、対称の内部構造ではないためEとCを取り違えると、本来の性能を発揮できません。
- 完全な故障なら故障個所の特定は簡単ですが、中途半端な故障はもっともたちが悪く故障箇所を特定しにくいです。
- 一度、先入観や思い込みをすべて捨てる必要があります。自分の行為を自己否定するには勇気が必要です。
- なお、ピン配置はトランジスタの型番によって異なるため、必ずデータシートで確認します。
![]()
仕様は予告なく変更されることがあります。
Microchip Flash対応リスト PIC10F 200, 202, 204, 206, 220, 222, 320, 322, LF320, LF322 PIC12F 508, 509, 510, 609, 615, 629, 635, 675, 683, HV609, HV615, 752, HV752
1501, LF1501, 1571, LF1571, 1572, LF1572, 1612, LF1612, 1822, LF1822, 1840, LF1840PIC16F 54, 57, 59, 505, 506
610, HV610, 616, HV616, 627, 628, 627A, 628A, 630, 631, 636, 639, 648A, 676, 677
684, 685, 687, 688, 689, 690
72, 73, 74, 76, 77, 716
720, 721, 722, 722A, 723, 723A, 724, 726, 727
LF720, LF721, LF722, LF722A, LF723, LF723A, LF724, LF726, LF727
737, 747, 767, 777, 785, HV785
83, 84, 84A, 87, 88
818, 819, 870, 871, 872, 873, 873A, 874, 874A, 876, 876A, 877, 877A
882, 883, 884, 886, 887
913, 914, 916, 917, 946
1454, 1455, 1458, 1459
LF1454, LF1455, LF1458, LF1459
1503, 1507, 1508, 1509, 1512, 1513, 1516, 1517, 1518, 1519, 1526, 1527
LF1503, LF1507, LF1508, LF1509, LF1512, LF1513, LF1516, LF1517, LF1518, LF1519, LF1526, LF1527
LF1554, LF1559, LF1566, LF1567
1574, 1575, 1578, 1579
LF1574, LF1575, LF1578, LF1579
1613, 1614, 1615, 1618, 1619
LF1613, LF1614, LF1615, LF1618, LF1619
1703, 1704, 1705, 1707, 1708, 1709, 1713, 1716, 1717, 1718, 1719, 1764, 1765, 1768, 1769, 1782, 1783, 1784, 1786, 1787, 1788, 1789
LF1703, LF1704, LF1705, LF1707, LF1708, LF1709, LF1713, LF1716, LF1717, LF1718, LF1719, LF1764, LF1765, LF1768, LF1769, LF1782, LF1783, LF1784, LF1786, LF1787, LF1788, LF1789
1823, 1824, 1825, 1826, 1827, 1828, 1829, 1847
LF1823, LF1824, LF1825, LF1826, LF1827, LF1828, LF1829, LF1847
1933, 1934, 1936, 1937, 1938, 1939, 1946, 1947
LF1902, LF1903, LF1904, LF1906, LF1907
LF1933, LF1934, LF1936, LF1937, LF1938, LF1939, LF1946, LF1947
18313, 18323, 18324,18344, 18325, 18345
LF18313, LF18323, LF18324, LF18344, LF18325, LF18345PIC18F 242, 248, 252, 258, 442, 448, 452, 458
1220, 1230, 1320, 1330
2220, 2221, 2320, 2321, 2331
2410, 2420, 2423, 2431, 2439, 2450, 2455, 2458, 2480
2510, 2515, 2520, 2523, 2525, 2539, 2550, 2553, 2580, 2585
2610, 2620, 2680, 2682, 2685
4220, 4221
4320, 4321, 4331
4410, 4420, 4423, 4431, 4439, 4450, 4455, 4480
4510, 4515, 4520, 4523, 4525, 4539, 4550, 4553, 4580, 4585
4610, 4620, 4680, 4682, 4685
6310, 6390, 6393
6410, 6490, 6493
6520, 6525, 6527, 6585
6620, 6621, 6622, 6627, 6628, 6680
6720, 6722, 6723
8310, 8390, 8393
8410, 8490, 8493
8520, 8525, 8527, 8585
8620, 8621, 8622, 8627, 8628, 8680
8720, 8722, 8723
24J10, 25J10, 44J10, 45J10
LF24J10, LF25J10, LF44J10, LF45J10
24J11, 25J11, 26J11, 44J11, 45J11, 46J11
LF24J11, LF25J11, LF26J11, LF44J11, LF45J11, LF46J11
26J13, 27J13, 46J13, 47J13
LF26J13, LF27J13, LF46J13, LF47J13
24J50, 25J50, 26J50, 44J50, 45J50, 46J50
LF24J50, LF25J50, LF26J50, LF44J50, LF45J50, LF46J50
26J53, 27J53, 46J53, 47J53
LF26J53, LF27J53, LF46J53, LF47J53
65J10, 66J10, 67J10, 85J10, 86J10, 87J10
63J11, 64J11, 65J11, 66J11, 67J11, 83J11, 85J11, 84J11, 86J11, 87J11
65J15, 66J15, 85J15, 86J15
66J16, 86J16
65J50, 66J50, 67J50, 85J50, 86J50, 87J50
66J55, 86J55
66J60, 67J60, 86J60, 87J60, 96J60, 97J60
66J65, 86J65, 96J65
86J72, 87J72
63J90, 64J90, 65J90, 66J90, 67J90, 83J90, 84J90, 85J90, 86J90, 87J90
66J93, 67J93, 86J93, 87J93
65J94, 66J94, 67J94, 85J94, 86J94, 87J94, 95J94, 96J94, 97J94
66J99, 87J99, 96J99
23K20, 24K20, 25K20, 26K20, 43K20, 44K20, 45K20, 46K20
13K22, 14K22, 23K22, 24K22, 25K22, 26K22, 43K22, 44K22, 45K22, 46K22
LF13K22, LF14K22, LF23K22, LF24K22, LF25K22, LF26K22, LF43K22, LF44K22, LF45K22, LF46K22
13K50, 14K50
LF13K50, LF14K50
24K50, 25K50, 26K50, 45K50, 46K50
LF24K50, LF25K50, LF26K50, LF45K50, LF46K50
25K80, 26K80, 45K80, 46K80, 65K80, 66K80
25LK80, 26LK80, 45LK80, 46LK80, 65LK80, 66LK80
65K22, 66K22, 67K22, 85K22, 86K22, 87K22
65K90, 66K90, 67K90, 85K90, 86K90, 87K90
主に未出荷製品で情報不足のためです。
Microchip Flash未対応リスト
(2015-09-01現在)PIC10F なし PIC12F 519, 529, LF1552 PIC16F 526, 527, 570, HV540(パラレル書き込み)
707, 753
188xx
PIC18F なし
dsPIC対応リスト dsPIC30F 1010
2010, 2011, 2012, 2020, 2023
3010, 3011, 3012, 3013, 3014
4011, 4012, 4013
5011, 5013, 5015, 5016
6010, 6011, 6012, 6013, 6014, 6015, 6010A, 6011A, 6012A, 6013A, 6014A
dsPIC33FJ 06GS101, 06GS102, 06GS202
12GP201, 12GP202
12MC201, 12MC202
16GP304
16MC304
16GS402, 16GS404, 16GS502, 16GS504
32GP202, 32GP204, 32GP302, 32GP304
32MC202, 32MC204, 32MC302, 32MC304
32GS406, 32GS606, 32GS608, 32GS610
64GP202, 64GP204, 64GP206(A), 64GP306(A), 64GP310(A), 64GP706(A), 64GP708(A), 64GP710(A), 64GP802, 64GP804
64MC202, 64MC204, 64MC506(A), 64MC508(A), 64MC510(A), 64MC706(A), 64MC710(A), 64MC802, 64MC804
128GP202, 128GP204, 128GP206(A), 128GP306(A), 128GP310(A), 128GP706(A), 128GP708(A), 128GP710(A), 128GP802, 128GP804
128MC202, 128MC204, 128MC506(A), 128MC510(A), 128MC706(A), 128MC708(A), 128MC710(A), 128MC802, 128MC804
256GP506, 256GP510, 256GP710, 256MC510, 256MC710
256GP506A, 256GP510A, 256GP710A, 256MC510A, 256MC710A
06GS001, 06GS101A, 06GS102A, 06GS202A, 09GS302
16GP101, 16GP102, 16MC101, 16MC102
32GP101, 32GP102, 32GP104, 32MC101, 32MC102, 32MC104
dsPIC33EP 32GP502, 32GP503, 32GP504
32MC202, 32MC203, 32MC204, 32MC502, 32MC503, 32MC504
64GP502, 64GP503, 64GP504, 64GP506
64MC202, 64MC203, 64MC204, 64MC206, 64MC502, 64MC503, 64MC504, 64MC506
128GP502, 128GP504, 128GP506
128MC202 ,128MC204, 128MC206, 128MC502, 128MC504, 128MC506
256GP502, 256GP504, 256GP506
256MC202 ,256MC204, 256MC206, 256MC502, 256MC504, 256MC506
512GP502, 512GP504, 512GP506
512MC202 ,512MC204, 512MC206, 512MC502, 512MC504, 512MC506
256MU806, 256MU810, 256MU814
512GP806, 512MC806, 512MU810, 512MU814
PIC24対応リスト PIC24FJ F04KA200, F04KA201, F08KA101, F08KA102, F16KA101, F16KA102
F16KA301, F16KA302, F16KA304, F32KA301, F32KA302, F32KA304
FV16KA301, FV16KA302, FV16KA304, FV32KA301, FV32KA302, FV32KA304
F04KL100, F04KL101, F08KL200, F08KL201, F08KL301, F08KL302, F08KL401, F08KL402, F16KL401, F16KL402
F08KM101, F08KM102, F08KM202, F08KM204, F16KM102, F16KM104, F16KM202, F16KM204
16GA002, 16GA004
32GA002, 32GA004
32GA102, 32GA104
48GA002, 48GA004
64GA002, 64GA004, 64GA006, 64GA008, 64GA010
96GA006, 96GA008, 96GA010
128GA006, 128GA008 ,128GA010
64GA106, 64GA108, 64GA110
128GA106, 128GA108 ,128GA110
192GA106, 192GA108 ,192GA110
256GA106, 256GA108 ,256GA110
64GB106, 64GB108 ,64GB110
128GB106, 128GB108 ,128GB110
192GB106, 192GB108 ,192GB110
256GB106, 256GB108 ,256GB110
32GA102, 32GA104
32GB002, 32GB004
64GA102, 64GA104
64GB002, 64GB004
128DA106, 128DA110, 128DA206, 128DA210
256DA106, 256DA110, 256DA206, 256DA210
128GB206, 128GB210
256GB206, 256GB210
64GA306, 64GA308, 64GA310
128GA306, 128GA308, 128GA310
64GC006, 64GC008, 64GC010
128GC006, 128GC008, 128GC010
64GA202, 64GA204
64GB202, 64GB204
128GA202, 128GA204
128GB202, 128GB204
16MC101, 16MC102
32MC101, 32MC102, 32MC104
PIC24HJ 12GP201, 12GP202
16GA002, 16GA004, 16GP304
32GP202, 32GP204, 32GP302, 32GP304
64GP202, 64GP204, 64GP206(A), 64GP210(A), 64GP502, 64GP504, 64GP506(A), 64GP510(A)
128GP202, 128GP204, 128GP206(A), 128GP210(A) ,128GP306(A), 128GP310(A), 128GP502, 128GP504, 128GP506(A), 128GP510(A)
256GP206, 256GP210, 256GP610
256GP206A, 256GP210A, 256GP610A
PIC24EP 32GP202, 32GP203, 32GP204
32MC202, 32MC203, 32MC204
64GP202, 64GP203, 64GP204, 64GP206
64MC202, 64MC203, 64MC204, 64MC206
128GP202, 128GP204, 128GP206
128MC202 ,128MC204, 128MC206
256GP202, 256GP204, 256GP206
256MC202 ,256MC204, 256MC206
512GP202, 512GP204, 512GP206
512MC202 ,512MC204, 512MC206
256GU810, 256GU814
512GP806, 512GU810, 512GU814
主に未出荷製品で情報不足のためです。
dsPIC未対応リスト
(2014-08-29現在)PIC24F なし PIC24H なし PIC24E なし dsPIC30F なし dsPIC33F なし dsPIC33E xxGM
- Classicタイプの 16C, 18C には対応していません。今後も対応予定はありません。
- Atmelにも対応(ATtiny,ATmegaシリーズ)
Atmel AVR 対応リスト AT90S 1200, 1200A
2313, 2323, 2333, 2343
4414, 4433, 4434
8515, 8535ATtiny 12, 13, 13A, 15
22, 24, 24A, 25, 26
43U, 44, 44A, 45, 48
84, 84A, 85, 87, 88
261, 261A, 461, 461A, 861, 861A
2313, 2313A, 4313ATmega 8, 8A, 16, 16A, 32, 32A, 48, 48A, 48P, 48PA, 64, 64A, 88, 88A, 88P, 88PA
103, 128, 128A, 161, 162, 163
164A, 164P, 164PA, 165, 165A, 165P, 165PA, 168, 168A, 168P, 168PA, 169, 169A, 169P, 169PA
323, 324A, 324P, 324PA, 325, 325A, 325P, 325PA, 328, 328P, 329, 329A, 329P, 329PA
640, 644, 644A, 644P, 644PA, 645, 645A, 645P, 649, 649A, 649P
1280, 1281, 1284, 1284P
2560, 2561
3250, 3250A, 3250P, 3290, 3290A, 3290P, 3290PA
6450, 6450A, 6450P, 6490, 6490A, 6490P
8515, 8535
Atmel AVR 未対応リスト
(2011-02-10現在)AT90C8534 パラレル書き込みのため ATtiny4 High Voltage 書き込みのため ATtiny5 High Voltage 書き込みのため ATtiny9 High Voltage 書き込みのため ATtiny10 High Voltage 書き込みのため ATtiny11 High Voltage 書き込みのため ATtiny19 リリースされなかったため ATtiny20 High Voltage 書き込みのため ATtiny28 パラレル書き込みのため ATtiny40 High Voltage 書き込みのため ATmega83 リリースされなかったため ATmega85 リリースされなかったため ATmega164 リリースされなかったため ATmega324 リリースされなかったため ATmega406 Jtag書き込みのため ATmega603 リリースされなかったため AT90CAN 将来対応予定 AT90PWM 将来対応予定 AT90USB 将来対応予定
- 末尾のA, P, PAは主に省電力対応で書き込み方法は同じです。
- 末尾のA, P, PAの違いによりデバイスIDが同じことも異なることもあります。
USB機能を標準搭載しているOSが必要です。動作確認は 7, 8.1, 10 で行っています。
- Windows XP
- Windows Vista
- Windows 7
- Windows 8
- Windows 8.1
- Windows 10
PICerFTとターゲットデバイスをICSP接続します。USB端子はミニBです。AE-UM232R上のピンでターゲット用電源(5V/3.3V)を切り替えます。
あえて表面実装部品を使用していないため、製作が容易です。
![]()
専用アダプタ(非売品)
- PICerFTモジュール・サイズ(40mm x 50mm)
- PICkit 2 のサイズが(40mm x 90mm)ですので、ほぼ半分のサイズです。
- ICSPの接続間違いを多く見かけます。
- こちらでは多くのデバイスの動作確認のために、専用アダプタを使っています。
- ゼロプレッシャー・ソケットを使ってもいいのですが、結局毎回配線を切替なければなりません。
- 面倒であり、初歩的な間違いを防ぐためにも、すべてのDIPタイプを用意しました。
- こうすれば、DIPをセットする場所さえ間違わなければ、確実にICSP接続できます。
- 難点は新しいDIPパッケージが出てきたとき対応できないことです。
- 実際、14ピンパッケージ、20ピンパッケージが登場したとき、作り直しました。
PIC用アダプタ
dsPIC用アダプタ
AVR用アダプタ
対象デバイスとの具体的な接続方法はICSP接続方法をご覧ください。
I/O PIC用ICSP O VPP O VDD - VSS I/O PGD O PGC O MCLR ATMEL用ICSPのCLKはXTAL1用のクロックです。基板上で供給されているなら接続不要です。
I/O ATMEL用ICSP O RST O CLK - GND O VCC O SCK I MISO O MOSI
Vpp電圧切り替え
J1 オープン 12.5V ショート 9.0V Vdd電圧切り替え
JP1 1-2間ショート 3.3V 2-3間ショート 5.0V(VCC) デフォルトはショート
JP2 ショート USBバスパワー供給 オープン 外部(VCC)パワー供給
- Vpp電圧(12.5V/9V)の選択を確認してください。誤った設定はデバイスを破損する恐れがあります。
- Vdd電圧(5V/3.3V)の選択を確認してください。誤った設定はデバイスを破損する恐れがあります。
- ICSPの接続を確認してください。誤った接続はデバイスを破損する恐れがあります。
- FT232Rモジュールを選択し、接続(Connect)します。複数のFT232RモジュールがPCに接続されていることを想定しています。
FT232Rモジュールに振られたFixed Serial Numberで識別されます。複数のFT232Rモジュールを自動的に検知します。
検知しない場合、ソフトウェアを再起動してください。(プラグアンドプレイに対応したため、再起動不要になりました。約5秒で認識します。)
![]()
- メニューの一覧です。
![]()
![]()
![]()
- LFタイプ用設定(Wide Vdd)
- 書き込み前にチップ消去(Erase before writing)
- 書き込み後に照合(Verify after writing)
- 拡張ICSP(Enhanced ICSP for dsPIC)
- 接続(Connect)すると操作可能になります。(latency=1ms以外の場合はFT232Rドライバを設定してください。)
![]()
- デバイスを選択するか自動検知(Detect)します。
![]()
- チップ消去(Erase)
- ブランクチェック(Check)
- 書き込み(Write)、ファイル選択ウィンドウで書き込むHEXファイルを選択します。
- 読み込み(Read)、チップの内容を読み出しファイルにします。
- ドラッグアンドドロップ機能
書き込み可能な状態で、HEXファイルをドロップすると書き込みを開始します。
![]()
ATMELの書き込みについて補足します。
- ATMEL用EEPROMについて
- ATMELのデータ領域は.eepファイルに保存されます。
- そのため、書き込む.hexファイルと同じディレクトリに .eepファイルがあれば同時に書き込みます。なければ書き込みません。
- ATMEL用フューズについて
test.cfgファイルの例(test.hex用フューズ指定)
- ATMEL用のフューズ情報は.hexファイルに保存されていません。
- そのため独自仕様として、.cfgファイル(テキスト形式)を用意することとしました。
- 書き込む.hexファイルと同じディレクトリに .cfgファイルがあれば同時に書き込みます。なければ書き込みません。
- フューズのみを書き込むことはできませんが、同一の.hexファイルを上書きすればそれと同様の効果があります(あるいは空の.hexファイルを用意)。
- メモ帳でこのファイル(同一ファイル名.cfg)に記述し、フューズを指定します。
- 指定できる内容はATMELの種類によって異なります。詳しくはサンプルファイル(atmel.cfg)をご覧ください。
LOCK=3 RCEN=0
- セミコロン ";" 以降はコメントとみなし読み飛ばします。
- 一行に1つの LOCK あるいは FUSE を記述します。
- 複数指定する場合、複数行にわけて記述します。順序は問いません。
- ATMELのLOCKはチップ消去すると初期化されます。
- ATMELのフューズはチップ消去しても初期化されません。 そのためフューズの中には一旦設定してしまうと PICerFT で書き込みできなくなるものがあります。 一度この状態に陥ると PICerFT で復旧させることができません。 パラレル方式の書き込みで復旧させることができます。
- ご注意:RSTDISBL=0 を設定すると PICerFT で書き込みできなくなります。
- ご注意:PLLCK=0 を設定すると PICerFT で書き込みできなくなります。
- PICerFT(Low Voltageシリアル方式)はSPIENを変更できません。
- 自動検知(Detect)でフューズ情報を確認できます。
![]()
(1)Detect不可能なPIC(DeviceIDを持たないPIC)
PIC10F 200, 202, 204, 206, 220, 222 PIC12F 508, 509, 510 PIC16F 54, 57, 59, 505, 506
(2)Detect不可能なPIC(DeviceIDが重複しているため)
PIC16F83 84 PIC16F636 639 PIC18F242 2439 PIC18F252 2539 PIC18F442 4439 PIC18F452 4539 PIC18F86J72 66J93 PIC18F87J72 67J93
(3)Detect不可能なATMEL(DeviceIDが重複しているため)
AT90S1200 AT90S1200A
(4)チップ消去は一般的に Vdd=5V のみで可能
Vdd=5Vを選択できる場合、Vdd=3.3V ではチップ消去できません。
(Vdd=3.3Vのみのデバイスを除く)
(5)dsPIC30 SMPS(dsPIC30F1010,2020,2023)は拡張ICSP方式に対応していません。
標準ICSP方式をご利用ください。
(6)PIC24FxxKA/KL/KMは拡張ICSP方式に対応していません。
標準ICSP方式をご利用ください。
(7)PIC24EPxxGU,dsPIC33EPxxMUのAuxiliary Program書き込みに対応していません。
(8)PICライタから大きな電源電流(VDD)を供給できません。
そのため消費電力の大きい周辺回路を駆動できません。消費電力が小さいなら駆動できます。
書き込み時は周辺回路を切り離すなり対処が必要です。
ご注意
- FTDIのドライバの動きがおかしいときの対処方法は?
USBケーブルをさし直してください。あるいはJP2ジャンパーをさし直してください。- AE-UE323RのJP1が接触不良を起こしていることがあります。
ジャンパー端子を布できれいに拭いてください。- 動かない。
ほとんどは配線間違いです。思い込みを捨てて確認してください。
配線は間違っていないと自信をもって問い合わせてきますが、写真で確認するとやはり配線間違いが発見されます。
配線間違いが見つかった場合には、有償サービスにするかもしれません。- 動かない。
指定以外の部品を使っていたことがあります。
たとえば、スイッチング・ダイオードではなく整流ダイオードを使っていることがありました。
指定を守ってください。- Detectで"エラー:DeviceIDなし"と表示する。
(そもそもDeviceIDを持たない)例外がありますが、まずこの問題を解決してください。
この問題を解決しない限り、[Erase][Check][Write][Read]操作は無効です(無駄です)。
場合分け1(専用PICerFT基板を使っている)->ICSP接続に誤りの可能性があります。
場合分け2(専用PICerFT基板を使っていない)->配線のどこかに誤りの可能性があります。
- Core i シリーズの一部のチップセットでUSBに問題があります。
- PICerFTに限らず、USB動作に支障があります。
- Intel Q57 Express, H57 Express, H55 Express, P55 Express
- Intel QM57 Express, QS57 Express, HM57 Express, PM55 Express, HM55 Express
- 別のUSB経路を利用してください。
事前準備1事前準備2
- 拡張ICSP書き込みを行うため、ディレクトリPEも PICerFT.exe と同じディレクトリに配置してください。
- FTDIドライバのインストールのみ必要です。
- 別途解説ページを用意しましたのでご覧ください。
- Ver 6.7からFTDIチップの内部設定とFTDIドライバの設定は自動化したので不要です。つまりFT_Progは不要です。
- 初回だけ、Connectボタンを押すとReconnect USB cable!と表示しますので、USBケーブルを再接続してください。
![]()
Version date 備考 6.8 2015-09-01 新デバイス対応(16F157x, 16F176x, 16F16F183xx) 6.7 2014-11-30 FTDIチップ内部の初期設定を自動化 6.6 2014-09-08 新デバイス対応(24FJxxMC, 33FJxxGS1/GP1/MC1, 24EPxxGU, 33EPxxMU) 6.5 2014-09-02 新デバイス対応(16LF155x, 16F161x, 16F171x, 24FxxKL/KM) 6.4 2014-08-29 拡張ICSPのタイミング調整、その他修正 6.3 2014-03-15 16F170x対応、18FxxJ94対応 6.2 2013-03-04 新DeviceID対応、18FxxK50対応 6.1 2013-01-13 ATmega328のバグ修正 6.0 2012-08-15 dsPIC33E/PIC24E対応 5.9a 2012-06-06 atmel.cfgのコメントを拡張 5.9 2012-03-15 新デバイス対応(PIC16F145x,PIC16F178x) 5.8 2012-02-28 PIC12F1840のバグ修正、10F320,10F322対応 5.7 2011-11-04 PIC16F1825のバグ修正 5.6 2011-08-16 PIC18FのEEPROM書き込みバグ修正 5.5 2011-02-10 新デバイス対応(ATtiny,ATmega) 5.4 2010-09-20 ドラッグアンドドロップ機能追加、プラグアンドプレイ対応 5.3 2010-09-06 新デバイス対応(PIC16F15xx) 5.2 2010-07-03 新デバイス対応(PIC24FJxxxDAxxx) 5.1 2010-03-30 Windows 7での動作不良修正 5.0 2010-03-14 リリース
以下は開発時のメモです。
FT232RのSynchronous Bit Bang (同期)モードの実際の動きです。 クロックは Baud rate 設定の 16 倍となります。計算上は以下の通りです。
- FTDIチップの基礎動作の把握に時間がかかる。
- 特にFT232RのBit Bang Mode動作を把握しなければならない。
- FTDIドライバの動作を把握しなければならない。
- 書き込みプログラムをFTDIドライバ用に書き換えなければならない。
- FTDIからの情報では不足しており、実際に動きを確認しながらの開発となる。
ところが実際には1Mbps程度(1us)を境に制限を受け、計算と実際が食い違います。これはFT232Rの仕様によります。
FT232RはPCとUSBのFull Speed(12Mbps)で通信するため、 当然のことながら、FT232Rの出力が12Mbpsを超えることはありません。
FT232Rの処理能力は1Mbpsまでは設定通りに動作しますが、それ以上は2Mbps,3Mbpsの2つを例外的に設定できます。
これで辻褄があいました。
High Speed(480Mbps)対応のFT232Hが発売されましたが、Synchronus Bit Bangモードの基準クロックは12Mbpsであり、FT232Rの4倍であることがわかりました。
書き込み待ち時間があるため、このままFT232Hに置き換えても劇的に改善されないことがわかりました。
Synchronous 245 parallel FIFO mode に書き換えないと40Mbpsになりません。
もっともFT232HのIOは5V Tolerantであるものの5V出力ができません。回路を見直す必要もあります。
いずれにしても、FT232Rのハードウェア的にはこれが性能限界という見極めがつきました。
Baud rate 計算上のパルス 実際のパルス 9600 9600x16=6.51us 6.43us 19200 19200x16=3.26us 3.28us 38400 38400x16=1.63us 3.2us 57600 57600x16=1.09us 1.14us 115200 115200x16=0.542us 1.15us 230400 230400x16=0.271us 1.1us 460800 460800x16=0.136us 1.1us 921600 921600x16=0.0678us 0.72us 1843200 1843200x16=0.0339us 0.52us (Baud rate = 460800)最小パルスは1.1us=0.91Mbps
(Baud rate = 921600)最小パルスは0.72us=1.39Mbps
(Baud rate = 1843200)最小パルスは0.52us=1.92Mbps
全エリアを書き込む場合の時間(EEPROM書き込み、Verifyを含む)を計測してみました。PCの性能にもよるため、あくまで参考データです。©2008-2015 All rights reserved by Einstein.
通常は部分書き込みをするため(不要な部分を書き込まない)、これは最悪ケースです。通常はこれ以下の時間で書き込みを完了します。
dsPIC/PIC24ではEnhanced ICSPに対応しました。例によって、microchipの書き込み仕様のままでは動作しません。
少しおまじないが必要でした。まだ、dsPIC30F SMPS(dsPIC30F1010,2020,2023)のみうまく動作しません。
Enhanced ICSPではExecutive Programを事前にStandard ICSPで書き込むため、余分に20から30秒必要です。
(Windows Vista Core 2 T5500 1.66GHz)
PIC Kwords sec 10F206 0.5 4 12F509 1 7 12F629 1 13 12F683 2 11 16F57 2 8 16F628 2 ? 16F628A 2 17 16F648A 4 43 16F688 4? 18 16F76 8 40 16F77 8 40 16F84A 1 16 16F88 4 17 16F819 2 9 16F877 8 1:07 16F877A 8 26 18F252 16 1:36 18F258 16 1:36 18F452 16 1:37 18F458 16 1:37 18F2320 4 29 18F2550 16 1:06 18F4320 4 29 18F4520 16 1:05 18F4550 16 1:06 18F8722 64 ?
dsPIC(Standard ICSP) Kwords sec dsPIC30F1010 2 1:04 dsPIC30F2020 4 2:08 dsPIC30F2011 4 2:08 dsPIC30F2012 4 2:08 dsPIC30F3012 8 4:26 dsPIC30F3013 8 4:30 dsPIC30F4012 16 8:42 PIC24FJ32GA002 11 5:41 PIC24FJ64GA002 22 11:09
dsPIC(Enhanced ICSP) Kwords sec dsPIC30F1010 2 -:-- dsPIC30F2020 4 -:-- dsPIC30F2011 4 0:33 dsPIC30F2012 4 0:33 dsPIC30F3012 8 0:52 dsPIC30F3013 8 0:52 dsPIC30F4012 16 1:19 PIC24FJ32GA002 11 1:05 PIC24FJ64GA002 22 1:35
AVR Kwords sec AT90S1200 1 0:20 AT90S2313 2 0:39 AT90S2323 2 0:39 AT90S4414 4 1:16 AT90S4433 4 1:17 AT90S8515 8 2:37 AT90S8535 8 2:35 ATtiny13 1 0:12 ATtiny26 2 0:25 ATtiny2313 2 0:25 ATmega8 8 1:36 ATmega48 4 0:49 ATmega64 64 ? ATmega88 8 1:37 ATmega128 128 ? ATmega168 16 3:00 ATmega664P 64 11:59