Menü
Ingyen
Bejegyzés
itthon  /  BMW/ A legegyszerűbb JDM programozó PIC-hez passzív komponenseken. Házi készítésű programozó PIC vezérlőkhöz Egyszerű, mint egy gombóc jdm programozó

A legegyszerűbb JDM programozó PIC-hez passzív komponenseken. Házi készítésű programozó PIC vezérlőkhöz Egyszerű, mint egy lapát jdm programozó

Történt ugyanis, hogy az AVR-rel kezdtem a mikrokontrollerekkel való ismerkedésemet. Egyelőre kerültem a PIC mikrokontrollereket. Mindazonáltal egyedi tervezésűek is, amelyeket érdekes megismételni! 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 időveszteség nélkül flashelni.

PIC mikrokontrollerek vagy Simple JDM programozó programozása

Az első áramkörnél - hosszan és keményen próbáltam PIC-programozót készíteni az interneten található áramkörök segítségével - semmi nem lett belőle. Kár, de egy barátomhoz kellett fordulnom, hogy villogassam az MK-t. De nem jó ötlet állandóan a barátokkal rohangálni! Ugyanez a barát egy egyszerű áramkört ajánlott, amely COM portról működik. De még az összeszereléskor sem működött semmi. Végül is nem elég összeszerelni a programozót - testre kell szabni a programot is, amelyet a villogáshoz használunk. De pontosan ez az, amit nem tudtam megtenni. Rengeteg utasítás található az interneten, és ezek közül néhány segített nekem...

Aztán sikerült flashelni egy mikrokontrollert. De mivel komoly időkényszer alatt végeztem a varrást, nem gondoltam, hogy legalább egy hivatkozást mentsek el az utasításokhoz. És utána nem találtam meg. 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ék, mint az AVR mikrokontrollerek, amelyeket még mindig használok. Íme a diagram:

Itt van a nyomtatott áramköri lap ().

A COM-csatlakozó csapokkal közvetlenül az érintkezőfelületekre van forrasztva (a lényeg, hogy ne keverjük össze a számozással). A második csapsor kis jumperekkel csatlakozik a táblához (nagyon homályosan mondtam, igen). Megpróbálok fotót adni... bár ijesztő (most nincs rendes fényképezőgépem).
A legrosszabb 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? Egyszerűen kikerültem 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 elzavartam. Tehát - utasítások a PIC mikrokontrollerek villogásához. Megkeressük a WinPIC800 programot (sajnos az egyszerű és népszerű icprog nekem nem jött be) é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.

Sok rádióamatőr számára nem jelent problémát a kívánt áramkör gyors összeszerelése egy mikrokontrolleren. De sokan, akik elkezdenek dolgozni mikrokontrollerekkel, szembesülnek azzal a kérdéssel, hogyan kell programozni. Az egyik legegyszerűbb programozói lehetőség a JDM programozó.

Programmer ProgCode v 1.0

Ez a program WindowsXP-n fut. Lehetővé teszi a középső család (PIC16Fxxx) PIC vezérlőinek programozását a számítógép COM portján keresztül. A programozó csatlakozás jelzője (az ablak jobb felső sarkában) pirosra vált, ha a beállításokban kiválasztott porton nincs programozó. Ha a programozó csatlakoztatva van, a program észleli, és a jobb felső sarokban lévő jelző az 1. ábrán látható formát ölti.

A programablak bal oldalán található a vezérlőpult. Ez a panel kicsinyíthető az eszköztár gombjára kattintva, vagy az ablak bal szélére kattintva (ez kényelmes, ha a programablak teljes képernyőre van állítva).

Ábra (képernyőkép a ProgCode v1.0 programról)


Ha HEX fájl van betöltve a programba, akkor célszerű először a vezérlők listájában kiválasztani azt az MK-t, amelyre a betöltött firmware-t tervezték. Ha ez nem történik meg, akkor a listában kiválasztottnál nagyobb memóriával rendelkező mikrokontrollerhez tervezett fájl levágásra kerül, és a program egyes részei elvesznek - ezzel a fájl betöltésének lehetőségével figyelmeztetés jelenik meg.

Ha ez nem történik meg, akkor a fájl programba való betöltése után kiválaszthatja a kívánt vezérlőt.

SFR fájlformátum

A ProgCode programozó támogatja a saját fájlformátummal való munkát. Ezek a fájlok .SFR kiterjesztéssel rendelkeznek, és lehetővé teszik további információk tárolását a mikrokontrollerhez szánt programról. Ez a fájl információkat tárol a mikrovezérlő típusáról. Ez lehetővé teszi, hogy ne aggódjon amiatt, hogy SFR fájl betöltésekor előre kiválasztja az MK típust a beállításokban.

Port és protokoll beállítások programozó csatlakoztatásakor

A program telepítése után alapértelmezés szerint minden olyan beállítás be van állítva, amelyek szükségesek ahhoz, hogy a programozó az ezen az oldalon megadott JDM áramkörrel működjön.
A jelinverzió a fenti áramkörben csak az OutData kimenethez szükséges, mivel ebben az áramkörben a jelet az illesztő tranzisztor invertálja. Az összes többi érintkezőn az inverzió le van tiltva.



Az impulzuskésleltetés értéke 0 is lehet. Beállítása a „különösen nehéz” vezérlőpéldányok számára biztosított, amelyek nem flashelhetők. Ugyanez vonatkozik a felvételi szünetre – alapértelmezés szerint nulla. Ha növeli ezeket a beállításokat, a vezérlő programozási ideje jelentősen megnő.

A „check on write” jelölőnégyzetet be kell jelölni, ha „menet közben” kell ellenőrizni mindazt, ami a mikrokontrollerre van írva a helyesség és a forrásfájlnak való megfelelés szempontjából. Ha törli a jelölőnégyzet bejelölését, az ellenőrzés egyáltalán nem történik meg, és nem jelennek meg hibaüzenetek, még akkor sem, ha valóban léteznek ilyen hibák.
Válassza ki a port sebességét - a sebesség bármilyen lehet. Egy JDM programozó számára ennek a paraméternek nincs jelentősége.

A WindowsXP a COM-portokon keresztül továbbított információk pufferelését használja. Ezek az úgynevezett FIFO pufferek. A hibák elkerülése érdekében a JDM-en keresztüli programozás során ezt a mechanizmust le kell tiltani. Ezt a Windows Eszközkezelőben teheti meg.

Lépjen a vezérlőpultra, majd:
Adminisztráció - Számítógép-kezelés - Eszközkezelő

Ezután válassza ki azt a portot, amelyhez a JDM programozó csatlakozik (például COM1) - nézze meg a tulajdonságokat - lap port paraméterei - további. És törölje a jelet a "FIFO pufferek használata" jelölőnégyzetből.

ábra - COM port beállítása JDM programozóval való együttműködéshez



Ezt követően indítsa újra a számítógépet.


Helyi projektböngésző

A vezérlők közvetlen programozása mellett a program kényelmes böngészőt biztosít az MK-n lévő projektekhez, mind a helyi számítógépes mappákban, mind az interneten. Ez a könnyebb használat érdekében történt. A szükséges projektek gyakran különböző mappákban találhatók, és időt kell töltenie a megfelelő könyvtárba való eljutással a projekt megtekintéséhez. Itt egyszerűen hozzáadhatja a szükséges mappákat a mappák listájához, és két vagy három egérkattintással megtekinthet bármilyen projektet.

Ha duplán kattint rá a böngészőpanelen, minden fájl megnyílik magában a programban - ez vonatkozik a képekre, html fájlokra, doc-ra, rtf-re, djvu-ra (telepített bővítményekkel), pdf-re, txt-re, asm-re. A fájl böngészőben dupla kattintással is megnyitható a számítógépre telepített külső program segítségével. Ehhez a kívánt fájltípus kiterjesztését kell megadni a „Fájltársítások” listában. Ha nem adja meg a megnyitó program elérési útját, a Windows alapértelmezés szerint megnyitja a fájlt a programban (ez kényelmes a nem mindig egyértelműen megnyitott archívumok megnyitásához). Ha a listában meg van adva a nyitóprogram elérési útja, akkor a fájl a megadott programban nyílik meg. Ilyen módon kényelmesen megtekinthet olyan fájlokat, mint az SPL, LAY, DSN.

Ábra (képernyőkép a ProgCode v1.0 programböngészőről)



Így néz ki a fájltársítási beállításokat tartalmazó ablak:




Internet Project Browser

Az interneten található projektböngésző, csakúgy, mint a helyi projektböngésző, lehetővé teszi, hogy néhány kattintással gyorsan eljusson a kívánt webhelyre az interneten, megtekintse a projektet, és szükség esetén azonnal villogjon a program MK-ban.



A projektek internetes áttekintése során, ha a projekt oldalon van egy hivatkozás egy SFR kiterjesztésű fájlra (ez a ProgCode program fájlformátuma), akkor rákattintva egy ilyen fájl új fájlban nyílik meg. program fület, és azonnal készen áll a mikrokontrollerbe való villogásra.
A linkek listája a "Szerkesztés" gombbal szerkeszthető. Ezzel megnyílik egy ablak a hivatkozások listájának szerkesztéséhez:





A chip programozási folyamat leírása

A legtöbb modern IC flash memóriát tartalmaz, amely I2C vagy hasonló protokollok használatával van programozva.
Az újraírható memória megtalálható a PIC-ben, AVR-ben és más vezérlőkben, memóriachipekben, például 24Cxx és hasonlókban, különféle memóriakártyákban, például MMC-ben és SD-ben, hagyományos USB flash kártyákban, amelyek USB-csatlakozón keresztül csatlakoznak a számítógéphez.

Vegyük fontolóra az információ írását egy mikrokontroller flash memóriájába PIC 16 F 628 A

2 sor van DATA és CLOCK , amelyen keresztül továbbítjákinformáció. VonalÓRA óraimpulzusok ellátására szolgál, és a vonal ADAT információt továbbítani.

1 bit információ mikrokontrollerre való átviteléhez 0-t vagy 1-et kell beállítani (a bit értékétől függően) az adatvonalon (DATA), és feszültségesést kell létrehozni (átmenet 1-ről 0-ra) az óravonalon ( ÓRA).
Egy bit nem elég egy vezérlőhöz. Még ötöt vár, hogy ezt a 6 bites üzenetet parancsként érzékelje. A vezérlő nagyon szereti a parancsokat, és ezeknek 6 bitből kell állniuk - ilyen a PIC 16 természete.
Itt található azoknak a parancsoknak a listája és jelentése, amelyeket a PIC képes megérteni. Nincs olyan sok parancs - ennek a vezérlőnek a szókincse kicsi, de ne gondolja, hogy teljesen hülye - vannak olyan eszközök, amelyek kevesebb parancsot tartalmaznak

"LoadConfiguration" 000000 - Konfiguráció betöltése

"LoadDataForDataMemory" - 000011 - Adatok betöltése az adatmemóriába (EEPROM)
"IncrementAddress" 000110 - Növelje a PC MK címét
"ReadDataFromProgramMemory" 000100 - Adatok olvasása programmemóriából
"ReadDataFromDataMemory" 000101 - Adatok olvasása adatmemóriából (EEPROM)
"BeginProgrammingOnlyCycle" 011000 - Programozási ciklus indítása
"BulkEraseProgramMemory" 001001 - A programmemória teljes törlése
"BulkEraseDataMemory" 001011 - Az adatmemória (EEPROM) teljes törlése

A vezérlő különböző módon reagál ezekre a parancsokra. Különböző módokon a parancs kiadása után folytatnia kell a beszélgetést vele.
A teljes értékű programozási folyamat megkezdéséhez a vezérlő MCLR kimenetére 12 voltos feszültséget kell kapcsolni, majd tápfeszültséget kell rákapcsolni. Ebben a feszültségellátási sorrendben van egy bizonyos jelentés. A tápfeszültség bekapcsolása után, ha a PIC úgy van beállítva, hogy a belső RC oszcillátorról működjön, megkezdheti saját programjának végrehajtását, ami a programozás során nem megengedett, mivel a meghibásodás elkerülhetetlen.
Az MCLR előzetes 12 V-os feszültségellátása lehetővé teszi az ilyen fejlemények elkerülését.
Amikor a parancs után információt írunk az MK programok flash memóriájába

"LoadDataForProgramMemory" 000010 - Adatok betöltése a programmemóriába

el kell küldeni magát az adatot a vezérlőnek - 16 bit,
amelyek így néznek ki:

"0xxxxxxxxxxxxxxx 0."

Ebben a szóban a keresztek maguk az adatok, a széleken lévő nullák pedig keretként kerülnek elküldésre – ez a PIC 16 szabványa. Csak 14 szignifikáns bit van egy szóban ábrázolási formátum.
Az adatszó továbbítása után a PIC vár a következő parancsra.
Mivel a célunk egy szó beírása az MK programmemóriájába, a következő parancs a parancs legyen

"BeginEraseProgrammingCycle" 001000 - Programozási ciklus indítása

Miután megkapta, a vezérlő 6 milliszekundumra leválasztja a külvilágról, amire szüksége van a rögzítési folyamat befejezéséhez.

A mikrokontroller érintkezőinél lévő jeleket egy számítógép állítja elő speciális programok - programozók segítségével. COM, LPT vagy USB portok használhatók jelátvitelre. Az olyan programok, mint a PonyProg, IsProg, WinPic800, együttműködnek a JDM programozóval.


JDM programozó áramkör

Az ábrán egy nagyon egyszerű programozó áramkör látható. Bár ez az áramkör nem valósítja meg a feszültségellátási sorrend szabályozását, nagyon egyszerű, és nagyon gyorsan összeállítható egy ilyen áramkör, minimális alkatrész felhasználásával.
ábra (JDM programozó áramkör)


A programozó számítógéphez csatlakoztatásakor az egyik kérdés az, hogy hogyan biztosítható a szelektív leválasztás. A COM port károsodásának elkerülése érdekében az áramkör meghibásodása esetén. Egyes kialakítások MAX232 IC-t használnak, amely szelektív leválasztást és jelszint-illesztést biztosít. Ebben a sémában a probléma egyszerűbben oldható meg - akkumulátor használatával. A számítógépről érkező jelszintet a VD1, VD2 és VD3 zener-diódák korlátozzák. A JDM programozó áramkör egyszerűsége ellenére a legtöbb típusú PIC mikrokontroller programozható vele.

A COM6(DSR) és COM7(RTS) érintkezők közötti jumpert úgy tervezték, hogy a program megállapíthassa, hogy a programozó csatlakozik-e a számítógéphez.

A programozói kimenetek adott MK-hoz való csatlakoztatása az MK típusától függ. Gyakran több panel van felszerelve a programozó kártyára, amelyeket egy adott típusú vezérlőhöz terveztek.

A táblázat bemutatja egyes MK-típusok lábainak rendeltetését a programozás során.

A PIC16F84 és PIC16F84A MCU-k a programozásra szánt tűk azonos elrendezésével rendelkeznek.



A PIC16Fxxx sorozatú mikrokontrollerekhez a lábak hozzárendelése a ház típusától függően a legtöbb esetben szabványos, de ha kétség merül fel ezzel kapcsolatban, akkor a legmegbízhatóbb az MK egy adott példányának adatlapját ellenőrizni. A dokumentáció egy része elérhető az orosz weboldalon http://microchip.ru Az adatlapok és egyéb dokumentációk teljes gyűjteménye a PIC mikrokontroller gyártójának honlapján található: http://microchip.com

Projektek indexe

A program lehetővé teszi, hogy közvetlenül az indexoldalra lépjen, néhány kattintással megtekintse a kívánt projekt leírását, és azonnal bevillantja a programot a vezérlőbe.



Ha frissítenie kell a vezérlőt a kiválasztott firmware-rel, kattintson az SFR fájlra, például Timer_a.sfr
A program letölti a fájlt a szerverről egy új lapra.



Ezután már csak az MK-t kell behelyezni a programozói aljzatba, ha ez még nem történt meg, és kattintson az „Összes írása” gombra.
A műsort MK-ban rögzítik. Ezt követően a vezérlő bekerül a készülék kártyájába, és a készülék üzemkész.

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 átalakító található MAX232 mikroáramkör formájában, univerzálisabb, de nem lehet „térdre állni”. Ez az áramkör egyáltalán nem tartalmaz egyetlen aktív alkatrészt, nem tartalmaz szűkös alkatrészeket, és nagyon egyszerűen összeszerelhető nyomtatott áramköri kártya használata nélkül.

Rizs. 1: A programozó sematikus diagramja.

Az áramkör működésének leírása
A programozó áramkör 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 áram áramlásának korlátozására szolgálnak. A PIC vezérlőket a beépített zener diódák védik a leállástól, így van némi kompatibilitás a TTL és az RS-232 logika között. A bemutatott áramkör VD1, VD2 diódákat tartalmaz, amelyek „leveszik” a pozitív feszültséget a COM-portról az 5-ös érintkezőhöz képest, és átadják a vezérlő táplálására, aminek köszönhetően bizonyos esetekben meg lehet szabadulni egy további áramforrástól.

Felállítása
A gyakorlatban nem mindig fordul elő, hogy ez a programozó első próbálkozásra beállítás nélkül fog működni, mert... Ennek az áramkörnek a működése nagymértékben függ a COM port paramétereitől. Viszont nekem két alaplapon a Gigabyte 8IPE1000 és a WinFast XP alatt azonnal működött minden. Ha túl lusta egy törött, bonyolultabb programozói áramkörrel foglalkozni, akkor próbálja meg összeszerelni ezt. Íme néhány dolog, amely hatással lehet:

Minél újabb a 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 előfordulhat, hogy a vásárolt eszköz ismét nem megfelelő. A szükséges paraméterek a következők: a változó feszültségnek legalább -10V-ról +10V-ra kell változnia (log. 0 és 1) a csatlakozó 5. érintkezőjéhez képest. A betáplált áramerősségnek legalább olyannak kell lennie, hogy amikor az 5. érintkező és a vizsgált érintkező közé 2,7 kOhm-os ellenállást csatlakoztatunk, akkor a feszültség ne csökkenjen 10 V alá (magam nem láttam ilyen táblát). Ezenkívül a portnak megfelelően meg kell határoznia a vezérlőtől érkező feszültségeket 0 V-hoz közeli, de legfeljebb 2 V-nál, nullát kell meghatározni, és ennek megfelelően 2 V feletti feszültségnél egyet kell meghatározni.

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

Ezen funkciók ismeretében kezdjük el a beállítását.
Ehhez nagyon kívánatos az ICProg 1.05D program.
A program menüben először ki kell választani a megfelelő beállítást a beállításoknál. 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 egyenként 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 doboz ellenőrzé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. Nem szükséges engedélyezni az olyan jelölőnégyzeteket, mint az „Adatok megfordítása” (mindegyik nincs bejelölve). Ne feledje továbbá, hogy egyes vezérlőkötegek nem szabványos paraméterekkel rendelkeznek, és ilyen esetekben nem lehet villogni, ezzel a programozóval csak a tápfeszültséget 5 V-ról 3-4 V-ra lehet csökkenteni; ennek megfelelően csatlakoztatva. Zener dióda, nézd meg a vezérlőt az LVP (alacsony feszültségű programozás) mód hibás aktiválására, hogyan lehet megakadályozni, az interneten egy adott típusú vezérlőről olvashat. Valószínűleg csak az áramkör bonyolításával lehetséges a problémás vezérlő programozási feszültségének növelése egy közös emitterrel rendelkező erősítő fokozat bevezetésével, amely további áramforrásról táplálkozik.

Most beszéljünk többet az eszköz tápellátásával kapcsolatos problémáról. A programozót ICProg programokkal és konzol picproggal tesztelték Linux alatt, minden JDM-et támogatóval működnie kell, ha további tápforrást csatlakoztat (1 kOhm-os ellenálláson keresztül csatlakozik a zener diódához, az ellenállásos diódákat ebben az esetben lehet teljesen 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 megemelte a szükséges tápfeszültséget a nem használt 2-es érintkezőn, ugyanez a program az emulátor alatt Linux alatt egy másik szőnyegen. A tábla erre már nem volt képes, de a programozási feszültségről vétellel találtak kiutat. Általában úgy gondolom, hogy ezt a programozót az ICProg-val további energia nélkül is használhatja. Más szoftverekkel ez aligha garantálható, például a tápellátás nélküli Ubuntu tárolókból származó „natív” picprog egyszerűen nem érzékeli a programozót, és a „JDM hardver nem található” üzenetet jeleníti meg. 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 nincs ideje feltölteni.

Milyen első lépéseket tegyen egy rádióamatőr, ha úgy dönt, hogy egy áramkört szerel fel egy mikrokontrollerre? Természetesen szükség van egy vezérlőprogramra - „firmware”, valamint egy programozóra.

És ha nincs probléma az első ponttal - a kész „firmware-t” általában az áramkörök szerzői töltik fel, akkor a programozóval a dolgok bonyolultabbak.

A kész USB-programozók ára meglehetősen magas, és a legjobb megoldás az lenne, ha saját maga szerelné össze. Itt van a javasolt eszköz diagramja (a képek kattinthatóak).

Fő rész.

MK beépítő panel.

Az eredeti diagramot a LabKit.ru webhelyről vettük át a szerző engedélyével, amit nagyon köszönünk neki. Ez a szabadalmaztatott PICkit2 programozó úgynevezett klónja. Mivel az eszközverzió a szabadalmaztatott PICkit2 „könnyű” másolata, a szerző fejlesztését nevezte el PICkit-2 Lite, amely hangsúlyozza egy ilyen eszköz könnyű összeszerelését a kezdő rádióamatőrök számára.

Mit tehet egy programozó? A programozó segítségével flashelheti a legkönnyebben elérhető és legnépszerűbb PIC sorozatú MCU-kat (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A stb.), valamint a 24LC sorozatú EEPROM memóriachipeket. Ezenkívül a programozó USB-UART konverter módban is működhet, és rendelkezik a logikai elemző néhány funkciójával. A programozó különösen fontos funkciója néhány MCU (például PIC12F629 és PIC12F675) beépített RC generátorának kalibrációs állandójának kiszámítása.

Szükséges változtatások.

Néhány változtatás szükséges az áramkörben, hogy a PICkit-2 Lite programozó segítségével lehessen adatokat írni/törölni/olvasni a 24Cxx sorozatú EEPROM memóriachipekről.

A sémán végrehajtott változtatásoktól. Csatlakozás hozzáadva a DD1 (RA4) 6. érintkezőjétől a ZIF panel 21-es érintkezőjéhez. Az AUX érintkező kizárólag a 24LC EEPROM memóriachipekkel (24C04, 24WC08 és analógokkal) való munkavégzéshez használható. Adatokat továbbít, ezért a programozópanel diagramján az „Adatok” szóval van jelölve. A mikrokontrollerek programozása során az AUX érintkezőt általában nem használják, bár az MK-k LVP módban történő programozásánál szükség van rá.

2 kOhm-os felhúzó ellenállás is került hozzá, ami a memóriachipek SDA és Vcc érintkezői közé csatlakozik.

Mindezeket a módosításokat már elvégeztem a nyomtatott áramköri lapon, miután összeállítottam a PICkit-2 Lite-ot a szerző eredeti diagramja szerint.

A 24Cxx memóriachipeket (24C08 stb.) széles körben használják a háztartási rádióberendezésekben, és néha flashelni kell, például a CRT TV-k javításánál. 24Cxx memóriát használnak a beállítások tárolására.

Az LCD TV-k más típusú memóriát (flashmemóriát) használnak. Már beszéltem arról, hogyan lehet felvillantani egy LCD TV memóriáját. Ha valakit érdekel nézze meg.

Mivel a 24Cxx sorozatú mikroáramkörökkel kellett dolgozni, a programozót „be kellett fejeznem”. Új nyomtatott áramköri lapot nem marattam, egyszerűen a nyomtatott áramköri lapra tettem fel a szükséges elemeket. Ez történt.

A készülék magja egy mikrokontroller PIC18F2550-I/SP.

Ez az egyetlen chip a készülékben. Az MK PIC18F2550-et „villogni kell”. Ez az egyszerű művelet sokakban zavart okoz, hiszen felmerül az úgynevezett „csirke és tojás” probléma. Kicsit később elmondom, hogyan oldottam meg.

A programozó összeszereléséhez szükséges alkatrészek listája. A mobil verzióban húzza balra a táblázatot (csúsztassa balra-jobbra), hogy megtekinthesse az összes oszlopát.

Név Kijelölés Értékelés/paraméterek Márka vagy cikktípus
A programozó fő részére
Mikrokontroller DD1 8 bites mikrokontroller PIC18F2550-I/SP
Bipoláris tranzisztorok VT1, VT2, VT3 KT3102
VT4 KT361
Dióda VD1 KD522, 1N4148
Schottky dióda VD2 1N5817
LED-ek HL1, HL2 bármilyen 3 volt, pirosÉs zöld ragyogó színek
Ellenállások 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
Kondenzátorok C2 0,1 μ K10-17 (kerámia), importált analógok
C3 0,47 mikron
Elektrolit kondenzátorok C1 100uF * 6,3V K50-6, importált analógok
C4 47 uF * 16 V
Induktor (fojtó) L1 680 uH egységes típusú EC24, CECL vagy házilag
Kvarc rezonátor ZQ1 20 MHz
USB aljzat XS1 USB-BF típus
Jumper XT1 bármilyen típusú "jumper"
Mikrokontroller telepítőpanelhez (MK)
ZIF panel XS1 bármilyen 40 tűs ZIF panel
Ellenállások R1 2 kOhm MLT, MON (teljesítmény 0,125 W-tól és nagyobb), importált analógok
R2, R3, R4, R5, R6 10 kOhm

Most egy kicsit a részletekről és céljukról.

Zöld A HL1 LED kigyullad, ha a programozó áram alá van kapcsolva, és piros A HL2 LED akkor világít, amikor adatátvitel történik a számítógép és a programozó között.

Az eszköz sokoldalúságának és megbízhatóságának biztosítása érdekében XS1 típusú „B” (négyzet alakú) USB-aljzatot használnak. A számítógép A típusú USB-aljzatot használ. Ezért nem lehet összekeverni a csatlakozókábel aljzatait. Ez a megoldás is hozzájárul a készülék megbízhatóságához. Ha a kábel használhatatlanná válik, könnyen kicserélhető egy újra anélkül, hogy forrasztási vagy szerelési munkákat kellene végezni.

680 µH-s L1 induktorként jobb, ha kész induktort használunk (például EC24 vagy CECL típusokat). De ha nem talál kész terméket, saját maga is elkészítheti a fojtószelepet. Ehhez 250-300 fordulatnyi PEL-0.1 vezetéket kell egy ferritmagra feltekerni egy CW68 típusú induktorból. Érdemes megfontolni, hogy a visszacsatolásos PWM jelenléte miatt nem kell aggódni az induktivitás értékelésének pontosságáért.

A nagyfeszültségű programozás (Vpp) feszültségét +8,5 és 14 V között a kulcsszabályozó hozza létre. Tartalmazza a VT1, VD1, L1, C4, R4, R10, R11 elemeket. A PWM impulzusok a PIC18F2550 12. érintkezőjétől a VT1 bázisra kerülnek. A visszajelzést az R10, R11 osztó biztosítja.

Az áramköri elemek védelmére a programozási vonalak fordított feszültségétől, amikor USB-programozót használnak ICSP (In-Circuit Serial Programming) módban, VD2 diódát használnak. A VD2 egy Schottky dióda. Úgy kell kiválasztani, hogy a feszültségesés a P-N csomópontnál legfeljebb 0,45 volt. Ezenkívül a VD2 dióda megvédi az elemeket a fordított feszültségtől, amikor a programozót USB-UART konverziós és logikai elemző módban használják.

Ha a programozót kizárólag mikrokontrollerek programozására használja a panelen (ICSP használata nélkül), akkor teljesen eltávolíthatja a VD2 diódát (én ezt tettem), és helyette egy jumpert telepíthet.

A készülék kompaktságát az univerzális ZIF panel (Zero Insertion Force - nulla telepítési ráfordítással) biztosítja.

Ennek köszönhetően szinte bármilyen DIP-csomagba „beköthető” egy mikrokontroller.

A "Mikrovezérlő (MK) telepítési panel" diagram azt mutatja, hogy a különböző házzal rendelkező mikrovezérlőket hogyan kell a panelbe telepíteni. Az MK telepítésekor ügyeljen arra, hogy a panelben lévő mikrokontroller úgy legyen elhelyezve, hogy a chipen lévő kulcs a ZIF panel reteszelő karjának oldalán legyen.

Így kell telepíteni a 18 tűs mikrokontrollereket (PIC16F84A, PIC16F628A stb.).

És itt vannak a 8 tűs mikrokontrollerek (PIC12F675, PIC12F629 stb.).

Ha felületre szerelhető csomagban (SOIC) kell flashelni egy mikrokontrollert, használhatunk adaptert, vagy egyszerűen forraszthatunk a mikrokontrollerre 5 tűt, amelyek általában a programozáshoz szükségesek (Vpp, Clock, Data, Vcc, GND).

A nyomtatott áramköri lap kész rajzát az összes változtatással a cikk végén található linken találja. A fájl megnyitásával a Sprint Layout 5.0 programban, a „Nyomtatás” mód használatával, nemcsak nyomtatott vezetőmintával nyomtathat egy réteget, hanem megtekintheti az elemek elhelyezkedését a nyomtatott áramköri lapon. Ügyeljen az izolált jumperre, amely összeköti a DD1 6. érintkezőjét és a ZIF panel 21. érintkezőjét. Ki kell nyomtatnia a tábla rajzát tükörképben.

Nyomtatott áramköri lapot készíthet LUT módszerrel, valamint nyomtatott áramköri lapok jelölőjével, tsaponlak segítségével (én ezt csináltam) vagy „ceruza” módszerrel.

Itt van egy kép az elemek elhelyezéséről egy nyomtatott áramköri lapon (kattintható).

Beépítéskor első lépésként ónozott rézhuzalból készült jumpereket kell forrasztani, majd alacsony profilú elemeket (ellenállások, kondenzátorok, kvarc, ISCP tűs csatlakozó), majd tranzisztorokat és programozott MK-t kell beépíteni. Az utolsó lépés a ZIF panel, az USB aljzat felszerelése és a vezetékek szigetelésbe szigetelése (áthidaló).

A PIC18F2550 mikrokontroller "firmware".

Firmware fájl - PK2V023200.hex be kell írnia a PIC18F2550I-SP MK-t a memóriába bármely olyan programozó segítségével, amely támogatja a PIC mikrokontrollereket (például Extra-PIC). A JDM Programator JONIC PROG-ot és a programot használtam WinPic800.

A firmware-t feltöltheti a PIC18F2550 MCU-ra ugyanazzal a szabadalmaztatott PICkit2 programozóval vagy annak új verziójával, a PICkit3-mal. Természetesen ezt megteheti egy házi készítésű PICkit-2 Lite-tal is, ha valamelyik ismerősének sikerült előtte összeraknia :).

Azt is érdemes tudni, hogy a PIC18F2550-I/SP mikrokontroller „firmware” (fájl PK2V023200.hex) akkor íródik, amikor a PICkit 2 Programmer programot a program fájljaival együtt egy mappába telepíti. A PK2V023200.hex fájl hozzávetőleges helye - "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . Azok számára, akiknek a Windows 32 bites verziója van telepítve a számítógépére, a hely elérési útja eltérő lesz: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

Nos, ha nem tudta megoldani a „csirke és tojás” problémát a javasolt módszerekkel, akkor vásárolhat egy kész PICkit3 programozót az AliExpress webhelyén. Ott sokkal olcsóbban kerül. Írtam arról, hogyan vásárolhat alkatrészeket és elektronikus készleteket az AliExpressen.

A programozó firmware frissítése.

A fejlődés nem áll meg, és a Microchip időről időre frissítéseket ad ki szoftveréhez, beleértve a PICkit2, PICkit3 programozót is. Természetesen a házi készítésű PICkit-2 Lite vezérlőprogramját is frissíthetjük. Ehhez a PICkit2 Programmer programra lesz szüksége. Mi ez és hogyan kell használni - egy kicsit később. Addig is néhány szót arról, hogy mit kell tenni a firmware frissítéséhez.

A programozószoftver frissítéséhez zárja le a programozón lévő XT1 jumpert, amikor az le van választva a számítógépről. Ezután csatlakoztassa a programozót a számítógéphez, és indítsa el a PICkit2 programozót. Ha az XT1 zárva van, az üzemmód aktiválódik rendszerbetöltő az új firmware-verzió letöltéséhez. Ezután a PICkit2 programozóban az „Eszközök” - „A PICkit 2 operációs rendszer letöltése” menüjében nyissa meg a frissített firmware korábban elkészített hexa fájlját. Ezután a programozó szoftver frissítési folyamata következik be.

A frissítés után le kell választania a programozót a számítógépről, és el kell távolítania az XT1 jumpert. Normál üzemmódban a jumper nyitva van. A programozó szoftver verzióját a PICkit2 Programmer program "Súgó" - "Névjegy" menüpontjában találja meg.

Mindez technikai kérdésekről szól. És most a szoftverről.

Munka a programozóval. PICkit2 programozó.

Az USB programozóval való együttműködéshez telepítenünk kell a PICkit2 Programmer programot a számítógépre. Ez a speciális program egyszerű felülettel rendelkezik, könnyen telepíthető és nem igényel különleges konfigurációt. Érdemes megjegyezni, hogy a programozóval az MPLAB IDE fejlesztőkörnyezet használatával is dolgozhatunk, de az MK flasheléséhez/törléséhez/olvasásához elég egy egyszerű program - PICkit2 Programmer. Ajánlom.

A PICkit2 Programmer program telepítése után csatlakoztassa az összeszerelt USB programozót a számítógéphez. Ugyanakkor világítani fog zöld LED („tápellátás”), és az operációs rendszer úgy ismeri fel az eszközt "PICkit2 mikrokontroller programozó" és telepítse az illesztőprogramokat.

Indítsa el a PICkit2 Programmer programot. A program ablakában egy feliratnak kell megjelennie.

Ha a programozó nincs csatlakoztatva, a program ablaka egy ijesztő üzenetet és rövid utasításokat jelenít meg: „Mi a teendő?” angolul.

Ha a programozó olyan számítógéphez csatlakozik, amelyre MK telepítve van, akkor a program indításkor észleli azt, és a PICkit2 Programozó ablakában értesít minket erről.

Gratulálunk! Az első lépés megtörtént. A PICkit2 Programmer program használatáról pedig egy külön cikkben beszéltem. Következő lépés .

Szükséges fájlok:

    PICkit2 User Manual (orosz) vegye ill.

Ez a legegyszerűbb kialakítás a villogó PIC család vezérlők számára. A klasszikus programozó áramkör vitathatatlan előnyei - egyszerűség, kompaktság, tápellátás külső forrás nélkül - nagyon népszerűvé tették a rádióamatőrök körében, különösen mivel az áramkör már 5 éves, és ez idő alatt egyszerű és megbízható eszköz a mikrokontrollerekkel való munkához.

A pic vezérlők programozójának sematikus diagramja:

Magának az áramkörnek nincs szüksége tápellátásra, mert ezt a számítógép COM portja végzi, amelyen keresztül a mikrokontroller firmware-jét vezérlik. Alacsony feszültségű programozási módhoz 5V elegendő, de előfordulhat, hogy nem érhető el minden változtatási lehetőség (biztosíték). A COM-9 port csatlakozó csatlakozóját közvetlenül a PIC programozó áramköri lapjára szerelték fel - nagyon kényelmesnek bizonyult.

A kártyát közvetlenül csatlakoztathatja a porthoz, minden extra kábel nélkül. különböző számítógépeken tesztelték, és a 12F, 16F és 18F sorozatú MK-k programozásakor kiváló minőségű firmware-t mutattak. A javasolt áramkör lehetővé teszi a PIC12F509, PIC16F84A, PIC16F628 mikrokontrollerek programozását. Például a közelmúltban a javasolt programozó használatával egy mikrokontroller a .

A programozáshoz a WinPic800-at használják - az egyik legjobb program a PIC vezérlők programozásához. A program lehetővé teszi a PIC család mikrovezérlőinek műveletek végrehajtását: olvasás, írás, törlés, FLASH és EEPROM memória ellenőrzése és konfigurációs bitek beállítása.