Sadržaj:

Pregled programera JDM -a: 9 koraka
Pregled programera JDM -a: 9 koraka

Video: Pregled programera JDM -a: 9 koraka

Video: Pregled programera JDM -a: 9 koraka
Video: Запретная любовь 9-12 серия (2017) Детективная мелодрама сериалы 2024, Juli
Anonim
Pregled programera JDM -a
Pregled programera JDM -a

JDM je popularan PIC programer jer koristi serijski port, minimum komponenti i ne zahtijeva napajanje. Ali postoji zabuna, s mnogim varijacijama programera na internetu, koje rade s kojim PIC -ovima? U ovom "uputstvu" testirali smo JDM i ja pokazujem kako simulirati sklop pomoću Spicea koji će odgovoriti na sva vaša pitanja!

Supplies

LTspice koji se može preuzeti sa Analog Devices ovdje.

Ovdje su vam potrebne i datoteke JDM kola.

Korak 1: Zahtjevi serijskog porta

Zahtjevi serijskog porta
Zahtjevi serijskog porta

JDM-u je potreban serijski port koji zadovoljava EIA232 specifikacije, idealno sa +12/-12 nivoima napona.

Prema podatkovnom listu Texas Instruments Line Driver MC1488 (slika 3)

Izlazna impedancija = 4V/8mA = 500 ohma.

Ograničenje struje kratkog spoja = 12mV, bez vremenskog ograničenja - bez oštećenja čipa.

Preporučuje se ulazna impedansa linijskog prijemnika = 3k do 7k ohma.

Serijski portovi na starijim desktop računarima koriste +12v/-12V koji ispunjavaju ovaj uslov.

Serijski portovi na novijim prijenosnim računarima koriste manji napon. JDM može i ne mora raditi - odgovor je složeniji.

Korak 2: Zahtjevi programiranja PIC -a

PIC programski zahtevi
PIC programski zahtevi

Informacije o zahtjevima programiranja PIC -a mogu se dobiti od Microchipa. Gore navedeno odnosi se na tipičan uređaj.

Korak 3: JDM specifikacija

JDM specifikacija
JDM specifikacija

Je li originalna web stranica JDM izgubljena u magli vremena? Ovo nas ostavlja da nagađamo što je dizajner prvotno namjeravao za specifikaciju.

  1. Omogućite VDD = 5V i najviše do IDD = 2mA (za verziju "u utičnici")
  2. Omogućite VHH = 13V, a do IHH = 0,2mA maksimalno.
  3. MCLR Vrijeme porasta tVHHR = 1uS max.
  4. ICSP verzija mora biti u stanju povući MCLR nisko u odnosu na povlačenje od 22 k na meti.

Korak 4: Opis kola

Opis kola
Opis kola

Slika JDM1 je zasnovana na „standardnom“JDM kolu preuzetom sa web lokacije PICPgm. Ovo je programer “PIC in Socket” u kojem PIC preuzima napajanje sa TX i RTS pinova. Originalni dijagram je bilo teško razumjeti pa sam ga ponovo nacrtao koristeći uobičajenu konvenciju protoka struje od vrha do dna. Dodao sam LED indikatore “RESET”, “PROG” i “RTS” koji su neophodni tokom izgradnje i testiranja. Nadajmo se da oni nemaju štetan utjecaj na ponašanje.

Uobičajena konvencija dizajna kola je zajednička svim osnovama, ali ključna karakteristika JDM -a je to što je uzemljenje serijskog porta (GND) spojeno na VDD. Ovo stvara zabunu jer se signali serijskog porta mjere u odnosu na GND, PIC signali u odnosu na logičko tlo (VSS).

Kad TX poraste, Q1 se ponaša kao dvije diode prema naprijed. (Q1 kolektor nije obrnuto pristran kao kod normalnog rada tranzistora). Q1 kolektor puni C2, koji je stegnut na VDD+8V od strane Zenera (D3). Odašiljač Q1 isporučuje 13V MCLR -u za Program/Verify Mode.

Kad TX padne, kondenzator C3 se puni kroz D1 i VSS se stegne na VDD-5V pomoću zenera (D5). Takođe TX je stegnut na (VSS-0,6) pomoću D1. Q1 je isključen, C1 zadržava punjenje za sljedeći programski impuls. MCLR je stegnut na 0V pomoću D2, pa je PIC sada resetiran.

Kada je RTS visok, sat se prenosi na PGC. D4 stezaljka PGC na VDD logici visoka. Kada je RTS nizak, kondenzator C3 se puni kroz D6 i VSS se stegne na VDD-5V pomoću zenera (D5). D6 steže PGC na VSS ili logičkom 0.

Tijekom programiranja, podaci poslani na DTR -u se čitaju na PGD -u, koji PIC konfigurira kao ulaz. Kada je DTR visok, Q2 djeluje kao "sljedbenik emitera", a napon PGD-a je oko (VDD-0,6) ili logika 1. Kada je DTR nizak, Q2 djeluje kao loš tranzistor (obrnuti pinovi emitera i kolektora). Q2 povlači PGD nisko, što je stegnuto D7 na VSS ili logičkoj 0.

Tokom provjere PIC konfigurira PGD kao izlaz za slanje podataka na serijski port. DTR mora biti postavljen visoko, a podaci se čitaju na CTS -u. Kada je izlaz PGD visok, Q2 je isključen, CTS = DTR = +12V. Kada je izlaz PGD nizak, Q2 je uključen. Q2 kolektor crpi struju (12V+5V)/(1k+1k5) = 7mA iz DTR -a i povlači CTS nisko, do VSS -a.

Korak 5: Pripremite se za simulaciju

Pripremite se za simulaciju
Pripremite se za simulaciju

Preuzmite LT spice, spremite i otvorite datoteke kola (*.asc) koje se nalaze ovdje. Da bismo simulirali kolo, moramo mu dati neke ulaze, a zatim "pratiti" izlaze. V1, V2 V3 simuliraju 12V serijski port sa izlaznom impedansom R11, R12, R13.

  • V1 generira 2 programska impulsa na TX -u od 0,5 ms do 4,5 ms
  • V2 generira niz impulsa podataka na DTR -u od 1,5 do 4,5 ms
  • V3 generira niz taktnih impulsa na RTS -u od 0,5 do 3,5 ms

Komponente V4, X1, R15 i R16 su sve dio simulacije.

  • V4 generira 2 impulsa od 2,5 do 4,5 ms za provjeru podataka.
  • Jumper X1 simulira OUTPUT na PGD -u.
  • R15, R16 simuliraju „učitavanje“PIC -a na VDD i MCLR.

Korak 6: Izmjene za ICSP

Izmjene za ICSP
Izmjene za ICSP
Izmjene za ICSP
Izmjene za ICSP

Slika JDM3 prikazuje verziju za programiranje "u krugu". Izmjene u odnosu na original su

  1. Zamijenite ZIF utičnicu sa ICSP konektorom.
  2. PIC se sada napaja napajanjem do ciljnog kruga (V5).
  3. Uklonite 5V zener (D5).
  4. Mali kondenzator od 100 pF (C4) se pomiče pored PIC -a na ciljnom krugu.
  5. LED diode napajaju ploču, gdje je to moguće.
  6. MCLR pull-up otpornik (R10) i dioda (D10) potrebni su na ciljnom krugu.
  7. UPOZORENJE. Ciljna ploča mora imati „plutajuće“napajanje, idealno bateriju.
  8. Nemojte povezivati ciljno uzemljenje (VSS) na masu računara/računara povezivanjem bilo kojih drugih računarskih portova istovremeno s JDM -om.

Nakon simulacije JDM1, problem dugog vremena punjenja na C2 postao je očit. Zatim se nakon čitanja Fruttenboela čini da su C2 i Q1 dodani kao izmjena originalu. Ne mogu misliti šta C2 i Q1 namjeravaju učiniti osim stvaranja problema. Zato se za JDM4 vraćamo na stariji dizajn na Fruttenboelu koji je jednostavan i jasan za razumijevanje. D1 i D3/LED2 stezaljka MCLR između VSS i VDD+8V. Vrijednost R1 je smanjena na 3k3, taman toliko da se LED2 osvijetli na 12V.

JDM4 je također dizajniran za rad sa slabijim serijskim portovima. Kad TX poraste (+9V), izvor struje TX = (9-8)/(1k +3k3) = 0,2 ma, taman toliko da se MCLR podigne visoko, iako nedovoljno za osvjetljavanje LED2. Kad TX padne (oko -7V), TX struja potone = (9-7)/1k = 2mA. LED1 struja = (7-2 za LED)/(2k7) = 1,8 mA. MCLR povlačna struja = 7-5,5/3k3 = 0,5 mA.

Ovo kolo je također testirano (simulacija JDM5) kako bi se vidjelo šta se dešava sa serijskim portovima +/- 7V minimum, gdje nema dovoljno napona za održavanje VHH = 13V. Svrha C1 sada postaje očigledna, C1 stvara kratko +ve pojačanje MCLR -a, skok od 33us na rastućoj ivici TX -a, dovoljno dugo da PIC uđe u programski način, možda? Ali uklonite kratkospojnik X2 (onemogućite LED1) jer nema dovoljno struje da se MCLR povuče na nisko i zajedno osvijetli LED1. Kada TX opadne, TX struja pada = (7V-5.5V)/(1k+3k3) = 0.3mA, taman toliko da se MCLR povuče nisko na navlaku R10.

Korak 7: Rezultati simulacije

Rezultati simulacije
Rezultati simulacije
Rezultati simulacije
Rezultati simulacije
Rezultati simulacije
Rezultati simulacije

Za pregled grafičkih datoteka, bolje je da desnom tipkom miša kliknete donje veze, a zatim odaberete "Otvori vezu na novoj kartici"

Simulacija 1: trag MCLR -a, VSS -a i RTS -a za originalni JDM1. Odmah su uočljiva zapažanja 1, 2 i 3.

Simulacija 2: trag MCLR -a i VSS -a i RTS -a za modificirani JDM2, koji rješava prethodne probleme.

Simulacija 3: trag PGD -a, VSS -a i PGC -a za JDM2 slanje podataka u programskom načinu rada. Zapažanje 4 na 3,5 mS.

Simulacija 4: trag PGD -a, VSS -a i CTS -a za JDM2 u načinu provjere (umetnut kratkospojnik X1). uredu

Simulacija 5: trag MCLR -a, VSS -a, PGD -a i PGC -a za JDM3. ICSP pomoću napajanja iz kruga rješava mnoge probleme.

Simulacija 6: trag MCLR-a, VSS-a, PGD-a i PGC-a za JDM4 sa +/- 9V serijskim portom. MCLR odmah raste, potpuno radi.

Simulacija 7: trag MCLR-a, VSS-a i TX-a za JDM5 sa uklonjenim serijskim portom +/- 7V i kratkospojnikom X2. C1 stvara +ve pojačanje (šiljak) na rastućoj ivici MCLR -a, otprilike dovoljno za pomicanje MCLR -a iznad TX -a na 13V.

Korak 8: Zaključci

Spice je zaista dobar u otkrivanju "skrivenih tajni" rada kola. Očigledno JDM kolo radi i kompatibilno je sa mnogim PIC čipovima, ali sljedeća zapažanja otkrivaju moguća ograničenja/probleme s kompatibilnošću/greške?

  1. Dugo vrijeme porasta MCLR -a dok se C2 puni do VPP -a pri prvom impulsu TX -a. Ne uspijeva specifikacija 3.
  2. Serijski port naplaćuje C2 kada TX poraste, a RTS padne. Ali RTS ima i posao punjenja C3. Kada se oboje dogodi istovremeno, to stvara veće opterećenje za RTS, pa posljedično C3 gubi naboj (VSS raste) na 2 ms pri simulaciji. Ne uspijeva specifikacija 1.
  3. C3 gubi naboj (VSS počinje rasti) nakon što taktni impulsi prestanu na 3,5 ms.
  4. Koja je svrha C2, da li je uopće potreban?

Rješenja

  1. Vjerovatno PICPgm koristi softverski „radni krug“. Mora primijeniti dugi TX impuls za prednabijanje C2, a zatim ući u način programiranja tek nakon drugog TX impulsa? Za simulaciju sam smanjio vrijednost C2 na 1uF do vremena rasta 1ms. Nije idealno rešenje.
  2. Podijelite C2 i C3 pa se pune neovisno. Jedna mala izmjena JDM2, C2 upućuje na GND umjesto na VSS.
  3. Riješio JDM3. ICSP je mnogo pouzdaniji jer PIC pokreće ciljno kolo.
  4. JDM4 rješava problem 1. Ovo je jednostavan dizajn koji potpuno eliminira C2.

Korak 9: I na kraju

I na kraju
I na kraju

Dokaz pudinga je u jedenju. Ovaj JDM radi pa ga nastavite koristiti.

A moje preporuke su:

  • koristite JDM2 za programiranje utičnica i 12V serijske portove,
  • koristite JDM4 za ICSP programator i serijske portove iznad +/- 9V,
  • koristite JDM4 sa uklonjenim kratkospojnikom X2 za serijske portove iznad +/- 7V.

Reference:

Analog Devices LT začin

picpgm

Fruttenboel

Pratite još PIC projekata na lukavom uglu

Preporučuje se: