Automatyzacja i robotyzacja procesów produkcyjnych Instrukcja laboratoryjna Technika cyfrowa Opracował: mgr inż. Krzysztof Bodzek
Cel ćwiczenia. Celem ćwiczenia jest zapoznanie studenta z zapisem liczb stosowanym w układach cyfrowych. Ponadto przedstawienie podstawowych elementów wykorzystywanych w elektronice: bramek cyfrowych AND, NAND, NOT, OR, NOR sposobów minimalizacji funkcji logicznej algebra boola przerzutników SR, JK Wprowadzenie. Układy cyfrowe wykorzystywane są praktycznie w każdej dziedzinie związanej z automatyzacją procesów sterowania. Na korzyść układów cyfrowych w porównaniu z układami analogowymi przemawia przede wszystkim większa odporność na zakłócenia, brak wpływu starzenia się elementów, większe możliwości i większa elastyczność. Zapis liczb stosowany w technice cyfrowej W technice cyfrowej najczęściej stosowane są dwa rodzaje zapisu liczb: binarny oraz szesnastkowy. Zapis binarny to suma kolejnych potęg liczby dwa z odpowiednimi wagami przy poszczególnych potęgach. Dla przykładu liczba 145 przedstawiona w dwóch systemach: 107=1*10 2 +0*10 1 +7*10 0 107d= 1*2 6 +1 *2 5 +0*2 4 +1*2 3 +1*2 2 +1*2 1 +1*2 0 =1101011b Pojedyncza liczba 1 lub 0 to bit informacji. W praktyce stosuje się grupowanie w 8, 16, 32 itd. bitowe liczby. 8 bitowa liczba nazywana jest bajtem. Dla przykładu liczba 102 zapisana jako bajt informacji: 01101011b. Idea zapisu szesnastkowego jest bardzo podobna do przedstawionych powyżej zapisów z tym, że podstawą potęgi jest liczba 16. A współczynniki przy potęgach przyjmują wartości: 0-9 oraz A-10, B-11, C-12, D-13, E-14, F-15. W praktyce stosuję się grupowanie po cztery bity liczb w systemie dwójkowym, i tak: 107d= 0110 1011 b 107d=6 B h Bramki logiczne Bramka logiczne to elementy, zazwyczaj układu scalone, pozwalające realizować prostą funkcję logiczną, której argumenty i wynik mogą przybierać wartości 1 (stan wysoki) lub 0 (stan niski). Podstawowe bramki logiczne realizują funkcję sumy (OR), iloczynu (AND) i negacji (INV). Dodatkowo wykorzystuje się dwie bramki będące negacją sumy (NOR) oraz negacją iloczynu (NAND). Tablica prawdy bramek logicznych przedstawiona jest poniżej: A B INVA INV B OR AND NOR NAND 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0
Podstawowe prawa algebry Boole a W celu minimalizacji ilości bramek cyfrowych należy się posługiwać wzoramiobowiązującymi w logice dwuwartościowej. Poniżej zestawione zostały podstawowe zależności: a+b = b+a a*b = b*a a*(b+c) = a*b + a*c a+b*c = (a+b)*(a+c) (a+b)+c = a+(b+c) (a*b)*c = a*(b*c) a+0 = a a*1 = a a+1 = 1 a*0 = 0 a+a = a a*a = a a+ a=1 a a=0 Prawa de Morgana a + b= a* b a * b= a+ b Wykorzystanie algebry Boole a zostało przedstawione poniżej. Realizowana funkcja logiczna ma postać: Y=(a*c+b*c)* c+a*b Realizacja funkcji Y została przedstawiona na poniższym schemacie: Korzystając z algebry Boole a można funkcję uprościć: Y=(a*c+b*c)* c+a*b=(a+b)*c* c+a*b=(a+b)*0+a*b=a*b Przedstawiona funkcja uprościła się do iloczynu logicznego Y=a*b. Obydwie postacie funkcji logicznej są sobie równoważne.
Przerzutniki Na ćwiczeniach zapoznamy się z dwoma rodzajami przerzutników: asynchronicznym SR oraz synchronicznym JK. Są to najczęściej Przerzutnik SR Przerzutnik SR posiada dwa wejścia: ustawiające S (Set) oraz kasujące R (Reset). Na wyjściu przerzutnika SR pojawia się sygnał wysoki w momencie podania sygnału wysokiego na wejście S. Sygnał ten jest utrzymywany do momentu podania sygnału wysokiego na wejście R. Przerzutnik ten może być traktowany jak podstawowa komórka pamięci. Poniżej znajduje się symbol przerzutnika oraz tablica prawdy. S R Q 0 0 Q n-1 0 1 0 1 0 1 1 1 X W bibliotece oprogramowania Active-CAD występuje przerzutnik typu RS z zanegowanymi wejściami (symbol LSR1), w którym sygnałami aktywnymi są sygnały na poziomie niskim (logiczny stan 0). Aby przerzutnik ten działał zgodnie z przedstawioną powyżej tablicą prawdy na jego wejściach muszą znaleźć się dwa inwertery, co pokazano na rysunku. Przerzutnik JK Przerzutnik JK jest układem trójwejściowym o wejściu zegarowym CLK (ang. Clock) i dwóch wejściach danych: wejściu ustawiającym J i wejściu kasującym K. Przerzutnik ten w zależności od stanów sygnałów na wejściach J i K zachowuje się w następujący sposób: wejścia J = 0, K = 0 przerzutnik jest w stanie pamiętania, wejście J = 1, K = 0 przerzutnik ustawia wyjście Q w stan 1, wejście J = 0, K = 1 przerzutnik ustawia wyjście Q w stan 0, wejście J = 1, K = 1 przerzutnik neguje sygnał wyjściowy. Zmiany na wyjściu przerzutnika JK następują synchronicznie ze zboczem narastającym sygnału na wejściu CLK, po czym przerzutnik utrzymuje stan wyjściowy aż do chwili pojawienia się kolejnego zbocza narastającego w sygnale wejściowym. Przypadek, w którym
oba wejścia J i K są w stanie wysokim, jest najczęściej wykorzystywany w praktyce. W tym stanie przerzutnik neguje sygnał wyjściowy przy każdym zboczu narastającym sygnału zegarowego. Dzięki temu częstotliwość sygnału wyjściowego jest dwukrotnie niższa niż częstotliwość sygnału wejściowego. Łącząc szeregowo przerzutniki JK uzyskuje się układy pozwalające na dzielenie częstotliwości sygnału wejściowego oraz tworzenie układów zliczających liczbę impulsów wejściowych. S R CLK Q 0 0 Q n-1 0 1 0 1 0 1 1 1 Q n-1 0 0 (-) Q n-1 0 1 (-) Q n-1 1 0 (-) Q n-1 1 1 (-) Q n-1 Na rysunku pokazano przerzutnik JK, dostępny w bibliotece programu Active-CAD symbol FJK11 oraz jego tablicę prawdy. Symbol oznacza zbocze narastające sygnału zegarowego, natomiast (-) oznacza inne stany wejścia zegarowego. Przebieg ćwiczenia. Student wykonuje kolejno zadania: Zadanie 1. Korzystając z programu ActiveCAD wyznaczyć tablicę prawdy następujących funkcji logicznych: Y=a+b* c Y=( a * b)+c Zadanie 2. Uprościć funkcje logiczne korzystając z praw algebry Boole a: Y = (a+b)*c+b*c+a Y = a+b(c+ b)+a* b Zadanie 3. Zaprojektować i przetestować 2-bitowy licznik impulsów korzystając z przerzutników JK: zliczający w dół zliczający w górę
Zadanie 4. Korzystając z gotowego licznika binarnego 4-bitowego zliczającego w górę CBU14, zaprojektować i przetestować działanie licznika dziesiętnego. Na wyjściu licznika dziesiętnego pojawiają się liczby od 0-9. Zadanie 5. Zaprojektować układ wyboru rodzaju pracy układu napędowego. Układ napędowy może pracować w trzech stanach: praca automatyczna aktywne jest wyjście Q1oraz zielona lampka stanu pracy W1 praca ręczna aktywne jest wyjście Q2 oraz żółta lampka stanu pracy W2 stop wyjścia Q1 oraz Q2 są nieaktywne. Aktywna jest czerwona lampka stanu pracy W3 A B C Automatyczna Ręczna Stop W1 W2 W3 Przyciski stanu pracy A, B, C są przyciskami astabilnymi (informacja o ich naciśnięciu jest tracona z chwilą oderwania palca od przycisku). Zadanie 6. Zaprojektować układ sterowania napełnianiem basenu kąpielowego. Dopływ wody do basenu jest sterowany zaworem Q1. Zawór Q2 to spust wody. Lustro wody powinno być utrzymane pomiędzy poziomami maksymalnym i minimalny. W tym przypadku zawory Q1 oraz Q2 powinny być otwarte w celu wymiany wody. Dodatkowo sprawdzana jest poprawność działania czujników poziomu wody. W przypadku błędnego działania czujników (np. A=1, B=0) woda powinna być wylana z basenu a awaria sygnalizowana lampką Q3. A B C Q1 awaria Q3 Q2
Zaliczenie ćwiczenia. Warunkiem zaliczenia jest wykonanie co najmniej 3 zadań znajdujących się w niniejszej instrukcji. Zaliczający powinien umieć uprościć funkcję logiczną korzystając z algebry Boole a oraz zrealizować ją za pomocą podstawowych elementów logicznych. Ponadto znać zasadę działania przerzutników SR oraz JK. Umieć wykorzystać przerzutniki do zaprojektowania układów pamiętających oraz liczących.