Klasyczny podział układów elektronicznych na analogowe i cyfrowe ulega stopniowemu zacieraniu – trudno dziś znaleźć urządzenie, które w stu procentach opierałoby się wyłącznie na jednej tylko klasie rozwiązań. Można w ogólności stwierdzić, że technika cyfrowa odpowiada przede wszystkim za przetwarzanie informacji, sterowanie i komunikację z użytkownikiem, podczas gdy układy analogowe stanowią pomost pomiędzy „cyfrówką”, a – z natury analogowym – światem zewnętrznym. Choć, wyparte przez mikrokontrolery, klasyczne układy cyfrowe – oparte na bramkach, licznikach, przerzutnikach czy rejestrach przesuwnych i dekoderach – należą dziś do rzadkości, to znajomość podstaw budowy i zasad działania układów logicznych jawi się jako niezbędny fundament do świadomego stosowania układów programowalnych. I to nie tylko FPGA czy CPLD – dobre zrozumienie algebry Boole’a i podstawowych funktorów logicznych przydaje się także w klasycznym programowaniu. W tym artykule przedstawiamy garść najważniejszych informacji o technice cyfrowej oraz proponujemy kurs, który ułatwi lepsze poznanie fundamentalnych zagadnień z tego zakresu.
Sygnały cyfrowe vs. analogowe
Podstawowym zagadnieniem, o którym należy wspomnieć, są różnice pomiędzy analogową oraz cyfrową reprezentacją informacji. W tym pierwszym przypadku informacje są przetwarzane w postaci sygnałów – prądowych lub napięciowych. Wartości tych sygnałów pozwalają „kodować” potrzebne dane – przykładowo, analogowe czujniki temperatury z serii LM35 generują napięcie wyjściowe zależne w ściśle określony sposób od temperatury, a znając równanie funkcji opisującej zależność napięcia od temperatury możemy zbudować prosty termometr, wykorzystujący jako „wyświetlacz” np. tradycyjny woltomierz wskazówkowy (oczywiście, z odpowiednio „nadpisaną” skalą, wyrażoną w oC). W celu uzyskania odpowiedniego zakresu wskazań musimy przetworzyć sygnał z czujnika za pomocą precyzyjnych wzmacniaczy i układów przesuwających poziom napięcia (sumatory analogowe) w taki sposób, by położenie wskazówki odpowiadało rzeczywistej temperaturze. Jest to klasyczny, choć bardzo prosty przykład analogowego przetwarzania informacji. Jeżeli mamy do czynienia z czujnikiem cyfrowym (np. DS18B20), to wartość temperatury nie jest już przetworzona na odpowiedni poziom napięcia wyjściowego, ale na ciąg bitów. Każdy bit jest kodowany jako „jedynka”, czyli stan wysoki (np. 5 V) lub jako „zero” logiczne (stan niski, 0 V). W układzie cyfrowym nie interesują nas napięcia pośrednie – zakładamy, że każda linia wejściowa i wyjściowa układu cyfrowego jest zawsze tylko w jednym z dwóch dozwolonych stanów, a informacje są kodowane jako kombinacje tych stanów.
Praktyczne uwagi nt. elektroniki cyfrowej
W technice cyfrowej mamy do czynienia z grupą podstawowych bloków funkcjonalnych, zwanych bramkami logicznymi. Są to stosunkowo proste obwody, złożone z odpowiednich kombinacji tranzystorów (dawniej, w epoce tzw. układów TTL stosowane były tranzystory bipolarne, dziś niemal wyłącznie używane są tranzystory MOSFET). Poszczególne bramki logiczne różnią się liczbą wejść i realizowaną funkcją – przykładowo, bramka AND (słusznie kojarzysz jej nazwę z angielskim spójnikiem „i”) daje na wyjściu stan wysoki tylko wtedy, gdy na wszystkich jej wejściach (najczęściej dwóch, choć zdarzają się też bramki wielowejściowe) panują stany wysokie. W przeciwnym wypadku na wyjściu bramki panuje stan niski. Do dyspozycji mamy także kilka innych rodzajów bramek, zaś wszystkie układy cyfrowe – od prostych przerzutników (działających jak niewielkie, 1-bitowe komórki pamięci) aż po najnowsze procesory ARM lub Intel – bazują właśnie na odpowiednich kombinacjach kilku podstawowych bramek, zwielokrotnionych do liczby dziesiątek, tysięcy, milionów, a nawet miliardów (!) egzemplarzy. Poprawne projektowanie układów cyfrowych wymaga znajomości pewnych charakterystycznych cech, niespotykanych w klasycznej elektronice analogowej, a prawdziwa „zabawa” zaczyna się wtedy, gdy w jednym urządzeniu musimy połączyć szybkie układy cyfrowe np. z precyzyjnymi układami pomiarowymi albo niskoszumnymi torami audio. Dlatego tak ważne jest, aby już na początku przygody z elektroniką poznać przynajmniej absolutne podstawy, na których bazuje technika cyfrowa.
Kurs techniki cyfrowej
Na szczęście, zadanie to jest dziś znacznie łatwiejsze, niż dawniej. Twórcy portalu dla amatorów elektroniki i robotyki FORBOT stworzyli specjalny kurs techniki cyfrowej, obejmujący absolutne minimum zagadnień, które należy poznać w ramach nauki elektroniki. Na łamach kursu jego autorzy przystępnie opisali zarówno fundamentalne pojęcia i zasady algebry Boole’a, czyli matematycznej (formalnej) podstawy techniki cyfrowej, jak i wybrane zastosowania praktyczne bramek oraz nieco bardziej złożonych „kostek” CMOS (na przykładzie licznika z dekoderem dla wyświetlacza 7-segmentowego LED). Co bardzo ważne, kurs techniki cyfrowej FORBOT nie wymaga samodzielnego kompletowania zestawu elementów, wykorzystywanych w ramach ćwiczenia – w stałej sprzedaży dostępny jest bowiem gotowy zestaw elementów, zawierający wszystkie wykorzystane w kursie układy scalone, a także diody LED, rezystory, kondensatory, buzzer, czujniki kontaktronowe, wyświetlacz, a nawet płytkę stykową wraz z kompletem przewodów łączeniowych. Dzięki temu każdy początkujący elektronik, zainteresowany samodzielną realizacją kursu, może łatwo i szybko zacząć naukę, nie tracąc czasu na mozolne kompletowanie potrzebnych podzespołów.