Serieport programmerer


Klikk for å gå til JDM sin egen side om "NewPic3"

NewPic3 programmereren til Jens Dyekjær Madsen


OM PROGRAMMEREREN

Det som er så genialt med denne programmereren fremfor andre programmerere er at den kobler sammen PC-ground med Vdd på PIC-kretsen, i motsetning til andre design â la LUDIPIPO der PC og PIC har felles ground.

Denne enkle genistreken gjør at RS-232 logisk 1 brukes til å lage PIC Vss spenning (0V) gjennom D1 og/eller D5. For å gi PIC'en en programmerings-spenning på minst 12 V trengs det RS-232 logisk 0 nivå på minst 7V på TxD-pinnen.

En LUDIPIPO programmerer trenger minst ±12V RS-232 nivåer. NewPic3 trenger bare ±7V. Da sier det seg selv at med de spenningene som kommer ut av serieporten på en vanlig PC idag (f.eks ±11V ubelastet) så er NewPic3 et mye sikrere og bedre alternativ.

Programmeringspenningen på PIC'en skal være fra 12-14 volt iflg. specs.

Dersom man bruker en laptop PC med for lav spenning på serieporten kan dette problemet overkommes ved å bygge en krets som stjeler strøm fra en PS/2 kontakt (Mus/Tastatur) og genererer mer riktige RS-232 nivåer:
Real RS-232 for Laptop PCs

 

BILDER

Klikk på bildene for å se dem i full størrelse...

  Klikk for full-size!   Klikk for full-size!   Klikk for full-size!   Klikk for full-size!

Boksen og ZIF-sokkelen er kjøpt hos ELFA.

Artikkel nummeret er for boks (Teko 10006):   50-211-18
...og for 18-pins ZIF-sokkel (3M/Textool):   48-176-98


LINK' ER

Jens Dyekjær Madsen
IC-Prog Prototype Programmer
ELFA


 
HARDWARE

Jeg bygde programmereren slik den fremstår på skjema med tre unntak:

  • Satte clamping-dioder fra RB7 til Vss og Vdd
    (Dette er strengt tatt ikke nødvendig da slike dioder ligger inni PIC'en, men får designet til å virke litt mer "riktig".)
  • Jeg brukte 9-pins D-sub i stedet for 25-pins. Det gjør at pin-nummereringen på skjema ikke stemmer overens.
  • RB4 (pin 10) er ikke koblet til Vdd, men til Vss via en 270 ohms motstand. Dermed kan man også brenne PIC16F628.

For de fleste PIC-kretser trenger man kun koble til 5 pinner på IC'en: MCLR, Vss, Vdd, RB6 og RB7.

I stedet for 1N4148 kan en bruke hvilke som helst andre "general purpose" dioder. Jeg brukte BAX14.

D2 ble prøvt med både BZX85C5V1 og BZX55C5V1.

Dersom en vil bruke programmereren til ICSP (In-Circuit Serial Programming) så er det vanlig at applikasjonen med PIC-kretsen har en konnektor med 5 pinner i denne rekkefølgen:

  • Vpp (MCLR)
  • Vdd
  • Ground
  • Data (RB7)
  • Clock (RB6)

(På Jens Dyekjær Madsen sin side om ICSP er det gjort en feil slik at RB6 og RB7 er byttet om.)

Microchip har et dokument angående ICSP. Klikk her for å se på det.
For å prøve ICSP laget jeg meg en adapterkabel med en IC-sokkel til å sette i programmereren. I IC-sokkelen loddet jeg fast ledninger som gikk bort til en 5-pins plugg til å koble på applikasjonen. Dette virker bra, og gjør at man kan om-programmere PIC'en uten å flytte den frem og tilbake mellom programmerer og applikasjon.
Adapterkabelen er koblet slik:

  . IC-sokkel .   . applikasjon-plugg .
  4   1
  14   2
  5   3
  13   4
  12   5

OBS:
Stemmer ikke med PIC Millennium Board sin ICSP plugg!

 

PC SOFTWARE

Hvis en skal bruke DOS-software må en først laste en driver for programmereren. Disse to driverne fikk jeg til å fungere sammen med programmet PIP (pip02.exe);

jdm84.exe og com84.exe

For Windows 98 har jeg brukt PicProg som er laget av Tord Andersson. Dette programmet fungerer utmerket uten noen ekstra driver, og har tom. egen hjelpefil! Tror siste utgave er versjon 0.6. Dette programmet koster: (du gjettet riktig!) Ingenting. Last det ned her, eller finn evt. nyere versjon på Internet. Programmet har jeg brukt til å programmere både PIC16C84 og PIC16F84.

Det greieste programmet nå til dags er IC-Prog.
(Last ned siste versjon gratis fra http://www.ic-prog.com/download.html). Her er et screenshot.
Programmet har jeg brukt både i Windows 98, og i Windows XP. Det brenner de fleste chip'er og støtter allslags hardware. Bruk disse innstillingene:
"I/O Delay" settes til "1", og "Process Priority" til "Realtime".

   



Oppdateringer:
23.01.2000 - E.G.
01.10.2003 - E.G.
08.10.2003 - E.G.