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.
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:
Hozzászólások
Hozzászólás csak bejelentkezés után lehetséges...
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év | Fájlméret | Letöltve |
A cikkhez tartozó fájlok csak bejelentkezés után tölthetőek le! |
Hozzászólások
Kattins ide a hozzászólások betöltéséhez...
Hozzászólás csak bejelentkezés után lehetséges...