Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
2,66 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
LUẬN VĂN
Đ
Đ
ề
ề
t
t
à
à
i
i
:
:
Ứ
Ứ
N
N
G
G
D
D
Ụ
Ụ
N
N
G
G
K
K
I
I
T
T
8
8
0
0
5
5
1
1
D
D
Ù
Ù
N
N
G
G
Đ
Đ
Ể
Ể
C
C
H
H
U
U
Y
Y
Ể
Ể
N
N
Đ
Đ
Ổ
Ổ
I
I
A
A
/
/
D
D
&
&
D
D
/
/
A
A
Sinh viên thực hiện : NGUYỄN VŨ ANH DUY
Lớp : 95 KĐĐ
Giáo viên hướng dẫn : LÊ THANH ĐẠO
TPHCM, tháng 2-20
PHẦN DẪN NHẬP
I – ĐẶT VẤN ĐỀ:
Vào đầu những năm thập niên 60, kỹ thuật số đã đưa vào ứng dụng trong thực
tế nhưng ở phạm vi nhỏ. Cho đến ngày hôm nay kỹ thuật số đã được phát triển một
cách mạnh mẽ và được ứng dụng vào mọi lãnh vực của cuộc sống. Từ những chiếc
máy vi tính (computer), máy CD, máy VDC, truyền hình số … cho đến các băng diã
CD đã dần dần thay thế các máy và băng từ tín hiệu tương tự (analog) bởi bộ phân giải
rộng, độ chính xác cao và dễ dàng trong quá trình xử lý tín hiệu. Tuy nhiên trong cuộc
sống hằng ngày chúng ta lại thường tiếp xúc với những tín hiệu tương tự nhiều hơn.
vd: Điện thoại, sóng đài truyền hình, dòng điện sinh hoạt, âm thanh … vì thế phải cần
có một sự chuyểnđổi từ tín hiệu tương tự (Analog) – số (Digital) để xử lý dữ liệu, sau
đó lại chuyểnđổi ngược lại từ số (Digital) – tương tự (Analog) để đưa vào điều khiển,
khống chế thiết bị. Đó là những lý do để em thực hiện đề tài này.
II – MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI
Có rất nhiều phương pháp để thực thi việc chuyểnđổiA/D và D/A
Sử dụng vi mạch số
Sử dụng vi xử lý
Sử dụng vi điều khiển
Với đề tài này em sử dụng vi điều khiển để thực hiện việc chuyểnđổiA/D và
D/A
Mục đích: Chuyểnđổi tín hiệu Analog – Digital để xử lý, sau đó chuyểnđổi
ngược lại từ Digital – Analog để điều khiển, khống chế thiết bị
Yêu cầu: Hiểu rõ về kỹ thuật số, các quá trình chuyểnđổiA/D và D/A bên
trong những vi mạch chuyêndụng (IC ADC 0809 và DAC 0808), nắm vững cách sử
dụng kết nối phần cứng và phần mềm của KIT8051.
III – GIỚI HẠN ĐỀ TÀI
Do sự chuyểnđổiA/D và D/Ađể điều khiển và xử lý bằng KIT8051 rất phong
phú và đa dạng mà kiến thức của em thì còn rất nhiều hạn chế đặt biệt đối với vi điều
khiển 8051 là phần không có trong chương trình giảng dạy của nhà trường, chủ yếu là
em tự tìm tòi học hỏi, nghiên cứu là chính. Bên cạnh đó chỉ với thời gian 6 tuần để tìm
hiểu, viết luận văn và thi công thì đề tài này em xin được trình bày và thực hiện một
quá trình chuyểnđổiA/D và D/A cơ bản nhất.
Ngày 25 Tháng 02 Năm 2000
Sinh viên thực hiện
Nguyễn Vũ Anh Duy
Chương I
BIẾN ĐỔI TƯƠNG TỰ – SỐ VÀ SỐ – TƯƠNG TỰ
A – BIẾN ĐỔI TƯƠNG TỰ SỐ (ADC):
Biến đổi tương tự – số (analog – digital) là thành phần cần thiết trong việc xử lý
thông tin và các cách điều khiển sử dụng phương pháp số. Tín hiệu thực ở Analog.
Một hệ thống tiếp nhận dữ liệu phải có các bộ phận giao tiếp Analog – Digital (A/D).
Các bộ chuyểnđổi tương tự số, viết tắt là ADC thực hiện hai chức năng cơ bản
là lượng tử hóa và mã hóa. Lượng tử hóa là gán cho những mã nhị phân cho từng giá
trị rời rạc sinh ra trong quá trình lượng tử hóa.
I – TỔNG QUÁT
1 – Quan hệ In – Out:
Biến đổi AD có tính chất tỉ lệ. Tín hiệu vào Analog được biến đổi thành một
phân số X bằng cách so sánh với tín hiệu tham chiếu Vref. Đầu ra của bộ ADC là mã
của phân số này. Bất kỳ một sai số tín hiệu Vref nào cũng sẽ dẫn đến sai số mức ra, vì
vậy người ta cố gắn giữ cho Vref càng ổn định càng tốt.
Vref
Vin Digital output
Hình 2.1 Quan hệ vào ra các khối ADC
Nếu bộ ADC xuất mã ra gồm n bit thì số mức ra rời rạc là 2
n
. Đối quan hệ tuyến
tính, tần vào được lượng tử hóa theo đúng mức này. Mỗi mức như vậy là một tín hiệu
Analog được phân biệt với hai mã kế tiếp nhau, nó chính là kích thước của LSB (Least
Significant Bit).
FS
Q=LSB=
2
N
Trong đó : Q : Lượng tử
LSB : bit có trọng số thấp nhất
FS : giá trị toàn thang
ADC
Tất cả các giá trị Analog của lượng tử Q được biểu diễn bởi mã số, mà mã này
tương ứng với giá trị trung bình của lượng tử (có thể hiểu là giữa khoảng LSB) gọi là
mức ngưỡng. Các giá trị Analog nằm trong khoảng từ mức ngưỡng sai biệt đi ± ½ LSB
vẫn được thể hiện bằng cùng một mã, đó là sai số lượng tử hóa. Sai số này có thể sẽ
giảm đi bằng cách tăng số bit trong mã ra bộ ADC.
2 – Độ phân giải:
Là giá trị biến đổi nhỏ nhất của tín hiệu vào ra được yêu cầu để thay đổi mã lên
một mức. Độ phân giải được đưa ra với giả thiết lý tưởng.
3 – Độ chính xác:
Sự sai biệt giữa các giá trị điện áp tín hiệu vào so với giá trị FS tương đương
với mã xuất ra. Thường có ghi trong đặc tính của các bộ ADC thương mại.
4 – ADC:
Tùy theo công nghệ chế tạo mà bộ ADC có đầu vào đơn cực hay lưỡng cực, đa
số nằm trong khoảng 0…5V hoặc 0…10V đối với đơn cực và -5…+5V hoặc –
10V…+10V đối với ADC lưỡng cực. Tín hiệu vào cần phù hợp với tầm vào xác định
cho từng bộ ADC. Nếu đầu vào không hết thang sẽ tạo mã vô dụng ở đầu ra. Vấn đề
này được giải quyết bằng cách chọn tầm đầu vào bộ ADC sau đó chỉnh độ lợi thích
hợp cho đầu vào của nguồn Analog.
Khi sử dụng bộ ADC đơn cực mà có tín hiệu vào là lưỡng cực trong khoảng
±Vpp thì ta cần phải cộng điện áp vào Vi với một điện áp nền bằng +Vpp, khi đó ta sẽ
có Vi nằm trong khoảng 0 +2Vpp; tín hiệu này sẽ được đưa tới đầu vào bộ ADC. Nếu
sử dụng ADC lưỡng cực thì không cần cộng tín hiệu và đầu ra ta sẽ nhận được mã
lưỡng cực.
5 – Đầu ra bộ ADC:
Đa số các ADC có đầu ra 8 Bits, 16 Bits … dù vậy cũng có loại 3½ Digit, mã
BCD, 10 Bits, 14 Bits. Đầu các bộ ADC thường là mã nhị phân tự nhiên hoặc có dấu.
ADC dùng cho máy đo chỉ thị số đa dụng thường là mã BCD.
5 – Tín hiệu tham chiếu Vr:
Vi+ (EOC) End of Convertion
Vi - OE (Output Enable)
Vr
Start Digital Output
Clock
Hình 2.3 Các ngõ vào, ra chính của bộ ADC
Hình vẽ cho thấy đầu vào và đầu ra của bộ ADC. Mọi ADC đều yêu cầu có tín
hiệu Vr. Bất kỳ một sai số nào trên Vr đều gây ra lỗi độ lợi ở đặc tính của AD. Vì vậy
Vr là tín hiệu đảm bảo độ chính xác và ổn định của bộ AD. Dùng IC ổn áp có thể thỏa
mãn điều này.
7 – Tín hiệu điều khiển:
Mọi bộ ADC đều có tính xung Clock và tín hiệu điều khiển để hoạt động. Thiết
bị ngoài giao tiếp với ADC sẽ khởi động quá trình AD bằng cách phát một xung Start
vào đầu vào Start của ADC, ADC sẽ nhận biết cạnh lên của xung Start và ngay sau đó
nó sẽ kéo đường EOC (End of Conversion) xuống thấp (không tích cực). Lúc này
ADC đang thực hiện quá trình biến đổi, tương ứng với mỗi xung Clock đưa vào ADC
sẽ thực hiện được một bước biến đổi, sau một bước nhất định tùy theo bộ ADC, thì
quá trình biến đổi hoàn thành. Khi biến đổi xong, AD sẽ nâng đường EOC lên mức
cao, tín hiệu này có thể dùngđể kích một ngắt cứng của máy tính (nếu dùng giao tiếp
với máy tính). Để đọc được dữ liệu đầu ra của bộ ADC thì phải nâng đường OE
(Output Enable) của ADC lên mức cao, sau khi đọc xong thì lại trả đường này về mức
thấp.
ADC
II – CÁC KỸ THUẬT AD:
1 – ADC có Vr dạng nấc thang:
Analog Vht Vref
input Vi Reference
Comparateur
Digital output
Hình 2.4 Sơ đồ khối AD có Vr dạng nấc thang
Counter: Bộ đếm tạo đầu ra cho bộ ADC bằng hoặc lớn hơn giá trị vào Vi. Nó
được reset tại mọi thời điểm bắt đầu thực hiện AD và đếm dần lên sau mỗi xung
Clock. Cứ mỗi lần đếm bộ DAC lại nâng lên mỗi nấc thang (1 LSB). Bộ so sánh sẽ
dùng bộ đếm lại khi điện áp DAC (áp hồi tiếp) đạt tới giá trị vào Vi.
Nhược điểm của phương pháp này là Tc (thời gian chuyển đổi) theo mức tín
hiệu vào và đôi khi rất lâu. Tc=2ⁿ x T
clock
đối với bộ DAC n bit khi biến đổi một tín
hiệu vào ở mức FS (Full Scale).
Một cải tiến của phương này là “tracking” hay “servo” sử dụng bộ đếm thuận
nghịch cho phép DAC đưa tín hiệu vào liên tục. Bằng sự khống chế bộ đếm từ bên
ngoài tại một điểm nhất định ta dùng bộ DAC kiểu tracking như một bộ S & H
(Sample and Hold).
2 – ADC thăng bằng liên tục:
Sơ đồ khối giống như phương pháp trước, nhưng bộ đếm là bộ đếm thuận
nghịch.
Về cơ bản cũng giống như phương pháp trên nhưng bộ đếm hoạt động được ở
chế độ thuận nghịch. Khi tín hiệu Vht < Vi thì bộ đếm sẽ đếm lên, ngược lại thì bộ
đếm sẽ đếm xuống. Quá trình xác lập ghi nhận được khi giá trị Vht dao động xung
quanh giá trị Vi. Tc cũng phụ thuộc vào Vi và nhược điểm sai số cũng giống phương
pháp trên: sai số động phụ thuộc vào thời gian biến đổi và sai số tĩnh chủ yếu ở bộ biến
đổi DA và bộ so sánh.
Control
Clock
Counte
DAC
3 – Phương pháp biến đổi AD hàm dốc tuyến tính: (Phuơng pháp tích phân một
độ dốc)
Về bản chất thực hiện biến đổi trung gian từ điện áp ra khoảng thời gian sau đó
đo khoảng thời gian theo phương pháp số. Quá trình biến đổi sẽ xảy ra như sau:
Comparator
Vi V1
Vs V2
Start
Result
Hình 2.6 Sơ đồ khối phương pháp ADC hàm dốc tuyến tính
Sau thời gian kích khởi, bộ đếm sẽ bắt đầu đếm lên và mạch quét sẽ bắt đầu tạo
ra tín hiệu tuyến tính thời gian. Tín hiệu quét và tín hiệu vào Vi được so sánh với nhau,
khi hai tín hiệu này bằng nhau thì mạch so sánh sẽ đóng cổng không cho xung tới bộ
đếm nữa. Như vậy nội dung của bộ đếm sẽ tỉ lệ với thời gian to, mà to lại tỉ lệ thuận
với giá trị Vi nên nội dung bộ đếm tỉ lệ với Vi.
Gate
Clock
Coute
Scan
Độ chính xác của phương pháp này phụ thuộc vào độ tuyến tính của tín hiệu
quét (sai số độ dốc càng nhỏ, độ chính xác càng cao), tín hiệu phụ thuộc vào tần số của
từng xung.
Phương pháp này có tốc độ hoạt động cao hơn các phương pháp ban đầu, và độ
chính xác cũng cao hơn do không cần sử dụng bộ biến đổi DA.
4 – ADC xấp xỉ liên tiếp:
Analog
Input Vi
Comparateur
Vref
Reference
Digital output
Hình 2.8 ADC xấp xỉ liên tiếp
Phương pháp này được dùng trong kỹ thuật biến đổi AD tốc độ cao – trung
bình. Nó cũng dùng một bộ DAC bên trong để tạo ra một điện áp bằng mức vào và của
tín hiệu sau đúng bằng n chu kỳ xung Clock cho trường hợp ADC n bit.
Phương pháp này cho phép rút ngắn Tc rất nhiều và không phụ thuộc vào tín
hiệu vào Vi. Kỹ thuật này phụ thuộc vào sự xấp xỉ tín hiệu vào với mã nhị phân, sau
đó thay đổi các bit trong mã này một cách liên tiếp cho đến khi đạt được mã gần đúng
nhất. Tại mỗi bước của quá trình này, giá trị xấp xỉ của mã nhị phân thu được sẽ được
lưu vào SAR (Successive Approximate Register). Việc biến đổi luôn được bắt đầu tại
MSB (Most Significant Bit) của SAR khi đó được bật lên. Bộ so sánh sẽ so sánh đầu
SAR
Clock
DAC
ra của ADC với Vi và ra lệnh cho bộ điều khiển ngắt MSB nếu như giá trị ban đầu này
vượt quá đầu vào AD. Trong chu kỳ xung Clock kế tiếp, MSB lại được phát trở lại.
Một lần nữa bộ so sánh sẽ quyết định lấy hay bỏ MSB này. Sự biến đổi này sẽ tiến dần
đến sự đúng nhất so với tín hiệu vào xuất dữ liệu này ra.
DAC output
100
MSB LSB
1 1 0 SAR output
Hình 2.9 Đồ thị dạng sóng của mạch
111
111
110 110
101 101
100 100
010 011 011
010
011 001
000
Hình 2.10 Sơ đồ thay đổi mức logic
5 – ADC tích phân hai độ dốc:
Kỹ thuật này thấy rõ trên sơ đồ khối. Ta thấy điện áp vào được tích phân trong
khoảng thời gian t
1
, đúng bằng lúc bộ đếm đếm hết. Tại cuối t
1
, bộ đếm sẽ reset và bộ
tích phân chuyển qua mức tham chiếu âm, đầu ra của bộ tích phân sẽ giảm tuyến tính
về zero tại đó bộ đếm ngưng đếm và được reset. Điện tích nạp tụ trong khoảng thời
gian t gần bằng điện tích xả trong khoảng thời gian t
2
:
t
1
x V
1
= t
2
x V
2
t
2
= V
1
= x
t
1
V
2
Tỉ số x cũng chính là tỉ số mà mã nhị phân của bộ đếm lớn nhất giá trị đếm
được vào cuối t
2
cũng là giá trị xuất ra. Kỹ thuật này có một số ưu điểm, nhất là chất
lượng khử ồn. Tín hiệu vào được tích phân qua một chu kỳ, do đó bất kỳ mức ồn nào
cũng có tần số là bội số của
1
/t
1
đều bị loại.
Analog reference
+
Vr -
- +
Vi
Digital Output
Hình 2.11 Sơ đồ khối ADC tích phân hai độ dốc
Chú ý rằng, tần số xung Clock không ảnh hưởng gì đến độ phân giải. Độ phân
giải của kỹ thuật này chỉ bị giới hạn bởi chất lượng mạch và không phụ thuộc vào độ
phi tuyến của bộ AD: Do đó đầu ra của bộ tích phân có thể nhảy cấp tự do mà không
sợ phát sinh mã lỗi ở đầu ra. Vì vậy mà độ phân giải tốt rất dễ đạt được và có thể thay
đổi bằng cách chỉnh kích thước của vòng đếm và tần số xung Clock.
Tần số thấp là nhược điểm duy nhất của phương pháp. Phương pháp này
thường được dùng cho các đồng hồ hiện số, máy đo đa năng chỉ thị số, cảm biến nhiệt
độ và những ứng dụng có yêu cầu không cao về tần số lấy mẫu.
6 – ADC dùng biến đổi V – F (điện áp – tần số):
VFC Bộ phát Bộ thu
[...]... của 8051 gồm có port 0 địa chỉ 80H, port 1 địa chỉ 90H, port 2 địa chỉ A0H, port 3 địa chỉ B0H Các port 0, 2 và 3 không được dùngđể xuất nhập nếu đang sử dụng bộ nhớ ngoài Còn lại port 1 có thể dùngđể xuất nhập (I/O) Tất cả các port đều có thể dùng truy xuất bit Điều này cung cấp cho vi điều khiển khả năng giao tiếp rất mạnh Ta có thể dùng chân P1.7 để đóng mở động cơ Chân P1.7 nối với transitor để. .. năm 1980 bởi hãng Intel, với sản phẩm đầu tiên là 8051 Các IC này gọi là vi điều khiển vì chúng bao gồm cả ROM, RAM, timer, các cổng nối tiếp và song song Đây là đặc điểm chính để ta phân biệt giữa vi điều khiển và vi xử lý 8051 không được sử dụng trong máy tính nhưng được sử dụng rộng rãi trong công nghiệp và trong sản phẩm máy móc tiêu dùng Cùng họ với 8051 có một số vi điều khiển khác Về cơ bản chúng... nội EA cũng chính là chân nhận điện áp mức cao để nạp EPROM nội ALE (cho phép chốt địa chỉ) ALE là tín hiệu được xuất ra ở chân 20, rất quen thuộc với những ai đã từng làm việc với vi xử lý 8085, 8086 của Intel 8051dùng ALE để phân kênh cho bus địa chỉ và bus dữ liệu Khi port 0 được dùng làm bus dữ liệu và byte thấp của bus địa chỉ – ALE là tín hiệu dùngđể chốt địa chỉ vào thanh ghi chốt bên ngoài... Vùng nhớ 32 bytes bên dưới cũng có thể được dùng như vùng này mặc dù nó được dùng cho mục đích khác Bất kỳ vị trí nào trong vùng này đều có thể truy xuất tự do bằng địa chỉ trực tiếp hoặc gián tiếp Ví dụ để đọc nội dung byte nhớ nội của địa chỉ 5FH vào thanh ghi ACC, ta dùng lệnh sau: MOV A, 5FH ; Lệnh này chuyển một byte dữ liệu sử dụng địa chỉ trực tiếp để xác định địa chỉ nguồn (5FH) RAM nội cũng... thấp có giá trị từ 0AH đến 0FH Khi cộng số BCD, sau phép cộng phải dùng lệnh DA A (decimal adjust accumulator) để chỉnh kết quả cộng về dạng BCD * Cờ 0: Cờ này dành cho người sử dụng trong các ứng dụng lập trình * Bit chọn ngăn thanh ghi: Hai bit RS0 và RS1 dùngđể cho ngăn thanh ghi, chúng được xóa khi reset hệ thống và có thể thay đổi bằng phần mềm Ví dụ các lệnh sau sẽ chọn nhăn thanh ghi thứ ba... rất khó để có thể tạo ra một cách chính xác Mặt khác CPU cũng sẽ bị bận trong suốt quá trình xuất dữ liệu 2 – Cài đặt một ngắt ngoại vi: Phương pháp này sử dụng xung Start để mạch lấy mẫu ADC để kích hoạt một chương trình phục vụ ngắt, chương trình phục vụ này sẽ làm nhiệm vụ xuất một Byte dữ liệu ra cổng Xung Start ở được lợi dụngđể tạo ra một tần số kích ngắt bằng tần số lấy mẫu 3 – Sử dụng ngắt... (XTAL1) và 18 (XTAL2) Có thể mắc thêm tụ để ổn định dao động Thạch anh 12 MHz thường dùng cho họ MCs-51, trừ IC 80C31BH có thể dùng thạch anh lên đến 16 MHz Tuy nhiên, không nhất thiết phải dùng thạch anh mà ta có thể dùng mạch dao động TTL tạo xung Clock đưa vào chân XTAL1 và lấy đảo của nó đưa vào XTAL2 RST (Reset) Ngõ vào RST (chân 19) là chân master reset của 8051 Khi nó ở mức cao (trong khoảng ít... mục đích, nó là các chân từ 32 đến 39 Trong những thiết kế nhỏ nó được dùng trong cổng xuất nhập bình thường Ở những thiết kế có sử dụng bộ nhớ ngoài, nó vừa là bus dữ liệu vừa là byte thấp của bus địc chỉ Nó còn dùng chứa bytes mã khi nạp ROM nội Port 1 Port 1 dành cho cổng xuất nhập và chỉ dành cho mục đích này mà thôi Nó dùngđể giao tiếp với các thiết bị ngoại vi theo từng bit hoặc byte Port 1... vùng bộ nhớ thực sự chưa sử dụng Bên cạnh việc sử dụng tối đa bộ nhớ, ta có dùng phần cứng giải mã địa chỉ từ tối thiểu đến tối đa để không lãng phí không gian trong bộ nhớ 2 – Input / Output Mapped Tranfers (Truyền theo bản đồ I/O): Một vài hệ thống tạo ra vùng I/O có địa chỉ rất riêng biệt, mà ở đó địa chỉ có thể giống địa chỉ bộ nhớ, có thể phân biệt chúng với nhau bằng cách dùng tín hiệu điều khiển... có thể có thể thay đổi được bằng cách lập trình cho bộ định thì 8253 Lợi dụng ngắt có sẵn này, ta có cài thêm một chương trình phục vụ ngắt của máy rồi lập trình cho bộ 8253 để tạo ra một tần số kích ngắt theo mong muốn Chương II GIAO TIẾP NGOẠI VI 8255A PPI 8255A (PROGRAMABLE PARALLEL INTERFACE) I – TỔNG QUÁT: 1 – Bộ đệm truyền dữ liệu: Bộ đệm 8 Bits, 2 chiều, 3 trạng thái dùngđể giao tiếp 8255 với .
Sử dụng vi xử lý
Sử dụng vi điều khiển
Với đề tài này em sử dụng vi điều khiển để thực hiện việc chuyển đổi A/D và
D/A
Mục đích: Chuyển đổi tín. những lý do để em thực hiện đề tài này.
II – MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI
Có rất nhiều phương pháp để thực thi việc chuyển đổi A/D và D/A
Sử dụng vi mạch