79_80.pdf

(213 KB) Pobierz
Przetwornik AC/CA z interfejsem I2C - AVT-1287
M I N I P R O J E K T Y
Wspóln¹ cech¹ uk³adów opisywanych w dziale "Miniprojekty" jest ³atwoæ ich praktycznej realizacji.
Zmontowanie uk³adu nie zabiera zwykle wiêcej ni¿ dwa, trzy kwadranse, a z jego uruchomieniem mo¿na
poradziæ sobie w ci¹gu kilkunastu minut. "Miniprojekty" mog¹ byæ uk³adami stosunkowo skomplikowanymi
funkcjonalnie, lecz prostymi w monta¿u i uruchamianiu, gdy¿ ich z³o¿onoæ i inteligencja jest zawarta
w uk³adach scalonych. Wszystkie projekty opisywane w tej rubryce s¹ wykonywane i badane
w laboratorium AVT. Wiêkszoæ z nich wchodzi do oferty kitów AVT jako wyodrêbniona seria
Miniprojekty o numeracji zaczynaj¹cej siê od 1000.
Przetwornik AC/CA z interfejsem I 2 C
Proponujemy
wykonanie bardzo
prostego przetwornika
A/C o czterech
kana³ach wejciowych
oraz jednokana³owego
przetwornika C/A, które
mieszcz¹ siê w jednym
uk³adzie scalonym
i wspó³pracuj¹
z mikrokontrolerem
poprzez coraz bardziej
lubiany przez naszych
Czytelników interfejs I 2 C.
Schemat elektryczny pro-
ponowanego uk³adu pokazu-
jemy na rys. 1 . Niewiele jest
tu do opisywania: uk³ad
PCF8591 pracuje w typowej,
zalecanej przez producenta
konfiguracji. Jumpery
JP1..JP3s³u¿¹dosprzêto-
wego ustawiania adresu
uk³adu i warto zauwa¿yæ,
¿e liczba mo¿liwych kom-
binacji zero-jedynkowych,
jakie mo¿emy zaprogramo-
waæ, wynosi 8. Tyle zatem
uk³adów przetworników mo-
¿e naraz pracowaæ na magis-
trali I 2 C, daj¹c w sumie 32
wejcia analogowe i osiem
wyjæ. Wszystko obs³ugiwa-
ne za pomoc¹ dwóch wypro-
wadzeñ mikrokontrolera!
Za pomoc¹ jumpera JP4
mo¿emy wybieraæ dwa do-
stêpne ród³a napiêcia odnie-
sienia. Jednym z nich mo¿e
byæ wysokostabilny wzorzec
napiêciowy typu LM385,
a drugim po prostu napiêcie
zasilania.
Aby rozpocz¹æ rozmo-
wê z uk³adem PCF8591, po-
dobnie jak z ka¿dym innym
pracuj¹cym z magistral¹ I 2 C,
nale¿y go najpierw poinfor-
mowaæ o chêci nawi¹zania
konwersacji. Mo¿emy to
uczyniæ wysy³aj¹c na magis-
tralê I 2 C adres urz¹dzenia,
z którym chcemy wspó³pra-
cowaæ. W przypadku naszego
przetwornika s³owo adresowe
bêdzie mia³o postaæ pokazan¹
w tab. 1 .
Cztery najstarsze bity s³o-
wa adresu s¹ niezmienne
i wspólne dla tej rodziny
uk³adów. Wartoæ trzech na-
stêpnych bitów zale¿y od
ustawienia adresu sprzêtowe-
go i w przypadku zwarcia
wszystkich wejæ adresowych
(A0, A1 i A2) do masy bêdzie
wynosiæ 000. Wreszcie naj-
m³odszy bit decyduje o tym,
czy mamy zamiar pobieraæ
dane z uk³adu PCF8591, czy
je do niego wysy³aæ. W jêzy-
ku MCS BASIC zaadresowa-
nie przetwornika bêdzie mia-
³o nastêpuj¹c¹ postaæ:
I2Cwbyte &B1001XXXX
(gdzie X jest zale¿ne od kon-
figuracji sprzêtowej i kierun-
ku przesy³ania informacji)
Kiedy ju¿ poinformowa-
limy uk³ad przetwornika
o zamiarze rozpoczêcia z nim
wspó³pracy, musimy go jesz-
cze skonfigurowaæ odpowied-
nio do naszych potrzeb. Ko-
lejny bajt wys³any do uk³adu
PCF8591 pod adres 2 decy-
duje w³anie o jego konfigu-
racji. Bajt konfiguracyjny mo-
¿emy wys³aæ do przetworni-
ka za pomoc¹ np. nastêpuj¹-
cego polecenia:
I2Csend 2, 0XXX0XXX
(gdzie X okrelone jest przez
aktualne wymagania stawia-
ne przetwornikowi). Uwaga:
bit 8 i 4 zawsze musz¹ mieæ
wartoæ 0!
Je¿eli mamy zamiar ko-
rzystaæ tak¿e z przetwornika
cyfrowo-analogowego zawar-
tego w strukturze uk³adu
PCF8591, to wartoæ napiêcia
jakie ma wyst¹piæ na wyjciu
VOUT okrelamy s³owem o-
miobitowym wys³anym pod
adres 2. Oczywicie, oblicza-
j¹c wartoæ tego bajtu musi-
my uwzglêdniæ wartoæ za-
stosowanego napiêcia odnie-
sienia. Je¿eli przy napiêciu
odniesienia 5V wylemy do
rejestru 3 uk³adu przetworni-
ka wartoæ 100 (1100100BIN),
to na wyjciu otrzymamy:
5000mV/255*100, czyli
Tab. 1.
MSB
LSB
1
0
0
1
A2
A1
A0
R/!W
Wartoæ sta³a dla danej
Czêæ adresu ustawiana
1- odczyt
grupy uk³adów I 2 C
sprzêtowo
0- zapis
Rys. 1.
Elektronika Praktyczna 10/2000
79
32059882.051.png 32059882.053.png 32059882.054.png 32059882.055.png 32059882.001.png 32059882.002.png 32059882.003.png 32059882.004.png 32059882.005.png 32059882.006.png 32059882.007.png 32059882.008.png 32059882.009.png 32059882.010.png 32059882.011.png 32059882.012.png 32059882.013.png 32059882.014.png 32059882.015.png 32059882.016.png 32059882.017.png 32059882.018.png 32059882.019.png 32059882.020.png 32059882.021.png 32059882.022.png 32059882.023.png 32059882.024.png 32059882.025.png 32059882.026.png 32059882.027.png 32059882.028.png 32059882.029.png 32059882.030.png 32059882.031.png 32059882.032.png 32059882.033.png 32059882.034.png 32059882.035.png 32059882.036.png 32059882.037.png 32059882.038.png 32059882.039.png 32059882.040.png 32059882.041.png 32059882.042.png 32059882.043.png 32059882.044.png 32059882.045.png 32059882.046.png 32059882.047.png 32059882.048.png 32059882.049.png
M I N I P R O J E K T Y
w woltach,odebranawartoæ
musi zostaæ odpowiednio
przeliczona. Je¿eli na przy-
k³ad odczytalimy 100
(1100100 BIN), to:
100* (5000mV/255) =
= 1960,7mV.
jumpera jako napiêcie odnie-
sienia wykorzystywane bê-
dzie napiêcie zasilania o war-
toci +5VDC.
Jednak nawet najlepszy
przetwornik do³¹czony do
procesora nie bêdzie dzia³a³
samodzielnie. Potrzebny jest
odpowiedni program, steru-
j¹cy jego prac¹ i analizuj¹cy
otrzymane wyniki. Napisa-
nie takiego programu
w asemblerze mo¿e byæ dla
pocz¹tkuj¹cych programis-
tów nieco k³opotliwe. Na
szczêcie, mamy do dyspo-
zycji pakiety BASCOM 8051
lub AVR, a w jêzyku MCS
BASIC napisanie takiego
programu staje siê wrêcz
dziecinn¹ zabaw¹. Takie
wyspecjalizowane instrukcje
obs³ugi magistrali I 2 C jak np.
I 2 Crbyte (odczyt bajtu
z uk³adu peryferyjnego) lub
I 2 Cwbyte (zapis bajtu) po-
zwoli³y mi na napisanie pro-
gramu testowego w ci¹gu
nieca³ej pó³ godziny.
Do przetestowania uk³adu
proponowa³bym zastosowaæ
emulator sprzêtowy AVT872,
wspó³pracuj¹cy bezporednio
z pakietem BASCOM8051.
Nie musimy w tym celu na-
wet posiadaæ p³ytki jakiego-
kolwiek uk³adu mikroproce-
sorowego lub p³ytki testowej.
Aby przetestowaæ nasz uk³ad,
wystarczy do³¹czyæ jego wej-
cia SDA i SCL do odpowied-
nich koñcówek wtyku emula-
cyjnego emulatora sprzêtowe-
WYKAZ ELEMENTÓW
Rezystory
R1: 3k
W
Kondensatory
C1: 100
F/10V
C2: 100nF
Pó³przewodniki
D1..D8: 1N4148
IC1: PCF8591
IC2: LM385
IC?: 89C2051
Ró¿ne
CON1: 5 x goldpin
CON2, CON3: ARK2
(3,5mm)
CON4: 2 x goldpin
JP1..JP3: 2 x goldpin +
jumper
JP4: 3 x goldpin + jumper
CON1: HEADER 5
CON2, CON3: ARK2
CON4: HEADER 2
JP1..JP3: JUM2
JP4: JUM3
P³ytka drukowana wraz z kom-
pletemelementówjestdostêpna
wAVT-oznaczenie AVT-1287 .
Rys. 2.
Monta¿ i uruchomienie
Na rys. 2 pokazano roz-
mieszczenie elementów na
p³ytce obwodu drukowanego,
wykonanego na laminacie
jednostronnym. Monta¿ wy-
konujemy w konwencjonalny
sposób, rozpoczynaj¹c od
wlutowania w p³ytkê rezysto-
rów i diod, a koñcz¹c na z³¹-
czach ARK i kondensatorze
elektrolitycznym.
Konfigurowanie uk³adu
bêdzie polega³o na ustawie-
niu adresu sprzêtowego i wy-
borze rodzaju ród³a napiêcia
odniesienia. Adres uk³adu
ustawiamy za pomoc¹ jum-
perów JP1..JP3, zwieraj¹c lub
od³¹czaj¹c od masy zasilania
wejcia adresowe A0..A2. Je-
¿eli w systemie bêdzie pra-
cowa³ tylko jeden uk³ad
PCF8591, to najczêciej usta-
wimy adres 000.
Wyboru ród³a napiêcia
odniesienia dokonujemy za
pomoc¹ jumpera JP3. W po-
³o¿eniu takim, jak na sche-
macie, wykorzystywane bê-
dzie ród³o wykonane na
uk³adzie LM385. W zale¿no-
ci od typu uk³adu bêdzie to
napiêcie 2,5 lub 1,5V.
W przeciwnym po³o¿eniu
1960,7mV.
Napiêcie na wyjciu ana-
logowym przetwornika mo¿e-
my ustawiæ za pomoc¹ nastê-
puj¹cego polecenia jêzyka
MCS BASIC:
I 2 Csend 2, XXXXXXXX
I wreszcie dochodzimy do
odczytywania napiêcia zmie-
rzonego na jednym z wejæ
analogowych uk³adu. W za-
le¿noci od tego, który kana³
przetwornika AD zosta³ wy-
brany za pomoc¹ s³owa kon-
figuracyjnego, przetworzona
wartoæ napiêcia wejciowe-
go znajduje siê w rejestrze 3
uk³adu PCF8591. Mo¿emy j¹
stamt¹d odczytaæ za pomoc¹
polecenia:
I 2 Creceive 3, Wartoæ
Oczywicie, aby otrzymaæ
wynik pomiaru podany
Wzoryp³ytekdrukowanychwfor-
maciePDFs¹dostêpnewInterne-
ciepodadresem: http://www.ep.-
com.pl/pcb.html oraz na p³ycie
CD-EP10/2000 w katalogu PCB .
go i sprawdziæ dzia³anie pro-
gramu testowego, który udo-
stêpnilimy na naszej stronie
WWW oraz na CD-EP10/2000.
ZR
80
Elektronika Praktyczna 10/2000
W
R2..R5: 3,3k
m
32059882.050.png 32059882.052.png
Zgłoś jeśli naruszono regulamin