Radioelektronik Audio-HiFi-Video 4/2001
Mikrosterowniki rodziny
MCS51 oraz ich klony
z j¹drem 8051/52
produkowane przez
liczne firmy nadal
utrzymuj¹ wysok¹
pozycjê na rynku i s¹
uwa¿ane za standard
przemys³owy m.in. dziêki
starannie przemylanej
architekturze oraz
bogatemu i wzglêdnie
³atwo dostêpnemu
oprogramowaniu.
J
ednak nawet rodzina MCS51 nie jest
tak doskona³a, aby nie da³a siê ulep-
szyæ, tym bardziej, ¿e postêp w tech-
nologii czujników i mikroelektronice
(coraz wy¿sze stopnie scalenia uk³adów pó³-
przewodnikowych) umo¿liwia uproszczenie
metod projektowania systemów, co obni¿a
ogólne koszty opracowania projektu.
Na przyk³ad, w robotyce po czujnikach inteli-
gentnych pojawi³o siê zapotrzebowanie na
super inteligentne bêd¹ce po³¹czeniem czuj-
nika z mikrokonwerterem. T¹ nazw¹ (ma-
my nadziejê, ¿e pojawi siê ³adniejsza) firma
Analog Devices okreli³a rodzinê ADuC81x mi-
krosterowników wyposa¿onych dodatkowo
m.in. w precyzyjne przetworniki a/c i c/a, pa-
miêæ nieulotn¹ FLASH do przechowywania
programu i danych oraz czujnik temperatury.
Nale¿¹cy do rodziny ADuC81x uk³ad
ZESTAW URUCHOMIENIOWY
MIKROKONWERTERA ADuC812
ADuC812 opisano m.in. w [1]. Poniewa¿ od
pewnego czasu jest on dostêpny na polskim
rynku, uznalimy za celowe dostarczenie Czy-
telnikom potrzebnego do pracy z nim narzêdzia
_ zestawu u³atwiaj¹cego uczniom, studentom
czy elektronikom-amatorom naukê programo-
wania ADuC812, a zawodowcom _ uruchamia-
nie uk³adów i systemów zawieraj¹cych nie tyl-
ko ADuC812, lecz wiêkszoæ mikrosterowni-
ków z j¹drem 8051.
Mikrokonwerter ADuC812
ADuC812 ma 8-kana³owy przetwornik a/c ty-
pu SAR, (12-bitowy) z czasem próbkowania
5
µ
s, mo¿liwoci¹ pracy w trybie DMA i auto-
kalibracj¹, podwójny 12-bitowy przetwornik
c/a, ród³o napiêcia odniesienia i czujnik tem-
peratury. Oba przetworniki a/c mog¹ byæ nie-
zale¿nie zasilane, mo¿na je te¿ uaktualniaæ
³¹cznie lub niezale¿nie od siebie. Poziom na-
piêcia wyjciowego wybierany z przedzia³u
0 V
÷
Udd (3 V lub 5 V) wzglêdnie 0 V
÷
Uref,
gdzie Uref oznacza napiêcie odniesienia po-
1
2
3
10
9
8
11
15
20
12
7
19
18
16
17
5
4
7
13
14
22
21
Rys. 1. Schemat funkcjonalny mikrokonwertera ADuC812
1 _ Multiplekser adresów
2 _ Czujnik temperatury
3 _ ród³o napiêcia odniesienia
4, 21, 22 _ Bufory
5 _ Obwód próbkuj¹co-podtrzymuj¹cy
6 _ Przetwornik a/c (12 bit)
7 _ Sterowanie i kalibracja przetwornika a/c
8 _ Pamiêæ programu (8 k x 8 EEPROM FLASH)
9 _ Pamiêæ u¿ytkownika 640 x 8 (FLASH)
10 _ Interfejs synchroniczny SP5/I
2
C
11 _ J¹dro mikrosterownika 8052
12 _ Sterownik przetworników c/a
13, 14 _ Przetworniki c/a
15 _ Pamiêæ u¿ytkownika 256 x 8
16 _ Czuwak/timer
17 _ Monitor zasilania
18 _ Asynchroniczny port szeregowy (UART)
19 _ Generator
20 _ 4 liczniki/timery
Rys. 2. Schemat zestawu
uruchomieniowego Re
_
AD812
19
chodz¹ce b¹d ze ród³a zewnêtrznego lub
wewnêtrznego (2,5 V), które dodatkowo mo-
¿e s³u¿yæ do zasilania obwodów zewnêtrz-
nych (uwaga: buforowaæ).
Do przechowywania programów, danych i ta-
blic przeliczeniowych (do skalowania czujników
zewnêtrznych) s³u¿y nieulotna pamiêæ (8 KB)
FLASH. Pamiêæ ta jest programowalna in situ
(w uruchomionym uk³adzie) za pomoc¹ ³¹cza
szeregowego lub zewnêtrznie via port rów-
noleg³y.
Dodatkowa nieulotna notatnikowa pamiêæ
FLASH (640 B) s³u¿y do chwilowego prze-
chowania danych w trakcie wykonywania pro-
gramu, a tak¿e umo¿liwia prost¹ procedurê pi-
sania/czytania do/z obszaru rejestrów SFR
(Specjal Function Register).
ADuC812 ma wewnêtrzne ród³o napiêcia
programuj¹cego. Na rys. 1 przedstawiono
schemat blokowy ADuC812.
Radioelektronik Audio-HiFi-Video 4/2001
ADuC812 pobiera normalnie przy napiêciu za-
silania 3 V/5 V pr¹d 18 mA/12 mA, w trybie ja-
³owym 10 mA/6 mA, w trybie czuwania <50
µ
A.
Poniewa¿ 8-bitowy procesor wykonuj¹cy
1 milion rozkazów na sekundê mo¿e nie nad¹-
¿aæ za strumieniem danych z 12-bitowego
przetwornika a/c o czêstotliwoci próbkowania
200 kSPS (200 000 próbek/s.), wspomniany
ju¿ uk³ad DMA (Direct Memory Access _ bez-
poredni dostêp do pamiêci) samoczynnie
wpisuje wartoæ próbek do pamiêci zewnê-
trznej, tym samym zwalniaj¹c mikrokonwerter
od tego zadania (tryb DMA).
Zarówno w trybie DMA jak i trybie normalnym
proces przetwarzania mo¿e byæ strobowany
programowo, sprzêtowo (np. kiedy krytyczne
s¹ zale¿noci czasowe) i za pomoc¹ czasoste-
ru uruchamiaj¹cego automatycznie proces
przetwarzania (umo¿liwia precyzyjn¹ regulacjê
czêstotliwoci próbkowania).
Zestaw uruchomieniowy
Re
_
_
AD812
ADuC812 i rodzina MCS51 maj¹ to samo j¹-
dro programowe, ale istniej¹ te¿ ró¿nice (st¹d
wyró¿niaj¹ce okrelenie mikrokonwerter).
S¹ to m.in.:
q
Mniejsza w porównaniu z mikro-
sterownikami MCS51 liczba dostêpnych dla
u¿ytkownika portów I/O, bo P0 i P2 s¹ zajête
do obs³ugi zewnêtrznej pamiêci danych.
q
Port P1, który akceptuje jedynie wejcia
analogowe lub logiczne, za P3 _ w zasadzie
zajêty przez linie funkcyjne.
q
Koniecznoæ
ci¹g³ego programowania wewnêtrznej pamiê-
ci programu utrudnia uruchamianie uk³adów
aplikacyjnych i systemów, a tak¿e praktyczne
oswojenie tego interesuj¹cego procesora.
Mimo to na bazie ADuC812 powsta³ pe³no-
funkcjonalny dydaktyczny mikrokomputer jed-
nouk³adowy rodziny 8051 o nazwie Re
_
AD812
(od Radioelektronik). Wymaga³o to uzupe³nie-
nia podstawowego uk³adu mikrokonwertera
A812 o zatrzask adresów A0-A7 (74573) i de-
koder 1 z 8 (74138), oraz do³¹czenia do portu
P0 jako szyny danych _ zatrzasków (74574) lub
bramek trójstanowych (74541) wybieranych
programowo. Tak powsta³a kombinacja 8 portów
I/O ogólnego przeznaczenia. Do³¹czenie pod-
stawki pod EPROM (w³aciwie wtyku symula-
tora EPROM,u) czyni z Re
_
AD812 znacznie
bardziej uniwersalny zestaw uruchomieniowy,
nie tylko dla mikrokonwertera AduC812.
Budowa i dzia³anie
Schemat zestawu przedstawiono na rys. 2,
widok p³ytki drukowanej _ na rys. 3, a roz-
mieszczenie elementów na rys. 4.
Rys. 3. P³ytka drukowana zestawu Re_AD812 (skala 1:1)
a _ strona elementów, b _ strona druku
a)
b)
Sam mikrokonwerter najkorzystniej jest po³¹czyæ
z zestawem. uruchomieniowym przez roz³¹cz-
n¹ przejciówkê (rys. 5). Podwójne z³¹cza po-
rtu PO umo¿liwiaj¹ do³¹czenie do zestawu
uruchomianych (testowanych) modu³ów, po-
zosta³e z³¹cza i zworki umo¿liwiaj¹ zestawienie
równie¿ skomplikowanych kombinacji.
Zamiana przejciówki pozwala przystosowa-
nie zestawu do innego mikrosterownika, np.
z rodziny MCS51 w obudowach PLCC44 itp.,
a wyprowadzaj¹c wst¹¿kê przewodów zakoñ-
czonych wtykiem 20-koñcówkowym z wypro-
wadzeñ portów P1 i P3 otrzymamy zestaw
uruchomieniowy dla mikrosterowników Atmel
serii AT89Cx051.
Uruchamianie zestawu
Zaproponowany wariant zestawu pozwala na
eksperymentalne programowo-sprzêtowe prze-
testowanie prawie wszystkich mo¿liwoci uk³a-
du ADuC812. Ewentualne uproszczenia to re-
zygnacja z uk³adu US5 (232) w przypadku
pracy tylko zewnêtrzn¹ pamiêci¹ programu
oraz rezygnacja z uk³adu US7 (7805) przy
zasilaniu jedynym napiêciem +5 V.
Po prawid³owym wlutowaniu poszczególnych
elementów tester praktycznie jest gotowy do
pracy z symulatorem EPROM,u, oczywicie po
ustawieniu mikrokonwertera w tryb pracy z ze-
wnêtrzn¹ pamiêci¹ programu przez wymu-
szenie stanu niskiego na koñcówce EA _ zwo-
ra B (3-4).
Przyk³ad aplikacji
(z próbk¹ prostej procedury)
W przypadku w¹tpliwoci mo¿na skorzystaæ
z prostej aplikacji mrugania diody elektrolumi-
nescencyjnej pod³¹czonej do linii [P3,4] i stero-
wanej przepe³nieniem 16-bitowego licznika T2.
Dbug51
0000 75C804 MOV C8[T2CON],n04 ;ustaw parametry
pracy licznika T2
0003 75A8A0 MOV A8[IE],nA0 ;w³¹cz przerwanie dla
licznika T2
0006 80FE SJMP 0006 ;w pêtli oczekuj na przerwanie
Obs³uga przerwania
002B 0520 INC 20 ;licznik zg³oszonych przerwañ
002D 75CDCF MOV CD[TH2],nFC ;czêstotliwoæ mru-
gania diody
0030 E520 MOV A,20 ;sprawd stan licznika przerwañ
0032 7002 JNZ 0036 ;je¿eli nie jest zero przeskocz
0034 B2B4 CPL bB4[P3.4] ;zmieñ stan logiczny na linii
P3.4
0036 C2CF CLR bCF[T2CON] ;potwierd obs³ugê prze-
rwania
0038 32 RETI ;wyjd z przerwania
Uwagi koñcowe
Po dopracowaniu programu nale¿y za³ado-
waæ go do wewnêtrznej pamiêci programu mi-
krokonwertera ADuC812 ju¿ w konkretnym
urz¹dzeniu, co wymaga zaprojektowania
w opracowywanym urz¹dzeniu toru transmisji
szeregowej oraz mo¿liwoci pod³¹czenia do
koñcówki PSEN rezystora 1 k
Ω
(R4, zwora
B(6-7), który prze³¹cza uk³ad ADuC 812 w tryb
³adowania programu podczas w³¹czenia napiê-
cia zasilaj¹cego urz¹dzenie.
Program do za³adowania musi byæ przygoto-
wany w formacie Intel Hex, a ³aduje siê
r
Z PRAKTYKI
20
go firmowym programem download.exe [3].
K³opoty jakie mog¹ siê pojawiæ na tym etapie
prac to:
q
nieprawid³owa wspó³praca mikrokon-
wertera z niektórymi typami uk³adów
scalonych 232, rezystor 2,4 k
Ω
(R5) w wiêk-
szoci wypadków eliminuje ten k³opot,
q
sta³a czasowa RC na koñcówce RST, je¿e-
li jest zbyt du¿a nie nast¹pi prze³¹czenie mikro-
konwertera w tryb ³adowania programu.
Czytelnicy mog¹ siê kontaktowaæ z autorami
korespondencyjnie (pod adresem Redakcji)
lub via Internet <jerzy.frydrychowicz@pro.onet.pl.
Firmie Alfine z Poznania serdecznie dziêku-
jemy za nieodp³atne przekazanie egzempla-
rzy mikrokonwertera AduC812 do prac nad
projektem.
n
Jerzy Frydrychowicz, Jan Gawêda
L I T E R A T U R A
[1] ADuC812. Informacja o podzespo³ach. ReAV nr
5/2000
[2] Materia³y firmowe Analog Devices
[3] www.analog.com/microconverter
Rys. 4. Rozmieszczenie elementów a _ strona elementów, b _ strona druku
Rys. 5. P³ytka
modu³u
wymiennego
(przejciówka)
Radioelektronik Audio-HiFi-Video 4/2001