Sadržaj:

Razumijevanje ICSP -a za PIC mikrokontrolere: 4 koraka (sa slikama)
Razumijevanje ICSP -a za PIC mikrokontrolere: 4 koraka (sa slikama)

Video: Razumijevanje ICSP -a za PIC mikrokontrolere: 4 koraka (sa slikama)

Video: Razumijevanje ICSP -a za PIC mikrokontrolere: 4 koraka (sa slikama)
Video: Работа с программатором USBAsp в Arduino IDE 2024, Juli
Anonim
Razumijevanje ICSP -a za PIC mikrokontrolere
Razumijevanje ICSP -a za PIC mikrokontrolere

Programiranje mikrokontrolera nije teško. Izgradnja programera odličan je prvi elektronički projekt. Cilj ovog uputstva je objasniti jednostavnu metodu serijskog programiranja u krugovima koja se koristi sa Microchip PIC -ovima.

Korak 1: Zašto ICSP?

Zašto ICSP?
Zašto ICSP?

Programiranje velikog DIP (kroz otvor) čipa je jednostavno. Ubacite ga u utikač programatora, narežite i vratite u krug aplikacije. Testirajte i ponovite.

Stvari postaju sve teže s manjim čipovima (za površinsko montiranje). Ne postoje standardne utičnice za QFN, SSOP, QFP, pa čak ni za velike SOIC.300 pakete. Postoje zaista skupi isječci (100 USD) koji se mogu pričvrstiti i programirati na ove čipove. Za svaku vrstu čipa i broj pinova koje koristite potreban je drugačiji isječak. Postoji alternativa. Zove se ICSP. ICSP znači „serijski programer u krugu (ing?)“. To je način programiranja PIC -a dok je još spojen na aplikacijsko kolo. Tako je, nema više zamjene čipova. Zašto ICSP? 1. Ne postoje programske utičnice za male pakete čipova. Isječci su skupi. 2. Bolno je premeštati čipove u programer tokom razvoja. Nemoguće za dijelove za površinsku montažu.

Korak 2: Šta je ICSP?

Šta je ICSP?
Šta je ICSP?
Šta je ICSP?
Šta je ICSP?
Šta je ICSP?
Šta je ICSP?
Šta je ICSP?
Šta je ICSP?

Pet programa je potrebno za programiranje PIC -a dok je spojen na aplikacijsko kolo. Dodajem 5 -polno zaglavlje na svoje ploče kako bi ovo povezivanje bilo brzo i jednostavno. Osnove programiranja PIC -a. Za programiranje PIC -a potrebno je pet veza. Napajanje, uzemljenje, programski napon, sat i podaci.+ (Vdd)/-(Vss) Ovo su priključci za napajanje i uzemljenje (Vdd, Vss). Prilično standardno. Ako koristite programer sa "stvarnim" nivoima napona (NE JDM2!), Vaša aplikacija može raditi iz vlastitog izvora napajanja kada je programirana, uklanjajući ove veze. Vpp Ovo je napon za programiranje. PIC -ovi ulaze u način programiranja kada se na MCLR/Vpp pin postavi ~ 13 volti (obično pin 1 na modernim PIC -ovima, više o tome ispod). Sat/Podaci ili PGC/PGD Sat i linije podataka koriste se za pisanje i čitanje PIC -a firmware. To su obično isti pinovi kao i PORTB6 i PORTB7. Vježba: Identificirajte ICSP priključne točke na PIC -ovima na donjim slikama. Ako vam PIC odgovara, nosite ga. Dobivam mnogo pitanja o svom dizajnu JDM2 o instrukcijama. Najčešći je "Hoće li programirati PIC X?" "' - evo kako to možete reći: 1) Pogledajte listu s podacima. Pronađite 'Pin Diagram' koji izgleda poput slike ispod. 2) Identificirajte lokaciju pinova koji moraju biti povezani za programiranje (Vpp, Vdd, Vss, Podaci i sat). 3) Pogledajte vezu utičnice na programer. Možete li uskladiti potrebne pinove s utičnicom na programatoru?

Korak 3: Kako ICSP?

Kako ICSP?
Kako ICSP?
Kako ICSP?
Kako ICSP?
Kako ICSP?
Kako ICSP?
Kako ICSP?
Kako ICSP?

Ovisno o vašem dizajnu, sada možete napraviti sve potrebne veze i programirati svoj PIC. Treba znati nekoliko ulova. Dizajn za ICSP je važan. Microchip pruža lijepu bilješku u PDF aplikaciji o dizajnu za ICSP. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744 Evo nekoliko savjeta i primjera dizajna ICSP -a iz mojih prethodnih uputstava. Savjet #1, Nivo prijetnje: VažnoNe spajajte ništa drugo na SAT i DATA pinovi (obično RB6 & RB7, PGC i PGD). Samo nemoj to raditi. Postoje situacije u kojima se vrlo pametni inženjerski tipovi izmiču, ali nemojte to činiti. Komponente pričvršćene na pinove iskrivit će sat i signale podataka, što će rezultirati nepredvidivim programiranjem. Osim toga, ako ikada želite koristiti ugrađeni serijski debager, ne možete. Samo nemojte to raditi. Savjet #2 Nivo prijetnje: Eksplozivno Uvijek koristite diodu između napona za programiranje i napona sistema. Ako koristite MCLR (master clear) na PIC -u, morate osigurati određeni napon na MCLR pin -u kroz 10Kish otpornik. Ovo je ujedno i pin na koji ćete primijeniti ~ 13 volti za ulazak u način programiranja. Stavio sam 1n4148 (ekvivalentnu) diodu između otpornika i MCLR/Vpp pina (kao što je prikazano na shemi i dolje prikazanoj). Ovo održava napon programiranja na Vpp pin -u, sprječavajući uništavanje drugih komponenti na vašoj ploči. Savjet #3 Nivo prijetnje: (pre) umorno Programiranje niskog napona vas koči, čovječe. Nikada nisam bio uspješan s LVP -om. Nikada nisam vidio da to radi (dosljedno) vlastitim očima. Dovoljno je zagristi metak i potrošiti 2,50 USD za izradu JDM2 programera.

Korak 4: Programeri ICSP -a

ICSP programeri
ICSP programeri
ICSP programeri
ICSP programeri

ICSP ne zahtijeva drugačiji programski protokol. Programer zasnovan na utičnici već proizvodi potrebnu signalizaciju, ali je šalje u utičnicu, a ne putem žica. Većina programera za utičnice može se koristiti kao ICSP postavljanjem žica od utičnice do aplikacijskog kruga. Na primjer, originalni programer JDM2 (ovdje: https://www.jdm.homepage.dk/newpic.htm) može se koristiti za uradite ICSP programiranje donoseći 5 potrebnih signala u zaglavlje. Ovo se može vidjeti u programeru ovdje: https://www.belza.cz/digital/jdm.htm. Da bi vam stvari bile pri ruci, preradio sam ovaj dizajn u Eagle Cad -u i priložio ga ovom uputstvu. Pazite na orijentaciju tranzistora, možda je jedan od otisaka pogrešan (ovo sam napravio prije više od godinu dana, više se ne sjećam). Slično, moj ažurirani JDM2 programator (ovdje: https://www.instructables.com/id/EN28KZDDYVEP286GRI/) može se koristiti za ICSP tako da se žice zalijepe u DIP utičnice i povežu na ciljni PIC. ***** JDM2 -i koriste zabavne napone … spojite ih na krug BEZ vanjskog napajanja (ili čak uzemljenja) spojenog na aplikacijsko kolo. Uklonite ICSP veze prije uključivanja napajanja. Ako to ne učinite, nije destruktivno, ali će rezultirati neuspješnim programiranjem ******* Druga mogućnost je (polu) odgovarajući ICD programator. ICD vam omogućava da kontrolišete izvršavanje firmvera na vašem PIC -u postavljanjem tačaka prekida u kodu ili čitanjem vrijednosti memorije i portova. ICD može također animirati izvršavanje koda, napajati aplikacijsko kolo i programirati PIC. Sve to radi putem iste 5 -pinske ICSP veze o kojoj smo govorili. Nekoliko ICSP klonova koje možete sami napraviti možete vidjeti ovdje: https://www.icd2clone.com/wiki/Main_Page. Napravio sam PiCS (rev. B) prije nekoliko mjeseci i sviđa mi se.

Preporučuje se: