<< Előző oldal Vissza a tartalomjegyzékhez Következő oldal >>
11.2.4. Programozás áramköri környezetben (ICSP)
A közepes teljesítményű PIC mikrovezérlők soros programozási eljárásuk következményeként áramköri környezetbe épített állapotukban is programozhatóak (ICSP - In-Circuit Serial Programming). Beforrasztás után is fel-, vagy újraprogramozhatóak, illetve programjuk a memória-technológiától függően módosítható.
Az ICSP lehetővé teszi:
ˇ
a behelyezett (beforrasztott) mikrovezérlő első programmemória feltöltését EPROM és FLASH programmemória esetén egyaránt, valamint az EEPROM adatmemória feltöltését FLASH mikrovezérlők esetén;
ˇ
az azonosító mező felprogramozását és módosítását, vagyis a mikrovezérlő utólagos azonosítóval való ellátását;
ˇ
az EPROM mikrovezérlők programmódosítását a 11.2.1 fejezetben bemutatottak szerint;
ˇ
a FLASH mikrovezérlők tetszőleges program- és adatmemória módosítását;
ˇ
FLASH mikrovezérlőknél a kódvédelem törlését, amellyel természetesen a védett tartalom is törlődik;
ˇ
a kódvédelem utólagos aktivizálását;
ˇ
a kódvédelem nélküli memóriatartalmak kiolvasását azonosításhoz, ellenőrzéshez;
ˇ
a programmemória-területen a gyártó vagy a felhasználó által elhelyezett kalibrációs értékek változtatásával periféria-áramkörök és mérőkapcsolások kalibrálását, illetve újrakalibrálását.
Az ICSP megengedi a hardver előregyártást programozatlan mikrovezérlőkkel, majd csak egy adott számú, éppen szállítandó gyártmány legújabb vagy egyedi programverzióval történő felprogramozását.
Az EPROM mikrovezérlők felprogramozását a 11.2.1 fejezet, a FLASH mikrovezérlők felprogramozását pedig a 11.2.2 fejezet írja le.
Az ICSP-nek megfelelő áramköri megoldások a mikrovezérlőhöz kapcsolódó elemektől függően sokfélék lehetnek.
A következő ábrán a legegyszerűbb megoldás látható, amikor az Adat (PGD) és Órajel (PGC) csatlakozásoknak a normál működéskor nincs szerepük.
Mivel a programozási üzemmódba való belépés az kivezetésre kapcsolt 12..13V-os feszültség hatására megy végbe, szükség van a többi áramköri elem túlfeszültségvédelmére, amit az R3 ellenállás biztosít. Normál üzem közben a tápfeszültségnek megfelelő logikai "1" szint kerül az bemenetre, aminek hatására bekapcsoláskor külső indítású Reset-folyamat már nem indulhat meg. Programozáskor az ellenállás egyik oldalán az 5 V-os tápfeszültség, a másikon a 13 V-os programozó feszültség van jelen, így rajta körülbelül 0,08 mA áram folyik.
A C1 és C2 kondenzátorok a tápfeszültség szűrését végzik. (Ezek általában minden áramköri lapon megtalálhatóak.) A nagy kapacitású C2 a tápfeszültség felfutását lassítja, amit a programozás időzítési értékeinél figyelembe kell venni. A C2 bekapcsolási áramcsúcsa természetesen a programozó készüléket terheli.
Az R1 és R2 ellenállások a normál működés során a bemenetek lebegését gátolják meg, programozáskor viszont a programozó készüléknek terhelést jelentenek.
Figyelembe kell venni az áram alá kerülő egyéb áramköri részletek hatását és a programozó készülék terhelhetőségét.
Az újabb mikrovezérlők ICSP kezelése alacsony feszültségű programozási üzemmódban (LVP) is lehetséges.
Az alacsony feszültségű programozási üzemmód aktív állapotában egy általános I/O kivezetés (általában az RB3) működik PGM programozási mód kiválasztó bemenetként, amely természetesen már nem használható fel I/O feladatokra.
A következő ábrán a legegyszerűbb LVP megoldás látható, amikor a PGM, Adat (PGD) és Órajel (PGC) csatlakozásoknak a normál működéskor nincs szerepük.
A programozási üzemmódba való belépés a PGM kivezetésre kapcsolt tápfeszültség hatására megy végbe, de az bemenet kezelésére szintén szükség van. Normál üzem közben az R1 ellenálláson keresztül a tápfeszültség kerül az bemenetre, ami bekapcsoláskor meggátolja a külső indítású Reset-folyamat létrejöttét, de a kivezetés testre húzásával a Reset-folyamat a programozó készülék által bármikor kiváltható.
A programozás folyamata megegyezik a hagyományos magas feszültségű programozáséval.
A PGC órajel és PGD adat kivezetések a normál működés közben is tölthetnek be áramköri funkciókat, de az áramkört úgy kell felépíteni, hogy az programozáskor is helyesen működjön. A következőkben ilyen megoldások kerülnek bemutatásra.
Kapcsolók és nyomógombok kezelése látható a következő ábrán.
A nyitott helyzetű nyomógomb és kapcsoló nem befolyásolja az ICSP működést.
Az R1 és R2 ellenállások a normál működés során a kapcsolók nyitott helyzetében logikai "0" jelet biztosítanak, és programozáskor a programozó készüléknek terhelést jelentenek.
LED, illetve optocsatoló meghajtása látható a következő ábrán.
A LED árama pozitív és negatív logika esetén is a programozó készüléket terheli, ami általában 2..20mA-t jelent. Ezt esetleg nem minden programozó készülék képes biztosítani.
Feszültségosztó kezelése analóg bemeneten látható a következő ábrán.
A feszültségosztó a programozás ideje alatt is működik, vagyis egyéb jel hiányában a leosztott tápfeszültség a bemenetre jutna. A programozó készülék a saját programozó jelét kényszeríti a bemenetekre, amihez megfelelő teljesítmény-meghajtó áramkörre van szüksége.
A maximális terhelő áramot a legkisebb ellenállású elem határozza meg, tehát a tervezésnél az érzékelő elemek szélső (minimális) értékeit kell figyelembe venni.
Potenciométer kezelése analóg bemeneten látható a következő ábrán.
A potenciométeres feszültségosztó a programozás ideje alatt is működik, vagyis egyéb jel hiányában a leosztott tápfeszültség jutna a bemenetre. A programozó készülék a saját programozó jelét kényszeríti a bemenetekre, amihez megfelelő teljesítmény-meghajtó áramkörre van szüksége.
Az R1 és R2 ellenállásokra a potenciométer szélső, rövidrezárt helyzetei miatt feltétlenül szükség van. Ezek az ellenállások határozzák meg a programozó készülék maximális terhelését.
Analóg multiplexer jelének fogadása látható a következő ábrán.
Az analóg multiplexer csatlakozó ágaiba az ábrán is látható áramkorlátozó ellenállásokat szükséges beépíteni. Mivel a programozáskor éppen nem üzemszerűen működő analóg multiplexer kimenő jelei nem ismertek, a multiplexer kis belső ellenállása miatt nagy áramok is létrejöhetnének. A programozó készülék terhelése az áramkorlátozó ellenállások nagyságától függ.
A/D átalakítós mérés esetén az áramkorlátozó ellenállásokat a mintavételi idő számításánál figyelembe kell venni!
Programozáskor a CMOS analóg multiplexert is tápfeszültség alá kell helyezni!
Műveleti erősítő jelének fogadása látható a következő ábrán.
A műveleti erősítő kimenetén közel a teljes tápfeszültségtartomány előfordulhat, így az áramkorlátozó ellenállásra feltétlenül szükség van. A programozó készülék terhelése az áramkorlátozó ellenállás nagyságától függ. Maximális terhelés az UM = 0V és az UM = UT esetekben lép fel.
A/D átalakítós mérés esetén az áramkorlátozó ellenállást a mintavételi idő számításánál figyelembe kell venni!
CMOS műveleti erősítő alkalmazása esetén programozáskor a műveleti erősítőt is tápfeszültség alá kell helyezni!
Digitális bemenetre való csatlakozás látható a következő ábrán.
A programozó csatlakozást az R ellenállás logikai "0"-ra állítja be, amelyet akár a mikrovezérlő, akár a programozó készülék átállíthat logikai "1"-re. Az ellenállást úgy kell méretezni, hogy mindkét áramkör képes legyen biztosítani a rajta átfolyó áramot.
Programozáskor a kapcsolódó CMOS áramköröket is tápfeszültség alá kell helyezni!
Digitális kimenetre való csatlakozás látható a következő ábrán.
Ha a kapcsolódó digitális áramkör a programozás ideje alatt is működik, a kimenő jele ismeretlen. A programozó készülék a saját programozó jelét kényszeríti a bemenetekre, ami valószínűleg többször is ellentétes a kapcsolódó áramkör kimenő jelével. Ilyenkor a feszültségkülönbség áramot indít, amelyet a kimenő fokozatoknak el kell viselniük. A programozó készüléknek ehhez megfelelő teljesítmény-meghajtó áramkörre van szüksége. Az R ellenállást úgy kell megválasztani, hogy a kapcsolódó digitális áramkör kimenő fokozata el tudja viselni a fellépő áramterhelést.
Programozáskor természetesen a kapcsolódó CMOS áramköröket is tápfeszültség alá kell helyezni!
A különböző áramköri részek programozás alatti leválasztása megoldható az úgynevezett "Jumper" kapcsolóelemek segítségével is, amellyel bármilyen típusú egység és még a tápfeszültség is egyszerűen leválasztható. Számolni kell azzal, hogy a programozáshoz így megfelelően hozzáférhetővé kell tenni az áramköri kártyát, és a mechanikus érintkezők korróziós és mechanikai hatások miatt érintkezési hiba forrásai lehetnek.
Tudomány és Technika (test@t-es-t.hu)
<< Előző oldal Vissza a tartalomjegyzékhez Vissza a lap tetejére Következő oldal >>