Indholdsfortegnelse:

Forståelse af ICSP til PIC -mikrokontrollere: 4 trin (med billeder)
Forståelse af ICSP til PIC -mikrokontrollere: 4 trin (med billeder)

Video: Forståelse af ICSP til PIC -mikrokontrollere: 4 trin (med billeder)

Video: Forståelse af ICSP til PIC -mikrokontrollere: 4 trin (med billeder)
Video: VPN (Virtual Private Network) Explained 2024, Juli
Anonim
Forståelse af ICSP til PIC -mikrokontrollere
Forståelse af ICSP til PIC -mikrokontrollere

Det er ikke svært at programmere mikrokontrollere. At bygge en programmør er et godt første elektronikprojekt. Målet med denne instruerbare er at forklare den enkle 'i kredsløb seriel programmering' metode, der bruges med Microchip PIC'er.

Trin 1: Hvorfor ICSP?

Hvorfor ICSP?
Hvorfor ICSP?

Det er let at programmere en stor DIP (gennem hullet) chip. Læg den i en stikkontaktprogrammer, brænd og vend tilbage til applikationskredsløbet. Test og gentag.

Tingene bliver sværere med mindre (overflademonterede) chips. Der er ingen standardstik til QFN, SSOP, QFP eller endda de store SOIC.300 pakker. Der er virkelig dyre ($ 100s) klip, der kan vedhæftes og programmeres til disse chips. Der kræves et andet klip for hver chiptype og stiftantal, du bruger. Der er et alternativ. Den hedder ICSP. ICSP betyder 'i kredsløb seriel programmerer (ing?)'. Det er en måde at programmere en PIC på, mens den stadig er knyttet til applikationskredsløbet. Det er rigtigt, ikke mere chipbytte. Hvorfor ICSP? 1. Der er ingen programmeringsstik til små pakkechips. Klip er dyre. 2. Det er en smerte at flytte chips ind og ud af programmøren under udviklingen. Umuligt for overflademonterede dele.

Trin 2: Hvad er ICSP?

Hvad er ICSP?
Hvad er ICSP?
Hvad er ICSP?
Hvad er ICSP?
Hvad er ICSP?
Hvad er ICSP?
Hvad er ICSP?
Hvad er ICSP?

Fem forbindelser er nødvendige for at programmere en PIC, mens den er tilsluttet et applikationskredsløb. Jeg tilføjer en 5 -pins header til mine printkort for at gøre denne forbindelse hurtig og let. Grundlæggende om PIC -programmering. Fem forbindelser er nødvendige for at programmere en PIC. Strøm, jord, en programmeringsspænding, ur og data.+ (Vdd)/-(Vss) Disse er strøm- og jordforbindelserne (Vdd, Vss). Ret standard. Hvis du bruger en programmerer med 'rigtige' spændingsniveauer (IKKE en JDM2!), Kan din applikation køre fra sin egen strømforsyning, når den er programmeret, hvilket eliminerer disse forbindelser. Vpp Dette er programmeringsspændingen. PIC'er går i programmeringstilstand, når ~ 13 volt er placeret på MCLR/Vpp -stiften (normalt pin 1 på moderne PIC'er, mere om det herunder). Ur/data eller PGC/PGD Uret og datalinjer bruges til at skrive og læse PIC firmware. Disse er normalt de samme ben som PORTB6 & PORTB7. Øvelse: Identificer ICSP -forbindelsespunkterne på PIC'erne i billederne herunder. Hvis PIC'en passer, så brug den. Jeg får mange spørgsmål om mit JDM2 -design på instruktører. Den hyppigste er "Vil det programmere PIC X? '"' - sådan kan du se: 1) Se på databladet. Find 'Pin Diagram', der ligner billedet herunder. 2) Identificer placeringen af benene, der skal tilsluttes til programmering (Vpp, Vdd, Vss, Data og ur). 3) Se på stikforbindelsen på programmør. Kan du matche de nødvendige stifter med en stikkontakt på programmøren?

Trin 3: Hvordan ICSP?

Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?

Afhængigt af dit design kan du nu foretage alle de nødvendige forbindelser og programmere din PIC. Der er et par fangster, som du bør vide om. Design til ICSP er vigtigt. Microchip giver en flot PDF -applikationsnotat om design til ICSP. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=da011744 Her er nogle tips og eksempler på ICSP -designs fra mine tidligere instruktioner. Tip #1, Trusselsniveau: Vigtigt Tilslut ikke andet til CLOCK og DATA -ben (normalt RB6 & RB7, PGC & PGD). Bare gør det ikke. Der er situationer, hvor meget smarte ingeniørtyper slipper afsted med det, men ikke gør det. De komponenter, der er fastgjort til stifterne, vil skæve uret og datasignalerne, hvilket resulterer i uforudsigelig programmering. Derudover kan du ikke, hvis du nogensinde vil bruge en seriel fejlfinding i kredsløbet. Tip #2 Trusselsniveau: Eksplosivt Brug altid en diode mellem programmeringsspændingen og systemspændingen. Hvis du bruger MCLR (master clear) på en PIC, skal du give en vis spænding på MCLR -stiften gennem en 10Kish -modstand. Dette er også den pin, som du vil anvende ~ 13 volt for at gå ind i programmeringstilstand. Jeg satte en 1n4148 (ækvivalent) diode mellem modstanden og MCLR/Vpp pin (som vist i skematisk og gengivelse herunder). Dette holder programmeringsspændingen på Vpp -stiften og forhindrer ødelæggelse af andre komponenter på dit board. Tip #3 Trusselsniveau: (re) trætLavspændingsprogrammering holder dig tilbage, mand. Jeg har aldrig haft succes med LVP. Jeg har aldrig set det virke (konsekvent) med mine egne øjne. Bare bid i kuglen og brug $ 2,50 til at bygge en JDM2 -programmør.

Trin 4: ICSP -programmører

ICSP -programmører
ICSP -programmører
ICSP -programmører
ICSP -programmører

ICSP kræver ikke en anden programmeringsprotokol. En stikbaseret programmerer producerer allerede den nødvendige signalering, men sender den til stikkontakten frem for gennem ledninger. De fleste sokkelprogrammerere kan bruges som ICSP ved at tilslutte ledninger fra stikket til applikationskredsløbet. For eksempel kan den originale JDM2 -programmør (her: https://www.jdm.homepage.dk/newpic.htm) bruges til at lav ICSP -programmering ved at bringe de 5 nødvendige signaler til et header. Dette kan ses i programmøren her: https://www.belza.cz/digital/jdm.htm. For at holde tingene praktisk har jeg lavet dette design om i Eagle Cad og knyttet det til dette instruerbare. Se transistorretningen, et af fodsporene kan være forkert (jeg lavede dette for mere end et år siden, jeg kan ikke huske mere). På samme måde kan min opdaterede JDM2 -programmør (her: https://www.instructables.com/id/EN28KZDDYVEP286GRI/) bruges til ICSP ved at stikke ledninger ind i DIP -stik og tilslutte dem til mål -PIC. ***** JDM2'er bruger funky spændinger … tilslut det til kredsløbet UDEN ekstern strøm (eller endda jord) tilsluttet applikationskredsløbet. Fjern ICSP -forbindelserne, før du tilfører strøm. Undladelse af at gøre dette er ikke ødelæggende, men vil resultere i mislykket programmering ******* En anden mulighed er en (halv) korrekt ICD-programmerer. ICD giver dig mulighed for at styre firmwareudførelsen på din PIC ved at indstille brudpunkter i koden eller aflæse hukommelses- og portværdier. En ICD kan også animere udførelsen af kode, drive applikationskredsløbet og programmere PIC. Det gør alt dette gennem den samme 5 -pins ICSP -forbindelse, vi har diskuteret. Flere ICSP -kloner, som du selv kan lave, kan ses her: https://www.icd2clone.com/wiki/Main_Page. Jeg byggede PiCS (rev B) for et par måneder siden og elsker det.

Anbefalede: