Vissza a főoldalra    Vissza a PIC főoldalra

<< 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.

Vissza a lap tetejére


      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.

Az ICSP legegyszerűbb áramköri kialakítása
11.2.4-1. Ábra

      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.

Vissza a lap tetejére


      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.

Az LVP-ICSP legegyszerűbb áramköri kialakítása
11.2.4-2. Ábra

      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.

Vissza a lap tetejére


      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.

Kapcsolók és nyomógombok használata ICSP mellett
11.2.4-3. Ábra

      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.

LED vagy optocsatoló meghajtása ICSP mellett
11.2.4-4. Ábra

      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.

Vissza a lap tetejére


      Feszültségosztó kezelése analóg bemeneten látható a következő ábrán.

feszültségosztó kezelése ICSP mellett
11.2.4-5. Ábra

      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.

Potenciométer kezelése ICSP mellett
11.2.4-6. Ábra

      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.

Vissza a lap tetejére


      Analóg multiplexer jelének fogadása látható a következő ábrán.

Analóg multiplexer kezelése ICSP mellett
11.2.4-7. Ábra

      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.

Műveleti erősítő jelének fogadása ICSP mellett
11.2.4-8. Ábra

      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!

Vissza a lap tetejére


      Digitális bemenetre való csatlakozás látható a következő ábrán.

Digitális bemenetre való csatlakozás ICSP mellett
11.2.4-9. Ábra

      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.

Digitális kimenetre való csatlakozás ICSP mellett
11.2.4-10. Ábra

      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 >>

Vissza a főoldalra    Vissza a PIC főoldalra