Innholdsfortegnelse:
Video: Forstå ICSP for PIC -mikrokontrollere: 4 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Det er ikke vanskelig å programmere mikrokontrollere. Å bygge en programmerer er et flott første elektronikkprosjekt. Målet med denne instruksen er å forklare den enkle metoden for seriell programmering i krets som brukes med Microchip PIC -er.
Trinn 1: Hvorfor ICSP?
Det er enkelt å programmere en stor DIP (gjennom hull) brikke. Sett den inn i en programmert plugger, brenn og gå tilbake til applikasjonskretsen. Test og gjenta.
Ting blir vanskeligere med mindre (overflatemonterte) chips. Det er ingen standard kontakter for QFN, SSOP, QFP eller til og med de store SOIC.300 -pakkene. Det er virkelig dyre ($ 100s) klipp som kan festes til og programmeres på disse sjetongene. Et annet klipp er nødvendig for hver brikketype og teller du bruker. Det er et alternativ. Den heter ICSP. ICSP betyr 'i krets seriell programmerer (ing?)'. Det er en måte å programmere en PIC mens den fremdeles er koblet til applikasjonskretsen. Det stemmer, ikke mer bytte av brikker. Hvorfor ICSP? 1. Det er ingen programmeringsstikkontakter for små pakkebrikker. Klipp er dyre. 2. Det er vondt å flytte sjetonger inn og ut av programmereren under utvikling. Umulig for overflatemonterte deler.
Trinn 2: Hva er ICSP?
Fem tilkoblinger er nødvendig for å programmere en PIC mens den er koblet til en applikasjonskrets. Jeg legger til en 5 -pins header til kretskortene mine for å gjøre denne tilkoblingen rask og enkel. Det grunnleggende om PIC -programmering. Fem tilkoblinger kreves for å programmere en PIC. Strøm, jord, programmeringsspenning, klokke og data.+ (Vdd)/-(Vss) Dette er strøm- og jordforbindelsene (Vdd, Vss). Ganske standard. Hvis du bruker en programmerer med "ekte" spenningsnivåer (IKKE en JDM2!), Kan applikasjonen din kjøre fra sin egen strømforsyning når den er programmert, og eliminere disse tilkoblingene. Vpp Dette er programmeringsspenningen. PIC går inn i programmeringsmodus når ~ 13 volt er plassert på MCLR/Vpp -pinnen (vanligvis pin 1 på moderne PICs, mer om det nedenfor). Clock/Data eller PGC/PGD Klokken og datalinjene brukes til å skrive og lese PIC fastvare. Dette er vanligvis de samme pinnene som PORTB6 og PORTB7. Øvelse: Identifiser ICSP -tilkoblingspunktene på bildene nedenfor på bildene. Hvis PIC -en passer, bruk den. Jeg får mange spørsmål om JDM2 -designet mitt på instrukser. Den hyppigste er "Vil det programmere PIC X? '"' - slik kan du fortelle: 1) Se på databladet. Finn 'Pin Diagram' som ligner på bildet nedenfor. 2) Identifiser plasseringen av pinnene som må kobles til for programmering (Vpp, Vdd, Vss, Data og Clock). 3) Se på stikkontakten på Programmerer. Kan du matche de nødvendige pinnene med en kontakt på programmereren?
Trinn 3: Hvordan ICSP?
Avhengig av designen din, kan du nå gjøre alle nødvendige tilkoblinger og programmere PIC -en din. Det er noen få fangster du bør vite om. Design for ICSP er viktig. Microchip gir en fin PDF -applikasjonsnotat om design for ICSP. https://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en011744 Her er noen tips og eksempler på ICSP -design fra mine tidligere instrukser. Tips #1, trusselnivå: Viktig Ikke koble noe annet til KLOKKEN og DATA -pinner (vanligvis RB6 og RB7, PGC og PGD). Bare ikke gjør det. Det er situasjoner der veldig smarte ingeniørtyper slipper unna, men ikke gjør det. Komponentene festet til pinnene vil forskyve klokken og datasignalene, noe som resulterer i uforutsigbar programmering. I tillegg, hvis du noen gang vil bruke en seriell feilsøkingsenhet i kretsen, kan du ikke. Tips #2 Trusselnivå: Eksplosiv Bruk alltid en diode mellom programmeringsspenningen og systemspenningen. Hvis du bruker MCLR (master clear) på en PIC, må du gi litt spenning på MCLR -pinnen gjennom en 10Kish -motstand. Dette er også pinnen du vil bruke ~ 13 volt på for å gå inn i programmeringsmodus. Jeg satte en 1n4148 (ekvivalent) diode mellom motstanden og MCLR/Vpp -pinnen (som vist i skjematisk og gjengivelse nedenfor). Dette holder programmeringsspenningen på Vpp -pinnen, og forhindrer ødeleggelse av andre komponenter på brettet ditt. Tips nr. 3 Trusselnivå: (re) lei Lavspenningsprogrammering holder deg tilbake, mann. Jeg har aldri lykkes med LVP. Jeg har aldri sett det fungere (konsekvent) med mine egne øyne. Bare bite i skuddet og bruk $ 2,50 for å bygge en JDM2 -programmerer.
Trinn 4: ICSP -programmerere
ICSP krever ikke en annen programmeringsprotokoll. En sokkelbasert programmerer produserer allerede nødvendig signalering, men sender den til kontakten i stedet for gjennom ledninger. De fleste socket programmerere kan brukes som en ICSP ved å rigge ledninger fra kontakten til applikasjonskretsen. For eksempel kan den originale JDM2 programmereren (her: https://www.jdm.homepage.dk/newpic.htm) brukes til å gjør ICSP -programmering ved å bringe de 5 nødvendige signalene til et topptekst. Dette kan sees i programmereren her: https://www.belza.cz/digital/jdm.htm. For å holde ting praktisk har jeg laget dette designet på nytt i Eagle Cad og festet det til dette instruerbare. Se transistorretningen, et av fotavtrykkene kan være feil (jeg laget dette for mer enn et år siden, husker ikke lenger). På samme måte kan min oppdaterte JDM2 -programmerer (her: https://www.instructables.com/id/EN28KZDDYVEP286GRI/) brukes til ICSP ved å stikke ledninger inn i DIP -kontaktene og koble dem til mål -PIC. ***** JDM2s bruker funky spenninger … koble den til kretsen UTEN ekstern strøm (eller til og med jord) koblet til applikasjonskretsen. Fjern ICSP -tilkoblingene før du bruker strøm. Unnlatelse av å gjøre dette er ikke ødeleggende, men vil resultere i mislykket programmering ******* Et annet alternativ er en (halv) riktig ICD-programmerer. ICD lar deg kontrollere utførelsen av fastvaren på PIC -en din ved å angi bruddpunkter i koden eller lese ut minne- og portverdier. En ICD kan også animere utførelsen av kode, drive applikasjonskretsen og programmere PIC. Det gjør alt dette gjennom den samme 5 -pinners ICSP -tilkoblingen vi har diskutert. Flere ICSP -kloner som du kan lage selv, kan sees her: https://www.icd2clone.com/wiki/Main_Page. Jeg bygde PiCS (rev B) for noen måneder siden og elsker det.
Anbefalt:
Grunnleggende om motoren - Konsept superenkelt å forstå med et eksperiment: 7 trinn (med bilder)
Grunnleggende om motoren | Konsept som er superenkelt å forstå med et eksperiment: I denne instruksen skal jeg lære deg det underliggende grunnleggende prinsippet for motorer. Alle motorer rundt oss jobber etter dette prinsippet. Til og med generatorer jobber med gjengjeldet uttalelse av denne regelen. Jeg snakker om Flemings venstrehendte ru
Forstå IR -protokollen for luftkondisjoneringsfjernkontroller: 9 trinn (med bilder)
Forstå IR -protokoll for fjernkontroller for luftkonditoner: Jeg har lært om IR -protokoller ganske lenge nå. Slik sender og mottar du IR -signaler. På dette tidspunktet er det eneste som gjenstår IR -protokollen for AC -fjernkontroller. I motsetning til tradisjonelle fjernkontroller for nesten alle elektroniske enheter (si en TV) der
Potetbatteri: Forstå kjemisk og elektrisk energi: 13 trinn (med bilder)
Potetbatteri: Forstå kjemisk og elektrisk energi: Visste du at du kan drive en lyspære med bare en eller to poteter? Den kjemiske energien mellom de to metallene omdannes til elektrisk energi og skaper en krets ved hjelp av poteten! Dette skaper en liten elektrisk ladning som kan
Forstå kanalblanding: 4 trinn (med bilder)
Forstå kanalblanding: Hvis du noen gang har kjørt et fjernkontrollchassis, er det en god sjanse for at du har brukt miksing, selv om du ikke visste det. Nærmere bestemt, hvis du har brukt en enkelt joystick eller gimble for å kontrollere et kjøretøy som bruker skidstyring eller
Pic 16F676 ICSP -programmeringsstikk for PICkit 2 -programmereren: 6 trinn
Pic 16F676 ICSP -programmeringsstikkontakt for PICkit 2 -programmereren: Jeg prøver å bygge denne dual DC -motormodulen for robotprosjektet mitt, og jeg hadde ikke plass til å plassere en ICSP -pinneoverskrift på kretskortet. Så jeg hånet raskt på dette designet