AVT2550 - Pecel a może Big Bang.pdf

(2643 KB) Pobierz
69_013.pdf
++
Projekty AVT
a może
Big Bang?
2 5 5 0
Od redakcji:
Tego artykułu nie wolno przeoczyć.
To absolutnie największe wydarzenie
na łamach EdW w 2001 roku. W roku
2000 uczyliśmy się BASCOMa,
a w tym roku naturalną tego konse−
kwencją jest opracowanie mikrokom−
putera, stanowiącego samodzielne urzą−
dzenie wyposażone we wszystkie ele−
menty będące składnikami "dużych"
komputerów. Posiada on monitor, kla−
wiaturę, wszystkie stosowane w mini−
komputerach rodzaje pamięci, kilka po−
rtów do komunikowania się z otocze−
niem (I 2 C, 1WIRE i RS232) oraz to co
chyba najważniejsze: możliwość rozbu−
dowywania systemu tak, jak to ma
miejsce w komputerach klasy PC.
Oto przedstawiamy taki mikrokom−
puter. Od dziś, jeśli będziesz potrzebo−
wał wyposażyć konstruowane przez
Ciebie urządzenie w tak zwaną inteli−
gencję − masz gotowe rozwiązanie. Nie
zrobisz tego lepiej i prościej, niż progra−
mując przy pomocy BASCOMa nasz
minikomputer. Jest to m inikomputer
o sobisty k ażdego e lektronika, dlatego
nazwaliśmy go Pecel (Personal Compu−
ter for Electronicians). Ktoś zaczął też
w redakcji lansować nazwę "Big
Bang" , wyrażając − z pewną, przyznaj−
my, egzaltacją− przekonanie, że ten mi−
nikomputer otwiera nową epokę w kon−
strukcjach elektronicznych. Jakoś trzeba
ten komputer nazwać, więc chwilowo
pozostaliśmy przy nazwie Pecel, ale za−
praszamy wszystkich Czytelników EdW
do zgłaszania własnych propozycji
w konkursie na najlepszą nazwę tego
minikomputera.
część 1
Chciałbym zaproponować Czytelnikom Elek−
troniki dla Wszystkich budowę komputera. No
może trochę przesadziłem: nie komputera, ale
mikrokomputera, który jednak będzie posiadał
wszystkie elementy właściwe dla „dużych”
maszyn, z komputerami klasy PC włącznie.
Budowanie minikomputerów ma już na ła−
mach EdW pewne tradycje. Przebojem wśród
kitów AVT był przez wiele lat i jest nim nadal
słynny Komputer Edukacyjny , skonstruowa−
ny przez Sławka Surowińskiego. Maszyna ta
umożliwiła nam pierwszy kontakt z techniką
mikroprocesorową i trudno byłoby policzyć,
ilu z Was zapoznało się dzięki temu układowi
z programowaniem procesorów w języku
asemblera. Komputer AVT−2250 jest układem
typowo edukacyjnym i eksperymentalnym,
chociaż istnieje także możliwość zastosowa−
nia go do celów praktycznych. Natomiast
proponowany przeze mnie układ ma być
przede wszystkim urządzeniem o rozlicznych
zastosowaniach praktycznych, a jego walory
edukacyjne wynikają z samych założeń kon−
strukcyjnych, narzucających użytkownikowi
konieczność samodzielnego napisania pro−
gramu sterującego mikrokomputerem.
W odróżnieniu od poprzednio budowa−
nych minikomputerów i płyt testowych (np.
AVT−2500) nasz nowy minikomputer jest
urządzeniem w pełni funkcjonalnym, posia−
dającym wyjątkowo zwartą budowę, a nawet
polecaną mu płytę czołową wyposażoną
w stosowne napisy. Elementami decydujący−
mi o wymiarach urządzenia był wyświetlacz
alfanumeryczny i klawiatura, tak więc wy−
miary minikomputera niewiele wykraczają
poza obrys wyświetlacza.
Sercem naszego mikrokomputera jest no−
woczesny, wykonany w technologii RISC,
bardzo szybki i wyposażony w wielką liczbę
funkcji dodatkowych procesor typu
AT90S8535. Oceniam, choć może to być
ocena nieco subiektywna, że procesor ten na−
leży do najlepszych w swojej klasie, a relacja
pomiędzy jego możliwościami i ceną przed−
stawia się wyjątkowo korzystnie. Już sam
fakt umieszczenia w strukturze procesora
nieulotnej pamięci danych EEPROM, ośmiu
przetworników analogowo−cyfrowych czy
zegara czasu rzeczywistego, co zwalnia nas
z konieczności stosowania wielu elementów
zewnętrznych, przesądza o celowości zasto−
sowania właśnie tego typu procesora.
Jest jeszcze jeden powód, dla którego
AT90S8535 doskonale nadaje się do prac
hobbystycznych: znaczny obszar pamięci
programu, jaki mamy do dyspozycji i ogrom−
na łatwość jej programowania. W strukturze
tego procesora znalazło się miejsce na 8kB
pamięci EEPROM. Jest to ogromny obszar
pamięci i zręczny programista potrafi na tym
Elektronika dla Wszystkich
13
Pecel
269691398.051.png 269691398.062.png
Projekty AVT
procesorze zrealizować prawdziwe cuda.
Niestety, nie wszyscy jesteśmy wykwalifiko−
wanymi programistami i taka pojemność pa−
mięci programu to prawdziwy dar niebios
także dla początkujących. Uwalnia to ich bo−
wiem od ustawicznych stresów związanych
z przekroczeniem rozmiaru programu prze−
znaczonego do umieszczenia w procesorze
z 2, czy nawet 4kB EEPROM−em.
Wszystkie procesory AVR, w tym oczy−
wiście nasz ‘8583 mogą być programowane
w języku MCS BASIC, zaimplementowa−
nym w pakiecie BASCOM AVR, bracie bli−
źniaku znanego nam BASCOM−a 8051.
Dialekt MCS BASIC stosowany w pakiecie
BASCOM AVR praktycznie nie różni się od
języka stosowanego w BASCOM−ie 8051.
Różnice wynikają głównie z odmiennego na−
zewnictwa wyprowadzeń procesora i znacz−
nie bogatszego zestawu funkcji zaszytych
w strukturach procesorów AVR.
Doszliśmy w tym momencie do jeszcze
jednego powodu, który wpłynął na decyzję
o wyborze typu procesora zastosowanego
w naszym minikomputerze. Pakiet BASCOM
AVR stał się ostatnio „okrętem flagowym”
firmy MCS Electronics, co oczywiście nie
oznacza, że zaprzestano prac nad doskonale−
niem BASCOM−a 8051. Można powiedzieć,
że Mark doprowadził do perfekcji swoją ideę:
„Co tu wymyślić, aby inni nie musieli my−
śleć?”. Opracowane ostatnio najnowsze pole−
cenia języka MCS BASIC dla procesorów
AVR sprowadzają wiele trudnych problemów
programistycznych, nad którymi ja sam prze−
siedziałem kilka nocy, do wydania jednego
polecenia systemowego. W dalszej części
opisu minikomputerka zapoznamy się z naj−
nowszymi „fajerwerkami”, za pomocą
których nawet bardzo skomplikowany pro−
gram można napisać w ciągu kilku minut.
Z pewnością wielu z Was z niepokojem
myśli już o jednej, niesłychanie ważnej pod−
czas tworzenia systemu mikroprocesorowego
sprawie: o programowaniu procesora. Być
może napisanie programu jest sprawą prostą,
ale jak wprowadzić go do pamięci CPU? Pro−
gramatory procesorów są z zasady urządze−
niami bardzo skomplikowanymi i kosztow−
nymi i co nam przyjdzie z posiadania mini−
komputera i napisanego dla niego programu,
jeżeli nie będziemy mieli możliwości wpro−
wadzenia go do pamięci procesora? Bardzo
się mylicie, Moi Drodzy! Programator proce−
sorów AVR, w tym procesora 90S8535, jest
urządzeniem banalnie prostym i składającym
się tylko z jednego standardowego układu
TTL! Powiem więcej: można w ogóle obyć
się bez programatora podłączając interfejs
SPI umieszczony w strukturze procesora bez−
pośrednio do portu drukarkowego! Jest to
jednak rozwiązanie awaryjne i na co dzień
będziemy się posługiwać prostym programa−
torkiem, którego płytka PCB mieszcząca się
we wnętrzu typowej obudowy wtyku drukar−
kowego będzie dołączana za darmo do kitu
minikomputera.
Bez najmniejszej przesady mogę stwier−
dzić, że dysponując naszym komputerkiem
i niekiedy jednym czy dwoma opracowanymi
dla niego urządzeniami dodatkowymi, bę−
dziemy mogli zbudować KAŻDY system
mikroprocesorowy , jaki tylko przyjdzie
nam do głowy. Jeżeli nawet napotkamy pro−
blemy związane z ograniczeniami sprzęto−
wymi, jakie istnieją w każdym bez wyjątku
komputerze czy minikomputerze, to od cze−
go bogowie dali nam ręce i głowę? Jeżeli za−
tem zajdzie rzeczywista potrzeba, to zbudo−
wane zostaną nowe karty, rozszerzające i tak
już bogate możliwości minikomputera.
Chciałbym jeszcze powrócić do jednej,
uprzednio poruszonej ogólnikowo sprawy:
wartości edukacyjnej proponowanego ukła−
du. Chciałbym, a mam nadzieję, że Czytelni−
cy zgodzą się ze mną, aby opis minikompu−
tera był w jakimś sensie kontynuacją kursu
BASCOM College. Wykłady BASCOM Col−
lege zakończyły się dość szybko. Wiele cie−
kawych problemów związanych z programo−
waniem procesorów nie zostało nawet zasy−
gnalizowanych, nie mówiąc nawet o ich do−
kładnym omówieniu. Mogę tu przykładowo
wymienić sprawy związane z transmisją da−
nych pomiędzy komputerem a procesorem,
wykorzystującą interfejs RS232, o której
opis domagało się wielu Czytelników. Nada−
rza się zatem dokonała okazja, aby dysponu−
jąc odpowiednim hardware (płytka AVT−
2500 nie miała urządzeń sprzętowych nie−
zbędnych do przeprowadzenia transmisji
RS232) opisać dokładnie tę i inne sprawy.
Kurs BASCOM College zakończył się już
dawno, kilka miesięcy temu, a przy tempie
rozwoju oprogramowania oferowanego przez
MCS Electronics jest to cała epoka. Podam
Rys. 1 Schemat ideowy
14
Elektronika dla Wszystkich
269691398.073.png 269691398.074.png 269691398.001.png 269691398.002.png 269691398.003.png 269691398.004.png 269691398.005.png 269691398.006.png 269691398.007.png 269691398.008.png 269691398.009.png 269691398.010.png 269691398.011.png 269691398.012.png 269691398.013.png 269691398.014.png 269691398.015.png 269691398.016.png 269691398.017.png 269691398.018.png 269691398.019.png 269691398.020.png 269691398.021.png 269691398.022.png 269691398.023.png 269691398.024.png 269691398.025.png 269691398.026.png 269691398.027.png 269691398.028.png 269691398.029.png 269691398.030.png 269691398.031.png 269691398.032.png 269691398.033.png 269691398.034.png 269691398.035.png 269691398.036.png 269691398.037.png 269691398.038.png 269691398.039.png 269691398.040.png 269691398.041.png 269691398.042.png 269691398.043.png 269691398.044.png 269691398.045.png 269691398.046.png 269691398.047.png 269691398.048.png 269691398.049.png 269691398.050.png 269691398.052.png 269691398.053.png 269691398.054.png 269691398.055.png 269691398.056.png 269691398.057.png 269691398.058.png 269691398.059.png 269691398.060.png 269691398.061.png 269691398.063.png 269691398.064.png 269691398.065.png 269691398.066.png
Projekty AVT
Wam tylko jeden przykład: na jednym z wy−
kładów BC opisywaliśmy metody odczyty−
wania numerów seryjnych i zawartości reje−
strów układów 1WIRE produkowanych
przez firmę DALLAS. Przerobiliśmy tylko
proste przykłady, a ja sam nie wiedziałem,
jak np. odczytać numery wielu układów
1WIRE jednocześnie dołączonych do tej sa−
mej linii. Wiedziałem tylko, że da się to zro−
bić, ale że sprawa jest dość skomplikowana
i że już kilku dobrych programistów połama−
ło sobie na tym zęby. A jak ten problem wy−
gląda w czerwcu 2001, kiedy piszę ten arty−
kuł? Mark sprowadził go do kilku prostych
poleceń, które zastosować potrafi nawet po−
czątkujący programista:
AVR, brat bliźniak dobrze Wam już znanego
BASCOM−a 8051. Na początek wystarczy
BASCOM AVR Demo, którego możliwości
w obecnej chwili nie ustępują możliwościom
jego wersji komercyjnej. Nawet ograniczenie
długości kodu wynikowego zostało ostatnio
zmniejszone i wynosi obecnie 2kB. Niestety,
jest to za mało dla pełnego wykorzystania
możliwości procesora ‘8535 i dlatego
w przyszłości będziecie musieli pomyśleć
o zakupie wersji komercyjnej. Jej cena wyno−
si niezmiennie 69USD + koszta, czyli przy
zakupie bezpośrednio w MCS Electronics
około 85USD. Nie jest to mało, ale cena BA−
SCOM−a w relacji do jego możliwości jest po
prostu rewelacyjnie niska! Sprawdźcie, ile
kosztują inne kompilatory, np. Keil! A prze−
cież BASCOM jest nie tylko kompilatorem,
ale całym, potężnym zestawem narzędzio−
wym. Pakiet BASCOM AVR DEMO jest do−
stępny za darmo na stronie internetowej
EdW. Został on także umieszczony na płycie
CD−EP wrześniowej Elektroniki Praktycznej.
Zajmijmy się teraz dalszymi konkretami,
czyli możliwościami oferowanymi przez mi−
nikomputer.
szym wypadku tylko tego jednego elementu
zewnętrznego, a pomiarów będziemy mogli
dokonywać aż w ośmiu punktach jednocze−
śnie. Dokładność pomiarów jest w większości
przypadków aż nadto wystarczająca. Dla
przykładu: dokonując pomiaru w zakresie do
5V dysponujemy rozdzielczością 4,8mV.
− sprzętowy UART, czyli układ umożli−
wiający transmisję danych z wykorzystaniem
protokołu RS232. A więc, nasz mikrokompu−
ter może bezpośrednio „porozumiewać się”
z dużymi maszynami klasy PC, a także z każ−
dym innym komputerem lub systemem mi−
kroprocesorowym wyposażonym w interfejs
RS232. UART umieszczony w strukturze
procesora wspomagany jest sprzętowo przez
dodatkowy hardware umieszczony na płycie
głównej naszego mikrokomputera.
− RTC – zegar czasu rzeczywistego, a wła−
ściwie osobny oscylator + timer, który z ze−
wnętrznym kwarcem 32768Hz automatycz−
nie generuje przerwania co 1 sekundę. Zegar
czasu rzeczywistego otrzymał ostatnio potęż−
ne wsparcie software’owe w języku MCS
BASIC. Czy wiecie, jak teraz wygląda pro−
gramowa konstrukcja zegara, pokazującego
aktualny czas i datę? Ano, tak: LCD TIME$
i LCD DATE$. To wszystko.
− Trzy sprzętowe timery, w tym jeden (Ti−
mer2) mogący współpracować z dodatko−
wym zewnętrznym rezonatorem kwarco−
wym. Ten właśnie timer wykorzystywany
jest do realizacji funkcji zegara czasu rzeczy−
wistego. Wszystkie timery są wyposażone
w bardzo rozbudowane funkcje, takie jak
preskalery, sprzętową generację PWM i inne.
− Dwa zewnętrzne źródła przerwań sprzę−
towych: INT0 i INT1
− Wbudowany sprzętowy interfejs SPI.
Jest to jedna z największych zalet procesora
‘8535. Interfejs SPI umożliwia nie tylko ko−
munikację z innymi układami i systemami
mikroprocesorowymi, ale także programo−
wanie procesora bez konieczności wyjmo−
wania go z podstawki . Do złącza CON8
umieszczonego na płycie głównej mikro−
komputera możemy dołączyć prosty progra−
mator ISP (In System Programming) i po na−
pisaniu programu bądź jego fragmentu wpro−
wadzić go do pamięci procesora naciskając
tylko jeden klawisz. Programowanie w syste−
mie nie tylko znakomicie upraszcza i przy−
spiesza pracę nad nowym programem, ale
także eliminuje ryzyko uszkodzenia wypro−
wadzeń procesora podczas częstego wyjmo−
wania i wkładania go w podstawkę.
− Sprzętowy watchdog, czyli dodatkowy,
wyspecjalizowany timer skutecznie zabez−
pieczający procesor przed „zawieszeniem
się” na przykład na skutek wystąpienia sil−
nych zakłóceń zewnętrznych.
var = 1WIRECOUNT( )− podaj liczbę układów 1WIRE
dołączonych do magistrali
var = 1WSEARCHFIRST( ) − podaj numer
seryjny pierwszego układu
var = 1WSEARCHNEXT( ) − podaj numery
seryjne dowolnej liczby układów
Czego właściwie będziemy potrzebować,
aby rozpocząć korzystanie z naszego mini−
komputera? Baza sprzętowa i programowa są
w końcu nieraz rzeczami najważniejszymi,
ponieważ decydują o kosztach, jakie będzie−
my musieli ponieść przed rozpoczęciem pracy
i nauki. Na szczęście sprzęt, jakiego będziemy
potrzebować, nie jest ani bardziej skompliko−
wany, ani kosztowny od wyposażania, które
musieliśmy mieć do dyspozycji podczas prze−
rabiania programu BASCOM College.
1. Komputer klasy PC. Nie musi to być
wcale jednostka z PENTIUM taktowanym
zegarem 1GHz, ale jakikolwiek komputer, na
którym można uruchomić system WIN−
DOWS95/98/NT/2000. A zatem, w skrajnym
przypadku możemy się zadowolić nawet ma−
szyną z procesorem PENTIUM I! Oczywi−
ście, jest to absolutne minimum, ale wyma−
gania BASCOM−a są tak niewielkie, że
w ostateczności możemy posłużyć się nawet
takim muzealnym zabytkiem.
2. Programator procesorów AVR. Schemat
tego programatora zostanie pokazany w
dalszej części artykułu. Jak już wspominałem,
jest to układ wręcz śmiesznie prosty i tani.
3. Kabelek do programatora, czyli zwykły
kabel płaski zakończony dwoma zaciskany−
mi wtykami 10 pin.
4. Bardzo przydatny może okazać się je−
szcze jeden kabelek. Taki niezbyt długi, 1 ...
2mb, z trzema przewodami i zakończony
żeńskim wtykiem DB9. Umożliwi on komu−
nikację pomiędzy naszym komputerkiem
a maszyną klasy PC. Komunikacja ta będzie
odbywać się poprzez łącze RS232, a jak bar−
dzo może okazać się użyteczna także pod−
czas pisania i testowania programów, dowie−
cie się w dalszej części tego artykułu.
5. No i wreszcie najważniejsze: software!
Potrzebny Wam będzie pakiet BASCOM
Funkcje mikrokomputera reali−
zowane bezpośrednio przez pro−
cesor AT90S8535:
- Wewnętrzna pamięć programu o pojem−
ności 8kB. Porównując nasz mikrokompute−
rek z maszynami klasy PC, jest to nic, ale dla
systemu mikroprocesorowego, którym
w istocie jest nasz układ taka ilość pamięci to
prawie nieograniczone możliwości rozbudo−
wy programu. Przypomnijcie sobie, ile cieka−
wych układów zaprojektowaliśmy wykorzy−
stując procesory z 2kB pamięci (AT89C2051
czy AT90S2313), i wyobraźcie sobie, co
można zdziałać mając do dyspozycji aż taki
obszar pamięci.
− Wewnętrzna nieulotna pamięć danych
EEPROM o pojemności 512B, która w więk−
szości przypadków pozwala na rezygnację ze
stosowania pamięci zewnętrznych, prawie
zawsze dodawanych do układów z proceso−
rami ‘2051. W pamięci tej możemy zapisać
512 bajtów, czyli np. 512 różnych liczb.
W dalszej części tego artykułu dowiecie się,
że procedura zapisu i odczytu danych z EE−
PROM−a jest banalnie prosta i sprowadza się
do wydania tylko jednego polecenia.
− Wewnętrzna pamięć danych SRAM
o pojemności także 512B. Napisałem napraw−
dę sporo bardzo rozbudowanych programów
na ten procesor, ale jeszcze nigdy „nie udało”
mi się zapełnić tej pamięci nawet w połowie.
− ośmiokrotny 10−bitowy przetwornik ana−
logowo−cyfrowy. Przetwornik korzysta z ze−
wnętrznego źródła napięcia odniesienia, rów−
nego lub mniejszego od napięcia zasilania.
A zatem, wszelkie operacje związane z po−
miarem wartości analogowych za pomocą na−
szego komputera będą wymagały w najgor−
Funkcje mikrokomputera realizo−
wane przy współpracy z hardware
umieszczonym na płycie głównej:
Elektronika dla Wszystkich
15
269691398.067.png 269691398.068.png
Projekty AVT
− Wyświetlacz alfanumeryczny LCD. Ele−
ment ten jest podstawowym układem służą−
cym przekazywaniu informacji opracowanej
przez komputer i przetłumaczonej na „ludz−
ki” język cyfr, liter i znaków specjalnych.
W mikrokomputerze można zastosować, za−
leżnie od potrzeb i możliwości finansowych
wyświetlacz 16*1 lub 16*2 znaki, z podświe−
tlaniem lub bez.
− Klawiatura szesnastoprzyciskowa. Kla−
wiatura ta, zbudowana z tanich i łatwych do
nabycia przycisków, po odpowiednim opro−
gramowaniu umożliwia wprowadzanie do
komputera nie tylko liczb, ale także wszyst−
kich znaków alfanumerycznych. Programo−
wa obsługa klawiatury zostanie szczegółowo
omówiona w dalszej części artykułu, ale już
teraz mogę Wam powiedzieć, że sprowadza
się ona do jednego polecenia języka MCS
BASIC: GETKBD! Tym Czytelnikom,
którym nie wystarczy taka prosta klawiatura
i którzy chcieliby wprowadzać do minikom−
putera dane za pomocą typowej konsoli od
PC, mogę już teraz powiedzieć, że dołącze−
nie takiej klawiatury do naszego układu jest
sprawą banalnie prostą, a wprowadzanie
z niej danych odbywa się przy pomocy tylko
jednego polecenia programowego.
− Magistrala I 2 C jest jednym z najważ−
niejszych elementów naszego mikrokompu−
tera, który umożliwia praktycznie nieograni−
czoną rozbudowę systemu. Większość ukła−
dów peryferyjnych opracowanych dla mi−
krokomputera sterowana jest poprzez magi−
stralę I 2 C, a ponadto do dyspozycji będziemy
mieli także ogromną ilość modułów I 2 C speł−
niających najróżniejsze funkcje, których
opisy zostały opublikowane w Elektronice
Praktycznej.
− Magistrala 1WIRE obsługująca układy
opracowane przez firmę DALLAS, w tym
termometry cyfrowe, przełączniki i oczywi−
ście „magiczne” tabletki z serii i−BUTTON.
− Moduł odbiornika kodu RC5 lub innego
transmitowanego w podczerwieni, z nośną
o częstotliwości zbliżonej do 36kHz. Moduł
ten może okazać się użyteczny nie tylko do
odbierania informacji z pilota od sprzętu
RTV, ale i do komunikowania się z innymi
procesorami lub wspomnianym sprzętem. Po
opracowaniu przez MCS Electronics polece−
nia SENDRC5 generowanie kodu sterowania
na zakresie podczerwieni stało się naprawdę
banalnie proste, podobnie jak generacja kodu
DTMF (DTMFOUT), wykorzystywanego
w telefonii.
− Bezpośrednie sterowanie odbiornikami
prądu stałego umożliwia umieszczony na
płycie głównej mikrokomputera układ typu
ULN2003, zawierający w swojej strukturze
siedem driverów mocy, o maksymalnym prą−
dzie do 500mA każdy. Z wyjść tych driverów
możemy bezpośrednio sterować silniczkami
elektrycznymi DC, w tym czterofazowymi
silnikami krokowymi, przekaźnikami, elek−
tromagnesami, a także żarówkami na napię−
cie 12V i girlandami diod świetlnych.
− Jednym z najważniejszych układów
umożliwiających komunikację komputerka
z innymi urządzeniami elektronicznymi jest
pełny interfejs RS232 zrealizowany na popu−
larnym układzie MAX232. Za pomocą tego
układu, wspieranego przez sprzętowy UART
wbudowany w strukturę procesora
AT90S8535, możemy nawiązać łączność
z dowolnym komputerem wyposażonym
w interfejs RS232 (czyli z każdą maszyną
klasy PC) lub innym urządzeniem elektro−
nicznym.
− Na płycie głównej został także umie−
szczony dodatkowy rezonator kwarcowy
o częstotliwości podstawowej 32768Hz, czy−
li popularny „kwarc zegarkowy”. Element
ten umożliwia uruchomienie wewnętrznego
sprzętowego generatora czasu rzeczywiste−
go, bloku wręcz bezcennego nie tylko dla
konstruktorów zegarów, ale także innych
urządzeń wymagających pomiaru czasu,
w tym mierników częstotliwości.
− Jak już wiemy, procesor AT90S8535 zo−
stał wyposażony w wewnętrzny ośmiokana−
łowy przetwornik analogowo−cyfrowy o roz−
dzielczości 10 bitów. Niewiele jest on jednak
wart bez zewnętrznego, wysokostabilnego
źródła napięcia odniesienia, które na szczę−
ście zostało umieszczone na płycie głównej.
Jako źródło napięcia odniesienia 2,5V został
zastosowany układ LM385.
− Każdy, kto choćby trochę zapoznał się
z zasadami konstruowania układów zrealizo−
wanych w technice mikroprocesorowej, wie,
jakie znaczenia ma prawidłowy start proce−
sora po włączeniu zasilania. Zamontowany
na płytce reset sprzętowy typu DS1813 nie
tylko zapewnia właściwe warunki startu pro−
cesora, ale także nadzoruje poziom napięcia
zasilającego. Spadek tego napięcia poniżej
poziomu dopuszczalnego dla procesora
AT90S8535 mógłby, w przypadku dalszej
pracy procesora, mieć nieobliczalne następ−
stwa, polegające głównie na uszkodzeniu za−
wartości pamięci danych EEPROM.
− Wiem, że bardzo lubicie konstruować
zegary. Nasz minikomputer daje w tym za−
kresie ogromne, wręcz nieograniczone moż−
liwości. Możecie zbudować zarówno prosty
zegarek, jak i bardzo rozbudowane układy
nadzorujące w funkcji czasu dziesiątki urzą−
dzeń peryferyjnych. Tylko że dokładność ta−
kiego zegara będzie taka, jaka będzie dokład−
ność zastosowanego w nim rezonatora kwar−
cowego 32768Hz, czyli niekiedy niezbyt
wielka. A co powiecie, Moi Drodzy, na zegar,
którego dokładność będzie wynosić 1 sekun−
dę na ... pięć milionów lat ? Taki właśnie ze−
gar lub sterownik pracujący z absolutną
z ludzkiego punktu widzenia precyzją, bę−
dziecie mogli zbudować, wykorzystując do−
datkowe elementy umieszczone na płytce mi−
nikomputera oraz zewnętrzny odbiorniczek
radiowy. Reszta to tylko kilkanaście, no, po−
wiedzmy, kilkadziesiąt linijek programu, do−
kładnie omówionego w dalszych częściach
tego artykułu.
− Z przyczyn, o których wspomnimy
w dalszej części artykułu, procesor sterujący
pracą naszego minikomputerka zasilany jest
napięciem obniżonym o 0,6V w stosunku do
napięcia zasilającego resztę układu
(+5VDC). Obniżenie napięcia zostało zreali−
zowane za pomocą diody krzemowej, która
jednocześnie separuje zasilanie procesora od
reszty układu. Nic więc prostszego, aby do−
dając dodatkowa diodę i złącze umożliwić
sobie awaryjne zasilanie samego tylko proce−
sora z dodatkowego źródła, np. baterii 4,5V.
Procesor pobiera znikomo mały prąd, szcze−
gólnie po wprowadzeniu go w stan IDLE lub
POWER DOWN i takie rozwiązanie może
być niezwykle cenne np. w konstrukcjach ze−
garów.
Funkcje mikrokomputera reali−
zowane za pomocą specjalnie dla
niego opracowanego, dodatkowe−
go sprzętu.
− Na płycie głównej naszego mikrokom−
putera zostały umieszczone drivery mocy
umożliwiające sterowanie odbiornikami prą−
du stałego, o poborze prądu nie przekraczają−
cym 500mA. Nie jest to zbyt wiele i dlatego
zaprojektowana została oddzielna karta roz−
szerzająca, na której można umieścić do 8
przekaźników typu RM−86. Każdy z nich po−
siada dwie pary przełączanych styków o ob−
ciążalności prądowej do 8A. Karta może słu−
żyć do zasilania urządzeń prądem stałym lub
przemiennym o napięciu do 250VAC.
− Komputer bez karty dźwiękowej? To
chyba niemożliwe i dlatego nasz układ został
wyposażony w kartę, na której umieszczony
został dobrze wszystkim znany „silikofon”,
czyli ISD25120. Karta sterowana jest za po−
mocą magistrali I 2 C i umożliwia nagrywanie
i odtwarzanie sekwencji akustycznych
o łącznym czasie trwania do 2 minut. Należy
sądzić, że karta ta okaże się bardzo użytecz−
na dla konstruktorów, którzy zajmą się kon−
struowaniem „mówiących” zegarów czy in−
nych układów domowej automatyki.
− W praktyce konstruktora hobbysty bar−
dzo często spotykamy się z koniecznością
„ożywiania” wykonanych konstrukcji i do te−
go celu najczęściej wykorzystujemy silniki
elektryczne różnych typów. Silniki prądu sta−
łego o małej mocy możemy sterować bezpo−
średnio z płyty głównej mikrokomputera, ale
ograniczeniem jest tu pobierany z niej maksy−
malny prąd i napięcie. Ponadto, do sterowania
np. krokowym silnikiem czterofazowym nie−
zbędne byłoby wykorzystanie aż czterech
wyjść procesora, a sterowanie silnikami
krokowymi dwufazowymi jest w ogóle nie−
możliwe. Dlatego też został zaprojektowany
dodatkowy moduł rozszerzający możliwości
16
Elektronika dla Wszystkich
269691398.069.png 269691398.070.png
Projekty AVT
komputera, sterowany magistralą I 2 C, za po−
mocą którego możemy zasilać:
· Dwa silniki krokowe dwufazowe,
· Dwa silniki krokowe czterofazowe,
· Cztery silniki komutatorowe DC z możliwo−
ścią zmiany kierunku i prędkości obrotowej,
· Osiem silników DC bez możliwości zmia−
ny kierunku obrotów lub osiem dowolnych
urządzeń zasilanych prądem stałym o napię−
ciu do 35V i pobieranym prądzie nie więk−
szym niż 500mA.
− Jak wiadomo, apetyt rośnie w miarę je−
dzenia. Procesor AT90S8535 to potężna jed−
nostka, o ogromnych możliwościach i obszer−
nej pamięci programu. Jednak nie zdziwił−
bym się, gdyby bardziej ambitnym Konstruk−
torom nawet jego możliwości pewnego dnia
przestały wystarczać i okazałoby się np., że
napisany skomplikowany program wykracza
swoimi rozmiarami ponad 8kB kodu wyniko−
wego. Dla tych Konstruktorów przygotowa−
łem chyba miłą niespodziankę: co powiecie
na procesor o pamięci programu ... 128kB,
sześciu portach wejściowo−wyjściowych,
4kB pamięci EEPROM i 4kB pamięci
SRAM? Procesorem tym jest kolejny produkt
firmy ATMEL: AT MEGA103. Jednak umie−
szczenie tego procesora w podstawce na pły−
cie głównej naszego mikrokomputera jest ab−
solutnie niemożliwe, i to z dwóch powodów:
posiada on aż 64 wyprowadzenia i produko−
wany jest wyłącznie w obudowie przeznaczo−
nej do montażu SMD. Jednak nie takie trud−
ności już przezwyciężaliśmy: zaprojektowa−
łem dla Was specjalną kartę rozszerzającą,
dołączaną do podstawki procesora na płycie
głównej mikrokomputera. Na karcie tej umie−
szczony zostanie procesor AT MEGA103
i złącza do dwóch dodatkowych portów.
obudowie wtyku DB25. Płytka tego pro−
gramatora będzie za darmo dodawana do
kitu minikomputera . W dalszej części arty−
kułu podane zostaną liczne przykłady pro−
gramowana w MCS BASIC, dialekcie prze−
znaczonym dla procesorów AVR.
− Co jednak mają czynić ci Koledzy,
którzy nie posiedli jeszcze umiejętności pro−
gramistycznych w stopniu wystarczającym
do napisania dość skomplikowanego progra−
mu? Dla nich przygotowywana jest specjalna
niespodzianka: otóż w kicie nie będzie, jak
można by się było spodziewać, dostarczany
„czysty” procesor, ale zaprogramowany układ
umożliwiający natychmiastowe korzystanie
z minikomputerka. Jakie funkcje będzie wy−
konywał ten „fabryczny” minikomputer do−
wiecie się w dalszej części artykułu. Ważne
jest jedno: jeżeli jego funkcje przestaną Wam
wystarczać albo jeżeli będziecie chcieli stwo−
rzyć zupełnie nowe urządzenie, to sterujący
nim program nie będzie w żaden sposób za−
bezpieczony przed kopiowaniem i zawsze
będziecie mogli zapisać go na dysku, zapro−
gramować procesor po swojemu i w dowol−
nym momencie powrócić do „fabrycznego”
programu. Program, który dla Was napisałem
(jego funkcje są jeszcze niespodzianką) jest
bardzo, ale to bardzo rozbudowany i zajmuje
praktycznie całą pamięć EEPROM. Mogłoby
to wywołać obawy, że posiadacze wersji De−
mo BASCOM−a AVR nie będą mogli skopio−
wać go na dysk i ponownie zaprogramować
nim procesora. Na szczęście takie obawy by−
łyby absolutnie bezzasadne: ograniczenia
długości kodu wynikowego występujące
w wersji Demo dotyczą wyłącznie samej
kompilacji programu, a nie operacji na już
skompilowanych plikach.
− W dalszej części artykułu omówimy
szczegółowo wszystkie ważniejsze polecenia
języka MCS BASIC, specyficzne dla proce−
sorów AVR i nie omawiane podczas kursu
BASCOM College.
nieco odmienny od tego, do którego jesteście
przyzwyczajeni. Na większości schematów
publikowanych w EdW wszystkie połączenia
pomiędzy elementami zaznaczone były jako
osobne linie. Jest to metoda dobra, ale jedy−
nie w przypadku prostych układów. Przy ry−
sowaniu schematów układów bardziej rozbu−
dowanych, a w szczególności układów cyfro−
wych i mikroprocesorowych, do łączenia ele−
mentów używamy tzw. BUS, czyli jakby ar−
terii komunikacyjnych, od których rozchodzą
się odgałęzienia, każde zaopatrzone w indy−
widualną nazwę. Wiecie, do czego to można
porównać? Do rozbebeszonej elektrycznej
instalacji samochodowej! Tam także mamy
grube, oplecione taśmą izolacyjną wiązki
przewodów, od której odchodzą pojedyncze
kable prowadzące do różnych elementów sa−
mochodowej instalacji. Różnica polega na
tym, że w samochodzie przewody łączące ze
sobą wspólne punktu układu oznaczone są
kolorami, a na naszym schemacie tzw.etykie−
tami, czyli niepowtarzalnymi nazwami.
Po tej małej dygresji przystąpmy wre−
szcie do inwentaryzacji dóbr widocznych na
schemacie.
Złącza:
1. Sercem naszego minikomputera jest, oczy−
wiście opisany już wyżej procesor typu
AT90S8535 – IC1. Jednak sam procesor, bez
niezbędnej mu eskorty niewiele by zdziałał.
2. Q1, C1, C2 są elementami niezbędnymi do
funkcjonowania wewnętrznego oscylatora
systemowego procesora. W układzie zastoso−
wano rezonator kwarcowy o częstotliwości
podstawowej 8MHz, czyli najwyższej dopu−
szczalnej dla procesora ‘8583.
3. CON1, CON2, CON3 i CON4 są złącza−
mi, do których doprowadzone zostały wszy−
stkie aktywne wyprowadzenia procesora,
czyli porty A, B, C i D. Do złącz tych może−
my podłączyć ewentualne układy peryferyj−
ne, a także aparaturę pomiarową.
4. CON5 jest jednym z najważniejszych ele−
mentów mikrokomputera. Umożliwia ono
komunikację z dosłownie setkami układów
peryferyjnych sterowanych magistralą I 2 C.
Do tego samego złącza możemy dołączyć
także klawiaturę od komputera PC, która
wprawdzie nie jest układem I 2 C, ale wymaga
identycznych połączeń.
5. CON6 spełnia podobną rolę co CON5
i obsługuje magistralę 1WIRE, czyli umożli−
wia kontakt z DOWOLNĄ liczbą układów
produkcji firmy DALLAS. Do tego jednego
wyprowadzenia możemy dołączać termome−
try, zdalnie sterowane przełączniki i „ma−
giczne tabletki” DALLAS−a.
6. CON7 jest punktem, do którego doprowa−
dzamy napięcie zasilające minikomputer,
czyli 12VDC. Dioda D1 zabezpiecza układ
przed katastrofalnymi skutkami odwrócenia
polaryzacji napięcia zasilającego.
7. CON8, czyli coś dla wygodnych i dbają−
cych o bezpieczeństwo procesora. Jest to
Programowanie
minikomputera
− Nasz minikomputer bez sterującego nim
programu może być co najwyżej niezbyt
efektowną ozdobą na biurko. Program moż−
na napisać w dowolnym języku posiadają−
cym kompilator umożliwiający utworzenie
kodu binarnego przeznaczonego do umie−
szczenia w pamięci procesora AVR. Szcze−
gólnie jednak polecam pakiet BASCOM
AVR, ze względu na łatwość programowania
i ogromny komfort pracy. Napisany program
musi oczywiście zostać umieszczony w pa−
mięci procesora i do tego celu potrzebny bę−
dzie programator obsługujący transmisję SPI
i umożliwiający zaprogramowanie procesora
bez konieczności wyjmowania go z pod−
stawki. Na szczęście, w przeciwieństwie do
programatorów równoległych taki progra−
mator jest urządzeniem wręcz śmiesznie
prostym i tanim. Do naszego minikomputera
został opracowany specjalny programator
( rysunek 2 ), zrealizowany z wykorzysta−
niem zaledwie jednego układu scalonego
z rodziny TTLLS, mieszczący się w typowej
Jak to działa?
Podobnie jak płytka testowa używana pod−
czas kursu BACOM College w ogóle nie
działa i działać będzie dopiero po zaprogra−
mowaniu procesora, czy to programem napi−
sanym samodzielnie, czy programem fa−
brycznym, zaszytym w procesorze dostar−
czonym w kicie. Jednak działanie tego pro−
gramu omówimy później, a na razie zajmie−
my się opisem hardware pokazanego na
schemacie. A zatem, zmieniamy tytuł tego
fragmentu artykułu na:
Z czego to się składa?
Zanim jednak rozpoczniemy tę pracę, chciał−
bym zwrócić się do zupełnie początkujących
Czytelników i wyjaśnić im pewną sprawę.
Bardziej doświadczeni konstruktorzy prosze−
ni są o opuszczenie tego fragmentu artykułu.
Chodzi mi o sposób rysowania schematu,
Elektronika dla Wszystkich
17
269691398.071.png 269691398.072.png
Zgłoś jeśli naruszono regulamin