Gjør-det-selv toppprogrammerer. Hjemmelaget programmerer for PIC-kontrollere. Funksjoner for praktisk bruk

Så vi bestemte oss og bestemte oss for å sette sammen vårt første hjemmelagde produkt på en mikrokontroller, alt som gjenstår er å forstå hvordan man programmerer det. Derfor trenger vi en PIC-programmerer, og du kan sette sammen kretsen selv; la oss se på noen få enkle design som et eksempel.

Kretsen lar deg programmere mikrokontrollere og EEPROM-minne I2C.

Liste over støttede mikrokontrollere, med forbehold om felles bruk med IC-PROG v1.05D-verktøyet:

Mikrokontrollere fra Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12C2IC, PIC12IC,751C, PIC12IC,7516 61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72 , PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F76, PIC16, PIC16, PIC16, PIC16, PIC16, 84 , PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623. 16C716, P IC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782* , PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F81, PIC16F81, PIC16F81, PIC16F81, PIC16F871, PIC16F873 16F877A, P IC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8620*, PIC18*F87

Merk: mikrokontrollere merket med en stjerne (*) må kobles til programmereren via en ICSP-kontakt.

Seriell EEPROM I2C-minne(IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C2456, 21AT.


Installer mikrokretsen i stikkontakten, og følg nøye plasseringen av nøkkelen. Koble til ledningen, slå på strømmen. Start IC-PROG-programmet. Velg din PIC-mikrokontroller fra rullegardinlisten.

Hvis du ikke har fastvaren, gjør det: for å gjøre dette, åpne standard Notepad-programmet eller en annen editor; sett inn teksten til fastvaren i dokumentet; lagre under et hvilket som helst navn med filtypen *.txt eller *.hex.

Så i verktøyet i IC-PROG Fil >> Åpne fil >> finn filen vår med fastvaren. vindu " Programkode" må fylles ut med forskjellige koder.

I IC-PROG-vinduet klikker du på "Programmer brikken" og den røde LED-en på enhetsdiagrammet lyser. Programmeringen tar omtrent 30 sekunder. For å sjekke, velg - Sammenlign brikke med buffer.

En alternativ versjon av EXTRA-PIC programmeringskrets fra en ferdiglaget kretskort i Sprint Layout kan du åpne den fra den grønne lenken ovenfor.

PIC-mikrokontrollere har fått berømmelse på grunn av deres upretensiøsitet og driftkvalitet, samt allsidighet i bruk. Men hva kan en mikrokontroller gjøre uten muligheten til å skrive nye programmer på den? Uten en programmerer er dette ikke noe mer enn et stykke utrolig formet maskinvare. Selve PIC-programmereren kan være av to typer: enten hjemmelaget eller fabrikklaget.

Forskjellen mellom fabrikk- og hjemmelagde programmerere

Først av alt kjennetegnes de av påliteligheten og funksjonaliteten de gir til eiere av mikrokontrollere. Så hvis du lager en hjemmelaget, er den som regel designet for bare en modell av PIC-mikrokontroller, mens programmereren fra Microchip gir muligheten til å jobbe med ulike typer, modifikasjoner og modeller av mikrokontrollere.

Fabrikkprogrammerer fra Microchip

Den mest kjente og populære er den enkle PIC-programmereren, som brukes av mange mennesker og er kjent for mange som PICkit 2. Dens popularitet skyldes dens åpenbare og skjulte fordeler. De åpenbare fordelene dette har USB-programmerer for PIC er det mulig å liste i lang tid, blant dem: relativt lave kostnader, enkel betjening og allsidighet i forhold til hele familien av mikrokontrollere, fra 6-pinners til 20-pinners.

Bruker en programmerer fra Microchip

Du kan finne mange veiledninger om bruken som vil hjelpe deg å forstå alle slags aspekter ved bruken. Hvis vi ikke bare vurderer en PIC-programmerer kjøpt brukt, men kjøpt fra en offisiell representant, kan vi også legge merke til kvaliteten på støtten som følger med den. Så i tillegg er det opplæringsmateriell om bruk, lisensierte utviklingsmiljøer, samt et demobrett, som er designet for å fungere med mikrokontrollere med lav pinne. I tillegg til alt dette er det verktøy som vil gjøre det morsommere å jobbe med mekanismen og som vil hjelpe til med å overvåke prosessen med å programmere og feilsøke mikrokontrolleren. Et verktøy er også levert for å stimulere driften av MK.

Andre programmerere

I tillegg til den offisielle programmereren, er det andre som lar deg programmere mikrokontrollere. Når du kjøper dem, trenger du ikke regne med ekstra programvare, men for de som ikke trenger mer, er dette nok. En ganske åpenbar ulempe er at for noen programmerere kan det være vanskelig å finne nødvendig bestemmelse for å kunne utføre kvalitetsarbeid.

Manuelt sammensatte programmerere

Og nå er kanskje det mest interessante PIC-kontrollerprogrammererne, som er satt sammen manuelt. Dette alternativet brukes av de som ikke har penger eller rett og slett ikke vil bruke dem. Hvis du kjøper fra en offisiell representant, kan du stole på det faktum at hvis enheten viser seg å være av dårlig kvalitet, kan du returnere den og få en ny i bytte. Og når du kjøper "fra hånden" eller bruker oppslagstavler i tilfelle lodding av dårlig kvalitet eller mekanisk skade Du kan ikke regne med refusjon av utgifter og å motta en kvalitetsprogrammerer. La oss nå gå videre til den håndmonterte elektronikken.

PIC-programmereren kan designes for spesifikke modeller eller være universell (for alle eller nesten alle modeller). De er satt sammen på mikrokretser som kan konvertere signaler fra RS-232-porten til et signal som vil tillate programmering av MK. Du må huske at når du setter sammen et design gitt av noen, må PIC-programmereren, kretsen og resultatet samsvare en til en. Selv små avvik er uønsket. Denne bemerkningen gjelder for nybegynnere innen elektronikk; folk med erfaring og praksis kan forbedre nesten alle kretser hvis det er rom for forbedring.

Det er også verdt å si et ord om programvarepakken som leveres av USB-programmereren for PIC, satt sammen med egne hender. Faktum er at det ikke er nok å sette sammen programmereren selv i henhold til en av de mange ordningene som presenteres på verdensveven. Du trenger også programvare som lar datamaskinen flashe mikrokontrolleren med dens hjelp. Icprog, WinPic800 og mange andre programmer brukes ofte som sådan. Hvis forfatteren av programmeringskretsen selv ikke indikerte programvaren som skapelsen hans kan gjøre jobben sin med, må du finne ut selv med rå makt. Det samme gjelder de som setter sammen sine egne kretser. Du kan skrive et program for MK selv, men dette er ekte kunstflyging.

Universelle programmerere som ikke bare passer for RIS

Hvis en person er interessert i å programmere mikrokontrollere, er det usannsynlig at han konstant vil bruke bare en type. For de som ikke ønsker å kjøpe separate programmerere for forskjellige typer mikrokontrollere fra ulike produsenter, er det utviklet universelle enheter som kan programmere MCUer fra flere selskaper. Siden det er ganske mange selskaper som produserer dem, er det verdt å velge et par og snakke om programmererne for dem. Valget falt på gigantene på mikrokontrollermarkedet: PIC og AVR.

Den universelle PIC- og AVR-programmereren er utstyr hvis særegenhet ligger i dens allsidighet og muligheten til å endre operasjonen takket være programmet uten å gjøre endringer i maskinvarekomponenten. Takket være denne egenskapen fungerer slike enheter enkelt med mikrokontrollere som ble utgitt for salg etter utgivelsen av programmereren. Med tanke på at arkitekturen ikke vil endre seg vesentlig i nær fremtid, vil de være egnet for bruk i lang tid. Ytterligere hyggelige egenskaper til fabrikkprogrammerere inkluderer:

  1. Betydelige maskinvarebegrensninger på antall programmerbare mikrokretser, som vil tillate programmering av ikke én, men flere stykker elektronikk samtidig.
  2. Mulighet for programmering av mikrokontrollere og kretser basert på ulike teknologier (NVRAM, NAND Flash og andre).
  3. Relativt kort programmeringstid. Avhengig av programmeringsmodellen og kompleksiteten til den programmerte koden, kan det ta fra 20 til 400 sekunder.

Funksjoner av praktisk bruk

Separat er det verdt å berøre temaet praktisk bruk. Som regel er programmerere koblet til USB-porter, men det finnes også varianter som fungerer med de samme ledningene som harddisken. Og for å bruke dem må du fjerne datamaskindekselet, sortere ledningene, og selve tilkoblingsprosessen er ikke veldig praktisk. Men den andre typen er mer allsidig og kraftig, takket være den er fastvarehastigheten raskere enn når den er koblet til via USB. Å bruke det andre alternativet ser ikke alltid ut til å være en så praktisk og komfortabel løsning som med USB, fordi før du bruker det, må du gjøre en rekke operasjoner: ta ut saken, åpne den, finn den nødvendige ledningen. Du trenger ikke å bekymre deg for mulige problemer fra overoppheting eller strømstøt når du arbeider med fabrikkmodeller, siden de vanligvis har spesiell beskyttelse.

Arbeid med mikrokontrollere

Hva er nødvendig for at alle programmerere med mikrokontrollere skal fungere? Faktum er at selv om programmererne selv er uavhengige kretser, sender de datasignaler til en viss rekkefølge. Og problemet med hvordan du forklarer datamaskinen hva som skal sendes, løses av programmererprogramvaren.

Ganske mye er fritt tilgjengelig ulike programmer, som er rettet mot å jobbe med programmerere, både hjemmelaget og fabrikklaget. Men hvis den er produsert av et lite kjent selskap, ble laget i henhold til designet til en annen elektronikkentusiast, eller av personen som leser disse linjene selv, kan det hende at programvaren ikke blir funnet. I dette tilfellet kan du bruke et søk på alle tilgjengelige programmeringsverktøy, og hvis ingen av dem fungerer (hvis du er sikker på at programmereren fungerer bra), må du enten ta/lage en annen PIC-programmerer, eller skrive ditt eget program , som er et meget høyt losnivå.

Mulige problemer

Akk, selv den mest ideelle teknologien er ikke uten mulige problemer, som nei, nei, og vil oppstå. For bedre forståelse er det nødvendig å lage en liste. Noen av disse problemene kan korrigeres manuelt med en detaljert inspeksjon av programmereren, andre kan kun kontrolleres hvis du har nødvendig testutstyr. I dette tilfellet, hvis PIC-mikrokontrollerprogrammereren er fabrikklaget, er det usannsynlig at den blir reparert. Selv om du kan prøve å finne mulige årsaker feil:

  1. Dårlig kvalitet på lodding av programmeringselementer.
  2. Mangel på drivere for å jobbe med enheten.
  3. Skade inne i programmereren eller ledninger inne i datamaskinen/USB.

Eksperimenter med mikrokontrollere

Så alt er der. Hvordan begynne å jobbe med utstyr, hvordan begynne å blinke en mikrokontroller med en programmerer?

  1. Å plugge ekstern strømforsyning, koble til alt utstyr.
  2. I utgangspunktet er det nødvendig med et miljø som alt vil bli gjort ved hjelp av.
  3. Opprett det nødvendige prosjektet, velg mikrokontrollerkonfigurasjonen.
  4. Forbered en fil som inneholder all nødvendig kode.
  5. Koble til programmereren.
  6. Når alt er klart, kan du flashe mikrokontrolleren.

Ovenfor ble bare et generelt diagram skrevet, som lar deg forstå hvordan prosessen skjer. Det kan variere noe for individuelle utviklingsmiljøer, og mer detaljert informasjon om dem finner du i instruksjonene.

Jeg vil gjerne skrive en egen appell til de som akkurat har begynt å bruke programmerere. Husk at uansett hvor grunnleggende enkelte trinn kan virke, må du alltid følge dem slik at utstyret kan fungere normalt og tilstrekkelig og utføre oppgavene du setter. Lykke til med elektronikk!

Hvilke første skritt bør en radioamatør ta hvis han bestemmer seg for å sette sammen en krets på en mikrokontroller? Naturligvis er det nødvendig med et kontrollprogram - "fastvare", så vel som en programmerer.

Og hvis det ikke er noen problemer med det første punktet - den ferdige "fastvaren" lastes vanligvis opp av forfatterne av kretsene, så er ting mer kompliserte med programmereren.

Prisen på ferdige USB-programmerere er ganske høy og den beste løsningen vil montere den selv. Her er et diagram over den foreslåtte enheten (bildene er klikkbare).

Hoveddel.

MK installasjonspanel.

Det originale diagrammet ble hentet fra nettstedet LabKit.ru med tillatelse fra forfatteren, som mange takk til ham. Dette er en såkalt klone av den proprietære PICkit2-programmereren. Siden enhetsversjonen er en "lett" kopi av den proprietære PICkit2, kalte forfatteren sin utvikling PICkit-2 Lite, som understreker den enkle monteringen av en slik enhet for nybegynnere radioamatører.

Hva kan en programmerer gjøre? Ved å bruke programmereren kan du flashe de mest lett tilgjengelige og populære MCU-er i PIC-serien (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A, etc.), samt 24LC-seriens EEPROM-minnebrikker. I tillegg kan programmereren operere i USB-UART-konverteringsmodus og har noen av funksjonene til en logisk analysator. En spesielt viktig funksjon som programmereren har, er beregningen av kalibreringskonstanten til den innebygde RC-generatoren til noen MCU-er (for eksempel, som PIC12F629 og PIC12F675).

Nødvendige endringer.

Det er noen endringer i kretsen som er nødvendige slik at ved bruk av PICkit-2 Lite-programmereren er det mulig å skrive/slette/lese data fra EEPROM-minnebrikker i 24Cxx-serien.

Fra endringene som ble gjort i ordningen. Lagt til tilkobling fra pinne 6 på DD1 (RA4) til pinne 21 på ZIF-panelet. AUX-pinnen brukes utelukkende for arbeid med 24LC EEPROM-minnebrikker (24C04, 24WC08 og analoger). Den overfører data, som er grunnen til at den er merket med ordet "Data" på programmeringspaneldiagrammet. Ved programmering av mikrokontrollere brukes vanligvis ikke AUX-pinnen, selv om den er nødvendig ved programmering av MK-er i LVP-modus.

Det er også lagt til en 2 kOhm pull-up motstand, som kobles mellom SDA- og Vcc-pinnene til minnebrikkene.

Jeg har allerede gjort alle disse modifikasjonene på kretskortet, etter å ha satt sammen PICkit-2 Lite iht. originalt diagram forfatter.

24Cxx minnebrikker (24C08, etc.) er mye brukt i husholdningsradioutstyr, og noen ganger må de bli flashet, for eksempel ved reparasjon av CRT-TV-er. De bruker 24Cxx minne til å lagre innstillinger.

LCD-TV-er bruker en annen type minne (Flash-minne). Jeg har allerede snakket om hvordan du flasher minnet til en LCD-TV. Hvis noen er interessert, ta en titt.

På grunn av behovet for å jobbe med mikrokretser i 24Cxx-serien, måtte jeg "fullføre" programmereren. Jeg har ikke etset et nytt kretskort, jeg har bare lagt til nødvendige elementer på kretskortet. Dette er hva som skjedde.

Kjernen i enheten er en mikrokontroller PIC18F2550-I/SP.

Dette er den eneste brikken i enheten. MK PIC18F2550 må "flashes". Dette enkel operasjon Det forårsaker stupor for mange, ettersom det såkalte "kylling og egg"-problemet oppstår. Jeg skal fortelle deg hvordan jeg løste det litt senere.

Liste over deler for montering av programmereren. I mobilversjon dra tabellen til venstre (sveip venstre-høyre) for å se alle kolonnene.

Navn Betegnelse Vurdering/parametere Merke eller varetype
For hoveddelen av programmereren
Mikrokontroller DD1 8-bits mikrokontroller PIC18F2550-I/SP
Bipolare transistorer VT1, VT2, VT3 KT3102
VT4 KT361
Diode VD1 KD522, 1N4148
Schottky diode VD2 1N5817
LED-er HL1, HL2 hvilken som helst 3 volt, rød Og grønn glødende farger
Motstander R1, R2 300 Ohm
R3 22 kOhm
R4 1 kOhm
R5, R6, R12 10 kOhm
R7, R8, R14 100 Ohm
R9, R10, R15, R16 4,7 kOhm
R11 2,7 kOhm
R13 100 kOhm
Kondensatorer C2 0,1 μ K10-17 (keramikk), importerte analoger
C3 0,47 mikron
Elektrolytiske kondensatorer C1 100uF * 6,3V K50-6, importerte analoger
C4 47 uF * 16 V
Induktor (choke) L1 680 µH enhetlig type EC24, CECL eller hjemmelaget
Kvarts resonator ZQ1 20 MHz
USB-uttak XS1 type USB-BF
Jumper XT1 alle typer "jumper"
For mikrokontroller installasjonspanel (MK)
ZIF-panel XS1 hvilket som helst 40-pinners ZIF-panel
Motstander R1 2 kOhm MLT, MON (effekt fra 0,125 W og over), importerte analoger
R2, R3, R4, R5, R6 10 kOhm

Nå litt om detaljene og deres formål.

Grønn LED HL1 lyser når strøm tilføres programmereren, og rød HL2-LED-en lyser når data overføres mellom datamaskinen og programmereren.

For å gi enheten allsidighet og pålitelighet, brukes en XS1 type "B" (firkantet) USB-kontakt. Datamaskinen bruker en Type A USB-kontakt. Derfor er det umulig å blande sammen kontaktene til tilkoblingskabelen. Denne løsningen bidrar også til enhetens pålitelighet. Hvis kabelen blir ubrukelig, kan den enkelt erstattes med en ny uten å måtte ty til lodding eller installasjonsarbeid.

Som en 680 µH induktor L1 er det bedre å bruke en ferdig (for eksempel typene EC24 eller CECL). Men hvis du ikke finner et ferdig produkt, kan du lage gassen selv. For å gjøre dette må du vikle 250 - 300 omdreininger med PEL-0.1-tråd på en ferrittkjerne fra en induktor av typen CW68. Det er verdt å vurdere at på grunn av tilstedeværelsen av PWM med tilbakemelding, er det ingen grunn til å bekymre seg for nøyaktigheten til induktansvurderingen.

Spenningen for høyspenningsprogrammering (Vpp) fra +8,5 til 14 volt lages av nøkkelregulatoren. Den inkluderer elementene VT1, VD1, L1, C4, R4, R10, R11. PWM-pulser sendes fra pin 12 på PIC18F2550 til VT1-basen. Tilbakemelding utført av skilleveggen R10, R11.

For å beskytte kretselementer fra revers spenning fra programmeringslinjene, når du bruker en USB-programmerer i ICSP (In-Circuit Serial Programming)-modus, brukes en VD2-diode. VD2 er en Schottky-diode. Den bør velges med et spenningsfall på P-N-kryss ikke mer enn 0,45 volt. VD2-dioden beskytter også elementer mot omvendt spenning når programmereren brukes i USB-UART-konvertering og logikkanalysatormodus.

Når du bruker programmereren utelukkende for programmering av mikrokontrollere i panelet (uten å bruke ICSP), kan du eliminere VD2-dioden helt (dette er hva jeg gjorde) og installere en jumper i stedet.

Kompaktheten til enheten er laget av det universelle ZIF-panelet (Zero Insertion Force - med null installasjonsinnsats).

Takket være det kan du "kable" en mikrokontroller inn i nesten hvilken som helst DIP-pakke.

Diagrammet "Installasjonspanel for mikrokontroller (MK)" angir hvordan mikrokontrollere med ulike hus må installeres i panelet. Når du installerer MK, bør du være oppmerksom på at mikrokontrolleren i panelet er plassert slik at nøkkelen på brikken er på siden av ZIF-panelets låsespak.

Dette er hvordan du må installere 18-pinners mikrokontrollere (PIC16F84A, PIC16F628A, etc.).

Og her er 8-pinners mikrokontrollere (PIC12F675, PIC12F629, etc.).

Hvis det er behov for å flashe en mikrokontroller i et hus for overflatemontert(SOIC), så kan du bruke en adapter eller ganske enkelt lodde 5 pinner til mikrokontrolleren, som vanligvis kreves for programmering (Vpp, Clock, Data, Vcc, GND).

Ferdig med tegning kretskort med alle endringer finner du lenken på slutten av artikkelen. Ved å åpne filen i Sprint Layout 5.0-programmet, ved å bruke "Skriv ut" -modus, kan du ikke bare skrive ut et lag med et mønster av trykte ledere, men også se plasseringen av elementene på kretskortet. Vær oppmerksom på den isolerte jumperen som forbinder pinne 6 på DD1 og pinne 21 på ZIF-panelet. Du må skrive ut bretttegningen i speilbilde.

Du kan lage et kretskort ved hjelp av LUT-metoden, samt en markør for kretskort, ved å bruke tsaponlak (dette er hva jeg gjorde) eller "blyant"-metoden.

Her er et bilde av plasseringen av elementer på et kretskort (klikkbart).

Når du installerer, er det første trinnet å lodde hoppere laget av fortinn kobbertråd, deretter installere lavprofilelementer (motstander, kondensatorer, kvarts, ISCP-pinkontakt), deretter transistorer og en programmert MK. Det siste trinnet er å installere ZIF-panelet, USB-kontakten og forsegle ledningene i isolasjon (jumpere).

"Firmware" til PIC18F2550 mikrokontrolleren.

Firmware-fil - PK2V023200.hex du må skrive PIC18F2550I-SP MK inn i minnet ved å bruke en hvilken som helst programmerer som støtter PIC-mikrokontrollere (for eksempel Extra-PIC). Jeg brukte JDM Programmator JONIC PROG og programmet WinPic800.

Du kan laste opp fastvaren til PIC18F2550 MCU ved å bruke den samme proprietære programmereren PICkit2 eller dens ny verson PICkit3. Naturligvis kan du gjøre dette med en hjemmelaget PICkit-2 Lite, hvis en av vennene dine klarte å sette den sammen før deg :).

Det er også verdt å vite at "fastvaren" til PIC18F2550-I/SP mikrokontrolleren (fil PK2V023200.hex) skrives når du installerer PICkit 2 Programmer-programmet i en mappe sammen med filene til selve programmet. Omtrentlig plassering av filen PK2V023200.hex - "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . For de som har 32-bit installert på sin PC Windows-versjon, vil posisjonsbanen være annerledes: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

Vel, hvis du ikke kunne løse problemet med "kylling og egg" ved å bruke de foreslåtte metodene, kan du kjøpe en ferdiglaget PICkit3-programmerer på AliExpress-nettstedet. Det koster mye billigere der. Jeg skrev om hvordan man kjøper deler og elektroniske sett på AliExpress.

Oppdatering av programmererens fastvare.

Fremdriften står ikke stille og fra tid til annen slipper Microchip oppdateringer for programvaren sin, inkludert for PICkit2, PICkit3 programmereren. Naturligvis kan vi oppdatere kontrollprogram hans hjemmelagde PICkit-2 Lite. For å gjøre dette trenger du PICkit2 Programmer-programmet. Hva det er og hvordan du bruker det - litt senere. I mellomtiden, noen få ord om hva som må gjøres for å oppdatere fastvaren.

For å oppdatere programmererprogramvaren må du lukke jumper XT1 på programmereren når den er koblet fra datamaskinen. Koble deretter programmereren til PC-en og start PICkit2 Programmer. Når XT1 er lukket, aktiveres modusen bootloader for å laste ned den nye fastvareversjonen. Så i PICkit2 Programmer, gjennom menyen "Verktøy" - "Last ned PICkit 2-operativsystem", åpne den tidligere forberedte hex-filen til den oppdaterte fastvaren. Deretter vil oppdateringsprosessen for programmererens programvare finne sted.

Etter oppdateringen må du koble programmereren fra PC-en og fjerne XT1-jumperen. I normal modus jumper åpen. Du kan finne ut programvareversjonen for programmereren gjennom "Hjelp" - "Om"-menyen i PICkit2 programmeringsprogrammet.

Alt dette handler om tekniske problemer. Og nå om programvaren.

Jobber med programmereren. PICkit2 programmerer.

For å jobbe med USB-programmereren må vi installere PICkit2 Programmer-programmet på datamaskinen. Dette spesialprogram har enkelt grensesnitt, enkel å installere og krever ikke spesiell konfigurasjon. Det er verdt å merke seg at du kan jobbe med programmereren ved å bruke MPLAB IDE-utviklingsmiljøet, men for å flashe/slette/lese MK er et enkelt program - PICkit2 Programmer nok. Jeg anbefaler.

Etter å ha installert PICkit2-programmeringsprogrammet, kobler du den sammensatte USB-programmereren til datamaskinen. Samtidig vil den lyse opp grønn LED ("strøm"), og operativsystem gjenkjenner enheten som "PICkit2 mikrokontrollerprogrammerer" og installer driverne.

Start PICkit2 Programmer-programmet. En inskripsjon skal vises i programvinduet.

Hvis programmereren ikke er tilkoblet, vises en skummel melding i programvinduet og korte instruksjoner"Hva å gjøre?" på engelsk.

Hvis programmereren er koblet til en datamaskin med en MK installert, vil programmet oppdage det når det startes og vil varsle oss om det i PICkit2 Programmer-vinduet.

Gratulerer! Det første skrittet er tatt. Og jeg snakket om hvordan du bruker PICkit2 Programmer-programmet i en egen artikkel. Neste steg .

Nødvendige filer:

    PICkit2 Brukerhåndbok (russisk) ta eller.

Utviklingen av elektronikk går i et raskt tempo, og i økende grad er hovedelementet i en enhet en mikrokontroller. Det gjør mesteparten av arbeidet og frigjør designeren fra behovet for å lage sofistikerte kretsdesign, og reduserer dermed størrelsen på kretskortet til et minimum. Som alle vet, styres en mikrokontroller av et program skrevet i dens internt minne. Og hvis en erfaren elektronikkprogrammerer ikke har problemer med å bruke mikrokontrollere i enhetene sine, kan det for en nybegynner radioamatør å prøve å skrive et program inn i en kontroller (spesielt en PIC) resultere i stor skuffelse, og noen ganger til og med et lite pyroteknisk show i form for en røykebrikke.

Merkelig nok, for all storheten til Internett, er det veldig lite informasjon om fastvaren PIC-kontrollere, og materialet som kan finnes er av svært tvilsom kvalitet. Selvfølgelig kan du kjøpe en fabrikkprogrammerer til en utilstrekkelig pris og sy etter hjertens lyst, men hva skal du gjøre hvis en person ikke er engasjert i masseproduksjon. For disse formålene kan du sette sammen et enkelt og billig hjemmelaget produkt kalt JDM programmerer i henhold til diagrammet nedenfor (figur nr. 1):



Figur nr. 1 - programmererkrets


Jeg vil umiddelbart gi en liste over elementer for de som er for late til å se nøye på diagrammet:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (trimmet). Ved å justere motstanden til denne motstanden, må du oppnå ca. 13V ved pinne nr. 4 (VPP) under programmering. I mitt tilfelle er motstanden 1,2 kOhm
  • R3 - 200 Ohm
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (stabiliseringsspenning 5,1V)
  • VD7 - 1N4743A (stabiliseringsspenning 13V)
  • C1 - 100 nF (0,1 µF)
  • C2 - 470 uF x 16 V (elektrolytisk)
  • SUB-D9F - COM-portkontakt (MAMA eller SOCKET)
  • DIP8-kontakt - avhenger av kontrolleren du bruker

Diagrammet bruker et eksempel på tilkobling av slike vanlige kontrollere som PIC12F675 Og PIC12F629, men dette betyr ikke i det hele tatt at fastvaren til andre serier PIC vil være umulig. For å skrive et program til en kontroller av en annen type, kobler du bare ledningene til programmereren i samsvar med figur 2, som er vist nedenfor.



Figur nr. 2 - alternativer for PIC-kontrollerhus med nødvendige pinner


Som du kanskje gjetter, bruker kretsen til programmereren min et hus DIP8. Hvis du virkelig vil, kan du lage en universell adapter for hver type mikrokrets, og dermed få en universell programmerer. Men siden PIC-kontrollere Jeg jobber sjelden, dette er nok for meg.

Selv om kretsen i seg selv er ganske enkel og ikke vil forårsake noen vanskeligheter ved montering, krever den også respekt. Derfor ville det vært fint å lage et kretskort for det. Etter noen manipulasjoner med programmet SprintLayout, PCB, drill og jern, et slikt emne ble født (foto nr. 3).



Foto nr. 3 - programmerer kretskort


Last ned PCB-kilden for programmet SprintLayout du kan følge denne linken:
(nedlastinger: 670)
Hvis ønskelig, kan du endre den for å passe din type PIC-kontroller. For de som bestemte seg for å la brettet være uendret, legger jeg ut en visning fra delene siden for å lette installasjonen (Figur nr. 4).



Figur nr. 4 - tavle fra monteringssiden


Litt mer hekseri med loddebolt og vi har en ferdig enhet som kan blinke PIC-kontroller gjennom COM-port din datamaskin. Resultatet av innsatsen min, fortsatt varm og ikke vasket av fra fluksen, er vist på bilde nr. 5.



Foto nr. 5 - sammensatt programmerer


Fra nå av, det første trinnet på veien til firmware PIC-kontroller, har kommet til en slutt. Det andre trinnet vil inkludere å koble programmereren til datamaskinen og arbeide med programmet IC-Prog.
Dessverre ikke alle moderne datamaskiner og bærbare datamaskiner er i stand til å jobbe med denne programmereren på grunn av det banale fraværet av COM-porter, og de som er installert på bærbare datamaskiner gir ikke det nødvendige for programmering 12V. Så jeg bestemte meg for å slå til min første PC, som hadde samlet støv for lenge siden og ventet på sin fineste time (og til slutt gjorde det).
Så slå på datamaskinen og installer først programmet IC-Prog. Du kan laste den ned fra forfatterens nettsted eller fra denne lenken:
(nedlastinger: 769)
Vi kobler programmereren til COM-port og nettopp lansert installert applikasjon. For korrekt drift er det nødvendig å utføre en rekke manipulasjoner. Til å begynne med må du velge hvilken type kontroller du skal sy. jeg har dette PIC12F675. I skjermbilde nr. 6 er feltet for valg av kontroller uthevet i rødt.



Skjermbilde nr. 6 - valg av type mikrokontroller




Skjermbilde nr. 7 - oppsett av kontrollens opptaksmetode


I samme vindu, gå til "fanen" Programmering" og velg elementet " Sjekk under programmering". Kontroll etter programmering kan forårsake en feil, siden i noen tilfeller fastvaren selv setter leseblokkerende sikringer SR. For ikke å lure deg selv denne sjekken Det er bedre å slå den av. Kort fortalt følger vi skjermbilde nr. 8.



Skjermbilde nr. 8 - oppsett av verifisering


La oss fortsette å jobbe med dette vinduet og gå til fanen " Er vanlig". Her må du angi prioritet til programmet og være sikker på å bruke NT/2000/XP driver (skjermbilde nr. 9). I noen tilfeller kan programmet be deg om å installere av denne sjåføren og en omstart vil være nødvendig IC-Prog.



Skjermbilde nr. 9 - generelle innstillinger


Så vi er ferdige med dette vinduet. La oss nå gå videre til innstillingene til selve programmereren. Velg fra menyen " Innstillinger"->"Programmerinnstillinger"eller bare trykk på tasten F3. Følgende vindu vises, vist i skjermbilde nr. 10.



Skjermbilde nr. 10 - vindu for programmeringsinnstillinger


Først av alt, velg typen programmerer - JDM programmerer. Still deretter alternativknappen for bruk av driveren Windows. Det neste trinnet innebærer å velge COM-port, som programmereren din er koblet til. Hvis det bare er én, er det ingen spørsmål i det hele tatt, men hvis det er mer enn én, se i enhetsbehandlingen hvilken som er i bruk. I/O-latensglidebryteren er designet for å justere skrive- og lesehastigheten. Dette kan være nødvendig på raske datamaskiner, og hvis det oppstår problemer med fastvaren - må denne parameteren økes. I mitt tilfelle forble den lik som standard 10 og alt fungerte bra.

Det er det for å sette opp programmet. IC-Prog er over og du kan gå videre til prosessen med selve fastvaren, men først leser vi dataene fra mikrokontrolleren og ser hva som er skrevet til den. For å gjøre dette, på verktøylinjen, klikk på mikrokretsikonet med en grønn pil, som vist i skjermbilde nr. 11.



Skjermbilde nr. 11 - prosessen med å lese informasjon fra mikrokontrolleren


Hvis mikrokontrolleren er ny og ikke har blitt blinket før, vil alle minnecellene fylles med verdier 3FFF, bortsett fra den aller siste. Den vil inneholde verdien av kalibreringskonstanten. Dette er en veldig viktig og unik verdi for hver kontroller. Tidsnøyaktigheten avhenger av den, som angis av produsenten ved å velge og sette den samme konstanten. Skjermbilde nr. 12 viser minnecellen der konstanten vil bli lagret ved lesing av kontrolleren.



Skjermbilde nr. 12 - verdien av kalibreringskonstanten


Jeg gjentar at verdien er unik for hver brikke og trenger ikke samsvare med det som vises på figuren. Mange mennesker, på grunn av uerfarenhet, overskriver denne konstanten og senere PIC-kontroller begynner å fungere feil hvis prosjektet bruker klokke fra en intern oscillator. Jeg anbefaler deg å skrive ned denne konstanten og feste en etikett med verdien direkte på kontrolleren. På denne måten vil du unngå mange problemer i fremtiden. Så verdien er skrevet ned - la oss gå videre. Vi åpner fastvarefilen, som vanligvis har utvidelsen .hex. Nå i stedet for inskripsjoner 3FFF, inneholder programmeringsbufferen koden til programmet vårt (skjermbilde nr. 13).



Skjermbilde nr. 13 - fastvare lastet inn i programmeringsbufferen


Jeg skrev ovenfor at mange mennesker utilsiktet overskriver kalibreringskonstanten. Når skjer dette? Dette skjer når fastvarefilen åpnes. Konstantverdien endres automatisk til 3FFF og når du først har startet programmeringsprosessen, er det ingen vei tilbake. I skjermbilde nr. 14 er minnecellen der konstanten tidligere var uthevet 3450 (før åpning hex-fil).

For tiden er det mange kretsskjemaer ved hjelp av ulike mikrokontrollere, inkludert PIC mikrokontrollere fra MicroChip. Dette gjorde det mulig å få ganske funksjonelle enheter, til tross for deres enkelhet.

Men driften av mikrokontrolleren er umulig uten et kontrollprogram som må skrives ned. I denne artikkelen skal vi se på det universelle PIC-programmerer— EXTRA-PIC lar deg programmere PIC-kontrollere og EEPROM I2C-minne via en COM-port eller via .

Liste over støttede brikker når de brukes med IC-PROG v1.05D-programmet:

Mikrobrikke PIC-kontrollere: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE14IC, PIC12CE67F, PIC12CE67F, PIC12CE67F 33, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67 , PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F73, PIC1, PIC1, PIC1, PIC1, PIC1, 7 C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A , PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F648A, PIC16* PIC16, PIC16, PIC16, PIC16, PIC16, PIC16, PIC16, PIC16. 16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774 , PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16FIC8, PIC16, PIC16, PIC16, 6F16, PIC16 16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448 , PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F4320, PIC18F4320.

Merk: Mikrokontrollere merket med en stjerne (*) må kobles til programmereren via en ICSP-kontakt.

Seriell EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, 524C.

Selve EXTRA-PIC programmeringskretsen:

Den programmerbare kontrolleren kobles til via kontakt X3. Nedenfor er pinouten for programmeringspinner for forskjellige kontrollere:

Og nå instruksjoner om hvordan du programmerer mikrokontrolleren.

Som et eksempel, la oss ta PIC16F876A mikrokontrolleren.

Sett sammen programmereren og klargjør en strømforsyning med utgangsspenning ikke mindre 15V

Pakk ut programmet i en egen katalog. Den opprettede katalogen skal inneholde tre filer:

icprog.exe— programmerers shell-fil;

icprog.sys— driver kreves for å fungere under Windows NT, 2000, XP. Denne filen må alltid ligge i programkatalogen;

icprog.chm- Hjelpefil.

Sette opp programmet IC-PROG v1.05D.

For Windows95, 98, ME For Windows NT, 2000, XP
(Kun Windows XP ):
Høyreklikk på icprog.exe-filen.
« Egenskaper» >> fane « Kompatibilitet » >>
Sett en hake på " Kjør programmet i kompatibilitetsmodus for:" >> velg " Windows 2000 «.
  1. Kjør filen icprog.exe .
  2. Plukke ut " Innstillinger » >> « Alternativer» >> fane « Språk" >> angi språket" russisk"og trykk" Ok «.
  3. Enig i påstanden" Du trenger for å starte IC-Prog på nytt nå"(klikk" Ok «).
  4. Programmeringskallet vil starte på nytt.
« Innstillinger » >> « Programmerer «.
Sjekk innstillingene, velg COM-porten du bruker, klikk på " Ok «.
Lengre, " Innstillinger » >> « Alternativer" >> velg fanen " Er vanlig" >> merk av i boksen" På NT/2000/XP driver" >> Klikk " Ok » >>
hvis driveren ikke har blitt installert på systemet før, i vinduet som vises, " Bekrefte» klikk « Ok". Driveren vil bli installert og programmeringskallet vil starte på nytt.
Merk: For veldig "raske" datamaskiner må du kanskje øke " I/U-forsinkelse". Å øke denne parameteren øker påliteligheten til programmeringen, men tiden som brukes på å programmere brikken øker også.
« Innstillinger » >> « Alternativer" >> velg fanen " I2C">> merk av i boksene:" Aktiver MCLR som VCC"Og" Aktiver blokkopptak". Klikk " Ok «.
Programmet er klart til bruk.

Installer brikken i programmeringspanelet, og observer nøkkelens posisjon.

Koble til skjøteledningen, slå på strømmen.

Start IC-PROG-programmet.

Velg PIC16F876A-kontrolleren fra rullegardinlisten.

Hvis du ikke har fastvarefilen, klargjør du den:

åpne standard Notisblokk-programmet;

sett inn teksten til fastvaren i dokumentet;

lagre under hvilket som helst navn, for eksempel prohivka.txt (utvidelsen *.txt eller *.hex).

Ved siden av IC-PROG Fil >> Åpen fil(! ikke å forveksle med Åpne datafil) >> finn filen vår med fastvaren (hvis vi har en fil med filtypen *.txt, velg deretter filtypen Noen Fil *.* ). "Programkode"-vinduet skal fylles med informasjon.

Trykk på "Program chip"-knappen (den røde LED-en lyser).

Vi venter på at programmeringen skal fullføres (ca. 30 sekunder).

For å kontrollere, klikk "Sammenlign brikke med buffer".