Professional Documents
Culture Documents
- ADC lµ g×
- CÊu t¹o phÇn cøng , nguyªn lý ho¹t ®éng
cña ADC0804 tõ ®ã cho vÝ dô cô thÓ ®Ó
minh ho¹
- DAC lµ g×
- CÊu t¹o phÇn cøng , nguyªn lý ho¹t ®éng
cña DAC0808 . Vµ còng cã vÝ dô vÒ c¬
chÕ ho¹t ®éng cña nã
Khái niệm về ADC
C¸c bé chuyÓn ®æi ADC thuéc trong nh÷ng thiÕt bÞ ®îc
sö dông réng r·i nhÊt ®Ó thu d÷ liÖu. C¸c m¸y tÝnh sè sö
dông c¸c gi¸ trÞ nhÞ ph©n, nhng trong thÕ giíi vËt lý th×
mäi ®¹i lîng ë d¹ng t¬ng tù (liªn tôc).
NhiÖt ®é, ¸p suÊt (khÝ hoÆc chÊt láng), ®é Èm vµ vËn
tèc vµ mét sè Ýt träng nh÷ng ®¹i lîng vËt lý cña thÕ giíi
thùc mµ ta gÆp hµng ngµy. Mét ®¹i lîng vËt lý ®îc
chuyÓn vÒ dßng ®iÖn hoÆc ®iÖn ¸p qua mét thiÕt bÞ ®
îc gäi lµ c¸c bé biÕn ®æi. C¸c bé biÕn ®æi còng cã thÓ ®
îc coi nhc¸c bé c¶m biÕn. MÆc dï chØ cã c¸c bé c¶m
biÕn nhiÖt, tèc ®é, ¸p suÊt, ¸nh s¸ng vµ nhiÒu ®¹i lîng tù
nhiªn kh¸c nhng chóng ®Òu cho ra c¸c tÝn hiÖu d¹ng dßng
®iÖn hoÆc ®iÖn ¸p ë d¹ng liªn tôc.
Do vËy, ta cÇn mét bé chuyÓn ®æi t¬ng tù sè sao cho bé
vi ®iÒu khiÓn cã thÓ ®äc ®îc chóng. Mét chÝp ADC ®
îc sö dông réng r·i lµ ADC 804.
Chip ADC 804
ChÝp ADC 804 lµ bé chuyÓn ®æi t¬ng tù sè trong hä c¸c
lo¹t ADC 800 tõ h·ng National Semiconductor. Nã còng ®îc
nhiÒu h·ng kh¸c s¶n xuÊt, nã lµm viÖc víi +5v vµ cã ®é
ph©n gi¶i lµ 8 bÝt. Ngoµi ®é ph©n gi¶i th× thêi gian
chuyÓn ®æi còng lµ mét yÕu tè quan träng kh¸c khi ®¸nh gi¸
mét bé ADC.
Thêi gian chuyÓn ®æi ®îc ®Þnh nghÜa nhlµ thêi gian mµ
bé ADC cÇn ®Ó chuyÓn mét ®Çu vµo t¬ng tù thµnh mét sè
nhÞ ph©n. Trong ADC 804 thêi gian chuyÓn ®æi thay ®æi
phô thuéc vµo tÇn sè ®ång hå ®îc cÊp tíi ch©n CLK vµ
CLK IN nhng kh«ng thÓ nhanh h¬n 110s. C¸c ch©n cña
ADC 804 ®îc m« t¶ nhsau
Sơ đồ chân ADC 0804
Các chân của ADC 804
1- CS (chip select) - chọn chip
Lµ mét ®Çu vµo tÝch cùc møc
thÊp ®îc sö dông ®Ó kÝch ho¹t
chÝp ADC 804. §Ó truy cËp ADC
804 th× ch©n nµy ph¶i ë møc
thÊp.
2- RD (Read) – Đọc
Ch©n (®äc): §©y lµ mét tÝn hiÖu
®Çu vµo ®îc tÝch cùc møc thÊp..
Khi CS = 0 nÕu mét xung cao -
xuèng - thÊp ®îc ¸p ®Õn ch©n
th× ®Çu ra sè 8 bÝt ®îc hiÓn
diÖn ë c¸c ch©n d÷ liÖu D0 - D7.
Ch©n còng ®îc coi nhcho phÐp
®Çu ra.
3 - WR (Write) -Ch©n ghi
§©y lµ ch©n ®Çu vµo tÝch cùc
møc thÊp ®îc dïng ®Ó b¸o cho
ADC 804 b¾t ®Çu qu¸ tr×nh
chuyÓn ®æi. NÕu CS = 0 khi t¹o
ra xung cao - xuèng - thÊp th× bé
ADC 804 b¾t ®Çu chuyÓn ®æi
gi¸ trÞ ®Çu vµo t¬ng tù Vin vÒ
sè nhÞ ph©n 8 bÝt. Lîng thêi gian
cÇn thiÕt ®Ó chuyÓn ®æi thay
®æi phô thuéc vµo tÇn sè ®a
®Õn ch©n CLK IN vµ CLK R.
Khi viÖc chuyÓn ®æi d÷ liÖu ®
îc hoµn tÊt th× ch©n INTR ®îc
Ðp xuèng thÊp bëi ADC 804.
4 - Ch©n CLK IN vµ CLK R.
Ch©n CLK IN lµ mét ch©n
®Çu vµo ®îc nèi tíi mét nguån
®ång hå ngoµi khi ®ång hå ngoµi
®îc sö dông ®Ó t¹o ra thêi gian.
Tuy nhiªn 804 còng cã mét m¸y t¹o
xung ®ång hå. §Ó sö dông m¸y t¹o
xung ®ång hå trong cña 804 th×
c¸c ch©n CLK IN vµ CLK R ®îc
nèi tíi mét tô ®iÖn vµ mét ®iÖn
trë nhh×nh 12.5. Trong trêng hîp
nµy tÇn sè ®ång hå ®îc x¸c ®Þnh
b»ng biÓu thøc: f=1,1/RC
R = 10k vµ C= 150pF vµ
tÇn sè nhËn ®îc lµ f = 606kHz
5 - Ngắt INTR ( interrupt)
§©y lµ ch©n ®Çu ra tÝch cùc møc
thÊp. B×nh thêng nã ë tr¹ng th¸i cao vµ
khi viÖc chuyÓn ®æi hoµn tÊt th× nã
xuèng thÊp ®Ó b¸o cho CPU biÕt lµ d÷
liÖu ®îc chuyÓn ®æi s½n sµng ®Ó lÊy
®i. Sau khi xuèng thÊp, ta ®Æt CS = 0
vµ göi mét xung cao 0 xuèng - thÊp tíi
ch©n lÊy d÷ liÖu ra cña 804.
6 - 7- Ch©n Vin (+) vµ Vin (-).
§©y lµ c¸c ®Çu vµo t¬ng tù vi sai mµ
Vin = Vin (+) - Vin (-). Th«ng thêng V
in (-) ®îc nèi xuèng ®Êt vµ Vin (+) ®îc
dïng nh®Çu vµo t¬ng tù ®îc chuyÓn
®æi vÒ d¹ng sè.
20 - Ch©n VCC.
§©y lµ ch©n nguån nuèi +5v, nã còng
®îc dïng nh®iÖn ¸p tham chiÕu khi
®Çu vµo Vref/2 (ch©n 9) ®Ó hë.
9 - Ch©n Vref/2.
Ch©n 9 lµ mét ®iÖn ¸p ®Çu vµo ®îc
dïng cho ®iÖn ¸p tham chiÕu. NÕu
ch©n nµy hë (kh«ng ®îc nèi) th×
®iÖn ¸p ®Çu vµo t¬ng tù cho ADC
804 n»m trong d¶i 0 ®Õn +5v (gièng
nhch©n VCC). Tuy nhiªn, cã nhiÒu
øng dông mµ ®Çu vµo t¬ng tù ¸p ®Õn
Vin cÇn ph¶i kh¸c ngoµi d¶i 0 ®Õn
5v. Ch©n Vref/2 ®îcdïng ®Ó thùc thi
c¸c ®iÖn ¸p ®Çu vµo kh¸c ngoµi d¶i 0
- 5v. VÝ dô, nÕu d¶i ®Çu vµo t¬ng tù
cÇn ph¶i lµ 0 ®Õn 4v th× Vref/2 ®îc
nèi víi +2v.
Từ 11- 18 C¸c ch©n d÷ liÖu D0 -
D7.
V in
Dout
kich thuoc buoc
Víi Dout lµ ®Çu ra d÷ liÖu sè (d¹ng
thËp ph©n). Vin lµ ®iÖn ¸p ®Çu vµo t
¬ng tù vµ ®é ph©n d¶i lµ sù thay ®æi
nhá nhÊt ®îc tÝnh nhlµ (2 Vref/2)
chia cho 256 ®èi víi ADC 8 bÝt.
Ch©n ®Êt t¬ng tù vµ ch©n ®Êt sè.
§©y lµ nh÷ng ch©n ®Çu vµo cÊp ®Êt
chung cho c¶ tÝn hiÖu sè vµ t¬ng tù.
§Êt t¬ng tù ®îc nèi tíi ®Êt cña ch©n
Vin t¬ng tù, cßn ®Êt sè ®îc nèi tíi ®Êt
cña ch©n Vcc. Lý do mµ ta ph¶i cã hai
®Êt lµ ®Ó c¸ch ly tÝn hiÖu t¬ng tù Vin
tõ c¸c ®iÖn ¸p ký sinh t¹o ra viÖc
chuyÓn m¹ch sè ®îc chÝnh x¸c. Trong
phÇn tr×nh bµy cña chóng ta th× c¸c
ch©n nµy ®îc nèi chung víi mét ®Êt
Tóm tắt các bước khi ADC804
chuyển đổi dữ liệu
Tõ nh÷ng ®iÒu trªn ta kÕt luËn r»ng c¸c bíc cÇn ph¶i thùc
hiÖn khi chuyÓn ®æi d÷ liÖu bëi ADC 804 lµ:
BËt CS = 0 vµ göi mét xung thÊp lªn cao tíi ch©n ®Ó b¾t
®Çu chuyÓn ®æi.
Duy tr× hiÓn thÞ ch©n . NÕu xuèng thÊp th× viÖc chuyÓn
®æi ®îc hoµn tÊt vµ ta cã thÓ sang bíc kÕ tiÕp. NÕu
cao tiÕp tôc th¨m dß cho ®Õn khi nã xuèng thÊp.
Sau khi ch©n xuèng thÊp, ta bËt CS = 0 vµ göi mét xung
cao - xuèng - thÊp ®Õn ch©n ®Ó lÊy d÷ liÖu ra khái chÝp
ADC 804. Ph©n chia thêi gian cho qu¸ tr×nh nµy ®îc tr×nh
bµy trªn h×nh
Phân chia thời gian đọc và ghi
của ADC 804
Nối ghép ADC 804 với nguồn đồng hồ riêng
tÝn hiÖu ®Çu vµo t¬ng tù vµo thanh ghi A. Sau ®ã gäi ch
¬ng tr×nh con chuyÓn m· nhị ph©n sang hÖ 10 vµ hiÓn thÞ
d÷ liÖu
BEGIN
END
Thuật toán khi ADC 804 chuyển đổi dữ liệu
CONVERT_ADC:
CLR CS
Bật CS = 0 NOP
CLR WR
NOP
NOP
Gửi 1 xung thấp lên xung cao chân WR SETB WR
SETB CS
HIGHT_INTR:
JB INTR,HIGHT_INTR
Sai, thì kiểm tra tiếp
Kiem tra chân INTR = 0 NOP
NOP
LOW_INTR:
Đúng, khi việc convert đã hoàn tất CLR CS
NOP
Bật CS= 0 SETB RD
NOP
Gửi 1 xung cao xuống xung đến chân RD NOP
CLR RD
MOV DATA_ADC,P0
Đưa dữ liệu đã convert đến 8051 NOP
RET
Thuật toán chuyển đổi dữ liệu từ ADC về hệ thập phân
Code chương trình
MOV A,LED3
MOVC A,@A+DPTR
Đưa giá trị A hiển thị led 7 thanh MOV P1,A
RET
TAB:
DB
Tại địa chỉ con trỏ DPTR 00000011B,10011111B,00100101B,
00001111B,10011001B
DB
Đưa nội dung vào các địa chỉ trong ROM 01001001B,01000001B,00011111B,
00000001B,00001001B
Bé biÕn ®æi sè - t¬ng tù DAC
Bé biÕn ®æi - t¬ng tù DAC lµ mét thiÕt bÞ ®îc sö dông réng r·i ®Ó
chuyÓn ®æi c¸c xung sè ho¸ vÒ c¸c tÝn hiÖu t¬ng tù.
Xem l¹i c¸c kiÕn thøc ®iÖn tö sè ta thÊy cã hai c¸ch t¹o ra bé DAC:
Ph¬ng ph¸t träng sè nhÞ ph©n vµ ph¬ng tr×nh thang R/2R.
NhiÒu bé DAC dùa trªn c¸c m¹ch tæ hîp, bao gåm MC1408 (DAC808)
®îc sö dông trong phÇn nµy ®Òu sö dông ph¬ng ph¸p h×nh thang
R/2R v× nã cã thÓ ®¹t ®é chÝnh x¸c cao h¬n. Tiªu chuÈn ®¸nh gi¸
mét bé DAC ®Çu tiªn lµ ®é ph©n gi¶i hµm cña sè ®Çu vµo nhÞ
ph©n. C¸c ®é ph©n gi¶i chóng lµ 8, 10 vµ 12 bÝt. Sè c¸c ®Çu vµo
bÝt d÷ liÖu quyÕt ®Þnh ®é ph©n gi¶i cña bé DAC, v× sè møc ®Çu
ra t¬ng tù b»ng 2n víi n lµ ®Çu vµo bÝt d÷ liÖu. Do vËy, mét bé
DAC 8 bÝt nhDAC808 ch¼ng h¹n cã 256 møc ®Çu ra ®iÖn ¸p
(dßng ®iÖn) rêi r¹c. T¬ng tù nhvËy, mét bé DAC 12 bÝt cho 4096
møc ®iÖn ¸p rêi r¹c
2 Bé biÕn ®æi DAC MC1408
(hay DAC808).
Trong bé ADC808 c¸c ®Çu vµo sè ®îc chuyÓn
®æi thµnh dßng (Iout) vµ viÖc nèi mét ®iÖn trë
tíi ch©n Iout ta chuyÓn kÕt qu¶ thµnh ®iÖn ¸p.
dßng tæng ®îc cÊp bëi ch©n Iout lµ mét hµm sè
nhÞ ph©n ë c¸c ®Çu vµo D0 – D7 cña DAC808
vµ tham chiÕu Iref nhsau:
D7 D6 D5 D 4 D3 D 2 D1 D0
I out I ref ( )
2 4 8 16 32 64 128 256
Trong ®ã D0 lµ bÝt thÊp nhÊt LSB vµ
D7 lµ bÝt cao nhÊt MSB ®èi víi c¸c ®Çu vµo
Chuyển Iout sang điện áp ở
DAC808
Nếu nối điện trở tới chân Iout thì dòng
được chuyển thành điện áp và có thể
kiểm tra đầu ra bằng máy hiện sóng.
Tuy nhiên, như vậy sẽ làm giảm độ
chính xác do bị thay đổi trở kháng đầu
vào của tải . Vì vậy , dòng ra Iref cần
được cách ly bằng khuếch đại thuật
toán
Sơ đồ DAC 0808
Nối ghép 8051 với DAC 0808
Ví dụ :
Cho R= 5 k ,I = 2mA, hãy tính Vout khi
đầu vào là các mã nhị phân sau:
a) 10011001 (99H)
b) 11001000 (C8H)
Giải
a) Iout = 2mA.(1/2 +1/16 +1/32 +1/256)
= 1,195mA và Vout = 1,195mA x 5k = 5,975 v
b) Iout = 2mA.( 1/2 + 1/4 + 1/32) = 1,562 mA
và Vout = 1,562mA x 5k = 7,8125 v
Ví dụ: Để tạo ra 1 điện áp dạng bậc thang , hình13.7 và
nối máy hiện sóng tới đầu ra.Hãy viết chương trình gửi
dữ liệu tới bộ DAC để tạo sóng bậc thang
Giải
CLR A
Again: MOV P1, A ; gửi dữ liệu đến DAC
INC A
ACALL DELAY ; khôi phục lại tín hiệu
SJMP AGAIN
Ví dụ :Hãy kiểm tra các giá trị
cho bởi các góc sau
a)30 ; b) 60
Giải
a) Vout = 5v + (5v x sin ) = 5v + 5 x
0,5 = 7,5 v
DAC = 7,5v x 25,6 = 192
b) Vout = 5v + (5v x sin ) = 5v + 5 x
0,866 = 9,33 v
DAC = 9,33v x 25,6 = 238
Quan hệ góc và điện áp của sóng hình sin
Góc teta (độ) Sin teta Biên Độ điện áp Giá trị gửi tới DAC
Vout : (biên độ điện áp
5v+(5v+sin) x25.6)
0 0 5 128
30 0.5 7.5 192
60 0.866 9.33 238
90 1.0 10 255
120 .0866 9.33 238
150 0.5 7.5 192
180 0 5 128
210 -0.5 2.5 64
240 -0.866 0.66917 270
270 -1.0 0 0
300 -0.866 0.669 17
330 -0.5 2.5 64
Quan hệ điện áp – góc sóng hình sin
Ð?
Tạo sóng hình sin
Để tạo sóng hình sin,đầu tiên chúng ta thiết lập
bảng giá trị hình sin theo góc từ 0 đến 360độ
Trong khoảng này,biên độ hình sin thay đổi trong
khoảng -1,+1.Vì vậy,bảng giá trị là các số nguyên
biểu diễn biên độ điện áp theo góc teta.phương
pháp này đảm bảo rằng,chỉ có các số nguyên là tín
hiệu ra của DAC được nối tới 8051.Bảng 13.5biểu
diễn quan hệ góc với giá trị biên độ hình sin,biên độ
điện áp và các số nguyên tương ứng.Để tạo ra
bảng 13.5,chúng ta giả thiết rằng điện áp đầy
thang là 10v ở đầu ra DAC.Tín hiệu ra của DAC sẽ
lớn nhất(hết thang) nếu tất cả dữ liệu đầu vào của
DAC ở mức cao.Vì vậy,để được tín hiệu ra đầy
thang,chúng ta sử dụng phương trình sau:
TABLE: DB 128,192,238,255,238,192
DB 128,64,17,0,17,64,128
;bạn có thể tham khảo thêm ở bảng 13.5
;để biết giá trị cụ thể của sóng hình sin
Thuật toán gửi các giá trị liên tục tới
DAC để tạo sóng hình sin
Gán gía trị TABLE cho con trỏ DPTR
MOVC A,@A+DPTR Đưa nội dung vào các địa chỉ thứ tự trong ROM