* pomysłodawcą określenia "Cyfrowy motyl" jest Natasza B.
Nikogo nie trzeba przekonywać, że czasami proste przyrządy diagnostyczne są bardzo pomocne przy uruchamianiu urządzeń zawierających układy cyfrowe lub mikrokontrolery. Często bardzo proste rozwiązania takich przyrządów potrafią dostarczyć nam wiele szczegółów dotyczących działania uruchamianego lub tworzonego urządzenia. Wymagania określone dla przyrządu są następujące:
- sygnalizacja stanu logicznego,
- sygnalizacja krótkich impulsów dodatnich,
- sygnalizacja krótkich impulsów ujemnych.
Operując włącznikiem SW2 (ilustracja 4) można uzyskać świecenie diodą LED dla wejścia INP będącego odpowiednio w stanie logicznej jedynki lub zera. Głównym jednak powodem zastosowania rozwiązania z “programowalnym negatorem” nie jest stworzenie wygody do manipulowania i określania kiedy dioda LED ma świecić a kiedy nie świecić. W stanie statycznym (gdy stan wejścia się nie zmienia lub zmiany są powolne) w gruncie rzeczy jest nie istotne, czy dioda LED ma świecić lub nie. Zarówno świecenie i nieświecenie niesie dokładnie taką samą informację: stan na wejściu jest stały (logiczne zero lub jedynka) i nie ulega zmianie. Problem zaczyna się w sytuacji obserwowania krótkich impulsów dodatnich lub ujemnych (ilustracja 1). Rozpatrzmy następującą sytuację:
włącznik SW1 i SW2 są włączone (bramka EXOR jest wzmacniaczem logicznym sygnału),
na wejściu pojawia się krótki impuls ujemny.
Krótki impuls ujemny oznacza, że na wejściu panuje stan logicznej jedynki i w pewnym momencie stan na chwilę zmienia się na stan logicznego zera i ponownie wraca do stanu logicznej jedynki. Ze względu, że SW2 jest zwarty, bramka EXOR pracuje jako wzmacniacz logiczny, czyli powtarza na wyjściu przebieg sygnału wejściowego. Człowiek widzi ten przebieg jako krótki błysk światła emitowany przez diodę LED. Co będzie działo się w układzie jeżeli na wejście układu zostanie podany krótki impuls dodatni? Dioda LED będzie cały czas świecić i jedynie w momencie zaistnienia impulsu na ułamek sekundy emisja światła zostanie zatrzymana. Okazuje się, że oko ludzkie nie zauważy krótkiej przerwy w świeceniu diody LED (ale bardzo dobrze zauważa pojawienie się błysku). Można o tym się przekonać próbując zaobserwować transmisję jednego znaku przez układ transmisji szeregowej mikrokontrolera (szczególnie jeżeli w transmitowanym bajcie jest dużo jedynek i transmisja jest prowadzona z dużą prędkością). To zjawisko bezwładności oka na zmiany emisji światła jest głównym powodem zastosowania programowalnego negatora (czyli bramki EXOR). Jako efekt uboczny przy obserwowaniu statycznych stanów jest możliwość określenia czy dioda LED ma świecić gdy na wejściu jest stan logicznej jedynki lub logicznego zera.
Kompletny schemat sondy pokazany jest na ilustracji 6 oraz 7. Rysunek ścieżek płytki PCB dla strony TOP oraz BOTTOM pokazany jest na ilustracji 8 i 9. Położenie poszczególnych elementów pokazane jest na rysunku 10. Zmontowane urządzenie diagnostyczne przedstawiają ilustracje 11 i 12 (w kolejnych fazach powstawania). Do zasilania układu przewidziane są dwa przewody zakończone odpowiednimi klipsami pozwalającymi na “pożyczkę” napięcia zasilającego nawet z monitorowanego układu scalonego. Rozmieszczenie elementów pozwalających na konfigurację pokazane jest na ilustracji 15. Przełączniki kanałów (pozwalające odłączyć poszczególne piny sondy od monitorowanych sygnałów) w stanie ON łączą wejścia bramek EXOR z wejściowym klipsem. Włączniki polaryzacji (pozwalające definiować, czy dany kanał pracuje jako wzmacniacz czy jako negator) w stanie ON określają, że dany kanał jest wzmacniaczem (dioda LED świeci jeżeli na wejściu jest stan logicznego zera). Numeracja przełączników włącznika kanałów jest zgodna z numeracją włącznika polaryzacji. Użycie tak zbudowanego urządzenia diagnostycznego prezentuje ilustracja 16. W tym zastosowaniu sonda pokazuje stany na mikrokontrolerze AVR AT90S2313. Sam klips jest założony na mikrokontroler tak, że diagnozuje wyprowadzenia 2..9 oraz 12 .. 19 mikrokontrolera (ilustracja 17). Jak łatwo zauważyć na wejścia 3 i 4 sondy trafiają wyprowadzenia generatora taktu mikrokontrolera. By nie została zakłócona praca tego generatora, zostały odłączone te wejścia od nadzorowanego układu. Odłączenie to oznacza, że na wejściach bramek EXOR ustalony jest (poprzez odpowiedni rezystor) stan logicznej jedynki. Można za pomocą drugiego przełącznika wyłączyć świecenie diod LED (ilustracja 18). Zasilanie sondy w tym przypadku użycia wygląda następująco (ilustracja 19 i 20).