1. KÉPPROGRAMOZÓ

Remélem, hogy cikkem segít néhány rádióamatőrnek átlépni a küszöböt a digitális technológiától a mikrokontrollerig. Nagyon sok programozó van az interneten és a rádióamatőr magazinokban: a legegyszerűbbtől a nagyon csavarosig. Az enyém nem túl bonyolult, de megbízható.

A programozó első verziója 18 és 28 "tűs" PIC vezérlők programozására szolgál. A programozó a 10. számú Rádió magazin 2007. évi diagramja alapján készült. A C7 kondenzátor kiválasztása, az ICprog, PonyProg, WinPic különböző verzióival és az írási-olvasási sebességekkel végzett kísérletezés azonban nem hozta meg a kívánt eredményt: minden második alkalommal sikeres programozást sikerült elérni. És ez addig ment, amíg a programozható mikroáramkör + 5V-os tápegysége külön nem készült, és nem a 12 voltos stabilizátor után. Kiderült egy ilyen séma.

A kudarcoktól tartva úgy rajzoltam meg a pecsétet, hogy a tábla közvetlenül a Com-portba került, ami a mindenféle "fűzés" és a háztól való kis távolság miatt nem túl egyszerű. Kiderült, hogy szabálytalan alakú pecsét, de rendesen bekerül a COM portba és hiba nélkül programoz.

Idővel készítettem egy kb 1 méter hosszú hosszabbítót. Most a programozó a monitor mellett fekszik, és csatlakozik a COM porthoz. Jól működik: A PIC16F84A, PIC16F628A, PIC16F873A mikrokontrollereket sokszor programozták.

Figyelem: a Max chip és a LED-ek a nyomtatott vezetékek oldalára vannak felszerelve. Aljzatok - ZIF-28, az egyik 18 tűs PIC-hez használható. A paneleken az első lábak és a „18” és „28” számok találhatók. Egy 220-as 15 voltos, 4 wattos transzformátor van beszerelve az adapter csatlakozó házába. A mikrokontroller aljzatba való beszerelése után dugja be a konnektorba. NPN tranzisztorok kis teljesítményű nagyfrekvenciás (300 MHz) a to-92 csomagban.

Átmenetileg nem szereltem fel az XP csatlakozót, aztán kiderült, hogy nincs is rá különösebben szükség. A forrasztott MK-t valahogy programozni kellett, így közvetlenül a ZIF-be illesztettem a vezetékeket, és megjavítottam. Az újraprogramozás sikeres volt.

ICprog és WinPic-800 programokkal dolgozom.

IC-prog 1.05D-ben következő beállításokat programozó:

  • Programozó – JDM programozó
  • Port -Com1
  • Közvetlen hozzáférés a portokhoz.
  • Invert: bemenet, kimenet és óra (pipa).

A WinPic-800 –v.3.64f-ben minden azonos, de még mindig be kell állítani a „madarat” az MCLR használatához.

Az internetről ingyenesen és ingyenesen letöltheti ezeket a programokat. De hogy megkönnyítsem az életet, megpróbálok minden szükséges dolgot csatolni. Csak eszembe jutott: mennyi „haszontalan dolgot” töltöttem le magam az internetről, és mennyi időt töltöttem mindezek szétszedésével.

  • PCB programozó
  • WinPic-800 program ( )
  • IC-Prog() program
  • Cikk az IC-Prog.

2. PROGRAMOZÓ-2 KÉPVEZÉRLŐKHEZ

Idővel szükségessé vált 14 és 40 "tűs" csúcs programozása. Úgy döntöttem, készítek egy programozót a teljes átlagos PIC-családhoz. A séma ugyanaz, csak két panelt adtak hozzá. Mindez egy volt multiméter tokjában van elhelyezve.

2014. február 13-án korrekció történt a nyomtatott áramköri lapon: az RS232 csatlakozó 5. érintkezőjétől a mínusz tápra (az előzőn pedig a MAX mikroáramkör 6. érintkezőjére) kerül a pálya. Új aláírás a "programer2-2"-ben.

Megtakaríthat egy KREN-ku-t. Azok. csatlakoztassa a teljes áramkört egy 5 voltos stabilizátorról. Ne telepítse a VR3-at és a C9-et, hanem tegyen egy jumpert (az ábrán pontozott vonal jelzi). De Krenkát még nem ittam. Ismételten programozott PIC16F676, 628A, 84A és 873A. De még nem próbáltam a 877-et.

Néhány kondenzátor a nyomtatott vezetékek oldalára van felszerelve. A tekercsek vízszintes helyzetben vannak. A vezetékek lefektetésének elkerülése érdekében C7 - 2db és R12 - 3db-ot szereltem fel.

Nagyon fontos: az RS232 csatlakozó házát a mínusz tápra kell csatlakoztatni.

A tápellátás (15 V) és a programok ugyanazok, mint az első változatban.

A rádióelemek listája

Kijelölés Típusú Megnevezés Mennyiség jegyzetPontszámA jegyzettömböm
1. séma
DD1 RS-232 interfész IC

MAX232E

1 MAX232 CPE Jegyzettömbhöz
VT1-VT4 bipoláris tranzisztor

2N3904

4 TO-92 Jegyzettömbhöz
VDS1 Dióda híd

DB157

1 Jegyzettömbhöz
VD1 egyenirányító dióda

1N4148

1 Jegyzettömbhöz
VR1, VR3 Lineáris szabályozó

L7805AB

1 Jegyzettömbhöz
VR2 Lineáris szabályozó

KA78R12C

1 Jegyzettömbhöz
C1 470uF 35V1 Jegyzettömbhöz
C2, C3, C5, C6 elektrolit kondenzátor10uF 50V4 Jegyzettömbhöz
C4, C8 elektrolit kondenzátor470uF 16V2 Jegyzettömbhöz
C7 elektrolit kondenzátor1uF 25V1 Jegyzettömbhöz
C11 Kondenzátor0,1 mF1 Jegyzettömbhöz
R1, R7 Ellenállás

10 kOhm

2 Jegyzettömbhöz
R2 Ellenállás

470 ohm

1 Jegyzettömbhöz
R3, R5, R11 Ellenállás

4,7 kOhm

3 Jegyzettömbhöz
R4, R10 Ellenállás

2 kOhm

2 Jegyzettömbhöz
R6, R8, R9 Ellenállás

1 kOhm

3 Jegyzettömbhöz
R12 Ellenállás

240 ohm

1 Jegyzettömbhöz
HL1 Fénykibocsátó dióda 1 Piros Jegyzettömbhöz
HL2 Fénykibocsátó dióda 1 Zöld Jegyzettömbhöz
2. séma
DD1 RS-232 interfész IC

MAX232E

1 MAX232 CPE Jegyzettömbhöz
VT1-VT4 bipoláris tranzisztor

2N3904

4 TO-92 Jegyzettömbhöz
VDS1 Dióda híd

DB157

1 Jegyzettömbhöz
VD1 egyenirányító dióda

1N4148

1 Jegyzettömbhöz
VR1, VR3 Lineáris szabályozó

L7805AB

2 Jegyzettömbhöz
VR2 Lineáris szabályozó

KA78R12C

1 Jegyzettömbhöz
C1, C2, C4, C5 Kondenzátor10uF 50V4 Jegyzettömbhöz
C3 elektrolit kondenzátor470uF 35V1 Jegyzettömbhöz
C6, C9 elektrolit kondenzátor470uF 16V2 Jegyzettömbhöz
C7.1-C7.3 Kondenzátor0,1 uF3

Egyszer elhatároztam, hogy pic16f628a-ra szerelek össze egy egyszerű LC mérőt és persze valamivel villogni kellett. Régebben volt számítógépem fizikai com porttal, de most már csak usb és pci-lpt-2com kártya áll rendelkezésemre. Először összeállítottam egy egyszerű JDM programozót, de mint kiderült, nem akart működni sem a pci-lpt-com kártyával, sem az usb-com adapterrel (RS-232 jelek alacsony feszültsége). Aztán rohantam usb pic programozókat keresni, de ott, mint kiderült, minden a drága pic18f2550 / 4550 használatára korlátozódott, ami természetesen nem volt nálam, és kár ilyen drága MK-kat használni, ha nagyon ritkán. valami csúcson (én jobban szeretem az Avr-eket, nem probléma flashelni, sokkal olcsóbbak, és nekem úgy tűnik, hogy egyszerűbb programokat írni rájuk). Miután hosszú ideig áskálódott az interneten az EXTRA-PIC programozóról és annak különféle lehetőségeiről szóló cikkek egyikében, az egyik szerző azt írta, hogy az extrapic bármilyen com porttal működik, sőt usb-com adapterrel is.

Ennek a programozónak a sémája max232 logikai szintű konvertert használ.

Gondoltam, ha használnám usb adapter, akkor nagyon hülyeség lenne kétszer usb-szinteket konvertálni usart TTL-re, TTL-t RS232-re, RS232-t vissza TTL-re, ha csak az RS232 port TTL jeleit tudod venni az usb-usart átalakító chipről.

És így is tett. Fogtam a CH340G chipet (aminek mind a 8 com-port jele van) és max232 helyett rákötöttem. És ez történt.

Az én áramkörömben van egy jp1 jumper, ami nincs az extra csúcsban, azért tettem fel, mert nem tudtam, hogy a TX kimenet hogyan fog viselkedni TTL szinten, ezért lehetővé tettem a megmaradt szabad NAND elemen az invertálást. és nem veszett el, mint kiderült, direkt a TX láb egy logikus, és ezért a VPP lábon 12 volt van bekapcsolva, és programozás közben nem történik semmi (bár programozottan meg lehet invertálni a TX-et).

A tábla összeszerelése után itt az ideje a tesztelésnek. És akkor jött a fő csalódás. A programozót azonnal elhatározták (az ic-prog programmal) és meg is keresték, de nagyon lassan! Alapvetően ez várható. Aztán a com port beállításainál beállítottam csúcssebesség(128 kilobaud) elkezdte tesztelni az összes talált programot a JDM számára. Ennek eredményeként a PicPgm bizonyult a leggyorsabbnak. A pic16f628a-m teljesen fel volt villantva (hex, eeprom és konfig), plusz ellenőrzés valahol 4-6 perc körül (ráadásul az olvasás lassabb, mint az írás). Az IcProg is működik, de lassabban. Programozási hiba nem volt. Próbáltam az eeprom 24c08-at is villogni, az eredmény ugyanaz - minden varr, de nagyon lassan.

Következtetések: a programozó meglehetősen egyszerű, nincsenek benne drága alkatrészek (CH340 - 0,3-0,5 $, a k1533la3 megtalálható a rádiós ócska között), bármilyen számítógépen, laptopon működik (és akár Windows 8/10 tablettát is használhatunk). Hátrányok: Nagyon lassú. Ő is megköveteli külső teljesítmény a VPP jelhez. Ennek eredményeként, ahogy nekem úgy tűnt, a csúcsok ritkán villogása esetén ez egy könnyen megismételhető és olcsó lehetőség azok számára, akiknek nincs kéznél régi számítógépük a szükséges portokkal.

Itt egy kép a kész készülékről:

Ahogy a dal mondja: "Elvakítottam attól, ami volt." Az alkatrészkészlet a legváltozatosabb: smd és DIP is.

Aki meg meri ismételni a sémát, annak szinte bármelyik (ft232, pl2303, cp2101 stb.) megfelel usb-uart konverternek, a k1533la3 helyett a k555 megfelel, szerintem akár a k155 sorozat ill. külföldi analóg A 74als00 valószínűleg még olyan logikai NEM elemekkel is működik, mint a k1533ln1. Mellékelem a nyomtatott áramköri lapomat, de ott a vezetékezést a rendelkezésre álló elemekhez mindenki átrajzolhatja magának.

A rádióelemek listája

Kijelölés Típusú Megnevezés Mennyiség jegyzetPontszámA jegyzettömböm
IC1 ForgácsCH340G1 Jegyzettömbhöz
IC2 ForgácsK1533LA31 Jegyzettömbhöz
VR1 Lineáris szabályozó

LM7812

1 Jegyzettömbhöz
VR2 Lineáris szabályozó

LM7805

1 Jegyzettömbhöz
VT1 bipoláris tranzisztor

KT502E

1 Jegyzettömbhöz
VT2 bipoláris tranzisztor

KT3102E

1 Jegyzettömbhöz
VD1-VD3 egyenirányító dióda

1N4148

2 Jegyzettömbhöz
C1, C2, C5-C7 Kondenzátor100 nF5 Jegyzettömbhöz
C3, C4 Kondenzátor22 pF2 Jegyzettömbhöz
HL1-HL4 Fénykibocsátó diódaBármi4 Jegyzettömbhöz
R1, R3, R4 Ellenállás

1 kOhm

3

Szóval itt az ideje, hogy tanulmányozzuk a mikrokontrollereket, majd programozzuk őket, és olyan eszközöket is szerettem volna összeszerelni rájuk, amelyek áramkörei most az interneten vannak, nos, csak a tenger. Nos, találtunk egy áramkört, vettünk egy vezérlőt, letöltöttük a firmware-t .... és mivel kell villogni??? És itt felmerül a kérdés egy rádióamatőr számára, aki elkezdi elsajátítani a mikrokontrollereket - a programozó választása! Szeretném megtalálni a legjobb megoldást a sokoldalúság - az áramkör egyszerűsége - a megbízhatóság szempontjából. A "márkás" programozókat és analógjaikat azonnal kizárták egy meglehetősen bonyolult áramkör miatt, amely ugyanazokat a mikrokontrollereket tartalmazza, amelyeket programozni kell. Vagyis kiderül egy "ördögi kör": ahhoz, hogy programozót készítsünk, programozóra van szükség. Megkezdődött tehát a keresés és a kísérletezés! Kezdetben a PIC JDM-re esett a választás. Ez a programozó a com portról működik, és onnan táplálja. Ki lett próbálva ezt a lehetőséget, magabiztosan programozott 10-ből 4 vezérlőt, külön táppal, javult a helyzet, de nem sokat, néhány gépen egyáltalán nem volt hajlandó semmit sem tenni, és nem nyújt védelmet a "hülyék" ellen. Ezután a Pony-Prog programozót tanulmányozták. Elvileg majdnem ugyanaz mint a JDM.A Pony-prog programozó nagyon egyszerű áramkör, számítógépes kommunikációs portról táplálva, amellyel kapcsolatban a fórumokon, az interneten nagyon gyakran felmerülnek kérdések az egyik vagy másik mikrovezérlő programozása során fellépő hibákkal kapcsolatban. Ennek eredményeként az "Extra-PIC" modellre esett a választás. Megnéztem a diagramot - nagyon egyszerű, hozzáértően! A bemeneten egy MAX 232 található, amely az RS-232 soros port jeleit olyan jelekké alakítja, amelyek alkalmasak digitális áramkörök TTL vagy CMOS szintekkel nem terheli túl árammal a számítógép COM portját, mivel RS232 működési szabványt használ, nem jelent veszélyt a COM portra.Itt az első plusz!
Bármilyen COM-porttal működik, mind a szabványos (±12v; ±10v), mind a nem szabványos COM-portokkal a modern laptopok egyes modelljei alacsony feszültségű jelvezetékekkel, ±5 V-ig - egy másik plusz! Az IC-PROG, PonyProg, WinPic 800 (WinPic800) és mások közös programjai által támogatott - a harmadik plusz!
És mindezt a saját áramforrása hajtja!
Úgy döntöttek – gyűjtenünk kell! Tehát a Radio 2007 No. 8 magazinban megtalálták ennek a programozónak a módosított változatát. Lehetővé tette a mikrokontrollerek programozását két módban.
A PICmicro mikrokontrollereket kétféleképpen lehet programozási módba kapcsolni:
1. Bekapcsolt Vcc tápfeszültség mellett emelje meg a Vpp feszültséget (az -MCLR érintkezőn) nulláról 12 V-ra.
2. Kikapcsolt Vcc mellett emelje a Vpp-t nulláról 12V-ra, majd kapcsolja be a Vcc-t
Az első mód elsősorban a korai fejlesztésű eszközökhöz való, korlátozásokat szab az -MCLR láb konfigurációjára, amely ebben az esetben csak a kezdeti beállítási jel bemeneteként szolgálhat, és sok mikrokontrollerben van lehetőség ennek a tűnek a forgatására. az egyik port szabályos vonalába. Ez a programozó másik előnye. A diagramja az alábbiakban látható:

Nagyobb
Mindent egy kenyérlapra szereltek és teszteltek. Minden rendben és stabilan működik, hibát nem észleltek!
Ennek a programozónak pecsétet rajzoltak.
depositfiles.com/files/mk49uejin
minden nyitott tokban volt összeszerelve, melynek fotója lent látható.




Az összekötő kábel egy nyolceres kábel szegmensétől és szabványos Komovsky csatlakozóktól függetlenül készült, itt nem működnek zéró modem csatlakozók, azonnal figyelmeztetem! A kábel összeszerelését óvatosan kell elvégezni, azonnal megszabaduljon a fejfájástól a jövőben. A kábel hossza nem haladhatja meg a másfél métert.
Kábel fotó


Tehát a programozó össze van szerelve, a kábel is, ideje ellenőrizni ezt a gazdaságosságot a működőképesség szempontjából, megkeresni a hibákat és hibákat.
Először telepítse az IC-prog programot, amely letölthető a fejlesztő www.ic-prog.com weboldaláról, és csomagolja ki a programot egy külön könyvtárba. Az eredményül kapott könyvtárnak három fájlt kell tartalmaznia:
icprog.exe - programozó shell fájl.
icprog.sys - illesztőprogram szükséges a Windows NT, 2000, XP alatti működéshez. Ennek a fájlnak mindig a programkönyvtárban kell lennie.
icprog.chm - Súgófájl.
Telepítve, most konfigurálni kellene.
Ezért:
1. (Csak Windows XP esetén): Jobb klikk kattintson az icprog.exe fájlra. Tulajdonságok >> Kompatibilitás lap >> Jelölje be a "Program futtatása kompatibilitási módban" melletti négyzetet: >> válassza a "Windows 2000" lehetőséget.
2. Futtassa az icprog.exe fájlt. Válassza a "Beállítások" >> "Opciók" >> "Nyelv" fület >> állítsa a nyelvet "orosz"-ra, majd kattintson az "Ok" gombra.
Egyetért azzal a kijelentéssel, hogy "Most újra kell indítania az IC-Progot" (kattintson az "OK" gombra). A programozó shell újraindul.
Beállítások" >> "Programozó

1.Ellenőrizze a beállításokat, válassza ki a használt COM-portot, majd kattintson az "Ok" gombra.
2. Következő, „Beállítások” >> „Opciók” >> válassza az „Általános” lapot >> jelölje be a „Be” jelölőnégyzetet. NT/2000/XP illesztőprogram >> Kattintson az "Ok" >> gombra, ha az illesztőprogram korábban nem volt telepítve a rendszerére, a megjelenő "Confirm" ablakban kattintson az "Ok" gombra. Az illesztőprogram települ, és a programozóhéj újraindul.
Jegyzet:
Nagyon gyors számítógépek esetén szükség lehet az I/O késleltetés beállításának növelésére. Ennek a paraméternek a növelése növeli a programozás megbízhatóságát, ugyanakkor megnő a mikroáramkör programozására fordított idő is.
3. "Beállítások" >> "Opciók" >> válassza az "I2C" fület >> jelölje be az "MCLR engedélyezése VCC-ként" és a "Blokkfelvétel engedélyezése" négyzeteket. Kattintson az "Ok" gombra.
4. "Beállítások" >> "Opciók" >> válassza ki a "Programozás" fület >> törölje a pipát a "Check after programing" elemből, és jelölje be az "Ellenőrzés programozás közben" jelölőnégyzetet. Kattintson az OK gombra.
Itt van beállítva!
Most a programozót a helyén szeretnénk tesztelni IC-prog-mal. És itt minden egyszerű:
Ezután az IC-PROG programban a menüben futtassa: Beállítások >> Programozói teszt

A tesztelési módszertan minden egyes elemének végrehajtása előtt ne felejtse el az összes "mezőt" az eredeti helyére állítani (az összes "pipa" nincs bejelölve), amint az a fenti ábrán látható.
1. Állítsa be a "pipát" a "Be. Data Out”, ezzel egyidejűleg az „Adatbevitel” mezőben egy „pipa”-nak kell megjelennie, és az X2 csatlakozó érintkezőjén (DATA) naplózási szintet kell beállítani. "1" (legalább +3,0 volt). Most zárja le egymás között az X2 csatlakozó érintkezőjét (DATA) és érintkezőjét (GND), miközben az „Adatbevitel” mezőben lévő jelnek el kell tűnnie, amíg az érintkezők zárva vannak.
2.A "pipa" beállításakor a "Be. Órajel ”, az X2 csatlakozó érintkezőjén (CLOCK), a naplózási szintet be kell állítani. "egy". (nem kevesebb, mint +3,0 volt).
3.A "pipa" beállításakor a "Be. Reset (MCLR) ”, az X3 csatlakozó érintkezőjén (VPP) a szintet +13,0 ... +14,0 V-ra kell állítani, és a D4 LED-nek (általában piros) világítania kell. Ha az üzemmódkapcsoló be van állítva az 1. pozícióba a HL3 LED világítani kezd
Ha a tesztelés során valamelyik jel nem megy át, gondosan ellenőrizze a jel teljes útját, beleértve a számítógép COM-portjához csatlakozó kábelt is.
Az EXTRAPIC programozó adatcsatornájának tesztelése:
1. A DA1 chip 13 kimenete: feszültség -5 és -12 volt között. A "tick" beállításakor: +5 és +12 volt között.
2. A Da1 chip 12 kimenete: feszültség +5 volt. A négyzet bejelölésekor: 0 volt.
3. 6 kimeneti chip DD1: feszültség 0 volt. A "pipa" beállításakor: +5 volt.
3. 1 és 2 kimeneti chip DD1: feszültség 0 volt. A "pipa" beállításakor: +5 volt.
4. 3 kimeneti chip DD1: feszültség +5 volt. A négyzet bejelölésekor: 0 volt.
5. A DA1 chip 14 kimenete: feszültség -5 és -12 volt között. A "tick" beállításakor: +5 és +12 volt között.
Ha minden tesztelés sikeres volt, akkor a programozó készen áll a működésre.
A mikrokontroller programozóhoz való csatlakoztatásához használhat megfelelő aljzatokat, vagy készíthet ZIF-aljzaton alapuló adaptert (nulla nyomóerővel), például itt: radiokot.ru/circuit/digital/pcmod/18/.
Most néhány szó az ICSP - In-Circuit Programming -ról
PIC vezérlők.
Ha az ICSP-t az eszközkártyán használja, biztosítani kell a programozó csatlakoztatásának lehetőségét. ICSP használatával történő programozáskor 5 jelvonalat kell csatlakoztatni a programozóhoz:
1. GND (VSS) - közös vezeték.
2. VDD (VCC) - plusz tápfeszültség
3. MCLR" (VPP) - mikrokontroller reset bemenet / programozási feszültség bemenet
4. RB7 (DATA) - kétirányú adatbusz programozási módban
5. RB6 (CLOCK) Órabemenet programozási módban
A mikrokontroller fennmaradó érintkezőit nem használja az áramkörön belüli programozási módban.
Lehetőség az ICSP és a PIC16F84 mikrokontroller csatlakoztatására DIP18 csomagban:

1. Az MCLR vonalat a J2 jumper választja le az eszközáramkörről, amely áramkörön belüli programozási (ICSP) módban nyílik, és az MCLR kimenetet a programozó kizárólagos vezérlésére adja át.
2. A VDD vonalat ICSP programozási módban a J1 jumper leválasztja az eszköz áramköréről. Ez azért szükséges, hogy elkerüljük az eszköz áramkörének áramfelvételét a VDD vonalról.
3. Az RB7 vonalat (kétirányú adatbusz programozási módban) áram leválasztja a legalább 1 kOhm névleges értékű R1 ellenállású eszközáramkörtől. Ebben a tekintetben a vezeték által biztosított maximális befolyó/leeresztő áramot az R1 ellenállás korlátozza. Ha maximális áramot kell biztosítani, akkor az R1 ellenállást (mint a VDD esetében) áthidalóra kell cserélni.
4. Az RB6 vonalat (PIC szinkronizációs bemenet programozási módban), valamint az RB7-et áramkörben leválasztja a készülék áramkörétől az R2 ellenállás, amelynek névleges értéke legalább 1 kOhm. Ezért az ezen vezeték által biztosított maximális süllyedő/süllyesztőáramot az R2 ellenállás korlátozza. Ha maximális áramot kell biztosítani, akkor az R2 ellenállást (mint a VDD esetében) áthidalóra kell cserélni.
A PIC vezérlők ICSP érintkezőinek helye:


Ez a diagram csak tájékoztató jellegű, jobb, ha tisztázza a programozási következtetéseket a mikrokontroller adatlapjából.
Most vegye figyelembe a mikrokontroller firmware-jét az IC-prog programban. Megvizsgáljuk az építési példát innen: rgb73.mylivepage.ru/wiki/1952/579
Itt van a készülék diagramja


itt a firmware
A PIC12F629 vezérlő villogása. Ez a mikrokontroller az osccal állandót használja a munkájához - ez az MK belső oszcillátorának hexadecimális kalibrációs értéke, amellyel az MK jelenti a programjai végrehajtása során az időt, amelyet az utolsó csúcs adatcellában rögzít. Ezt a mikrokontrollert csatlakoztatjuk a programozóhoz.
Az alábbi képernyőképen piros számokkal látható az IC-prog program műveleteinek sorrendje.


1. Válassza ki a mikrokontroller típusát
2. Nyomja meg a "Chip olvasása" gombot
A Code ablakban az utolsó cella lesz a for állandónk ezt a vezérlőt. Minden vezérlőnek megvan a saját állandója ! Ne töröld le, írd le egy papírra és ragaszd a chipre!
Tovább megyünk


3. Nyomja meg a "Fájl megnyitása..." gombot, válassza ki firmware-ünket. Az ablakban programkód firmware kód jelenik meg.
4. Lemegyünk a kód végére, jobb gombbal kattintunk az utolsó cellára, és a menüben kiválasztjuk a "terület szerkesztése" menüpontot, a "Hexadecimális" mezőbe írjuk be a felírt konstans értékét, majd kattintsunk az "OK" gombra. .
5. Kattintson a "chip programozása" gombra.
A programozási folyamat elindul, ha minden jól ment, a program megjelenít egy megfelelő értesítést.
Kivesszük a chipet a programozóból és behelyezzük az összeállított elrendezésbe. Bekapcsoljuk az áramot. Megnyomjuk a start gombot Hurrá működik! Itt egy videó a villogó működéséről
video.mail.ru/mail/vanek_rabota/_myvideo/1.html
Sikerült megoldani. De mi van, ha van egy fájlunk forráskód asm assemblerben, de kell egy hex firmware fájl? Itt egy fordítóprogramra van szükség. és ez az Mplab, ebben a programban firmware-t írhat és fordíthat is. Itt van a fordító ablak


Telepítse az MPlab-t
Az MPASMWIN.exe programot a telepített Mplabban találjuk, amely általában a - Microchip - MPASM Suite - MPASMWIN.exe mappában található.
Indítsuk el. A (4) Tallózás ablakban megtaláljuk az (1) .asm forráskódunkat, a (5) Processzor ablakban kiválasztjuk a mikrokontrollerünket, kattintsunk az Assemble gombra és a firmware ugyanabban a mappában jelenik meg, ahol a forráskódot megadta. azt!
Remélem, ez a cikk segít a kezdőknek a PIC vezérlők elsajátításában! Sok szerencsét!

Történt ugyanis, hogy a mikrokontrollerekkel való ismerkedésemet az AVR-rel kezdtem. PIC mikrokontrollerek egyelőre, egyelőre - megkerülve. De ennek ellenére egyedi, érdekesen megismételhető dizájnjaik is vannak! De ezeket a mikrokontrollereket is flashelni kell. Ezt a cikket elsősorban magamnak írom. Annak érdekében, hogy ne felejtsük el a technológiát, hogyan lehet PIC mikrokontrollert probléma és értelmetlen időveszteség nélkül flashelni.

PIC mikrokontrollerek vagy egyszerű JDM programozó programozása

Az első áramkörnél - sokáig és keményen próbáltam PIC programozót készíteni az interneten található áramkörök szerint - nem történt semmi. Kár, de egy barátomhoz kellett fordulnom, hogy felvillantsam az MK-t. De nem ez a lényeg – állandóan az ismerősök körül rohangászni! Ugyanez a barát egy egyszerű sémát is javasolt, amely a COM-portról működik. De még amikor összeraktam, akkor sem működött. Végül is nem elég összeállítani egy programozót - be kell állítania egy programot is, amelyet villogni fogunk. És pontosan ez az, amit nem kaptam meg. Utasítások egész felhője az interneten, és ezek közül néhány segített nekem ...

Aztán sikerült flashelni egy mikrokontrollert. De mivel erős időhiány miatt villogtam, nem jutott eszembe, hogy legalább egy linket elmentsek az utasításhoz. És végül is nem találtam meg később. Ezért ismétlem - azért írok egy cikket, hogy saját utasításaim legyenek.

Szóval, egy programozó PIC mikrokontrollerekhez. Egyszerű, bár nem 5 vezetékes AVR mikrokontrollerek amit ma is használok. Íme a diagram:

Itt nyomtatott áramkör ().

A COM csatlakozó csapokkal van forrasztva közvetlenül a padokhoz (a lényeg, hogy ne keverjük össze a számozással). A második csapsor kis jumperekkel csatlakozik a táblához (nagyon értetlenül mondtam, igen). Megpróbálok fotót adni... bár ijesztő (most nincs rendes fényképezőgépem).
A leggonoszabb dolog az, hogy a PIC mikrokontrollerekhez 12 volt szükséges a firmware-hez. És jobb, ha nem 12, hanem egy kicsit több. Mondjuk 13. Vagy 13,5 (egyébként szakértők - javítsatok ki kommentben, ha tévedek. Kérem.). 12 voltot még lehet kapni valahol. Hol van a 13? Most jöttem ki a helyzetből - vettem egy frissen feltöltött lítium-polimer akkumulátort, amiben 12,6 volt volt. Nos, vagy akár négycellás akku, a maga 16 voltával (egy PIC-et így villantottam - semmi gond).

De megint elkanyarodok. Tehát - utasítások firmware PIC mikrokontrollerekhez. Megkeressük a WinPIC800 programot (sajnos az egyszerű és népszerű icprog nekem nem ment), és beállítjuk a képernyőképen látható módon.

Ezután nyissa meg a firmware fájlt, csatlakoztassa a mikrokontrollert, és villogjon.

A javasolt programozó a Radio magazin 2004. évi 2. számú kiadványán alapul, „Modern PIC16, PIC12 programozása PonyProg-on”. Ez az első programozóm, amivel otthon villogtam PIC chipeket. A programozó a JDM programozó egyszerűsített változata, az eredeti áramkörben RS-232-TTL konverter található MAX232 chip formájában, sokoldalúbb, de nem lehet „térdre” szerelni. Ennek a sémának nincs hatóanyag, nem tartalmaz szűkös alkatrészeket és nagyon egyszerű, nyomtatott áramköri lap használata nélkül is összeszerelhető.

Rizs. egy: kördiagramm programozó.

A séma leírása
A programozó sémája az ábrán látható. 1. A CLK (órajel), DATA (információ), Upp (programozási feszültség) áramkörök ellenállásai az átfolyó áram korlátozására szolgálnak. PIC vezérlők A beépített zener diódák védik a leállástól, így a TTL és az RS-232 logika némileg kompatibilis. A bemutatott áramkörben VD1, VD2 diódák találhatók, amelyek „elveszik” a pozitív feszültséget COM port az 5-ös érintkezőhöz képest, és átvisszük a vezérlő tápegységére, ami miatt bizonyos esetekben meg lehet szabadulni egy további áramforrástól.

Létrehozás
A gyakorlatban nem mindig fordul elő, hogy ez a programozó beállítás nélkül, az 1. alkalomtól fogva fog működni, mert. ennek a sémának a működése nagymértékben függ a COM port paramétereitől. Azonban van, két anyai Gigabyte táblák 8IPE1000 és WinFast XP alatt minden azonnal működött. Ha túl lusta egy nem működő, bonyolultabb programozói áramkörrel foglalkozni, akkor próbálja meg ezt összeállítani. Íme néhány dolog, ami hatással lehet:

Az újabb szőnyeg. tábla, a fejlesztők kevesebb figyelmet fordítanak ezekre a portokra, mert ezek a portok már régen elavultak. Ettől megszabadulhat USB-COM adapter vásárlásával, bár ismételten előfordulhat, hogy a vásárolt eszköz nem megfelelő. A szükséges paraméterek a következők: változó feszültség legalább -10V-ról +10V-ra kell változnia (log. 0 és 1) a csatlakozó 5. érintkezőjéhez képest. A kimenő áramnak legalább olyannak kell lennie, hogy ha az 5. érintkező és a vizsgált tű közé 2,7 kΩ-os ellenállást kötünk, a feszültség ne csökkenjen 10 V alá (magam nem láttam ilyen táblát). Ezenkívül a portnak helyesen kell meghatároznia a vezérlőtől érkező feszültségeket, 0 V-hoz közeli, de legfeljebb 2 V feszültségszinten nullát érzékel, és ennek megfelelően 2 V felett egyet észlel.

A szoftverből is adódhatnak problémák.
Ez különösen igaz a LINUX operációs rendszerre, mert az emulátorok, például a wine jelenléte miatt előfordulhat, hogy a VirtualBox portok nem működnek megfelelően, és sok funkcióra van szükség tőlük. Ezeket a kérdéseket egy másik cikkben fogom részletesebben érinteni.

Ezen funkciók ismeretében kezdjük el az építést.
Ehhez nagyon kívánatos az ICProg 1.05D program.
A program menüben először ki kell választani a beállításokban ill. port (COM1. COM2), válassza ki a JDM programozót. Ezután nyissa meg a "Hardver ellenőrzése" ablakot a "Beállítások" menüben. Ebben a menüben egymás után be kell jelölnie a négyzeteket, és egy voltmérővel meg kell mérnie a feszültséget a csatlakoztatott csatlakozó érintkezőinél. Ha a feszültség paraméterei nem felelnek meg a normának, akkor sajnos ez a működésképtelenség oka lehet, akkor össze kell szerelnie egy áramkört egy RS-232 TTL átalakítóval. Az összes jelölőnégyzet bejelölése után meg kell győződnie arról, hogy a zener-diódán körülbelül 5 V tápfeszültség keletkezik. Ha a feszültségek normálisak és nincsenek telepítési hibák, akkor mindennek működnie kell. Behelyezzük a vezérlőt az aljzatba, megnyitjuk a firmware-t, programozzuk. Az olyan jelölőnégyzeteket, mint például az „Adatok kifordítása”, nem kell engedélyezni (mindegyik nincs bejelölve). Továbbá ne felejtsük el, hogy egyes vezérlőkötegek nem egészen szabványos paraméterekkel rendelkeznek, és nem is flashelhetők, ilyen esetekben ezzel a programozóval csak a megfelelő csatlakoztatásával próbálhatja meg csökkenteni a tápfeszültséget 5 V-ról 3-4 V-ra. Zener dióda, nézze meg a vezérlőt az LVP mód hibás aktiválására (alacsony feszültségű programozás), hogyan lehet megakadályozni, az interneten egy adott típusú vezérlőről olvashat. Valószínűleg a problémás vezérlő programozási feszültségét csak az áramkör bonyolításával tudja növelni egy közös emitterrel rendelkező erősítő fokozat bevezetésével, amely további áramforrásról táplálkozik.

Most többet a készülék tápellátásával kapcsolatos problémáról. A programozót ICProg programokkal és konzolos picproggal tesztelték Linux alatt, bárkivel működnie kell, aki támogatja a JDM-et, ha további áramforrást csatlakoztat (egy 1kΩ-os ellenálláson keresztül csatlakozik a zener diódához, az ellenállásos diódák ebben az esetben teljesen használhatók kizárva). A helyzet az, hogy az egyes szoftverek programozói vezérlési algoritmusai eltérőek, az ICProg program a legszerényebb. Észrevettük, hogy a Windows operációs rendszerben ez a program egy nem használt érintkezőn 2 emelkedett a megfelelő feszültség tápegység, ugyanaz a program az emulátor alatt Linux alatt egy másik szőnyegen. A tábla erre már nem volt képes, azonban a programozási feszültségről vett áramot találtak kiutat. Általánosságban elmondható, hogy az ICProg-val úgy gondolom, hogy ezt a programozót további teljesítmény nélkül használhatja. Más szoftvereknél ez valószínűleg nem garantált, például "natív" -tól Ubuntu adattárak A tápellátás nélküli picprog egyszerűen nem érzékeli a programozót, és a „JDM hardver nem található". Valószínűleg vagy kap néhány adatot a programozási feszültség alkalmazása nélkül, vagy túl gyorsan, így a szűrőkondenzátornak még nem volt ideje feltölteni.