RCD Programmer(pic programmer)
RCD Programmerhttp://feng3.cool.ne.jp/en/rcddongs.jpg
I built a "dongle" type RCD Programmer.
[Home]
http://feng3.cool.ne.jp/en/rcdv2r2s.jpg
A RCD Programmer which I always use.
I believe that the "JDM Programmer" is cheap and very useful PIC Programmer. However, since "JDM Programmer" cannot control VDD, the algorithm "VPP before VDD" is inapplicable. Programming to the latest device from this reason may go wrong when using CONFIG settings as "Internal oscillator" "MCLR OFF". These devices are given power from the "JDM programmer",and execute program code. An error may come out by verification, or it may become impossible erasure and become impossible re-programming . In order to solve this problem, I designed a programmer based on the "JDM programmer." Since this programmer was made of resistors, capacitors, and diodes, I named this the "RCD Programmer." "Hardware settings" of IC-Prog are the same as the "JDM programmer."
http://feng3.cool.ne.jp/en/vpp_first.gif
I think that the same problem still exists about programming other devices. (added: 2005-02-06 JST)
Schematichttp://feng3.cool.ne.jp/gif/rcdsch.gifC1 is a charge pump capacitor*. This works voltage doubler. When TxD is negative voltage, C1 is charged through D7 from GND. If TxD carries out turn-on, since it will become positive voltage, the voltage charged in C1 is raised. The created high voltage is regulated by D7 to about 13V. If TxD carries out turn-on, both supply voltage will be created. CTS and RTS also join creation of supply voltage. This VDD is delayed and is applied by C2 and R4. D1-D5 are clump diodes. Since voltage drop is within the limits which can be disregarded, general purpose small rectifier is sufficient as the diode to be used. e.g. 1N4148,1S1588(Toshiba),1S2076A(Renesas or Hitachi),1S133(ROHM) . When not succeeding by the device which needs programming current like 16F84(A), the value of R3 is made small. Probably, it will be good using a trimmer resistor as R3.
After I published the RCD Programmer on my Web site, it has passed in one year. I obtained various questions about the RCD Programmer from many people. And Microchip newly developed Low-Pincount PICs which built in the memory exceeding 1k words. I recommend change capacity of C1 to 470uF now for stable programming.
*About general description of charge pump, please refer to DC/DC Conversion without Inductors(Maxim/Dallas Application Note 725). A important point is not a charge pump but controll of VDD in the RCD Programmer circuit. If this point is excluded, the JDM Programmer is far more excellent than the RCD Programmer. Because the RCD Programmer works by the pulse only once, the capacitor power cannot be continued for a long time.
Consideration for the computers which have poor surge protection (added: 2005-02-06 JST)
When you insert a RCD Programmer into the COM port of your computer during operation("Hot Plug-in" or "Hot Socketing"), inrush current is generated. It seems that it is weak to an overcurrent and a short circuit although "EIA/TIA -562" is power saving and compatible with "EIA/TIA-232-E." So, I added 200-ohm current limitation resistor. This resistor limits peak current and help computers which have poor surge protection circuit inside. However, the RCD programmer will not work well as for such a computer because the voltage of the COM port might be very low.
http://feng3.cool.ne.jp/en/rcdv2r3s.jpghttp://feng3.cool.ne.jp/en/rcdv2r3fzs.jpg
RCD Programmer for the computers whitch have poor surge protectionRCD Programmer with 18-pin TEXTOOL(3M)
http://feng3.cool.ne.jp/en/rcdv2r3sch.gif
Table of Supported Devices
DeviceCode MemRequired VoltageIC-ProgWinPicPICProg4U
NameWordson MCLR100uF470uF100uF470uF470uFNote
PIC10F200F629256x1212.5 <= VPP <= 13.5N/AN/AN/AN/AR(3)
PIC10F202F629512x1212.5 <= VPP <= 13.5N/AN/AN/AN/AR(3)
PIC10F204F629256x1212.5 <= VPP <= 13.5N/AN/AN/AN/AR(3)
PIC10F206F629512x1212.5 <= VPP <= 13.5N/AN/AN/AN/AR(3)
PIC12F508F629512x1212.5 <= VPP <= 13.5JJN/AN/AR
PIC12F509F6291024x1212.5 <= VPP <= 13.5JJN/AN/AR
PIC12F629F6291024x14VDD + 3.5 (Max 13.5)JJC/RC/RR
PIC12F6351024x1410 <= VPP <= 12N/AN/AC/RC/RR(1)
PIC12F6751024x14VDD + 3.5 (Max 13.5)JJC/RC/RR
PIC12F6832048x1410 <= VPP <= 12N/AN/AC/RC/RR(2)
PIC16F54512x1212.5 <= VPP <= 13.5N/AN/AN/AN/AR
PIC16F572048x1212.5 <= VPP <= 13.5N/AN/AN/AN/AR(3)
PIC16F592048x1212.5 <= VPP <= 13.5N/AN/AN/AN/AR(3)
PIC16F6271024x14VDD + 3.5 (Max 13.5)JJC/J/RC/J/RR
PIC16F627A1024x1410 <= VPP <= 13.5N/AN/AC/J/RC/J/RR(3)
PIV16F6282048x14VDD + 3.5 (Max 13.5)N/AJC/J/RC/J/RR
PIC16F628A2048x1410 <= VPP <= 13.5N/AJC/J/RC/J/RR(3)
PIC16F6301024x14VDD + 3.5 (Max 13.5)JJC/J/RC/J/RR
PIC16F6362048x1410 <= VPP <= 12N/AN/AC/RC/RR(1)
PIC16F648A4096x1410 <= VPP <= 13.5N/AJN/AC/J/RR(3)
PIC16F6761024x14VDD + 3.5 (Max 13.5)JJC/J/RC/J/RR
PIC16F6842048x1410 <= VPP <= 12N/AN/ARRR(1)
PIC16F6884096x1410 <= VPP <= 12N/AN/AN/AC/RR
PIC16F8181024x14VDD + 3.5 (Max 13.5)JJC/J/RC/J/RR(4)
PIC16F8192048x14VDD + 3.5 (Max 13.5)JJC/J/RC/J/RR(4)
PIC16F841024x1412 <= VPP <= 14JJN/AN/AN/A
PIC16F84A1024x1412 <= VPP <= 14JJN/AN/AR(5)
PIC16F874096x14VDD + 3.5 (Max 13.5)N/AN/AJJR
PIC16F884096x14VDD + 3.5 (Max 13.5)JJJJR
ColorPincountColorResultsMarkInterface Setting
6/8-pinSuccessJJDM Programmer 2
14-pinPassableCCOM 84
18/28/40- pin
FailureRRCD Programmer
(1)WinPic-- When both IntOSC and internal MCLR options are selected, programming is successful satisfactory. However, after exiting Program/Verify mode, the device may be unable to be read(or verify) correctly. Please feel easy ! The device can be Re-programmed.
(2)The Device ID of PIC12F683 is 0x0460. ID value "0x1280" shown in the data sheet(DS41204C) is not corrected for now(corrected in the autumn of 2004, DS41204D).
(3)Use an Adaptor, or ICSP Method for these devices ! Adaptor for SOT23 PIC10F2xx(example), for PIC16F57(example), for PIC16F627A/628A/648A( See photo below).
(4)WinPic-- Enable WinPic 's option "raise Vdd before MCLR=Vpp" !
(5)WinPic-- Don't use WinPic to programming to PIC16F84A with RCD Programmer! Use IC-Prog or PICProg4U!
Note:WinPic--The erasure and the re-programming might become impossible as for the devices afterwards when both IntOSC and internal MCLR options are selected besides by using WinPic that sets "InterfaceType" to "JDM Programmer 2". In that case, please try after clearing all the check boxes in "Interface Test".
The trick of programming PIC12F508/509 using IC-Prog
How to make an adaptor for PIC16F627A/628A/648A.
http://feng3.cool.ne.jp/jpg/62xa_adp.jpg
Use a cheap 18 pin IC socket. Cut away these three pins(No.11,No.16 and No.17)of a 18 pin IC Socket.
Insert this simple adapter between a device and a RCD programmer's IC socket.
Programming SoftwareIC-Prog Author: Bonny Gijzen
WinPic Author: Wolfgang Büscher
PICProg4U Author: FENG3
Requires .NET Framework 1.1 or later.
The available COM port and the RCD Programmer are detected automatically.
Supported devices are PIC10F200/202/204/206/220/222, PIC12F508/509/510, PIC16F54/57/59, PIC12F629/635/675/683, PIC16F627/628, PIC16F627A/628A/648A,PIC16F630/636/639/676, PIC16F684/685/687/688/689/690, PIC16F818/819, PIC16F84A, PIC16F87/88, PIC16F870/871/872/873/874/876/877, PIC16F873A/874A/876A/877A.)
English version is available now!
Spanish version is available now!
Chinese version is available now!
http://feng3.cool.ne.jp/4u/pp4u1.gif
Important !Probably you should read "OSCCAL(internal OSCillator CALibration) word" and "BG(BandGap calibration) bits" in a device first, and should make a note of them on a piece of paper, before you start programming, so that it may not erase accidentally.
All OTP(One Time Programmable) devices and greater than 18-pin devices are not suppoerted !
DownloadPCB and other files (PDF format) can be downloaded from here.
"Dongle" type RCD Programmer
Note: J5 is a jumper wire or a jumper resistor.
PCB Components layout
RCD Programmer which I always use
This board requires a 90°printed board mount D sub connector and a trim resistor. It is the size which can also mount 18pin TEXTOOL. Note: "0R" is a jumper wire or a jumper resistor.
PCB Components layout Bill Of Material
RCD Programmer for the computers whitch have poor surge protection
PCB Components layout Bill Of Material
..........................................................................................................
If a PDF file prints smaller or larger than expected (for example, 90% of the original size) from an Adobe Acrobat product (Adobe Reader an Adobe Acrobat), Do one or more of the following:
Print using different paper source options.
Choose File > Print, and then do one of the following:
-- In an Acrobat 6.x product , select Choose Paper Source by PDF Page Size, and then click OK.
-- In an Acrobat 5.x product:
1. Click Advanced.
2. Select Choose Output Tray by PDF Page Size.
3. Click OK to close the Print Settings dialog box, and then click OK to print.
..........................................................................................................
Various Examples
by KTaro
by VICby Oga
http://feng3.cool.ne.jp/en/ktaro.jpghttp://feng3.cool.ne.jp/en/vic.jpghttp://feng3.cool.ne.jp/en/oga.gif
by Takepyonby Airbandby Filia Sofia
http://feng3.cool.ne.jp/en/filia.jpg
http://feng3.cool.ne.jp/en/takepyon.jpghttp://feng3.cool.ne.jp/en/airband.jpg
by Alexandre CostaPCB layout by Alexandreby Helmut Stettmaier
http://feng3.cool.ne.jp/rcd/PIC_Grava_RCD_01.jpghttp://feng3.cool.ne.jp/rcd/PIC_Grava_RCD_Layout.jpghttp://feng3.cool.ne.jp/en/stm.jpg
by Henri
by Sven-Erik Ottosson
by Momoji
http://feng3.cool.ne.jp/en/sven_erik.jpg
http://feng3.cool.ne.jp/rcd/bread-picw.jpghttp://feng3.cool.ne.jp/en/henri.jpg
by Stefan Pietzonkeby Daniel José Viana
http://feng3.cool.ne.jp/en/jay-t_rcd_prog.jpghttp://feng3.cool.ne.jp/en/pic-rcd-danjovic.jpg
PCB layout (Eagle file) by Daniel José Viana
FAQ
Q I have seen that there is a variable resistor in the circuit.Could you please explain how to calibrate this part or could you recommend a value which I have to turn the resistor?
A R3 value is 10k ohms for almost devices. But some old device such as PIC16F84A requires a little a lot programming current. Therefore, R3 value can be adjusted by using trimmer potentiometer since RCD Programmer Version 2.3(about 1k ohms or less, for PIC16F84A). [*]Q What is the resistor value "0R" ?
A "0R" is the zoro-ohm resistor. It is the jumper wire which have the shape of the resistor. Of course, ordinary jumper wire can be used as "0R".
页:
[1]