Innholdsfortegnelse:

Forstå ICSP for PIC -mikrokontrollere: 4 trinn (med bilder)
Forstå ICSP for PIC -mikrokontrollere: 4 trinn (med bilder)

Video: Forstå ICSP for PIC -mikrokontrollere: 4 trinn (med bilder)

Video: Forstå ICSP for PIC -mikrokontrollere: 4 trinn (med bilder)
Video: Красивая история о настоящей любви! Мелодрама НЕЛЮБОВЬ (Домашний). 2024, Juli
Anonim
Forstå ICSP for PIC -mikrokontrollere
Forstå ICSP for PIC -mikrokontrollere

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?

Hvorfor ICSP?
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?

Hva er ICSP?
Hva er ICSP?
Hva er ICSP?
Hva er ICSP?
Hva er ICSP?
Hva er ICSP?
Hva er ICSP?
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?

Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
Hvordan ICSP?
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 -programmerere
ICSP -programmerere
ICSP -programmerere
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: