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
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
Plik z chomika:
KILER2000
Inne pliki z tego folderu:
69_73.pdf
(1468 KB)
103_104.pdf
(350 KB)
1.pdf
(361 KB)
10_17.pdf
(426 KB)
105_107.pdf
(297 KB)
Inne foldery tego chomika:
01.00
02.00
03.00
04.00
05.00
Zgłoś jeśli
naruszono regulamin