Bai giang vi xu ly ADC

Chia sẻ bởi Phạm Minh Tân | Ngày 19/03/2024 | 15

Chia sẻ tài liệu: bai giang vi xu ly ADC thuộc Công nghệ thông tin

Nội dung tài liệu:

Trọng tâm nghiên cứu
- 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, nhưng 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 như cá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 nhưng 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 như là 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 nhưng không thể nhanh hơn 110?s. Các chân của ADC 804 được mô tả như sau
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) - D?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 như cho 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ở như hì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 như châ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.

Các chân dữ liệu D0 - D7 (D7 là bít cao nhất MSB và D0 là bít thấp nhất LSB) là các chân đầu ra dữ liệu số. Đây là những chân được đệm ba trạng thái và dữ liệu được chuyển đổi chỉ được truy cập khi chân CS = 0 và chân bị đưa xuống thấp. Để tính điện áp đầu ra ta có thể sử dụng công thức sau:


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 như là (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

Ví dụ : Viết chương trình kiểm tra chân INTR và chuyển 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
Chuyển đổi dữ liệu từ tương tự sang số
Chuyển đổi từ số nhị phân sang thập phân
Hiển thị trên Led 7 thanh
END
Thuật toán khi ADC 804 chuyển đổi dữ liệu
Bật CS = 0
Gửi 1 xung thấp lên xung cao chân WR
Kiem tra chân INTR = 0

Bật CS= 0

Gửi 1 xung cao xuống xung đến chân RD
Đưa dữ liệu đã convert đến 8051
Sai, thì kiểm tra tiếp
Đúng, khi việc convert đã hoàn tất
CONVERT_ADC:
CLR CS
NOP
CLR WR
NOP
NOP
SETB WR
SETB CS
HIGHT_INTR:
JB INTR,HIGHT_INTR
NOP
NOP
LOW_INTR:
CLR CS
NOP
SETB RD
NOP
NOP
CLR RD
MOV DATA_ADC,P0
NOP
RET
Thuật toán chuyển đổi dữ liệu từ ADC về hệ thập phân
Dữ liệu của ADC đã chuyển đổi
Chia cho 100
Phần dư gán vào tiếp số bị chia

Phần nguyên gán
vào 1 địa chỉ

Chia cho 10

Phần nguyên gán
vào 1 địa chỉ

Phần dư gán vào 1 địa chỉ
Số hàng trăm,kí hiệu LED1
Số hàng chục,kí hiệu LED 2
Số hàng đơn vị, kí hiệu LED 3

CONVERT_DATA_ADC:
MOV A,DATA_ADC
MOV B,#100
DIV AB
MOV LED1,A
MOV A,B
MOV B,#10
DIV AB
MOV LED2,A
MOV LED3,B
RET
Code chương trình
Thuật toán đưa giá trị hiển thị ra LED
Gán gía trị cho con trỏ DPTR
Chuyển giá trị địa chỉ LED 1 vào thanh ghi A
MOVC A,@A+DPTR
Đưa giá trị A hiển thị led 7 thanh
Tại địa chỉ con trỏ DPTR
Đưa nội dung vào các địa chỉ trong ROM


DISPLAY:
MOV DPTR,#TAB
MOV A,LED1
MOVC A,@A+DPTR
MOV P1,A

MOV A,LED2
MOVC A,@A+DPTR
MOV P1,A

MOV A,LED3
MOVC A,@A+DPTR
MOV P1,A
RET
TAB:
DB 00000011B,10011111B,00100101B, 00001111B,10011001B
DB 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 như DAC808 chẳng hạn có 256 mức đầu ra điện áp (dòng điện) rời rạc. Tương tự như vậ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 như sau:

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
Vout = 5v + (5v x sin ) = 5v + 5 x 0,5 = 7,5 v
DAC = 7,5v x 25,6 = 192
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
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
Xoá thanh ghi A
MOVC A,@A+DPTR
A mang thông số điện áp , góc
ứng với giá trị đó được gửi tới DAC
Tại địa chỉ con trỏ DPTR
Đưa nội dung vào các địa chỉ thứ tự trong ROM
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Phạm Minh Tân
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)