Indholdsfortegnelse:
Video: Forståelse af ICSP til PIC -mikrokontrollere: 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:30
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?
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?
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?
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 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:
Forståelse af IR -protokol for air conditoner -fjernbetjeninger: 9 trin (med billeder)
Forståelse af IR -protokol for Air Conditoners fjernbetjeninger: Jeg har lært om IR -protokoller i et godt stykke tid nu. Sådan sender og modtager du IR -signaler. På dette tidspunkt er det eneste, der er tilbage, IR -protokollen for AC -fjernbetjeninger. I modsætning til traditionelle fjernbetjeninger til næsten alle elektroniske enheder (siger et tv), hvor
Kartoffelbatteri: Forståelse for kemisk og elektrisk energi: 13 trin (med billeder)
Kartoffelbatteri: Forståelse for kemisk og elektrisk energi: Vidste du, at du kan drive en lyspære med bare en eller to kartofler? Den kemiske energi mellem de to metaller omdannes til elektrisk energi og skaber et kredsløb ved hjælp af kartoflen! Dette skaber en lille elektrisk ladning, der kan
Byg en computer med grundlæggende forståelse for elektronik: 9 trin (med billeder)
Byg en computer med grundlæggende forståelse for elektronik: Har du nogensinde ønsket at foregive, at du var virkelig smart og bygge din egen computer fra bunden? Ved du intet om, hvad der skal til for at lave en computer med et minimum? Nå, det er let, hvis du ved nok om elektronik til at kaste nogle IC'er sammen
Forståelse af kanalblanding: 4 trin (med billeder)
Forståelse af kanalblanding: Hvis du nogensinde har kørt et fjernbetjeningschassis, er der en god chance for, at du har brugt blanding, selvom du ikke vidste det. Specifikt, hvis du har brugt et enkelt joystick eller gimble til at styre et køretøj, der bruger skridstyring eller
Pic 16F676 ICSP -programmeringsstik til PICkit 2 -programmereren: 6 trin
Pic 16F676 ICSP -programmeringsstik til PICkit 2 -programmereren: Jeg forsøger at bygge dette dual DC -motormodul til mit robotprojekt. Og jeg havde ikke plads til at placere et ICSP -benhoved på printkortet. Så jeg hånede hurtigt op på dette design