Gör-det-själv toppprogrammerare. Hemmagjord programmerare för PIC-kontroller. Funktioner för praktisk användning

Så vi bestämde oss och bestämde oss för att montera vår första hemmagjorda produkt på en mikrokontroller, allt som återstår är att förstå hur man programmerar den. Därför kommer vi att behöva en PIC-programmerare, och du kan sätta ihop dess krets själv; låt oss titta på några enkla konstruktioner som ett exempel.

Kretsen låter dig programmera mikrokontroller och EEPROM-minne I2C.

Lista över mikrokontroller som stöds, med förbehåll för gemensam användning med verktyget IC-PROG v1.05D:

Mikrokontroller från Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12IC, PIC12IC,7516, PIC12IC, 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, 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, PIC16, PIC16, PIC16, PIC16, PIC16, PIC16 16F877A, P IC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8620*, PIC18*F87

Notera: mikrokontroller markerade med en asterisk (*) måste anslutas till programmeraren via en ICSP-kontakt.

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


Installera mikrokretsen i uttaget, strikt observera nyckelns position. Anslut sladden, slå på strömmen. Starta programmet IC-PROG. Välj din PIC-mikrokontroller från rullgardinsmenyn.

Om du inte har firmware, gör det: för att göra detta, öppna standardprogrammet Notepad eller någon annan redigerare; infoga texten i den fasta programvaran i dokumentet; spara under valfritt namn med tillägget *.txt eller *.hex.

Sedan i verktyget i IC-PROG Fil >> Öppna fil >> hitta vår fil med firmware. fönster" Programkod" måste fyllas i med olika koder.

I IC-PROG-fönstret klickar du på "Programmera chipet" och den röda lysdioden på enhetsdiagrammet tänds. Programmeringen tar cirka 30 sekunder. För att kontrollera, välj - Jämför chip med buffert.

En alternativ version av EXTRA-PIC programmeringskrets från en färdig tryckt kretskort i Sprint Layout kan du öppna den från den gröna länken ovan.

PIC-mikrokontroller har förtjänat berömmelse på grund av deras opretentiöshet och driftkvalitet, såväl som mångsidighet i användning. Men vad kan en mikrokontroller göra utan möjligheten att skriva nya program på den? Utan en programmerare är detta inget annat än en bit fantastiskt formad hårdvara. Själva PIC-programmeraren kan vara av två typer: antingen hemmagjord eller fabrikstillverkad.

Skillnaden mellan fabriks- och hemmagjorda programmerare

Först och främst kännetecknas de av tillförlitligheten och funktionaliteten som de tillhandahåller mikrokontrollerägare. Så om du gör en hemmagjord, är den som regel designad för endast en modell av PIC-mikrokontroller, medan programmeraren från Microchip ger möjligheten att arbeta med olika typer, modifieringar och modeller av mikrokontroller.

Fabriksprogrammerare från Microchip

Den mest kända och populära är den enkla PIC-programmeraren, som används av många och för många är känd som PICkit 2. Dess popularitet beror på dess uppenbara och dolda fördelar. De uppenbara fördelarna som detta har USB-programmerare för PIC är det möjligt att lista länge, bland dem: relativt låg kostnad, enkel användning och mångsidighet i förhållande till hela familjen av mikrokontroller, från 6-stift till 20-stift.

Använder en programmerare från Microchip

Du kan hitta många handledningar om dess användning som hjälper dig att förstå alla möjliga aspekter av dess användning. Om vi ​​inte bara betraktar en PIC-programmerare som köpts begagnad, utan köpts från en officiell representant, så kan vi också märka kvaliteten på supporten som tillhandahålls med den. Så, dessutom finns det utbildningsmaterial om användning, licensierade utvecklingsmiljöer, samt ett demokort, som är designat för att fungera med lågstiftsmikrokontroller. Utöver allt detta finns det verktyg som gör arbetet med mekanismen roligare och hjälper till att övervaka processen för programmering och felsökning av mikrokontrollern. Ett verktyg tillhandahålls också för att stimulera driften av MK.

Andra programmerare

Förutom den officiella programmeraren finns det andra som låter dig programmera mikrokontroller. När du köper dem behöver du inte räkna med ytterligare programvara, men för dem som inte behöver mer räcker detta. En ganska uppenbar nackdel är att det för vissa programmerare kan vara svårt att hitta nödvändig bestämmelse för att kunna utföra kvalitetsarbete.

Manuellt sammansatta programmerare

Och nu är kanske det mest intressanta PIC-kontrollerprogrammerarna, som monteras manuellt. Det här alternativet används av dem som inte har pengar eller helt enkelt inte vill spendera dem. Om du köper från en officiell representant kan du räkna med att om enheten visar sig vara av dålig kvalitet kan du returnera den och få en ny i utbyte. Och när man köper "från hand" eller använder anslagstavlor vid lödning av dålig kvalitet eller mekanisk skada Du kan inte räkna med ersättning för utgifter och att få en kvalitetsprogrammerare. Låt oss nu gå vidare till den handmonterade elektroniken.

PIC-programmeraren kan utformas för specifika modeller eller vara universell (för alla eller nästan alla modeller). De är monterade på mikrokretsar som kan omvandla signaler från RS-232-porten till en signal som tillåter programmering av MK. Du måste komma ihåg att när du monterar en design som givits av någon måste PIC-programmeraren, kretsen och resultatet matcha en till en. Även små avvikelser är oönskade. Denna anmärkning gäller nybörjare inom elektronik, personer med erfarenhet och övning kan förbättra nästan alla kretsar om det finns utrymme för förbättringar.

Det är också värt att säga ett ord om mjukvarupaketet som tillhandahålls av USB-programmeraren för PIC, monterad med dina egna händer. Faktum är att det inte räcker att montera själva programmeraren enligt ett av de många scheman som presenteras på webben. Du behöver också programvara som gör att datorn kan flasha mikrokontrollern med dess hjälp. Icprog, WinPic800 och många andra program används ofta som sådana. Om författaren till programmeringskretsen själv inte angav programvaran med vilken hans skapelse kan göra sitt jobb, måste du ta reda på det själv med rå kraft. Detsamma gäller de som monterar sina egna kretsar. Du kan själv skriva ett program för MK, men det här är riktig konstflygning.

Universella programmerare som inte bara är lämpliga för RIS

Om en person är intresserad av att programmera mikrokontroller, är det osannolikt att han ständigt bara kommer att använda en typ. För den som inte vill köpa separata programmerare för olika typer mikrokontroller från olika tillverkare har universella enheter utvecklats som kan programmera MCU:er från flera företag. Eftersom det finns ganska många företag som producerar dem, är det värt att välja ett par och prata om programmerarna för dem. Valet föll på jättarna på mikrokontrollermarknaden: PIC och AVR.

Den universella PIC- och AVR-programmeraren är utrustning vars egenhet ligger i dess mångsidighet och förmågan att ändra driften tack vare programmet utan att göra ändringar i hårdvarukomponenten. Tack vare denna egenskap fungerar sådana enheter lätt med mikrokontroller som släpptes till försäljning efter lanseringen av programmeraren. Med tanke på att arkitekturen inte kommer att förändras nämnvärt inom en snar framtid kommer de att vara lämpliga att använda under lång tid. Ytterligare trevliga egenskaper hos fabriksprogrammerare inkluderar:

  1. Betydande hårdvarubegränsningar för antalet programmerbara mikrokretsar, vilket gör det möjligt att programmera inte en, utan flera delar av elektronik samtidigt.
  2. Möjlighet att programmera mikrokontroller och kretsar baserade på olika teknologier (NVRAM, NAND Flash och andra).
  3. Relativt kort programmeringstid. Beroende på programmeringsmodellen och komplexiteten hos den programmerade koden kan det ta från 20 till 400 sekunder.

Funktioner för praktisk användning

Separat är det värt att beröra ämnet praktisk användning. Som regel är programmerare anslutna till USB-portar, men det finns också varianter som fungerar med samma kablar som hårddisken. Och för att använda dem måste du ta bort datorkåpan, sortera ut ledningarna och själva anslutningsprocessen är inte särskilt bekväm. Men den andra typen är mer mångsidig och kraftfull, tack vare den är firmwarehastigheten snabbare än när den är ansluten via USB. Att använda det andra alternativet verkar inte alltid vara en så bekväm och bekväm lösning som med USB, för innan du använder det måste du göra ett antal operationer: ta ut väskan, öppna den, hitta den nödvändiga tråden. Du behöver inte oroa dig för eventuella problem från överhettning eller överspänning när du arbetar med fabriksmodeller, eftersom de vanligtvis har ett speciellt skydd.

Arbeta med mikrokontroller

Vad krävs för att alla programmerare med mikrokontroller ska fungera? Faktum är att även om programmerarna själva är oberoende kretsar, sänder de datorsignaler till en viss sekvens. Och problemet med hur man förklarar för datorn vad exakt som behöver skickas löses av programmerarens programvara.

Ganska mycket är fritt tillgängligt olika program, som syftar till att arbeta med programmerare, både hemmagjorda och fabrikstillverkade. Men om den är tillverkad av ett föga känt företag, gjordes enligt designen av en annan elektronikentusiast, eller av personen som läser dessa rader själv, kan programvaran inte hittas. I det här fallet kan du använda en sökning av alla tillgängliga programmeringsverktyg, och om inget av dem fungerar (om du är säker på att programmeraren fungerar bra), måste du antingen ta/skapa en annan PIC-programmerare, eller skriva ditt eget program , vilket är en mycket hög lotsningsnivå.

Möjliga problem

Tyvärr, även den mest idealiska tekniken är inte utan eventuella problem, som nej, nej och kommer att uppstå. För bättre förståelse är det nödvändigt att göra en lista. Vissa av dessa problem kan korrigeras manuellt med en detaljerad inspektion av programmeraren, andra kan bara kontrolleras om du har nödvändig testutrustning. I det här fallet, om PIC-mikrokontrollerprogrammeraren är fabrikstillverkad, är det osannolikt att den repareras. Även om du kan försöka hitta möjliga orsaker misslyckanden:

  1. Dålig kvalitetslödning av programmeringselement.
  2. Brist på drivrutiner för att arbeta med enheten.
  3. Skador inuti programmeraren eller kablar inuti datorn/USB.

Experiment med mikrokontroller

Så allt finns där. Hur börjar man arbeta med utrustning, hur börjar man blinka en mikrokontroller med en programmerare?

  1. Att plugga extern strömförsörjning, anslut all utrustning.
  2. Inledningsvis behövs en miljö med hjälp av vilken allt kommer att göras.
  3. Skapa önskat projekt, välj mikrokontrollerkonfigurationen.
  4. Förbered en fil som innehåller all nödvändig kod.
  5. Anslut till programmeraren.
  6. När allt är klart kan du flasha mikrokontrollern.

Ovan skrevs endast ett allmänt diagram, vilket gör att du kan förstå hur processen uppstår. Det kan skilja sig något för enskilda utvecklingsmiljöer, och mer detaljerad information om dem finns i instruktionerna.

Jag skulle vilja skriva en separat vädjan till dem som precis börjat använda programmerare. Kom ihåg att, oavsett hur grundläggande vissa steg kan verka, måste du alltid följa dem så att utrustningen kan fungera normalt och adekvat och utföra de uppgifter du ställer in. Lycka till inom elektronik!

Vilka första steg bör en radioamatör ta om han bestämmer sig för att montera en krets på en mikrokontroller? Naturligtvis behövs ett kontrollprogram - "firmware", såväl som en programmerare.

Och om det inte finns några problem med den första punkten - den färdiga "firmwaren" laddas vanligtvis upp av författarna till kretsarna, då är saker och ting mer komplicerade med programmeraren.

Priset på färdiga USB-programmerare är ganska högt och den bästa lösningen kommer att montera den själv. Här är ett diagram över den föreslagna enheten (bilderna är klickbara).

Huvudsak.

MK installationspanel.

Det ursprungliga diagrammet togs från webbplatsen LabKit.ru med tillstånd från författaren, för vilket stort tack till honom. Detta är en så kallad klon av den proprietära PICkit2-programmeraren. Eftersom enhetsversionen är en "lättvikts" kopia av den proprietära PICkit2, kallade författaren sin utveckling PICkit-2 Lite, vilket betonar enkel montering av en sådan enhet för nybörjare radioamatörer.

Vad kan en programmerare göra? Med hjälp av programmeraren kan du flasha de mest lättillgängliga och populära MCU:erna i PIC-serien (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A, etc.), såväl som 24LC-seriens EEPROM-minneschip. Dessutom kan programmeraren arbeta i USB-UART-omvandlarläge och har några av funktionerna hos en logisk analysator. En särskilt viktig funktion som programmeraren har är beräkningen av kalibreringskonstanten för den inbyggda RC-generatorn i vissa MCU:er (till exempel PIC12F629 och PIC12F675).

Nödvändiga förändringar.

Det finns några ändringar i kretsen som är nödvändiga för att använda PICkit-2 Lite-programmeraren är det möjligt att skriva/radera/läsa data från EEPROM-minneschips i 24Cxx-serien.

Från de ändringar som gjordes i schemat. Lade till anslutning från stift 6 på DD1 (RA4) till stift 21 på ZIF-panelen. AUX-stiftet används uteslutande för att arbeta med 24LC EEPROM-minneschips (24C04, 24WC08 och analoger). Den överför data, varför den är markerad med ordet "Data" på programmeringspanelens diagram. Vid programmering av mikrokontroller används vanligtvis inte AUX-stiftet, även om det behövs vid programmering av MKs i LVP-läge.

Ett 2 kOhm pull-up-motstånd har också lagts till, som kopplas mellan minneschippens SDA- och Vcc-stift.

Jag har redan gjort alla dessa modifieringar på kretskortet, efter att ha monterat PICkit-2 Lite enl. originaldiagram författare.

24Cxx minneskretsar (24C08, etc.) används ofta i hushållsradioutrustning, och ibland måste de blixtrade, till exempel vid reparation av CRT-TV. De använder 24Cxx-minne för att lagra inställningar.

LCD-TV använder en annan typ av minne (Flashminne). Jag har redan pratat om hur man flashar minnet på en LCD-TV. Om någon är intresserad, ta en titt.

På grund av behovet av att arbeta med 24Cxx-seriens mikrokretsar var jag tvungen att "slutföra" programmeraren. Jag etsade inte ett nytt kretskort, jag lade bara till nödvändiga element på kretskortet. Det här är vad som hände.

Kärnan i enheten är en mikrokontroller PIC18F2550-I/SP.

Detta är det enda chippet i enheten. MK PIC18F2550 måste "flashas". Detta enkel operation Det orsakar stupor för många, eftersom det så kallade problemet med "kyckling och ägg" uppstår. Jag ska berätta hur jag löste det lite senare.

Lista över delar för montering av programmeraren. I mobilversion dra tabellen åt vänster (svep vänster-höger) för att se alla dess kolumner.

namn Beteckning Betyg/parametrar Varumärke eller artikeltyp
För huvuddelen av programmeraren
Mikrokontroller DD1 8-bitars mikrokontroller PIC18F2550-I/SP
Bipolära transistorer VT1, VT2, VT3 KT3102
VT4 KT361
Diod VD1 KD522, 1N4148
Schottky diod VD2 1N5817
lysdioder HL1, HL2 valfri 3 volt, röd Och grön glödande färger
Motstånd 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 (keramik), importerade analoger
C3 0,47 mikron
Elektrolytiska kondensatorer C1 100uF * 6,3V K50-6, importerade analoger
C4 47 uF * 16 V
Induktor (choke) L1 680 µH enhetlig typ EC24, CECL eller hemmagjord
Kvartsresonator ZQ1 20 MHz
USB-uttag XS1 typ USB-BF
Hoppare XT1 någon typ av "jumper"
För mikrokontroller installationspanel (MK)
ZIF panel XS1 valfri 40-stifts ZIF-panel
Motstånd R1 2 kOhm MLT, MON (effekt från 0,125 W och högre), importerade analoger
R2, R3, R4, R5, R6 10 kOhm

Nu lite om detaljerna och deras syfte.

Grön LED HL1 tänds när ström ansluts till programmeraren, och röd HL2-lampan lyser när data överförs mellan datorn och programmeraren.

För att ge enheten mångsidighet och tillförlitlighet används ett XS1 typ "B" (fyrkantigt) USB-uttag. Datorn använder ett USB-uttag av typ A. Därför är det omöjligt att blanda ihop anslutningskabelns uttag. Denna lösning bidrar också till enhetens tillförlitlighet. Om kabeln blir oanvändbar kan den enkelt bytas ut mot en ny utan att behöva löda eller installera.

Som en 680 µH induktor L1 är det bättre att använda en färdig (till exempel typer EC24 eller CECL). Men om du inte kan hitta en färdig produkt kan du göra gasreglaget själv. För att göra detta måste du linda 250 - 300 varv PEL-0.1-tråd på en ferritkärna från en induktor av CW68-typ. Det är värt att överväga att på grund av närvaron av PWM med feedback, finns det ingen anledning att oroa sig för noggrannheten i induktansklassificeringen.

Spänningen för högspänningsprogrammering (Vpp) från +8,5 till 14 volt skapas av nyckelregulatorn. Den innehåller elementen VT1, VD1, L1, C4, R4, R10, R11. PWM-pulser skickas från stift 12 på PIC18F2550 till VT1-basen. Respons utförs av avdelaren R10, R11.

För att skydda kretselement från omvänd spänning från programmeringslinjerna, när du använder en USB-programmerare i ICSP-läget (In-Circuit Serial Programming) används en VD2-diod. VD2 är en Schottky-diod. Den ska väljas med ett spänningsfall på P-N-korsning inte mer än 0,45 volt. Dessutom skyddar VD2-dioden element från omvänd spänning när programmeraren används i USB-UART-konvertering och logikanalysläge.

När du använder programmeraren uteslutande för programmering av mikrokontroller i panelen (utan att använda ICSP), kan du ta bort VD2-dioden helt (det här är vad jag gjorde) och installera en bygel istället.

Enhetens kompakthet görs av den universella ZIF-panelen (Zero Insertion Force - med noll installationsansträngning).

Tack vare det kan du "hårdkoppla" en mikrokontroller till nästan vilket DIP-paket som helst.

Diagrammet "Installationspanel för mikrokontroller (MK)" anger hur mikrokontroller med olika höljen ska installeras i panelen. När du installerar MK bör du vara uppmärksam på att mikrokontrollern i panelen är placerad så att nyckeln på chippet är på sidan av ZIF-panelens låsspak.

Så här behöver du installera 18-stifts mikrokontroller (PIC16F84A, PIC16F628A, etc.).

Och här är 8-stifts mikrokontroller (PIC12F675, PIC12F629, etc.).

Om det finns behov av att flasha en mikrokontroller i ett hus för ytmontering(SOIC), då kan du använda en adapter eller helt enkelt löda 5 stift till mikrokontrollern, som vanligtvis krävs för programmering (Vpp, Clock, Data, Vcc, GND).

Färdig ritning tryckt kretskort med alla ändringar hittar du länken i slutet av artikeln. Genom att öppna filen i programmet Sprint Layout 5.0, med "Skriv ut" -läget, kan du inte bara skriva ut ett lager med ett mönster av tryckta ledare, utan också se placeringen av element på kretskortet. Var uppmärksam på den isolerade bygeln som förbinder stift 6 på DD1 och stift 21 på ZIF-panelen. Du måste skriva ut tavlan ritningen i spegelbild.

Du kan göra ett kretskort med LUT-metoden, samt en markör för kretskort, med tsaponlak (det här är vad jag gjorde) eller "penna"-metoden.

Här är en bild på placeringen av element på ett kretskort (klickbart).

Vid installation är det första steget att löda byglar gjorda av förtennad koppartråd, sedan installera lågprofilelement (motstånd, kondensatorer, kvarts, ISCP-stiftkontakt), sedan transistorer och en programmerad MK. Det sista steget är att installera ZIF-panelen, USB-uttaget och täta ledningarna i isolering (jumpers).

"Firmware" för mikrokontrollern PIC18F2550.

Firmware-fil - PK2V023200.hex du måste skriva in PIC18F2550I-SP MK i minnet med en programmerare som stöder PIC-mikrokontroller (till exempel Extra-PIC). Jag använde JDM Programmator JONIC PROG och programmet WinPic800.

Du kan ladda upp firmware till PIC18F2550 MCU med samma proprietära programmerare PICkit2 eller dess ny version PICkit3. Naturligtvis kan du göra detta med en hemmagjord PICkit-2 Lite, om någon av dina vänner lyckats montera den före dig :).

Det är också värt att veta att "firmware" för mikrokontrollern PIC18F2550-I/SP (fil PK2V023200.hex) skrivs när du installerar programmet PICkit 2 Programmer i en mapp tillsammans med filerna i själva programmet. Ungefärlig plats för filen PK2V023200.hex - "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . För dig som har 32-bitars installerat på sin PC Windows version, kommer platssökvägen att vara annorlunda: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

Tja, om du inte kunde lösa problemet med "kyckling och ägg" med de föreslagna metoderna, kan du köpa en färdig PICkit3-programmerare på AliExpress-webbplatsen. Det kostar mycket billigare där. Jag skrev om hur man köper delar och elektroniska kit på AliExpress.

Uppdatering av programmerarens firmware.

Framstegen står inte stilla och då och då släpper Microchip uppdateringar för sin mjukvara, inklusive för PICkit2, PICkit3 programmerare. Naturligtvis kan vi också uppdatera kontrollprogram hans hemmagjorda PICkit-2 Lite. För att göra detta behöver du programmet PICkit2 Programmer. Vad det är och hur man använder det - lite senare. Under tiden några ord om vad som behöver göras för att uppdatera firmware.

För att uppdatera programmerarens programvara måste du stänga bygeln XT1 på programmeraren när den kopplas bort från datorn. Anslut sedan programmeraren till datorn och starta PICkit2 Programmer. När XT1 är stängd är läget aktiverat bootloader för att ladda ner den nya firmwareversionen. Sedan i PICkit2 Programmer, genom menyn "Verktyg" - "Ladda ner PICkit 2 Operation System", öppna den tidigare förberedda hex-filen för den uppdaterade firmware. Därefter kommer uppdateringsprocessen för programmeraren att ske.

Efter uppdateringen måste du koppla bort programmeraren från datorn och ta bort XT1-bygeln. I normalt läge bygel öppen. Du kan ta reda på programvaruversionen för programmeraren genom menyn "Hjälp" - "Om" i PICkit2 programmeringsprogrammet.

Det här handlar om tekniska frågor. Och nu om programvaran.

Arbeta med programmeraren. PICkit2 programmerare.

För att arbeta med USB-programmeraren måste vi installera PICkit2-programmeraren på datorn. Detta specialprogram har enkelt gränssnitt, lätt att installera och kräver ingen speciell konfiguration. Det är värt att notera att du kan arbeta med programmeraren med hjälp av MPLAB IDE-utvecklingsmiljön, men för att flasha/radera/läsa MK:n räcker det med ett enkelt program - PICkit2 Programmer. Jag rekomenderar.

Efter att ha installerat PICkit2-programmeraren, anslut den monterade USB-programmeraren till datorn. Samtidigt kommer den att lysa upp grön LED ("ström"), och operativ system känner igen enheten som "PICkit2 mikrokontrollerprogrammerare" och installera drivrutinerna.

Starta programmet PICkit2 Programmer. En inskription ska visas i programfönstret.

Om programmeraren inte är ansluten visas ett skrämmande meddelande i programfönstret och korta instruktioner"Vad ska man göra?" på engelska.

Om programmeraren är ansluten till en dator med en MK installerad, kommer programmet att upptäcka den när den startas och meddelar oss om det i PICkit2 Programmerarfönstret.

Grattis! Det första steget har tagits. Och jag pratade om hur man använder PICkit2 Programmer-programmet i en separat artikel. Nästa steg .

Obligatoriska filer:

    PICkit2 Användarmanual (ryska) ta eller.

Utvecklingen av elektronik fortskrider i snabb takt, och allt mer är huvudelementet i en enhet en mikrokontroller. Det gör huvuddelen av arbetet och befriar konstruktören från behovet av att skapa sofistikerade kretsdesigner, och reducerar därmed storleken på det tryckta kretskortet till ett minimum. Som alla vet styrs en mikrokontroller av ett program skrivet i dess internminne. Och om en erfaren elektronikprogrammerare inte har några problem med att använda mikrokontroller i sina enheter, kan det för en nybörjare radioamatör att försöka skriva ett program i en kontroller (särskilt en PIC) resultera i stor besvikelse, och ibland till och med en liten pyroteknisk show i form av ett rökchip.

Märkligt nog, trots all storhet med Internet, finns det väldigt lite information om firmware PIC-kontroller, och materialet som kan hittas är av mycket tveksam kvalitet. Naturligtvis kan du köpa en fabriksprogrammerare för ett otillräckligt pris och sy till ditt hjärtas innehåll, men vad ska man göra om en person inte är engagerad i massproduktion. För dessa ändamål kan du montera en enkel och billig hemgjord produkt som kallas JDM programmerare enligt diagrammet nedan (Figur nr 1):



Figur nr 1 - programmeringskrets


Jag kommer omedelbart att ge en lista med element för dem som är för lata för att titta närmare på diagrammet:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (trimmat). Genom att justera motståndet för detta motstånd måste du uppnå ca 13V vid stift nr 4 (VPP) under programmering. I mitt fall är motståndet 1,2 kOhm
  • R3 - 200 Ohm
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (stabiliseringsspänning 5,1V)
  • VD7 - 1N4743A (stabiliseringsspänning 13V)
  • C1 - 100 nF (0,1 µF)
  • C2 - 470 uF x 16 V (elektrolytisk)
  • SUB-D9F - COM-portkontakt (MAMA eller SOCKET)
  • DIP8-uttag - beror på vilken styrenhet du använder

Diagrammet använder ett exempel på anslutning av sådana vanliga kontroller som PIC12F675 Och PIC12F629, men detta betyder inte alls att den fasta programvaran för andra serier BILD kommer att vara omöjligt. För att skriva ett program till en styrenhet av en annan typ, anslut bara kablarna till programmeraren i enlighet med figur 2, som visas nedan.



Figur nr 2 - alternativ för PIC-styrenhetshus med nödvändiga stift


Som du kanske gissar använder kretsen för min programmerare ett hus DIP8. Om du verkligen vill kan du göra en universell adapter för varje typ av mikrokrets och därigenom få en universell programmerare. Men eftersom PIC-kontroller Jag jobbar sällan, det här räcker för mig.

Även om själva kretsen är ganska enkel och inte kommer att orsaka svårigheter vid montering, kräver den också respekt. Därför skulle det vara trevligt att göra ett kretskort till det. Efter några manipulationer med programmet SprintLayout, PCB, borr och järn, ett sådant ämne föddes (foto nr 3).



Foto nr 3 - programmeringskretskort


Ladda ner PCB-källan för programmet SprintLayout du kan följa denna länk:
(nedladdningar: 670)
Om så önskas kan du ändra den för att passa din typ av PIC-kontroller. För de som bestämt sig för att lämna tavlan oförändrad lägger jag upp en vy från delarnas sida för att underlätta installationen (Figur nr 4).



Bild nr 4 - skiva från monteringssidan


Lite mer häxkonst med lödkolv och vi har en färdig anordning som kan blinka PIC-kontroller genom COM-port din dator. Resultatet av mina ansträngningar, fortfarande varmt och inte borttvättat från flödet, visas på foto nr 5.



Foto nr 5 - monterad programmerare


Från och med nu, det första steget på vägen mot firmware PIC-kontroller, har kommit till ett slut. Det andra steget kommer att innefatta att ansluta programmeraren till datorn och arbeta med programmet IC-Prog.
Tyvärr inte alla moderna datorer och bärbara datorer kan arbeta med denna programmerare på grund av den banala frånvaron av COM-portar, och de som är installerade på bärbara datorer ger inte det nödvändiga för programmering 12V. Så jag bestämde mig för att vända mig till min första PC, som hade samlat damm för länge sedan och väntade på sin finaste timme (och äntligen gjorde det).
Så slå på datorn och installera först och främst programmet IC-Prog. Du kan ladda ner den från författarens webbplats eller från denna länk:
(nedladdningar: 769)
Vi kopplar programmeraren till COM-port och precis lanserat installerad applikation. För korrekt drift är det nödvändigt att utföra ett antal manipulationer. Till en början måste du välja vilken typ av kontroll som du ska sy. jag har den PIC12F675. I skärmbild nr 6 är fältet för val av styrenhet rött markerat.



Skärmbild nr 6 - val av typ av mikrokontroller




Skärmdump nr. 7 - inställning av kontrollens inspelningsmetod


I samma fönster, gå till "fliken" Programmering" och välj objektet " Kontrollera under programmering". Kontroll efter programmering kan orsaka ett fel, eftersom den fasta programvaran i vissa fall ställer in läsblockerande säkringar SR. För att inte lura dig själv denna check Det är bättre att stänga av den. Kort sagt, vi följer skärmdump nr 8.



Skärmdump nr 8 - inställning av verifiering


Låt oss fortsätta att arbeta med det här fönstret och gå till fliken " Är vanliga". Här måste du ställa in prioritet för programmet och se till att använda NT/2000/XP drivrutin (skärmdump nr 9). I vissa fall kan programmet uppmana dig att installera av denna förare och en omstart kommer att krävas IC-Prog.



Skärmdump nr 9 - allmänna inställningar


Så vi är klara med det här fönstret. Låt oss nu gå vidare till inställningarna för själva programmeraren. Välj från menyn " Inställningar"->"Programinställningar"eller tryck bara på knappen F3. Följande fönster visas, som visas i skärmbild nr 10.



Skärmbild nr 10 - fönster för programmerares inställningar


Först av allt, välj typ av programmerare - JDM programmerare. Ställ sedan in alternativknappen för att använda drivrutinen Windows. Nästa steg handlar om att välja COM-port, som din programmerare är ansluten till. Om det bara finns en finns det inga frågor alls, men om det finns fler än en, titta i enhetshanteraren vilken som används just nu. I/O-latensreglaget är utformat för att justera skriv- och läshastigheten. Detta kan behövas på snabba datorer och om det uppstår problem med firmware - denna parameter måste ökas. I mitt fall förblev det lika som standard 10 och allt fungerade bra.

Det är det för att ställa in programmet. IC-Progär över och du kan gå vidare till processen för själva firmwaren, men först läser vi data från mikrokontrollern och ser vad som skrivs till den. För att göra detta, i verktygsfältet, klicka på mikrokretsikonen med en grön pil, som visas i skärmbild nr 11.



Skärmdump nr 11 - processen att läsa information från mikrokontrollern


Om mikrokontrollern är ny och inte har flashat tidigare, kommer alla dess minnesceller att fyllas med värden 3FFF, förutom den allra sista. Den kommer att innehålla värdet på kalibreringskonstanten. Detta är ett mycket viktigt och unikt värde för varje styrenhet. Timingsnoggrannheten beror på den, som ställs in av tillverkaren genom att välja och ställa in samma konstant. Skärmbild nr 12 visar den minnescell i vilken konstanten kommer att lagras vid läsning av styrenheten.



Skärmbild nr 12 - värdet på kalibreringskonstanten


Jag upprepar att värdet är unikt för varje chip och behöver inte matcha det som visas i figuren. Många människor, på grund av oerfarenhet, skriver över denna konstant och därefter PIC-kontroller börjar fungera felaktigt om projektet använder klockning från en intern oscillator. Jag råder dig att skriva ner denna konstant och fästa en etikett med dess värde direkt på styrenheten. På så sätt slipper du många problem i framtiden. Så, värdet är nedskrivet - låt oss gå vidare. Vi öppnar firmware-filen, som vanligtvis har tillägget .hex. Nu istället för inskriptioner 3FFF, innehåller programmeringsbufferten koden för vårt program (skärmbild nr 13).



Skärmbild nr 13 - firmware laddad i programmeringsbufferten


Jag skrev ovan att många av misstag skriver över kalibreringskonstanten. När händer detta? Detta händer när firmware-filen öppnas. Det konstanta värdet ändras automatiskt till 3FFF och när du väl startar programmeringsprocessen finns det ingen återvändo. I skärmbild nr 14 är minnescellen där konstanten tidigare var markerad 3450 (innan öppning hex fil).

För närvarande finns det många kretsscheman använder olika mikrokontroller, inklusive PIC-mikrokontroller från MicroChip. Detta gjorde det möjligt att få ganska funktionella enheter, trots deras enkelhet.

Men driften av mikrokontrollern är omöjlig utan ett kontrollprogram som måste skrivas ner. I den här artikeln kommer vi att titta på det universella PIC-programmerare— EXTRA-PIC låter dig programmera PIC-kontroller och EEPROM I2C-minne via en COM-port eller via .

Lista över chips som stöds när de används med programmet IC-PROG v1.05D:

Mikrochip PIC-kontroller: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE14IC, PIC12CE65F, PIC12CE65F, 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, 76 C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622. 16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774 , PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16FIC16, PIC16, PIC16, PIC16, PIC16, PIC16, PIC16 16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448 , PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F4320, PIC18F4320.

Obs: mikrokontroller märkta med en asterisk (*) måste anslutas till programmeraren via en ICSP-kontakt.

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

Själva EXTRA-PIC-programmeringskretsen:

Den programmerbara styrenheten ansluts via kontakt X3. Nedan är pinouten för programmeringsstift för olika kontroller:

Och nu instruktioner om hur man programmerar mikrokontrollern.

Som ett exempel, låt oss ta mikrokontrollern PIC16F876A.

Sätt ihop programmeraren och förbered en strömförsörjning med utspänning inget mindre 15V

Packa upp programmet i en separat katalog. Den skapade katalogen bör innehålla tre filer:

icprog.exe— programmeringsskalfil;

icprog.sys— drivrutin krävs för att fungera under Windows NT, 2000, XP. Denna fil måste alltid finnas i programkatalogen;

icprog.chm- Hjälpfil.

Ställa in programmet IC-PROG v1.05D.

För Windows95, 98, ME För Windows NT, 2000, XP
(Endast Windows XP ):
Högerklicka på filen icprog.exe.
« Egenskaper» >> flik « Kompatibilitet » >>
Sätt en bock på " Kör programmet i kompatibilitetsläge för:" >> välj " Windows 2000 «.
  1. Kör filen icprog.exe .
  2. Välj " inställningar » >> « alternativ» >> flik « Språk" >> ställ in språket" ryska" och tryck " Ok «.
  3. Håller med påståendet" Du behöver för att starta om IC-Prog nu" (klick " Ok «).
  4. Programmeringsskalet kommer att starta om.
« inställningar » >> « Programmerare «.
Kontrollera inställningarna, välj den COM-port du använder, klicka på " Ok «.
Ytterligare, " inställningar » >> « alternativ" >> välj fliken " Är vanliga" >> kryssa i rutan " På Drivrutin för NT/2000/XP" >> Klicka " Ok » >>
om drivrutinen inte har installerats på systemet tidigare, i fönstret som visas, " Bekräfta" klick " Ok". Drivrutinen kommer att installeras och programmeringsskalet startas om.
Notera: För mycket "snabba" datorer kan du behöva öka I/O-latens". Att öka denna parameter ökar tillförlitligheten i programmeringen, men tiden som läggs på att programmera chipet ökar också.
« inställningar » >> « alternativ" >> välj fliken " I2C">> markera rutorna:" Aktivera MCLR som VCC"och" Aktivera blockinspelning". Klick " Ok «.
Programmet är klart att använda.

Installera chipet i programmeringspanelen och observera nyckelns position.

Anslut förlängningssladden, slå på strömmen.

Starta programmet IC-PROG.

Välj styrenheten PIC16F876A från rullgardinsmenyn.

Om du inte har firmwarefilen, förbered den:

öppna standardprogrammet Anteckningar;

infoga texten i den fasta programvaran i dokumentet;

spara under valfritt namn, till exempel prohivka.txt (tillägget *.txt eller *.hex).

Bredvid IC-PROG Fil >> Öppna fil(! inte att förväxla med Öppna datafilen) >> hitta vår fil med firmware (om vi har en fil med filtillägget *.txt, välj sedan filtypen Några Fil *.* ). Fönstret "Programkod" ska fyllas med information.

Tryck på knappen "Program chip" (den röda lysdioden tänds).

Vi väntar på att programmeringen ska slutföras (cirka 30 sekunder).

För att kontrollera, klicka på "Jämför chip med buffert".