Bevezetés
Az analóg jelek világában élünk. A digitális elektronikában azonban csak két állapot van - BE vagy KI. E két állapot használatával az eszközök nagy mennyiségű adatot képesek értelmezni, szállítani illetve ezekkel az értékekkel vezérelni. A logikai szintek azt definiálják, hogy a diszkrét jelek milyen értékeket vehetnek fel. A digitális elektronikában általában két logikai állapotra korlátozzuk tanulmányunkat - a bináris 1 és a bináris 0
Ajánlott olvasmány a bejegyzésben foglaltak megértéséhez
Ha nem ismeri az alábbi témák egyikét, akkor érdemes elolvasnia azokat a logikai szintekről szóló bejegyzés elolvasása előtt.
Mi a logikai szint fogalma?
Egyszerűen megfogalmazva, a logikai szint egy meghatározott feszültség vagy állapot, amelyben egy jel létezhet. A digitális áramkör két állapotát gyakran úgy írjuk le, hogy kikapcsolva vagy bekapcsolva. Binárisan ábrázolva az BE egy bináris 1, és a KI egy bináris 0. Az Arduino IDE alatt ezeket a jeleket MAGAS (HIGH) vagy ALACSONY (LOW) jelnek nevezzük. Az elmúlt 30 évben számos szabványt hoztak létre, amely mindegyike rögzíti a logikai 1 és a logikai 0 szinthez tartozó feszültségtartományokat.
Logikai 0 vagy Logikai 1
A digitális elektronika bináris logikára támaszkodik az adatok és információk tárolására, feldolgozására és továbbítására. A bináris logika két állapot egyikére vonatkozik - BE vagy KI. Ezt gyakran bináris 1 vagy bináris 0-ként fordítják le. A bináris egyest HIGH jelnek is nevezik, és a bináris nullát LOW-nak.
A jel szintjét tipikusan a feszültsége írja le. Hogyan lehet meghatározni a logikai 0 vagy a logikai 1 értékét? Az IC gyártók ezt mindig az adott IC specifikációjában rögzítik. A legelterjedtebb szabvány a TTL vagy tranzisztor-tranzisztor logika.
Aktív-alacsony és aktív-magas jelentése
Ha IC-kkel és mikrokontrollerekkel dolgozik, akkor valószínűleg találkozott már az aktív magas vagy az aktív alacsony kifejezésekkel.Egyszerűen fogalmazva, ez csak leírja, hogyan aktiválódik az adott láb. Tegyük fel, hogy van egy "aktív alacsony" bemenetű láb, az akkor fog logikai 1 szintre kerülni, ha azt a lábat a földre (GND) csatlakoztatjuk. Abban az esetben, ha ez egy "aktív magas" láb, akkor ennek a bemenetnek akkor lesz logikai 1 az értéke, ha a tápfeszültséget kapcsoljuk rá (általában 3,3 vagy 5 V).
Másik példa: tegyük fel, hogy van egy szintillesztő IC, mely rendelkezik egy chip-engedélyezési lábbal, CE-vel. Ha az IC adatlapjában a CE felett van egy vonal (ez matematikailag a bináris negált jele), akkor az azt jelenti, hogy az IC akkor fog működni, ha az a láb a GND-re van kötve (aktív alacsony szint). Ha nincs felette vonal (aktív magas), akkor az IC akkor fog működni, ha a tápfeszültséget kapcsoljuk a CE lábra. Számos IC esetében úgy adják meg az aktív alacsony definícióját, hogy az aktív magas megnevezés elé vagy mögé odateszik a "NOT" (azaz a bináris negált) kifejezést. Ilyen egyszerű!
TTL logikai szintek
Az általunk használt rendszerek többsége 5 V TTL logikai szintekre támaszkodik. A TTL a Transistor-Transistor Logic rövidítése. Bipoláris tranzisztorokból épített áramkörökből épül fel, ezek végzik a kapcsolást és az adott logikai állapot fenntartását is. A TTL szabvány különböző nevezetes feszültségszinteket használ:
VOH - Minimális kimeneti feszültség, amit még logikai 1-nek tekintünk
VIH - Minimális kimeneti feszültség, amit még logikai 1-nek tekintünk
VOL - Maximális kimeneti feszültség, amit még logikai 0-nak veszünk
VIL - Maximális bemeneti feszültség, amit még logikai 0-nak veszünk
Látható, hogy a legkisebb megengedett kimeneti oldali feszültség (VOH) 2,7 volt, amíg a bemeneti oldalon elég a 2,0 V a logikai 1-es szinthez. Erre a 0,7 voltos különbségre az angol irodalom gyakran "noise margin"-ként hivatkozik.
Hasonlóképpen, egy TTL jelszintet használó eszköz kimenetének a feszültsége - ha az logikai 0 szinten van - nem lehet magasabb, mint 0,4 volt. Ezzel szemben egy bármelyik másik, TTL szintet használó készülék bemenetén, ha 0,8 voltnál kisebb feszültség van, akkor az azt a bemenetét logikai nullaként fogja értelmezni.
Mi történik akkor, ha egy feszültség 0,8 és 2 V között van? Senki sem tudja megmondani, bármi lehet. Ez egy olyan tartomány, ami nincs sehova sem definiálva. Ha egy láb "lebeg", azaz nincs lehúzva sem a földre, sem felhúzva a tápfeszültségre, akkor előfordulhat, hogy az eszközünk hol alacsony, hol magas szintűként fogja érzékelni, véletlenszerűen váltakozva.
Itt egy másik ábra is a jelszintekre:
Egy másik gyakori feszültségszabvány, amivel Ön találkozhat, az a 3.3 V-os szint.
3,3 V CMOS logikai szint
Ahogy az elektronikai ipar fejlődött, egyre szükségesebbé vált, hogy minél takarékosabb eszközöket hozzunk létre. Az energiafogyasztás csökkentésének az egyik módja az alacsonyabb tápfeszültségről való üzemeltetés (5 V helyett 3,3 V). A gyártási technológia változása miatt az így gyártott áramkörök kisebb megterhelést jelentenek a környezetre, valamint a berendezések gyártási költsége is csökkent.
A feszültségszintek vizsgálata után megállapítható, hogy a két rendszer kisebb megkötések árán ugyan, de egymással kompatibilis. Egy 3,3 voltos eszköz gond nélkül képes csatlakozni az 5 voltos rendszerhez, hiszen a kimeneti feszültségtartományát úgy állapították meg, hogy az 5 voltos rendszer minimum bemeneti feszültségtartománya felett legyen. éldául egy 3,3 V-os eszközből származó logika 1 (HIGH) legalább 2,4 V lesz. Ez még mindig 1 (HIGH) logikaként értelmezhető egy 5V-os rendszerhez, mert a VIH értéke 2 V felett van.
Akkor kell körültekintően eljárni, ha 5 voltos kimenetű rendszerhez szeretnénk 3,3 voltos rendszert kapcsolni. Abban az esetben, ha a 3,3 voltos rendszer adatlapjában benne van, hogy 5 volt toleráns a bemenete, akkor nincs probléma. A gyakorlatban azonban a legtöbb 3,3 voltos rendszer maximális bemeneti feszültsége 3,6 volt, ha ezt túllépjük, akkor tönkremegy. Egy egyszerű feszültségosztó (például 1KΩ és 2KΩ) segítségével 5 V-os jeleket 3,3 V-os szintre le tudjuk vinni, vagy használhatunk direkt erre a célra gyártott áramkört is (angol megnevezése: logic level shifter)
Arduino logikai szintek
Az ATMega328 (az Arduino UNO és a Sparkfun Redboard elsődleges mikrovezérlője) adatlapját tekintve előfordulhat, hogy a feszültségszintek kissé eltérőek.
Az Arduino egy kissé robusztusabb platformra épül. A leginkább figyelemre méltó különbség az, hogy az érvénytelen feszültségtartomány csak 1,5 V és 3,0 V között van. A tiltott sáv nagyobb az Arduino-nál, és magasabb küszöbértéke van a logikai alacsony jelhez. Ez sokkal egyszerűbbé teszi az interfészek építését és más hardverekkel való együttműködést.
Az eredeti oldal megtekinthető itt: link