*   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.