クレア工房
| 電子工作
| PIC16F/18F
PICPGM1: 簡易PICプログラマ
概要
- 実験中であり、計画中のPICプログラマです。
ハードウェアは仮組みしましたがソフトウェアを書ききっていません。
- パソコンとはAE-FT231Xを通じてUSB接続を行います。
- 書き込みの対象となるマイコンはUSBマイコンであるPIC16F1454, PIC16F1455, PIC16F1459専用に絞り込みました。
(PIC16F1459に対応するにはZIFソケットが20ピンである必要があります)
- 標準的な貫通穴実装部品および相当のモジュールを使う構成としました。
制限事項
-
概要でも示しましたが対応を検討しているのはPIC16F1454, PIC16F1455, PIC16F1459だけです。
-
JDMプログラマの信号線の選択を参考にしていますがソフトウェアに互換性はありません。
-
Windows向けのソフトウェアを用意する予定は今のところありません。
-
時間と労力を節約するためにお金で殴ることを良しとする向きにはお勧めできません。
Windowsと純正コンパイラの商用ライセンスを買い、道具としてPICkit4等を調達したほうが、円滑な経験が得られるはずです。
実装例
回路図
FT231Xにあるシリアルポートの制御ピンからどのように信号を割り当てるか、
信号のレイアウトを考えます。
本来はRTS/CTS, DTR/DSRでペアを組みたいところですが、ざっと下調べしてみたところ、JDMプログラマの伝統的な配線はそうなっていません。
とりあえず右へ倣えで伝統的なレイアウトを採用します。
通常、ICSPは5Vレベルで駆動します。
今回はAE-FT231Xモジュールを信号源として採用しています。
FTDI FT231XからPICに与えられる信号は3.3Vレベルです。
PIC16F1455にはICSP信号ペアが2組あります。通常はプライマリのペアを5Vレベルを定格としています。
PIC16F1455ではセカンダリのペアがUSBモジュールと配線を共用しており、都合、3.3Vレベルを定格としています。
そこで今回は、FT231Xに整合してセカンダリのペアを使う計画です。
- TxD line
- 通常の発想であればPIC16F145xのMCLR#に繋ぐ線です。
TxDは電源制御端子として使っています。
3.3VレベルであるFT231Xに対するレベル変換を兼ねてPNPトランジスタによる電源制御を行い、
PICに対する電源(VDD)として5Vを印加します。
LEDの配置はビジーであることの表示と同時に電圧シフトを兼ねることを狙っています。
- DTR# line (output from UART)
- PIC16F145xのICSPDATに繋ぐ線です。3-state制御はしませんのでICSPDATの出力と競合しないように2kΩの抵抗を挟みます。
- CTS# line (input to UART)
- PIC16F145xのICSPDATに繋ぐ線です。
- RTS# line (output from UART)
- PIC16F145xのICSPCLKに繋ぐ線です。
- MCLR#
- ZIFソケットの存在を前提にすることにして、MCLR#は接地して済ませます。
LVP専用と割り切りますのでVPPは使用しません。
- VUSB3V3
- 回路図には描き忘れましたが、電源端子として0.22μF以上2.2μF以下のセラミックコンデンサでバイパスしたほうが良いでしょう。
実装上の注意として、AE-FT231XはUSB端子が尻になるようにピン配列が指定されており、直感と逆です。
1番ピンはUSB端子の反対側にあります。
通電するとLEDがほんのり灯りますがこれは仕様です。
ここでLEDは5V電源から3.3VのTxDに対して12kΩを通じた漏れ電流で光っています。
LEDをシャキッと点滅させるには回路を工夫すれば良いことはわかっているものの、
いったんこのままにします。
使用部品
TBD
ソフトウェア
既存のソフトウェアとしてお手頃なものは(Linux向けとしては)現存していないように見えます。
ドライバとなるソフトウェアは書き下ろす予定です。
履歴
- 2025-03-03
-
仮設計として回路図を作成。
- 2025-03-10
-
ハードウェアを仮実装。
当初PIC16F1459にも対応させておこうと欲を出して20ピンZIFソケットを用意していましたが、
ブレッドボード基板に対する収まりが悪いことが美観的な問題となりました。
そこでより小型の14ピンZIFソケットで実装し、オンボードで対応するのはPIC16F1454とPIC16F1455のみにしました。
配線を引っ張り出せばPIC16F1459にも対応はできるでしょう。
- 2025-03-17〜
-
パソコン側で利用するソフトウェア実装の行うフェーズであり、ハードウェア的な異動はありません。
参考文献
- PIC16(L)F145x Memory Programming Secificatoin, Microchip Technology Inc., DS41620, 2011
- 規格書
- PIC16(L)F1454/5/9 Datasheet, Microchip Technology Inc., DS40001639C, 2012--2020
- デバイスのデータシート
-
FT231X USBシリアル変換モジュール, 秋月電子通商, 2013;
https://akizukidenshi.com/catalog/g/g106894/
- デバイスのマニュアル
-
PIC Programmer-2,
Jens Dyekjær Madsen,
2000;
http://www.jdm.homepage.dk/newpics.htm
- JDM's PIC Programmer-2 hardware and software for the Windows 95/98/ME era.
Copyright © 2025 clare. All rights reserved.