Monitor portów AVR

Transkrypt

Monitor portów AVR
+
Monitor
portów AVR
Do czego to służy?
Na początku stycznia zadzwonił do mnie pewien Czytelnik, który napotkał kłopoty przy
próbie dołączenia wyświetlacza LCD do procesora AVR (‘8535). Przez telefon nie sposób
było ustalić przyczyny. Mógł nią być błąd
w programie albo też błędne podłączenie lub
uszkodzenie wyświetlacza. Poradziłem, żeby
przede wszystkim sprawdził, czy procesor
wysyła informację na linie portu procesora,
do których jest dołączony wyświetlacz.
Można to zrobić w różny sposób. Po
chwili namysłu doszedłem do wniosku, że
podobne problemy z pewnością napotka wielu Czytelników, piszących własne programy.
Aby ułatwić im życie, postanowiłem zaprojektować monitor stanu portów procesora.
Chodzi o to, żeby podczas pracy programu
można było łatwo sprawdzić, co dzieje się na
poszczególnych liniach portów.
W przypadku wielu procesorów, w tym
rodziny ‘51, nie ma żadnego problemu, bo na
porcie może wystąpić jeden z dwóch stanów.
Monitorem stanu danej końcówki może być
dioda LED i rezystor szeregowy włączone
między daną końcówkę a dodatnią szynę zasilania. Z portami procesorów AVR sprawa
jest trudniejsza, bo mogą tam występować
nie dwa, tylko cztery różne stany - szczegóły
można znaleźć w odcinku Mikroprocesorowej Oślej łączki w numerze 1/2003. Opisany
dalej monitor pozwala określić nie tylko spoczynkowy stan danej końcówki, ale też zmiany stanów podczas pracy programu.
Jak to działa?
Rysunek 1 pokazuje schemat ideowy układu
monitora, ściślej - monitor stanu jednej linii.
Punkt PORT należy dołączyć do badanej linii
portu procesora AVR, a punkty VCC i GND
podłączyć do napięcia zasilającego procesor.
Aby rozróżnić cztery stany (dwa przy pracy
w roli wyjścia, dwa - jako wejścia) potrzebne
są co najmniej dwie diody LED. Gdy końcówka pracuje jako wejście „pływające”, nie
świeci żadna z diod. Sytuacja jest taka, jakby
18
punkt PORT pozostał niepodłączony. Aby
lampki nie świeciły, suma napięć przewodzenia diod i złącza baza-emiter tranzystora musi być większa od napięcia zasilania. Ponieważ niektóre żółte diody LED zaczynają zauważalnie świecić już przy napięciu 1,7V,
koniecznie jest zastosowanie szeregowych
diod D1...D4. Wtedy na pewno przy napięciu
zasilania do 5,5V żółte diody LED1 i LED2
nie będą świecić.
Rys. 1 Schemat ideowy
Gdy sprawdzana końcówka pracuje jako
wyjście, procesor ustawia tam „czysty” stan
wysoki albo niski, co odpowiada dołączeniu
punktu PORT do plusa zasilania albo do masy. Znaczny prąd płynie przez rezystor R1 i
jasno świeci jedna z diod LED1, LED2. Przy
stanie wysokim wyjścia – LED2, przy niskim
– LED1. Tranzystor T1 praktycznie nie odgrywa wtedy żadnej roli.
Gdy badana końcówka jest wejściem
„podciągniętym”, panuje na niej w spoczynku stan wysoki, ale wydajność prądowa jest
mała (znacznie poniżej 1mA). Właśnie dzięki zdecydowanie różnej wydajności prądowej „podciągnięte” wejście można skutecz-
nie odróżnić od wyjścia w stanie wysokim.
Pomaga w tym tranzystor T1 i dodatkowy rezystor R2. Mianowicie z badanej końcówki
przez rezystor R1 płynie wtedy bardzo mały
prąd, ale otwiera on tranzystor T1 i przez diodę LED2 płynie prąd o wartości wyznaczonej
przez R2. Wartość R2 jest tak dobrana, żeby
prąd ten wynosił 1mA lub mniej. Tym samym, gdy badana końcówka jest wejściem
„podciągniętym”, świeci LED2, ale ze znacznie zmniejszoną jasnością, wyznaczoną przez
wartość rezystora R2. W ten sposób jasność
świecenia LED2 pokazuje, czy chodzi
o „prawdziwy” wysoki stan wyjścia (jasne
światło), czy o „podciągnięcie” wejścia (świecenie słabe, ale wyraźnie zauważalne). Rezystor R3 jest potrzebny, żeby układ nie reagował
na prądy upływu, mniejsze niż 5µA.
Na rysunku 2 pokazane są reakcje monitora na wszystkie cztery możliwe stany linii
portu i rozpływ prądów.
Oczywiście, gdy porty będą pracować
w roli wyjść i gdy będą się na nich szybko
zmieniać stany, będą świecić obie lampki.
Świecenie obu lampek świadczy więc, że na
badanej końcówce występuje przebieg impulsowy, a stosunek jasności lampek wskaże
współczynnik wypełnienia tego przebiegu.
Uwaga! W proponowanej wersji układ
przeznaczony jest do pracy przy napięciu
zasilania w granicach 5V±0,5V. Jeśli procesor miałby pracować przy innym napięciu zasilania albo z diodami LED o innym napięciu
przewodzenia, należy zmienić liczbę szeregowych diod krzemowych (D1...D4), by
przy odłączonym punkcie PORT nie świeciła
żadna z diod LED. Zwłaszcza w przypadku
użycia diod czerwonych, mających niższe
napięcie przewodzenia, może zajść potrzeba
dodania diod krzemowych
Warto dodać, że najprostszy monitor stanu portów procesora AVR można zbudować
według rysunku 3. Działanie będzie identyczne, jak układu z rysunku 1, tylko przy
wejściu „podciągniętym” jasność świecenia
LED2 będzie bardzo mała.
E l e k t ro n i k a d l a Ws z y s t k i c h
Kto chciałby wypróbować taki prosty
układ, powinien zastosować diodę LED2
z przezroczystą soczewką, żeby można było
dostrzec to znikome świecenie przy prądzie
diody rzędu 0,1mA.
z naszej strony internetowej. Należy dołączyć wejście monitora (PORT) do punktu D0
(zacisk ARK lub dolna szpilka zwory J5), jak
pokazuje rysunek 4.
Piotr Górecki
Montaż i uruchomienie
Rys. 3
Do tak prostego układu nie przewidziano płytki drukowanej. Wszyscy uczestnicy kursu mikroprocesorowej Oślej łączki powinni wykonać przynajmniej jednokanałowy tester według rysunku 1, choćby w postaci „pająka”, jak
na fotografii wstępnej. Aby dołączyć monitor
do badanej końcówki portu, warto wykorzystać jedną końcówkę z listwy z gniazdkami.
Kto chce, może zmontować kilka, nawet
osiem, kanałów, by uzyskać prosty analizator
stanów.
Aby wstępnie sprawdzić działanie testera,
można wykorzystać programik MonPort.bas
Ry s. 4
Wykaz elementów
monitora jednokanałowego
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220Ω
R2 . . . . . . . . . . . . . . . . . . . . .3,3kΩ (2,2...6,8kΩ)
R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100kΩ
LED1,LED2 . . . . . . . . . . . . . . . . . . . . . .żółta 3mm
T1 . . . . . . . . . . . . . . . . . . . . .BC548 lub podobny
D1...D4 . . . . . . . . . . . . . . . . . . . . . . . .1N4001...7
(wspólne dla wszystkich kanałów)
Rys. 2
Ciąg dalszy ze strony 17.
Przyciski szybkiego wyboru w programie są
tworzone wirtualnie, to znaczy, że mogą one
mieć wartości inne niż wartości przycisków
szybkiego wybierania znajdujące się w zasilaczu. Dzięki temu istnieje możliwość zwiększenia liczby przycisków wyboru aż do 16.
Przyciskiem „MODE” można zmienić wartości wskazywane przez przyciski wyboru na
prąd lub napięcie. Aby program poprawnie
pracował, należy go skonfigurować. Konfiguracja będzie polegać na zmianie pliku tekstowego, w którym zawarty jest numer portu oraz napięcia i prądy przypisane wirtualnym przyciskom wyboru. Wygląd tego pliku konfiguracyjnego przedstawia rysunek 9. Pierwsza wartość
wskazuje na numer portu i jeżeli będzie to COM1, to „1”, a jeżeli COM2,
to należy wpisać „2”. Pozostałe wartości przypisywane są klawiszom od 1
do 8 w kolejności, w jakiej znajdują
się w tym pliku. Po wartościach napięć podawane są wartości prądów.
Dla uniknięcia błędów, nowe wartości
E l e k t ro n i k a d l a Ws z y s t k i c h
ustawień należy
podawać w takiej
formie w jakiej
znajdują się w dołączonym pliku
„ustaw.txt”. Programowy przycisk „OUT” załącza napięcie do
obciążenia, natomiast
przycisk
„Power” jest wirtualnym wskaźnikiem zasilania,
który należy za-
Rys. 9
Rys. 10
wsze włączyć, by program zaczął działać. Na
rysunku 10 przedstawiam program dostosowany do drugiej wersji programu zapisanego
w 89C4051, który jest odzwierciedleniem
płyty czołowej zasilacza.
Należy zauważyć, że w dołączonym programie obsługi zasilacza pobierany prąd jest
wskazywany w drugiej linii, nie ma tam przełącznika trybu wyświetlania. Napisany przeze
mnie program można udoskonalić. Jak było
wspomniane, program zawarty w 89C4051
napisany został w rewelacyjnym BASCOMie, przy czym 4kb zawarte w mikrokontrolerze zostały wykorzystane całkowicie. Działanie programu nie jest skomplikowane, gdyż
polega w znacznej części na obsłudze klawiatury, komunikacji z RS232, przetwornikami i wyświetlaczem LCD.
Marcin Wiązania
P.S. Pliki programów oraz rysunki płytek
drukowanych można ściągnąć ze strony internetowej EdW.
19

Podobne dokumenty