ICD2 mikrokontroller programozó RS232 portra

Mivel egyre inkább belementem a mikrokontorolleres dolgok elméletébe és némiképp a gyakorlatba is, elkezdtem megismerni a Microchip MPLab nevű fejlesztőkörnyezetét. A korábban épített programozóm nem volt képes együttűködni a Microchip rendszerével, így kerenem kellett egy olyan progamozót ami MPLab segítségével is könnyen használható, univerzális és sok mikrokontrollert képes kezelni.
Igy az SI-Prog után egy továbbfejlesztett programozóáramkört is kipróbáltam. Neten sokhelyen fent van ennek az áramkörnek a leírása, illetve már sokan utánépítették sikerrel az ICD2 programozót. Gondoltam, ha ennyire bevált és jó áramkörről van szó, én is megpróbálkozom az összerakásával.

Több változat is található a neten, hosszas keresgésés és összehasonlítgatás után kiválaszottam a számora leginkább szimpatikusat, majd nekikezdtem a munkának. Rendelkezésemre állt a komplett kapcsolási rajz, a NYÁK terv és a szükséges forráskód is.

Valamit összerakni úgy, hogy az ember elé teszik a kész dkumentumokat és terveket, semmi érdekes nincs. Hogy ne legyen olyan egyszerű a dolog, én saját NYÁK-ot terveztem az áramkörnek. Ennek igazából egyik oka volt, hogy már a meglévő SI-Prog programozómhoz több PIC adaptert is készítettem. Ezeket nem szerettem volna kidobni, mivel ennek a programozónak is gyakorlatilag ugyanazok a kimeneti, így csak a megfelelő lábkiosztás kellett összekombinálni úgy, hogy illeszkedjen az adapterekhez. Persze a másik ok, hogy új NYÁk-ot készítsek, az az elektronikai pervezitásomnak köszönhető.

Az új NYÁK szintén egyoldalas lett és csupán két darab átkötést tartalmaz. Az apróságok SMD kivitelben kerültek a forrasztási oldalra, így kevesebbet kell fúrni. A kész NYÁK tervet követően, a virtuális NYÁK lemez valósággá vált némi levilágítás és vegyzseres kezelést követően. Kifúrás után beültettem az alkatrészeket, kezdve az SMD ellenállásokkal és kondenzátorokkal, majd végül a furatszerelt alkatrészekkel fejeztem be. Néhány mérést követően tápofeszültség alá helyeztem a szerkezetet, majd a kalibrálási folyamat végén behelyzetem a felprogramozott PIC-et, végül némi szoftveres állítgatás után használhatóvá vált az áramkör.

Felépítése

Az áramkör lelke egy előre felprogramozott PIC16F876A típusú mikrokontroller. Erre feltétlen figyeljünk oda, hiszen csak ez a típus, tehát az “A” változat jó! A csatlakoztatott külső mikrokontroller és a PC közötti kapcsolatot biztosítja és vezérli a programozást, valamint a kiolvasást és gyakorlatilag az összes funkciót. Az áramkör állapotát 3db LED jelzi. A számítógép soros portja és az égető közötti kapcsolatot a már jól ismert MAX232 szintillesztő áramkör biztosítja. Tápellátása történhet váltó, illetve egyenfeszültségről. Az optimális tápellátás legyen legalább 12VAC, vagy 18VDC. AC esetében a puffer mérete lehet nagyobb mint 220uF. Az áramkör működéséhez 3 féle tápeszültségre van szükség. 15V, 13V és 5V stabil egyenfeszültség. A 15V-os stabil feszültséget egy 7815-ös lineáris fesz. stabilizátor állítja elő, az 5V-ot az LM2575 típusú kapcsolóüzemű IC állítja be, a 13V-os égetőfeszültség beállítása pedig mauálisan történik, egy LM358-as műveleti erősítő és egy trimmerpotméter segítségével.

Kalibrálás

Ha kész vagyunk az építéssel, elsőként szükség van az áramkör pontos beállítására. A PIC számára mindeképp építsünk be foglalatot, mivel az üres PIC-et egy másik programozóval kell felprogramoznunk hasznáalt előtt, valamit a kalobráláskor ki kell venni a foglalatból.

Tehát vegyük ki a PIC-et a foglalatból, majd kössük az LM358-as IC 3. lábára (nem invertáló bemenetére), majd a trimmer 3. lábát kössük a GND-hez. A trimmer 3. lába az, amelyik a PIC 11. lábával van összekötve. Ezután helyettük feszültség alá az áramkört, majd mérjünk feszültséget az MCLR és a GND között. A trimmert addig állítsuk, míg a feszültségérték eléri a kerek 13V-os értéket. Ellenőrizzük a többi tápfeszültség meglétét is. Ha minden oké, szedjük szét az ideiglenes kötéseket, majd égessük bele az icd661.hex fájlt a 16F876A-I/SP mikrovezérlőbe egy másik programozó segítségével. Miután ez megtörtént, helyezzük be a PIC-et a foglalatba.

Élesztés és használat

Csatlakoztassuk az áramkört a PC-hez és helyezzük a programozó foglalatba a programozni kívánt külső PIC-et. Azaz az én esetemben csatlakoztatni kell a PIC-et a külső adapterrel. A soros portunkat állítsuk a legnagyobb sebességre, 8 bites átvitelt paritás és átvitelvezérlés nélkül állítsunk be, valamint kapcsoljuk ki a FIFO-t!

Indítsuk el az MPLAB-ot és nyissunk egy projektet, majd a Debugger-Select Tool menüpontnál válasszuk az MPLAB ICD 2-t. Előtte ellenőrizzük, hogy az ICD2 telepítve van-e. Ez a funkció nem érhető el mindegyik mikrovezérlőnél! Ekkor csak programozni tudunk. Ezután a ismét a Debugger menüpontban indítsuk el az MPLAB ICD 2 Setup Wizard-ot. Állítsuk be a soros portot, amire csatlakoztunk és a sebességet 19200-ra vagy 57600-ra. Aztán a Target Power from the MPLAB ICD 2-t jelöljük ki. Aztán pipáljuk ki az MPLAB IDE automatically connects to the MPLAB ICD 2-t. Az MPLAB ICD 2 automatically downloads the required operating systems mezőt hagyjuk üresen. Ezután csatlakozzunk az ICD-re: >Debugger>Connect

Az egyes PIC családokhoz más és más debug program szükséges, amit le kell tölteni az ICD2-ben lévő 876-os PIC-be. Amennyiben másik program szükséges, akkor az MPLAB figyelmeztet, hogy töltsük le a megfelelő “operációs rendszert”. Az MPLAB automatikusan megkeresi ezt, nekünk csak jóvá kell hagyni. Az operációs rendszer letöltése után a cél (target) PIC-be be kell égetnünk a debug programot. Vigyázat, ez nem azonos azzal a programmal, ami véglegesen futni fog az alkalmazásban! A letöltés a >Debugger>Program menüpontban tehető meg. Ezek után futtathatjuk a programunkat ellenőrzés, hibakeresés szempontjából (Run, Animate, Halt, Step Into, Step Over, Step Out, Reset). Beépíthetünk töréspontot is, amely lehet normal, vagy kiterjesztett is, ahol pl. regiszter hozzáférést is figyelhetünk. Amennyben helyesen működik a programunk, a végleges verziót beégethetjük a PIC-be. Ehhez át kell kapcsolnunk programozó módba, az MPLAB ugyanis a debug funkcióval együtt nem tudja kezelni a programozó módot is.

A programozói mód a >Programmer>Select Programmer>MPLAB ICD 2 menüpontból érhető el. Itt ugyanúgy be kell állítanunk a portot, és csatlakoznunk kell az ICD2-höz. Önálló programozóként is használhatjuk az ICD2-t.

A PIC16F876A-ba betöltendő program hex fájlban: ICD661.hex

Kapcsolási rajz: ICD2_kapcs

Forrás: Juhász Róbert honlapja

Vissza a kapcsolási rajzokhoz