4-KANALNI A/D I
D/A KONVERTOR SA KOLOM PCF8591
Šema 4-kanalnog A/D
konvertora sa kolom PCF8591 data je
na donjoj slici.

Kolo PCF8591 je I2C kolo, koje za signal SDA koristi DTR signal kao izlazni i CTS
kao ulazni, a za signal SCL koristi signal RTS sa strane serijskog porta.
Specifikacija materijala za izradu ovog interfejsa data je u donjoj tabeli:
|
Rb. |
Komponenta |
Količina |
|
1. |
IC1 -
PCF8591P |
1 kom |
|
2. |
D1, D2 - Zener diode 5V6 |
2 kom |
|
3. |
DIL-16
podnožje |
1 kom |
|
4. |
R1,R2 -
6k8 |
2 kom |
|
5. |
P1,P2,P3,P4
- 5 kW linearni |
4 kom |
|
6. |
DB-9 ženski konektor za štampu |
1 kom |
Raspored pinova kola PCF8591 u DIP
pakovanju prikazan je na donjoj slici.

Značenje pojedinih pinova dat je u donjoj tabeli.
|
Pin |
Opis |
|
AIN0 - AIN3 |
Pinovi na koje se dovode analogni ulazi |
|
A0, A1 i A2 |
Pinovi za formiranje adrese kola |
|
Vss |
Masa |
|
SDA |
I2C -
linija podataka |
|
SCL |
I2C -
linija kloka |
|
OSC |
Oscilatorski
ulaz/izlaz |
|
EXT |
Vanjski/unutrašnji
prekidač za oscilatorski ulaz |
|
AGND |
Masa za
analogne ulaze |
|
Vref |
Referentni
ulazni napon |
|
AOUT |
Izlaz D/A
konverzije |
|
VDD |
Napon
napajanja 2.5V - 6V |
Unutrašnja struktura kola prikazana je na donjoj slici.

Adresni bajt ovog kola prikazan je na sledećoj clici.

Kolo ima adresu 1001 što je
9 decimalno, dok preostala tri bita A2, A1, i A0 određuju
hardversku adresu kola. U našem primeru sva ova tri pina su na
logičkoj nuli pa je adresa kola 1001000.
To znači da na istoj I2C
magistrali može biti uključeno maksimalno 8 ovih kola sa različitim hardverskim adresama. Bit R/nW određuje da li se traži
čitanje (kad je jednak 1) ili upis u kolo (kada je jednak 0). Drugi bajt
koji se šalje na ovo kola iza bajta adrese je tzv. Kontrolni bajt i koji
određuje funkcije kola. Veća nibla ovog bajta koristi se za
omogućavanje analognih ulaza kao i vrstu ulaznog signala tj. da li su
pojedinačni ulazi ili su dovedeni diferencijalni ulazi dva kanala.
Sadržaj kontrolnog registra prikazan je na donjoj slici.

Niža nibla ovog bajta određuje koji je ulazni analogni kanal
selektovan. Ako je inkrement bit postavljen na 1, sledeći ulazni kanal automatski biće odabran nakon završetka
prethodne konverzije. U slučaju D/A
konverzije 6 bit u Kontrol registru
mora biti postavljen. Po uključunju kola svi bitovi Kontrol registra
biće postavljeni na 0. Prilikom slanja trećeg bajta na ovo kolo
njegov sadržaj biće upisan u DAC
DATA REGISTAR što će prozrokovati pojavu analogno napona na AOUT izlazu.
A/D konverzija počinje kada PCF8591 kolo dobije ispravnu adresu sa zahtevom čitanja. Kada
se završi ciklus konverzije biće generisan ACK(A) signal koji odeđuje njen kraj. Podaci o izvršenoj
konverziji biće upisani u ADC DATA REGISTAR odakle mogu biti
pročitani. Ako je odabrano auto-inkrementrianje kanala sledeći kanal
biće odabran za konverziju. Pročitani bajt biće rezultat prethodne
konverzije i spreman je za preuzimanje sa Read
ciklusom. Po uključenju kola prvi pročitani bajt imaće
vrednost 80 heksa. Ako je rezultat negativan (u slučaju kada je odabrano
merenje diferencije kanala) on će biti upisan u komplementu plus 2.
Oblik I2C protokola za D/A konverziju prikazan je na donjoj slici.

Oblik I2C protokola za A/D konverziju dat je na sledećoj
slici.

Program za podršku ovog kola napisan je u Delphi-u čijim se pozivom dobije ekran prikazan ka ona donjoj
slici.

Pritiskom na dugme Procitaj
biće očitani rezultati A/D
konverzije sa sva četiri kanala i biće prikazane izmerene vrednosti.
Izgled gotovog interfejsa prikazan je na donjoj slici.

Izgled PCB pločice ovog interfejsa dat je na donjoj slici.

Program za podršku ovom interfejsu možete preuzeti ovde.
http://vojo.milanovic.org
© Copyright, 2006 Milanović Vojo
All Rights
Reserved.