12-BITNI D/A KONVERTOR SA LTC1257 KOLOM
Šema 12-bitnog D/A konvertora na
paralelnom portu prikazana je na donjoj slici.
Interfejs koristi kolo LTC1257 koje je 12-bitni D/A konvertor. Binarna vrednost zadatog
napona upisuje se serijski(bit po bit u kolo) preko pina 2(Din) za šta se koristi
D0 bit Data porta. Za pomeranje učitanog bita koristi se
klok signal koji mora biti prisutan na pinu 1(Clk), za šta koristi drugi bit D1 Data porta. Za omogućavanje upisa bita u kolo koristi se pin 3 Load tj. treći bit D2, koji mora biti
postavljen na 0 prilikom učitavanja
bita a na kraju učitavanja vratiti na 1,
kada se dobije konvertovana vrednost analnog napona na pinu 7(Vout). Na pin 6(Vref) treba dovesti
referentni napon. Kolo konvertuje napon u opsgeu od 0 do 2.048 Volti što
znači da ima rezoluciju 2.048/4096 = 0.0005, tj. pola mV, što je vrlo visoka
preciznost.
Specifikacija
neophodnih komponenti za ovaj interfejs data je u donjoj tabeli:
Rb. |
Komponenta |
Količina |
1. |
IC1 – LTC1257 – DIP pakovanje |
1 kom |
2. |
DIL-8 podnožje |
1 kom |
3. |
R1 - 10 W |
1 kom |
4. |
R2 – 100 W |
1 kom |
5. |
C1, C2 – 100nF kreamički |
2 kom |
6. |
C3 – 4.7mF(16V) stojeći |
1 kom |
7. |
C4 - 1mF(16V) stojeći |
1 kom |
8. |
DB25 – muški konektor |
1 kom |
9. |
Dvopolna redna stezaljka |
4 kom |
10. |
4-žični kabel |
1 m |
11. |
Vitroplast pločica 100 x 160 mm |
1 kom |
|
|
|
Izgled gotovog interfejsa
prikazan je na donjoj slici.
Program za kontrolu ovog interfejsa
napisan je u Delphi-u i njegovim
pozivom dobićemo sledeću sliku.
Pomeranjem horizontalnog klizača menja
se binarna vrednost od 0 – 4095, pri
čemu se prikazuje i izračunata vrednost napona koja treba da bude dobijena na Vout izlazu kola. Pritiskom na taster Konvertuj zadate vrednosti u programu
prosleđuju se na kolo.
Glavni deo koda programa za
upravljanje ovim interfejsom je sledeći.
' '
//--------Procedura slanja
digitalne vrednosti na kolo---- procedure TForm1.Button1Click(Sender: TObject); begin br:=$00; br:= br or
$4; // D2 =1, Load = 0 PortOut(LPTadresa,
br); k:=2048; For j:=0 To
11 Do // Slanje 12 bita Begin If (digvred
and k) = k Then br:=br
or 2 Else br:=br
and $FD; PortOut(LPTadresa,
br);
Klok;
k:=k div 2; End; br:= br and
$FB; // D2 =0, Load = 1 PortOut(LPTadresa,
br); end; . |
Vrlo visoku preciznost konverzije možete potvrditi
merenjem instrumentom izlaznog napona koji se dobije kao rezultat konverzije.
Program za podršku ovom intefejsu možete preuzeti ovde.
http://vojo.milanovic.org
© Copyright, 2007 Milanović Vojo
All Rights Reserved