Utvecklingen av elektronik fortsätter snabbt och mer och mer ofta är mikrokontrollern huvudelementet i den här eller den enheten. Han utför huvudarbetet och befriar designern från behovet av att skapa sofistikerade kretslösningar och reducerar därmed storleken på det tryckta kretskortet till ett minimum. Som alla vet styrs mikrokontrollern av ett program inspelat i dess interna minne. Och om en erfaren elektronisk programmerare inte har problem med att använda mikrokontroller i sina enheter, kan för en nybörjare radioamatör som försöker skriva ett program till en controller (särskilt PIC) visa sig vara en stor besvikelse, och ibland en liten pyroteknisk show i form av ett rökningschip.
Konstigt nog, men med all storhet på Internet har den väldigt lite information om firmware Pic-styrenheter, och materialet som kan hittas är av mycket tvivelaktig kvalitet. Naturligtvis kan du köpa en fabriksprogrammerare till ett otillräckligt pris och sy så mycket du vill, men vad händer om personen inte är engagerad i massproduktion. För dessa ändamål kan du sätta ihop en enkel och inte dyr att implementera hemgjorda, Hänvisas till JDM-programmerare enligt diagrammet nedan (figur nr 1):
Konstigt nog, men med all storhet på Internet har den väldigt lite information om firmware Pic-styrenheter, och materialet som kan hittas är av mycket tvivelaktig kvalitet. Naturligtvis kan du köpa en fabriksprogrammerare till ett otillräckligt pris och sy så mycket du vill, men vad händer om personen inte är engagerad i massproduktion. För dessa ändamål kan du sätta ihop en enkel och inte dyr att implementera hemgjorda, Hänvisas till JDM-programmerare enligt diagrammet nedan (figur nr 1):
Bild №1 - diagram över programmeraren
Omedelbart tar jag med en lista över element för dem som är för lata för att kika in i diagrammet:
- R1 - 10 kOhm
- R2 - 10 kOhm (trunkerad). Genom att justera motståndet för detta motstånd måste du uppnå cirka 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 μF x 16 V (elektrolytisk)
- SUB-D9F - COM-portkontakt (MOM eller SOCKET)
- DIP8-uttag - beror på styrenheten du använder
Kretsen använder ett exempel på att ansluta sådana vanliga styrenheter som PIC12F675 och PIC12F629, men detta betyder inte alls firmwaret i andra serier PIC kommer att vara omöjligt. För att skriva ett program till en controller av en annan typ räcker det att överföra programmeringsledningarna i enlighet med figur 2, som ges nedan.
Bild nr. 2 - Val av PIC-kontrollerare med nödvändiga slutsatser
Som ni kanske gissar används fallet i schemat för min programmerare DIP8. Med stor önskan kan du skapa en universaladapter för varje typ av chip och därmed få en universell programmerare. Men sedan med PIC-styrenheter Jag arbetar sällan, det räcker för mig.
Även om själva kretsen är ganska enkel och inte orsakar monteringssvårigheter, men den kräver också respekt. Därför skulle det vara trevligt att skapa ett tryckt kretskort för det. Efter några manipulationer med programmet SprintLayout, textolit, borr och järn, ett sådant ämne föddes här (foto nr 3).
Även om själva kretsen är ganska enkel och inte orsakar monteringssvårigheter, men den kräver också respekt. Därför skulle det vara trevligt att skapa ett tryckt kretskort för det. Efter några manipulationer med programmet SprintLayout, textolit, borr och järn, ett sådant ämne föddes här (foto nr 3).
Foto nr 3 - kretskort för programmerare
Ladda ner PCB-källa för programmet SprintLayout Du kan följa den här länken:
Om så önskas kan du ändra den till din typ av PIC-styrenhet. För de som bestämde sig för att lämna brädet oförändrat spridde jag utsikten från sidan av delarna för att underlätta installationen (figur 4).
Om så önskas kan du ändra den till din typ av PIC-styrenhet. För de som bestämde sig för att lämna brädet oförändrat spridde jag utsikten från sidan av delarna för att underlätta installationen (figur 4).
Bild 4 - Kort på monteringssidan
Lite mer trolldom med lödkolv och vi har en färdig enhet som kan blinka Pic-styrenhet genom COM-port din dator. Fortfarande varmt och inte tvättat från flödet, resultatet av mina ansträngningar visas på foto nr 5.
Från och med nu, det första steget mot firmware Pic-styrenhetkom till slut. Det andra steget kommer att inkludera att ansluta programmeraren till datorn och arbeta med programmet IC Prog.
Tyvärr kan inte alla moderna datorer och bärbara datorer arbeta med den här programmeraren på grund av den banala frånvaron på dem COM-portar, och de som installeras på bärbara datorer ger inte den nödvändiga programmeringen 12B. Så jag bestämde mig för att gå till mitt första PCsom för länge sedan dammade och väntade på sin finaste timme (och fortfarande väntade).
Så slå på datorn och installera först programmet IC Prog. Du kan ladda ner den från författarens webbplats eller på denna länk:
Vi ansluter programmeraren till COM-port och kör det nyinstallerade programmet. För korrekt användning är det nödvändigt att utföra en serie manipulationer. Till att börja med är det nödvändigt att välja vilken typ av styrenhet vi ska sy. Jag har det PIC12F675. I skärmdump nr 6 markeras fältet för att välja styrenhet med rött.
Tyvärr kan inte alla moderna datorer och bärbara datorer arbeta med den här programmeraren på grund av den banala frånvaron på dem COM-portar, och de som installeras på bärbara datorer ger inte den nödvändiga programmeringen 12B. Så jag bestämde mig för att gå till mitt första PCsom för länge sedan dammade och väntade på sin finaste timme (och fortfarande väntade).
Så slå på datorn och installera först programmet IC Prog. Du kan ladda ner den från författarens webbplats eller på denna länk:
Vi ansluter programmeraren till COM-port och kör det nyinstallerade programmet. För korrekt användning är det nödvändigt att utföra en serie manipulationer. Till att börja med är det nödvändigt att välja vilken typ av styrenhet vi ska sy. Jag har det PIC12F675. I skärmdump nr 6 markeras fältet för att välja styrenhet med rött.
Skärmdump 6 - val av mikrokontroller
Gå sedan till menyn "Inställningar "->" Alternativ", i fönstret som visas, välj fliken I2C och markera rutorna som visas på skärmdump nr 7.
Skärmdump 7 - inställning av kontrollerins inspelningsmetod
I samma fönster, gå till fliken "programmering"och välj"Programmeringskontroll". Kontrollera efter programmering kan orsaka fel, eftersom firmware i vissa fall installerar låslås CP. För att inte lura dig själv är det bättre att inaktivera den här kontrollen. Kort sagt, följ skärmdump nummer 8.
Skärmdump nr 8 - verifieringsinställning
Vi fortsätter att arbeta med det här fönstret och går till "gemensamt". Här är det nödvändigt att ställa in prioritet för programmet och se till att använda det NT / 2000 / XP drivrutin (skärmdump nummer 9). I vissa fall kan programmet föreslå installation av denna drivrutin och kan kräva en omstart IC Prog.
Skärmdump 9 - Allmänna inställningar
Så med detta fönster är arbetet över. Låt oss nu gå vidare till inställningarna för programmeraren själv. Välj i menyn "Inställningar "->" Programmeringsinställningar"eller bara trycka på knappen F3. Följande fönster visas, visas på skärmdump nr 10.
Skärmdump nr 10 - fönstret för programmeringsinställningar
Först och främst väljer du typen av programmerare - Jdm programmerare. Därefter ställer vi in radioknappen för att använda drivrutinen Windows. Nästa steg är att välja COM-portsom din programmerare är ansluten till. Om det är en, finns det inga frågor alls, och om det finns fler än en, titta i enhetshanteraren som för närvarande används. Skjutreglaget för ingång / utgång är konstruerat för att styra skriv- och läshastigheten. Detta kan behövas på snabba datorer och om det finns problem med firmware - måste denna parameter ökas. I mitt fall förblev det som standard lika med 10 och allt fungerade bra.
På denna programinställning IC Prog är över och du kan gå vidare med själva firmwareprocessen, men först läser vi data från mikrokontrollern och ser vad som skrivs in i den. För att göra detta, klicka på ikonen för mikrokretsen med en grön pil på verktygsfältet, som visas på skärmdump nr 11.
På denna programinställning IC Prog är över och du kan gå vidare med själva firmwareprocessen, men först läser vi data från mikrokontrollern och ser vad som skrivs in i den. För att göra detta, klicka på ikonen för mikrokretsen med en grön pil på verktygsfältet, som visas på skärmdump nr 11.
Skärmdump 11 - Processen att läsa information från mikrokontrollern
Om mikrokontrollern är ny och inte har blinkat tidigare, kommer alla dess minneceller att fyllas med värden 3FFFutom den allra sista. Det kommer att innehålla värdet på kalibreringskonstanten. Detta är ett mycket viktigt och unikt värde för varje styrenhet. Klockans noggrannhet beror på den, som väljs av tillverkaren genom att välja och installera denna konstant. Skärmdump nr 12 visar minnecellen där konstanten kommer att lagras vid läsning av styrenheten.
Skärmdump 12 - värdet på kalibreringskonstanten
Jag upprepar att värdet är unikt för varje mikrokrets och inte behöver sammanfalla med vad som visas i figuren. Många av erfarenhet skriver över denna konstant och därefter Pic-styrenhet börjar fungera fel om projektet använder klockning från en intern generator. Jag råder dig att skriva ner denna konstant och fästa inskriptionen med dess värde direkt på styrenheten. På detta sätt kommer du att undvika mycket problem i framtiden. Så värdet skrivs ned - vi fortsätter. Öppna firmwarefilen, som vanligtvis har en förlängning .hex. Nu istället för att skriva 3FFF, programmeringsbufferten innehåller koden för vårt program (skärmdump 13).
Skärmdump 13 - firmware nedladdad till programmeringsbufferten
Jag skrev ovan att många skriver över kalibreringskonstanten av vårdslöshet. När händer detta? Detta händer när firmwarefilen öppnas. Värdet på konstanten ändras automatiskt till 3FFF och om du startar programmeringsprocessen är det ingen återvändning. I skärmdump nr 14, den minnecellen där konstanten tidigare var 3450 (innan du öppnar hex-fil).
Skärmdump nr 14 - automatisk ändring av kalibreringskonstanten
Nu måste du följa stegen nedan noggrant. Vi klickar på ikonen för mikrokretsen med blixt i verktygsfältet och informerar därmed programmet om att vi vill initiera firmwareprocessen. Programmet frågar om vi är säkra på att vi vill blixta den här enheten. Vi accepterar och klickar på "JA". Därefter får vi varningen som visas i skärmdump # 15.
Skärmdump nr 15 - varning om avvikelse i klockkonstantens värden
IC Prog berättar för oss att ett värde på kalibreringskonstanten (i mitt fall 3450) och nu en annan (3FFF) ersätts automatiskt från hex-fil. Det föreslås också att lämna standardvärdet 3FFF. Det är viktigt att klicka på "NEJ"att IC Prog under programmering gav vi värdet 3450 eller vad som kommer att vara med dig. Klicka i allmänhet på "NEJ"och observera följande fönster (skärmdump 16).
Skärmdump 16 - programmeringsprocess
Under denna period rekommenderar jag att du inte trycker på något eller laddar datorn med andra uppgifter. När jag tog en skärmdump för den här artikeln, när jag klickade på knappen Skriv ut skärmen ett skrivfel inträffade och jag var tvungen att göra det igen. Efter en tid IC Prog ger dig ett meddelande om den framgångsrika verifieringen av den nyligen skrivna koden i din Pic-styrenhet, så alla som gillade den här artikeln, jag vill se den efter liknande ansträngningar (skärmdump nr 17):
Skärmdump nr 17 - firmware var framgångsrik, du kan koppla av
Om du har några frågor i processen, läs artikeln noggrant igen och allt kommer säkert att fungera - kontrolleras personligen. Lycka till alla och kreativ framgång !!!