Néhány szó a konfigurációs beállításokról...
A PIC konfigurációs beállításai, mármint az, hogy mi, milyen értékeket adunk meg a konfigurációs regisztereknek, az nemcsak attól függ, hogy mit akarunk a PIC-el csináltatni, hanem attól is hogy milyen áramköri környezetben kívánjuk működtetni.

Hirdetés

Egy diszkó villogónál szinte teljesen mindegy, hogy pl.: a WatchDog-ot használjuk-e vagy sem, de egy olyan környezetben ahol fontos, hogy folyamatosan menjen ellenőrzés nélkül a PIC, ott esetleg érdemes. Ez a kitétel, több konfigurációs beállításra is vonatkozik.

A WatchDog egy beépített "őrzőkutya", mely arra képes, hogy ha a program valamilyen oknál fogva, megfagy a PIC-ben, akkor egy RESET utasítás kiadásával, újraindítja a PIC-et. Ezt oly módon teszi, amennyiben beállítottuk, akkor elindít, egy beállítható belső időzítőt, amelyet ha programból nem nullázunk időben, akkor túlcsordulásakor jön a RESET utasítás. Vagyis ha a program megfagyott, akkor nem jut el a nullázó utasításig. Jól szemléltethető a dolog, ugyanis ha bekapcsoljuk a WatchDog-ot de nem adjuk ki a CLRWDT utasítást, akkor folyamatosan, a beállított időzítés ütemében, újra fog indulni a programunk.

Van ezen kívül több olyan regiszter a mely a program stabil futását ás az áramkör minél stabilabb működését segíti elő.
A teljesség igénye nélkül néhányat leírnék, de az fontos, hogy mindig az adott PIC adatlapját nézzük át tüzetesen, mivel az adatlap tartalmazza, az összes konfigurációs regiszter beállítását.

POR azaz Power-On-Reset: A tápfeszültség felfutási ideje mindig változó, függ az áramköri környezettől, a táp kialakításától, sőt a bekapcsolás módjától is. Nagyjából féltáp körül már indul pl.: az oszcillátor, de a program csak akkor indulhat, amikor már stabil a táp, és stabil órajel van. Ezt biztosítja a POR áramkör.

BOR azaz Brown-Out-Reset: Amennyiben legalább 100us időtartamra, egy előre beállított feszültség alá esik a táp, akkor kiad egy reset utasítást. Ez olyan áramköri környezetben lehet fontos, ahol nagy áramfelvételű fogyasztók bekapcsolása, megránthatja a tápfeszültséget annyira, hogy a PIC működését instabillá tenné.

PWRT azaz PoWeR-up-Timer: ez egy 10 bites bináris számláló, saját belső oszcillátorral. Ez egy bekapcsolási késleltetés mely kb. 70ms. Fontos, hogy ha BOR működését engedélyezzük, akkor engedélyezni kell a PWRT-t is.

OST azaz Oscillator Stat-up-Timer.: Ez szintén egy 10 bites bináris számláló. Ez az áramkör tulajdonképpen arra szolgál, hogy a PIC-ben a program csak stabil órajelnél induljon el.

CP azaz Code Protect: Programvédelem. Amennyiben be van kapcsolva akkor nem olvasható ki a PIC memóriájából a beleégetett program, olvasáskor nullát ad vissza. Ez csak az illegális programmásolás ellen véd, tehát a PIC törölhető, újabb program beégethető lesz, csak nem olvasható.

Nem beszéltünk még az MCLR szerepéről. Gyakorlatilag ez a RESET láb. Amennyiben ez a láb, GND potenciálra kerül, akkor kivált egy RESET-et ha pedig 13 volt körüli feszültséget adunk rá, akkor égethetjük be a PIC-be a megírt programunkat.
Normál működéskor általában 1k körüli ellenállással tápra kell húzni.

Szintén a konfigurációs beállításokhoz tartozik, az oszcillátor típusa. A mai PIC-ek már mennek szinte mindennel, ami rezeg: Quarz-al, kerámia rezonátorral, külső-belső RC oszcillátorral is. (Talán még vibrátorral is... :) )
Ezek típusát, frekvenciáját, sőt több típusnál akár a PLL-t is, beállíthatjuk, sőt kötelezően be is kell állítani, a konfig regiszterekben. Azt, hogy ezeket a beállításokat mely regisztereken kell elvégezni azt minden esetben a PIC adatlapja tartalmazza.

SLEEP üzemmód: Ez nem konfigurációs beállítás, hanem a PIC nagyon takarékos üzemmódja, de azért érdemes pár szót ejteni róla. Amennyiben olyan áramköri környezetben használjuk a PIC-et, hogy megtehetjük azt, hogy felfüggesztjük a program futását, és valamely külső körülmény hatására indítjuk el ismét akkor használhatjuk a SLEEP üzemmódot, mely során akár 1uA körüli fogyasztást is elérhetünk. (Ez telepes táplálás esetén igen kedvező lehet.)

Van még egy fontos kitétel, amely nem teljesen a konfigurációs beállításokhoz tartozik, de azért szorosan kötődik hozzá. Gyakorlatilag az üres PIC-ek legnagyobb részére igaz, hogy bekapcsolás után a portok bemenetre, az analóg funkciókra képes bit-ek pedig analóg bemenetre állnak be. Ez a PIC védelmét hivatott biztosítani, hiszen gondoljunk arra, hogyha kimenetre állna be, pláne magas logikai szinten, és éppen GND potenciálon van az a láb. A bekapcsolás pillanatában már vehetnénk is érzékeny búcsút a nem feltétlen fillérekért vásárolt áramkörünktől.

Tulajdonképpen ezek a legfontosabbak, van még bőven, de mivel nem minden PIC tartalmazza ezeket az áramköröket egyformán, ismét csak azt tudom javasolni, hogy programírás közben, használjuk bátran a PIC adatlapját.

A Pascal menüszerűen felkínálja a konfigurációs bitek beállítását. Sok esetben jó is a default beállítás, bár nem mindig.
Természetesen a PIC és az oszcillátor típusát, minden esetben meg kell adni, sőt a frekit is. A Pascal ezeket már akkor megkérdezi, mikor a Projektet létrehozzuk. Csak ezután léphetünk tovább.

Gondolkoztam azon, hogy sok ilyen és ehhez hasonló ismertető, általában LED villogtatással kezdődik. Nem térek el ettől, hiszen ez a legegyszerűbb és legszemléletesebb. Azonnal látjuk annak eredményét, hogy mit csináltunk...

Folytatjuk...


Fájlok:
FájlnévFájlméretLetöltve
A cikkhez tartozó fájlok csak bejelentkezés után tölthetőek le!

Hozzászólások
Hozzászólás csak bejelentkezés után lehetséges...
grandiloquent-yearly
grandiloquent-yearly
grandiloquent-yearly
grandiloquent-yearly