LỜI NÓI ĐẦU
Đề tài thực hiện trong luận văn tốt nghiệp này là thiết kế “ Hệ
thống thu thập dữ liệu và điều khiển ”. Hệ thống này sẽ thu thập dữ liệu
từ các kênh chuyển đổi Analog sang Digital, điều khiển hệ thống bằng tín
hiệu điện áp được xuất ra, thiết bò hiển thò là màn hình tinh thể lỏng
(LCD). Hệ thống được kết nối với máy tính qua cổng nối tiếp, giao diện
điều khiển được viết bằng ngôn ngữ Visual Basic.
Đễ có thể hoàn thành đề tài này em xin chân thành cám ơn thầy
hướng dẫn HUỲNH HỮU PHƯƠNG, toàn bộ các anh trong công ty
Control nói chung và phòng Điện tử nói riêng đã chỉ bảo tận tình và tạo
điều kiện tốt nhất cho em trong quá trình thực hiện luận văn.
Ngày 10 tháng 1 năm 2002
Sinh viên
Nguyễn hoàng Huy
MỤC LỤC
Trang
I/ Chuyển đổi AD dùng ADS7841
A/ Sơ lược về ADS7841
1/ Giới thiệu 1
2/ Mô tả chân 2 -3
3/ Kỹ thuật điều khiển 3 - 12
B/ p dụng vào luận văn
1/ Kết nối phần cứng 13
2/ Phần mềm điều khiển 14 - 16
II/ Chuyển đổi DA dùng DAC7611
A/ Sơ lược về DAC7611
1/ Giới thiệu 17 -18
2/ Mô tả chân 18 - 20
3/ Hoạt động 20 - 23
B/ p dụng vào luận văn
1/ Kết nối phần cứng 23 - 24
B/ Hộp điều khiển chuyển đổi DA 94 - 95
C/ Hộp điều khiển LCD 95 - 100
Sinh viên: Nguyễn Hoàng Huy
CHUYỂN ĐỔI AD DÙNG ADS7841
Chuyển đổi từ Analog sang Digital (ADC) là quá trình không thể
thiếu trong các hệ thống điều khiển tự động. Ngoài IC ADC0809 quen
thuộc trên thò trường có rất nhiều IC thực hiện việc chuyển đổi AD,
ADC0809 có một số nhược điểm là độ chính xác không cao (chuyển đổi 8
bit), thời gian chuyển đổi cao (khoảng 120 µs) và giao tiếp dữ liệu dạng
song song chỉ thích hợp cho các hệ thống cần độ chính xác không cao và
tốn nhiều chân port hoặc phải giao tiếp dữ liệu qua data bus.
Trong đề tài thực hiện trong luận văn này ta thực hiện việc biến đổi
AD bằng IC ADS7841 của hãng BURR-BROWN. ADS7841 có một số
đặc tính nổi trội so với ADC0809 đó là độ chính xác tương đối cao
(chuyển đổi 12 bit), tốc độ chuyển đổi cao có thể đạt tới tốc độ 5µs. Và
đặc biệt là giao tiếp dữ liệu dạng nối tiếp do đó tốn ít chân port của vi xử
lí (có thể chỉ cần tốn 3 chân port).
Ngoài ra đối với ADS7841 ta còn có thể sử dụng ở chế độ chuyển
đổi 8 bit đễ tăng tốc độ chuyển đổi dữ liệu đối với các hệ thống không
cần độ chính xác cao. Trước khi áp dụng vào hệ thống ta giới thiệu sơ
lược về ADS7841.
A/ SƠ LƯC VỀ ADS7841
1/ GIỚI THIỆU :
ADS7841 là IC chuyển đổi tín hiệu analog sang tín hiệu số 12 bit
bằng giao tiếp nối tiếp do công ty BURR-BROWN sản xuất . ADS7841
gồm 4 kênh chuyển đổi và cho phép ta lập trình đễ chọn chuyển đổi AD
12 bit hoặc 8 bit tùy theo nhu cầu sử dụng. Công suất tiêu thụ khoảng
2mw , nguồn cung cấp đơn V
CC
=+5V , áp chuẩn V
_ 6- COM : Ground của ngõ vào analog , nối với GND
ở chế độ đơn cực , ở chế độ visai nối
với
cực “−”
_ 7- SHDN : Khi tích cực (mức 0) IC sẽ ở chế độ nghó ,
tiêu thụ rất ít năng lượng
_ 8- V
REF
: Ngõ vào áp chuẩn
_ 9- +VCC : Chân cung cấp nguồn từ 2.7V đến 5V
2
Sinh viên: Nguyễn Hoàng Huy
_ 10- GND : Ground
_ 11- MODE : Chọn chế độ chuyển đổi , khi ở mức thấp
luôn là chuyển đổi 12 bit , khi ở mức cao
chế độ chuyển đổi được quyết đònh bởi
bit mode trong byte điều khiển (sẽ nói ở
phần sau).
_ 12- DOUT : Ngõ ra của dữ liệu nối tiếp , dữ liệu được
dòch ra dựa trên xung clock DCLK. Ngõ ra
này sẽ ở dạng tổng trở cao khi chân “CS”
ở mức 1.
_ 13- BUSY : Ngõ ra này sẽ ở dạng tổng trở cao khi
chân “CS” ở mức 1.
_ 14- DIN : Ngõ vào dữ liệu nối tiếp , dữ liệu được đưa
vào dựa trên xung clock ở chân
DCLK .
_ 15- CS : Tín hiệu chọn chip
_ 16- DCLK : Ngõ vào xung clock, xung clock này đễ
nhận biết dữ liệu được đưa vào
ADS7841 .
Ngõ vào analog của tín hiệu cần chuyển đổi có thể ở dạng đơn cực
hoặc vi sai và được đưa vào một trong bốn kênh (CH0, CH1, CH2, CH3).
Điện áp này phải nằm trong tầm từ điện áp chuẩn V
REF
đến áp của chân
“COM”(trong trường hợp này là đất) hoặc trong trường hợp áp vi sai ta sử
dụng hai trong bốn kênh (CH0, CH1, CH2, CH3).
• NGÕ VÀO ANALOG:
4
A2 − A0
(Trường hợp : 001
B
)
CH0
CH1
CH2
CH3
COM
SGL/DIF
(Trường hợp mức cao)
+IN
BỘ BIẾN ĐỔI
-IN
Sinh viên: Nguyễn Hoàng Huy
Hình trên là sơ đồ khối của khối phân kênh ngõ vào của
ADS7841. Ngõ vào của bộ biến đổi là áp của một trong bốn
kênh so với chân “COM” hoặc hai trong bốn kênh này . Hai
Sinh viên: Nguyễn Hoàng Huy
Nguồn chuẩn bên ngoài đưa vào sẽ đặt tầm cho ngõ vào cần
chuyển đổi . ADS7841 sẽ điều khiển điện áp chuẩn này trong tầm từ
100mV đến +V
CC
. Phải giữ sai lệch điện áp analog của 2 chân ngõ vào
cần chuyển đổi +IN và –IN trong khoảng cho phép . Ví dụ như trong chế
độ đơn cực với điện áp chuẩn là 1.25V , và với chân “COM” được nối đất
thì kênh ngõ vào được chọn ( CH0, CH1, CH2, CH3 ) phải nằm trong tầm
từ 0V đến 1.25V . Nếu chân “COM”được kết nối với 0.5V thì tầm áp vào
của kênh được chọn sẽ từ 0.5V đến 1.75V.
Có một vài vấn đề về cách đònh chuẩn áp ngõ vào. Khi áp chuẩn
được cung cấp không phải là ước số của 4096 ( 2
12
) thì với cùng lượng
điện áp ngõ vào analog cần đo , giá trò của ngõ ra (dạng số) sẽ bò giảm
xuống . Điều này rất thường xảy ra ở bit có trọng số thấp nhất (LSB). Do
đó khi sử dụng áp chuẩn là những con số này ta phải bù lại lượng đã mất
đi. Ví dụ như khi sử dung áp chuẩn là 2.5V thì ta phải bù lại 2LSBs ( tức
phải cộng 2 vào giá trò (dạng số) ngõ ra của bộ biến đổi. Khi sử dung áp
chuẩn là 0.5V thì ta phải bù lại 10LSBs.
Trong mỗi trường hợp này giá trò bù lại khoảng 1.22mV. Ở những
trường hợp không cần thiết phải dùng áp chuẩn nhỏ ta nên sử dụng áp
chuẩn là 4.095mV, điều này sẽ làm giảm sai số của quá trình chuyển đổi
đồng thời giúp ta dễ dàng tính được giá trò áp ngõ vào cần đo (1 LSB
bằng 1mV).
Tương tự như trên thì nhiễu của ngõ ra sẽ tăng khi giá trò của một
LSB thấp. Với điện áp chuẩn là 100 mV thì giá trò của mỗi LSB sẽ là
24µV. Đây là mức thấp so với các loại nhiễu có trong thiết bò. Kết quả là
ngõ ra (dạng số) sẽ không ổn đònh và sẽ thay đổi xung quanh một giá trò
clock. Một chuyển đổi được hoàn tất có thể bao gồm ba lần giao tiếp nối
tiếp , trong tổng 24 chu kỳ xung clock trên ngõ vào DCLK. Tám xung
clock đầu tiên được sử dụng đễ cung cấp byte điều khiển được đưa vào ở
chân DIN. Khi bộ chuyển đổi có đủ thông tin cho quá trình chuyển đổi
sắp tới đễ đặt kênh ngõ vào , chế độ chuyển đổi. Sau khi byte điều khiển
được hoàn thành thì ở 12 xung clock kế tiếp sẽ là kết quả chuyển đổi
analog sang digital, xung clock thứ 13 cho bit cuối cùng của kết quả
chuyển đổi . Ba xung clock kế tiếp cần thiết đễ hoàn thành byte cuối
7
Sinh viên: Nguyễn Hoàng Huy
cùng (DOUT sẽ ở mức thấp). Những xung clock này sẽ được bộ chuyển
đổi bỏ qua.
• BYTE ĐIỀU KHIỂN:
Phần trên ta đã biết việc chọn các thông số cho bộ chuyển đổi được
thông qua byte điều khiển, ta sẽ xem xét chi tiết về các chức năng của
từng bit trong byte điều khiển này. Bit đầu tiên là ‘S’ bit (start bit) phải
luôn ở mức cao và báo hiệu cho sự bắt đầu của byte điều khiển .
ADS7841 sẽ bỏ qua những giá trò ngõ vào trên chân “DIN“ cho đến khi
bit ‘S’ được xác lập. Ba bit kế tiếp (A2 đến A0) đễ chọn kênh ngõ vào
cần chuyển đổi . Các thông tin chi tiết về ba bit này đã được trình bày ở
phần trên.
‘MODE’ bit và chân MODE có quan hệ với nhau đễ đặt số bit cho
một lần chuyển đổi . Nếu chân MODE ở mức thấp thì bộ chuyển đổi luôn
làm việc ở chế độ 12 bits mà không phụ thuộc vào trạng thái của bit
MODE trong byte điều khiển . Nếu chân MODE ở mức cao thì bit MODE
sẽ quyết đònh số lượng bit trong mỗi lần chuyển đổi , cụ thể là khi bit
MODE bằng 0 tương ứng là chuyển đổi 12 bits , bằng 1 tương ứng là
chuyển đổi 8 bits.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
S A2 A1 A0 Mode Sgl/Dif PD1 PD0
Những bit điều khiển chuyển đổi thứ n+1 có thể được đưa vào
trong chuyển đổi thứ n trong mỗi 16 chu kỳ xung clock, giản đồ thời gian
ở dưới sẽ chỉ rõ điều này. Giản đồ cũng chỉ ra cách giao tiếp nối tiếp với
vi xử lí ở mỗi byte được dòch ra giữa việc xử lí và chuyển đổi.
Các thông số thời gian đặc biệt :
Ký hiệu Min Max Đơn vò
t
ACQ
900 ns
t
DS
50 ns
t
DH
10 ns
t
DO
100 ns
t
DV
70 ns
t
CSS
50 ns
9
Sinh viên: Nguyễn Hoàng Huy
t
CSH
0 ns
t
MIN16
=
50 + 16*(150+150) + 70 = 5000 ns
10
Sinh viên: Nguyễn Hoàng Huy
Giản đồ thời gian chi tiết
CS
t
CSS
t
CH
t
CL
t
CSH
t
DS
t
DH
DCLK
DIN
t
BDV
t
BD
t
BTR
BUSY
t
đổi có thể rút ngắn bằng cách tăng tốc độ của xung clock nhanh hơn 50%.
Cả hai điều này giúp chúng ta có thể tăng khoảng gấp đôi tốc độ chuyển
đổi.
• ĐIỀU KHIỂN NGUỒN CUNG CẤP:
Có ba chế độ điều khiển nguồn cung cấp cho ADS7841: chế độ đầy
(PD1-PD0 = 11B) , tự động tắt (PD1-PD0 = 00B), và chế độ nghó (chân
“SHDN” ở mức thấp). Sự hữu dụng của ba chế độ này tùy thuộc vào việc
ADS7841 được điều khiển như thế nào. Ví dụ như ở tốc độ chuyển đổi
cao và chuyển đổi ở chế độ 16 chu kỳ xung clock chỉ có sự khác biệt rất
nhỏ giữa chế độ đầy và chế độ tự động tắt nguồn, tương tự như thế nếu
ADS7841 được nhập vào chế độ tự động tắt nguồn thì khi shutdown (chân
“SHDN” ở mức thấp ) thì hầu như không có sự khác biệt .
Khi điều khiển ở tốc độ cao và chế độ chuyển đổi 16 chu kỳ xung
clock , ADS7841 sử dụng hầu hết thời gian có được vào việc chuyển đổi
do đó có rất ít thời gian cho việc tự động tắt nguồn , chế độ này hầu như
luôn tích cực. Tức là sự khác biệt giữa chế độ đầy và chế độ tự động tắt
nguồn hầu như là như nhau.
Nếu tốc độ chuyển đổi được giảm xuống bằng cách đơn giản là
giảm tần số của ngõ vào xung clock (DCLK) hoặc vẫn duy trì DCLK ở
tốc độ cao nhưng giảm số lần chuyển đổi trong 1 giây, trong trường hợp
này bộ biến đổi sẽ tăng tỉ lệ thời gian ở chế độ tắt nguồn ( nói chung là
chế độ tự động tắt nguồn sẽ tích cực). Tuy nhiên dụng cụ vẫn tiếp tục bò
12
Sinh viên: Nguyễn Hoàng Huy
hao phí năng lượng ở các chân logic khác, ta có thể giảm tối đa bằng cách
giữ CS ở mức cao.
B/ÁP DỤNG VÀO LUẬN VĂN:
1/KẾT NỐI PHẦN CỨNG
Mạch giao tiếp giữa ADS7841 với vi xử lí 8951
Cấp nguồn đơn +5V cho ADS7841, nối các chân “DCLK”, “CS”,
DIN C
Tạo xung DCLK
C DOUT
RLC A
ANL A,#0FH
B A
Tạo xung DCLK
C DOUT
RLC A
Tạo xung DCLK
SETB CS
RET
Sinh viên: Nguyễn Hoàng Huy
ADC:
CLR P1.1 ; chọn chip ADS7841
MOV A,21H ; lấy byte điều khiển
MOV R7,#8 ; dòch 8 lần
NHAPDIN:
RLC A ; đưa bit điều khiển vào
MOV P1.2,C ; chân DIN
CLR P1.0 ; nhập xung cho DCLK
SETB P1.0 ; nhập xung cho DCLK
DJNZ R7,NHAPDIN
CLR P1.0 ; nhập xung cho DCLK
SETB P1.0 ; nhập xung cho DCLK
MOV R7,#4 ; lấy ra 4 bit cao
LOOPAD1:
CLR P1.0 ; nhập xung cho DCLK
SETB P1.0 ; nhập xung cho DCLK
MOV C,P1.3 ; lấy giá trò ra
tốn nhiều chân port của vi xử lí (hoặc phải sử dụng dạng giao tiếp qua
data bus).
Trong luận văn này ta sử dụng IC DAC7611 của hãng BURR-
BROWN. So với DAC0808 thì DAC7611 có độ chính xác cao hơn 16 lần
(chuyển đổi 12 bit, độ phân giải là 1mv), ngoài ra giao tiếp dữ liệu của
DAC7611 dạng nối tiếp nên tốn ít chân port. Ta có thể chỉ cần sử dụng 3
chân port. . Trước khi áp dụng vào hệ thống ta giới thiệu sơ lược về
DAC7611.
A/ SƠ LƯC VỀ DAC7611
1 / GIỚI THIỆU :
DAC7611 là IC chuyển đổi Digital sang Analog 12 bit của hãng
BURR-BROWN , sử dụng nguồn đơn +5V . Có thể cung cấp công suất
2.5mw (0.5ma ở 5V) . Ngõ điện áp ra sẽ thay đổi 1 LSB trong 7µs . Dữ
liệu giao tiếp với các chân của Port của vi xử lí là dạng giao tiếp nối
tiếp bao gồm các chân xung clock (CLK), chân dữ liệu vào (SDI) ,
17
Sinh viên: Nguyễn Hoàng Huy
chân nạp dữ liệu (LD), chân chọn chip (CS) , và chân xóa (CLR). Hoạt
động ở nhiệt độ từ –40
o
C đến +80
o
C .
Nguồn cung cấp cho DAC7611 nên được bypass bởi một tụ lọc giá
trò khoảng 0.1 µF . Do DAC7611 sử dụng nguồn đơn +5V chỉ có một chân
GND nên tất cả các dòng điện bao gồm dòng điện số và dòng điện
analog đều được đổ về chân này . Do đó chân GND nên được kết nối trực
tiếp đến ground của analog. Điện áp cung cấp tới V
DD
phải được điều
o
oSDI o o o
19
ép xuống 000H
Thanh ghi DAC
Chuyển đổi
Điện áp ra
Data
Thanh ghi dòch
Sinh viên: Nguyễn Hoàng Huy
CS
o
CLK
o
BẢNG CÁC THÔNG SỐ HOẠT ĐỘNG CỦA DAC7611
Điện áp hoạt động chuẩn V
DD
: +5V
Sai số điện áp cho phép : 5% (+4.75V đến 5.25V)
Dòng đi vào chân V
DD
, I
một .Dữ liệu được đònh dạng ở hệ nhò phân và bit đầu tiên là bit có trọng
số lớn nhất (MSB). Tầm điện áp ra từ 0V đến 4.095V, đây là biến đổi
DA 12 bit nên độ phân giải sẽ là 1mv (2
12
= 4095) .
Mã nhò phân ngõ vào Điện áp ngõ ra (V)
FFFH + 4.095
801H +2.049
800H +2.048
7FFH +2.047
000H 0
Bảng chuyển đổi dữ liệu của DAC 7611
Dữ liệu số đưa vào trong DAC7611 được chứa trong 2 bộ đệm .
Điều này có nghóa là dữ liệu mới có thể được nhập vào DAC mà không
có bò chèn lên dữ lệu cũ và điện áp ra của sự chuyển đổi . Tại thời điểm
sau khi dữ liệu được nhập vào thanh ghi dòch , dữ liệu này có thể được
đưa vào thanh ghi DAC . Quá trình chuyển đổi này sẽ hoàn tất khi chân
LD được chuyển từ mức cao sang mức thấp (1 sang 0). Nếu dữ liệu mới
được dòch vào thanh ghi dòch trong khi LD ở mức thấp thì điện áp ra sẽ
thay đổi sau mỗi bit được dòch vào . Đễ ngăn ngừa điều này chân LD phải
được trả về mức cao trong khi ta dòch dữ liệu mới vào.
Ở bất kỳ thời điểm nào giá trò của thanh ghi DAC đều có thể được
đặt giá trò 000H (điện áp ra bằng 0) bằng việc cho chân CLR xuống mức
thấp. Thanh ghi DAC sẽ duy trì giá trò này cho đến khi chân CLR trở lại
mức cao và chân LD phải ở mức thấp đễ cho phép giá trò của thanh ghi
dòch được chuyển vào thanh ghi DAC . Nếu LD ở mức thấp trong khi CLR
ở mức thấp thanh ghi DAC sẽ được đặt giá trò là 000H và điện áp ra sẽ
21
Sinh viên: Nguyễn Hoàng Huy
bằng không. Khi CLR trở lại mức cao , thanh ghi DAC sẽ sẽ lấy giá trò