LUẬN VĂN:ỨNG DỤNG KIT 8051 DÙNG ĐỂ CHUYỂN ĐỔI A/D & D/A - Pdf 12

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:
:
5
5
1
1D
D
Ù
Ù
N
N
G

Đ

ỂC
C
H
H
U
U
Y
Y

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

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

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:

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
DAC3 – 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)

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



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


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 Định thời Đếm Digital output

Hình 2.13 Sơ đồ khối bộ biến đổi AD dạng VF

Hình trên cho thấy kỹ thuật này trong bộ biến đổi AD. Áp vào Analog được
một bộ VF chính xác biến thành một dãy xung có tần số tỉ lệ với áp vào. Một bộ đếm
sẽ đếm số xung này trong một khoãng thời gian nhất định rồi xuất số đếm cho bộ AD.
Giống kỹ thuật tích phân độ dốc kép, kỹ thuật này có tần số thấp nhưng khử nhiễu tốt.
Nếu thời gian Tc thấp ở mức có thể chấp nhận được thì phương pháp VF cho phép đạt

sánh được tới đầu ra.
ADC dùng phương pháp này có tần số lấy nẫu phụ thuộc vào tốc độ (thời gian
trễ) của các bộ so sánh. Thông thuờng vi mạch so sánh có thời gian trễ trong khoảng
10-12ns, vì vậy trên lý thuyết, tần số lấy mẫu của ADC có độ phân giải 8 Bits cần tới 2
8
– 1=255 bộ so sánh, do vậy kích thước vi mạch sẽ rất lớn.

Encode
r
III – GIAO TIẾP PHẦN MỀM:
Dữ liệu truyền giữa ADC và vi xử lý có thể tổ chức trong phần mềm theo 3
cách:
1 – Memory – Mapped – Transfers (Truyền theo bản đồ nhớ):
Trong bản đồ bộ nhớ, ADC được chỉ định trong một 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 biệt IOR, IOW trên hệ thống Bus của IBM – PC. Sự phân biệt giữa I/O và 2
vùng bộ nhớ làm cho thiết kế hệ thống trở nên tốt hơn. Nó cho phép giải mã địa chỉ sử
dụng phần cứng là tối thiểu, giải mã từ vùng IO đơn giản và tốt hơn bộ nhớ có giá trị
chưa sử dụng.
3 – DMA (Direct Memory Access : truy mất trực tiếp bộ nhớ):
Khi chỉ có truyền dữ liệu đơn giản giữa bộ nhớ và ngoại vi được dùng tích lũy
trong quá trình chuyền làm chậm quá trình một cách không cần thiết.
Bằng việc sử dụng kết hợp trong phần cứng trong dạng thiết bị phục vụ gọi là

nhiên và xuất ra ở ngõ ra một điện áp dạng tương tự có giá trị tỉ lệ với giá trị ngõ vào.
I – TỔNG QUÁT:
1 – Quan hệ vào ra:

Vref
V
0
(I
0
)
DAC
Digital input

Hình 2.15 Quan hệ vào ra bộ DAC

Biến đổi DA có tính chất tỉ lệ. Tín hiệu vào Digital N được biến đổi thành một
điện áp (hoặc dòng điện) có giá trị Q (phụ thuộc vào tín hiệu tham chiếu Vref) bằng
cách so sánh giá trị ở đầu vào với giá trị đầy thang của đầu vào. Bất kỳ một sai số tín
hiệu Vref nào cũng sẽ dẫn tới sai số mức ra, vì vậy người ta cố gắng cho Vref càng ổn
định càng tốt.
Thông thường, ở các bộ biến đổi DAC thương mại, ngõ ra sẽ xuất hiện dòng
điện, vì vậy ta phải mắc thêm một biến đổi dòng thành áp có thể nhận được điện áp ra.
2 – Đầu vào bộ DAC:
Đa số các bộ DAC có đầu vào 8 Bits, 10 Bits, 12 Bits, 16 Bits … Đầu vào các
bộ DAC thường là các mã nhị phân tự nhiên hoặc có dấu. Nếu mã đầu vào đầu vào có
dấu thì tín hiệu tham chiếu Vref phải là tín hiệu lưỡng cực.
Bộ DAC sẽ liên tục biến đổi số ở ngõ vào thành giá trị tương tự ở ngõ ra, thời
gian cho một lần biến đổi như vậy tùy theo bộ DAC. Vì vậy để đảm bảo chính xác,
người ta mắc thêm ở ngõ vào bộ DAC một mạch chốt dữ liệu để tránh hiện tượng bộ
DAC xuất ra tín hiệu không xác định trong khoảng thời gian tự do giữa hai lần cập

I
I
A
A
O
OT
T
I
I


P
PN
N
G
G
O
O


I
I
PA0-DA7

I/O
PC4-PC7

I/O

PC0-PO3
I/O
PB0-PB7 Hình 3.1 Cấu trúc khối của 8255

2 – Phần kiểm soát đọc ghi:
Chức năng của khối này là kiểm soát tất cả các sự truyền đạt bên trong và bên
ngoài của từ điều khiển và dữ kiện. Nó nhận ngõ vào từ tuyến địa chỉ và sự điều khiển
của CPU, phát ra các lệnh cần thiết cho cả hai nhóm A và B.
CS: ngõ vào = 0 cho phép truyền tin giữa 8255 và CPU.
RD: = 0 cho phép 8255 gởi dữ kiện đến CPU trên tuyến dữ kiện chủ yếu là cho
phép CPU đọc dữ kiện từ 8255.
WR=0 – CPU từ điều khiển hay dữ kiện ra 8255. A0 A1 Chọn cửa
0 0 Cửa A
0 1 Cửa B
1 0 Cửa C
Đệ
m

p

Nhóm B

C

a B

Ki

m

soát
đọc
ghi

Đ
i

u khi

n

nhóm B

1 1 Cửa điều khiển
RESET: =1 xóa các thanh ghi bên trong gồm thanh ghi điều khiển và các cửa A,
B, C ở mode nhận.
3 – Điều khiển nhóm A và B:
Cấu hình hoạt động của mỗi nhóm được lập trình bởi phần mềm, chủ yếu là

Nhóm B 1:in
Mode set flag Cửa C(phần thấp) 0: out
1-active Cửa B 1:in
0:out
Chọn chế độ 0:mode 0
1: mode 1
NhómA
Cửa C 1:in
(phần cao) 0:out
Cửa A 1: in
0: out
00: mode 0
Chọn mode 01: mode 1
1X: mode 2
Hình 3.2

Khi chọn mode cho port A, các bit D3, D4, D5 không còn ý nghĩa nữa. Lúc đó
cửa A là hai chiều, còn phần cao cửa C sẽ làm tín hiệu điều khiển và trạng thái cho cửa
A. (Bitset và reset flag), phần còn lại của điều khiển có ý nghĩa như sau:

D7 D6 D5 D4 D3 D2 D1 D0
x x x Bit set / Reset
0: Reset
1:set
Bit select
Bit set / Reset fleg
0 - active 01010101
00110011
00001111
01234567

nhập
Nói cách khác, mức thấp của STB sẽ thiết lập IBF = 1, và IBF bị xóa bởi cạnh
lên RD.
* INTR (Interput Request): ngõ ra = 1 để yêu cầu ngắt khoảng CPU, INTR
được set bởi STB = 1 và IBF = 1, INTR = 1.
INTR bị reset bởi cạnh xuống RD
INTR A kiểm soát bởi bit set / reset PC 4
INTR B kiểm soát bởi bit set / reset PC 2 Hình 3.4

Định nghĩa tín hiệu điều khiển phần xuất:
 OBF (Output Buffer Full FF)
Ngã ra xuống 0 để báo là CPU đã ghi thông tin ra cửa xác định. OBF FF được set
bởi cạnh lên của xung WR từ CPU và bị reset bởi ACK = 0 do ngoại vi (tức là ở
mức không tích cực).
*ACK (Acknowledge Input)
Mức thông báo cho 8255 biết thông tin từ cửa A hay B đã nhận bởi ngoại vi.
*INTR (Interput Request)
Mức 1 ở ngõ ra dùng để yêu cầu ngắt quãng CPU khi ngoại vi đã nhận dữ kiện phát
bởi CPU.
INTR set bởi ACK = 1, OBF = 1 và INTE = 1
INTR bị xóa bởi cạnh xuống xung WR
INTE A kiểm soát bởi bit set / reset PC 6
INTE B kiểm xoát bởi bit set / reset PC

Hình 3.5
Các kết hợp của mode 1:
Cửa A : vào, B : ra từ điều khiển

kiện, bộ đệm ra ở 3 trạng thái.
INTE 1 (INTE FF liên quan với OBF)
Kiểm soát bởi bit set / reset PC 6
* Phép nhập:
STB: Mức thấp ở ngõ vào này cài data vào mạch cài ngõ nhập.
IBF: (Input Buffer Full FF) output
Mức 1 thông báo cho CPU biết dữ kiện đã nhập vào mạch cài nhập
INTE 2 (liên quan với IBF)
Kiểm soát bởi bit set/reset PC 4

Hình 3.7

Kết hợp mode 2 và các mode khác:
Mode 2 và mode 0 (in) : từ điều khiển : 11 XXX 01 1/0
Mode 2 và mode 1 (out) : từ điều khiển : 11 XXX 01 1/0
Mode 2 và mode 1 (in) : từ điều khiển : 11 XXX 00 X
Mode 2 và mode 0 (in) : từ điều khiển : 11 XXX 10 X
Sự kết hợp các mode đặc biệt:
Có một số tổ hợp các mode mà không phải tất cả cửa C đều dùng làm điều khiển
hay trạng thái, các bit còn lại được dùng như sau:
Nếu lập trình là ngõ vào:
Các bit ở phần cao cửa C (C4-C7) phải được truy xuất riêng rẽ dùng chức năng
bit set / reset.
Các bit ở phần thấp cửa C (C0-C3) có thể truy xuất dùng chức năng bit set/reset
thay truy xuất như nhóm 3 bằng cách ghi ra cửa C.
4 – Đọc trạng thái cửa C:
Ở mode o, cửa C truyền dữ kiện đến hay từ ngoại vi 8255 được lập trình ở
mode 1 hay 2, cửa C trở nên các tính điều khiển bắt tay cho cửa A và C.
Đọc nội dung cửa C cho phép người lập trình kiểm tra trạng thái của mỗi thiết
bị ngoại vi thay chiều chương trình tương ứng.

A

INTE
A
I/O

I/O

INTR
A
IOB1
B
OBI
B
INTR
B NHÓM A NHÓM B
MODE 1 (Output) OBF
A

INTE IBF
A
INTE
2
INTR


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status