I. GIỚI THIỆU
Chuyển đổi số sang tương tự là tiến trình lấy một giá trị được biểu diễn dưới dạng mã số ( digital code ) và chuyển đổi nó thành mức điện thế hoặc dòng điện tỉ lệ với giá trị số.
Sơ đồ khối của một bộ chuyển đổi DAC.
1. Độ phân giải
Độ phân giải (resolution) của bộ biến đổi DAC được định nghĩa là thay đổi nhỏ nhất có thể xảy ra ở đầu ra tương tự bởi kết qua của một thay đổi ở đầu vào số.
- Độ phân giải của DAC phụ thuộc vào số bit, do đó các nhà chế tạo thường ấn định độ phân giải của DAC ở dạng số bit. DAC 10 bit có độ phân giải tinh hơn DAC 8 bit. DAC có càng nhiều bit thì độ phân giải càng tinh hơn.
- Độ phân giải luôn bằng trọng số của LSB. Còn gọi là kích thước bậc thang (step size), vì đó là khoảng thay đổi của Vout khi giá trị của đầu vào số thay đổi từ bước này sang bước khác.
- Với DAC có N bit thì tổng số mức khác nhau sẽ là 2N, và tổng số bậc sẽ là 2N – 1.
Do đó độ phân giải bằng với hệ số tỷ lệ trong mối quan hệ giữa đầu vào và đầu ra của DAC.
- Đầu ra tương tự = K x (đầu vào số)
- Với K là mức điện thế (hoặc cường độ dòng điện) ở mỗi bậc.
Như vậy ta có công thức tính độ phân giải như sau:
- Độ phân giải
Với là đầu ra cực đại ( đầy thang )
N là số bit
- Nếu tính theo phần trăm ta có công thức như sau:
Ví dụ như hình 5.1 ta có
Ví dụ 1: Một ADC 10 bit có kích thước bậc thang = 10mV. Hãy xác định điện thế đầu ra cực đại ( đầy thang ) và tỷ lệ % độ phân giải.
Giải:
DAC có 10 bit nên ta có
Số bậc là 210 – 1 = 1023 bậc
Với mỗi bậc là 10mV nên đầu ra cực đại sẽ là 10mVx1023 = 10.23V
Từ ví dụ trên cho thấy tỷ lệ phần trăm độ phân giải giảm đi khi số bit đầu vào tăng lên. Do đó ta còn tính được % độ phân giải theo công thức:
Với mã đầu vào nhị phân N bit ta có tổng số bậc là 2N – 1 bậc.
1.2 ĐỘ CHÍNH XÁC
Có nhiều cách đánh giá độ chính xác. Hai cách thông dụng nhất là sai số toàn thang (full scale error) và sai số tuyến tính (linearity error) thường được biểu biến ở dạng phần trăm đầu ra cực đại (đầy thang) của bộ chuyển đổi.
Sai số toàn thang là khoảng lệch tối đa ở đầu ra DAC so với giá trị dự kiến (lý tưởng), được biểu diễn ở dạng phần trăm.
Sai số tuyến tính là khoảng lệch tối đa ở kích thước bậc thang so với kích thước bậc thang lý tưởng.
Điều quan trọng của một DAC là độ chính xác và độ phân giải phải tương thích với nhau.
1.3 SAI SỐ LỆCH
Theo lý tưởng thì đầu ra của DAC sẽ là 0V khi tất cả đầu vào nhị phân toàn là bit 0. Tuy nhiên trên thực tế thì mức điện thế ra cho trường hợp này sẽ rất nhỏ, gọi là sai số lệch ( offset error). Sai số này nếu không điều chỉnh thì sẽ được cộng vào đầu ra DAC dự kiến trong tất cả các trường hợp.
Nhiều DAC có tính năng điều chỉnh sai số lệch ở bên ngoài, sẽ cho phép chúng ta triệt tiêu độ lệch này bằng cách áp mọi bit 0 ở đầu vào DAC và theo dõi đầu ra. Khi đó ta điều chỉnh chiết áp điều chỉnh độ lệch cho đến khi nào đầu ra bằng 0V.
1.4 THỜI GIAN ỔN ĐỊNH
Thời gian ổn định ( settling time ) là thời gian cần thiết để đầu ra DAC đi từ zero đến bậc thang cao nhất khi đầu vào nhị phân biến thiên từ chuỗi bit toàn 0 đến chuỗi bit toàn là 1. Thực tế thời gian ổn định là thời gian để đầu vào DAC ổn định trong phạm vi ±1/2 kích thước bậc thang (độ phân giải) của giá trị cuối cùng.
Ví dụ: Một DAC có độ phân giải 10mV thì thời gian ổn định được đo là thời gian đầu ra cần có để ổn định trong phạm vi 5mV của giá trị đầy thang.
Thời gian ổn định có giá trị biến thiên trong khoảng 50ns đến 10ns. DAC với đầu ra dòng có thời gian ổn định ngắn hơn thời gian ổn định của DAC có đầu ra điện thế.
1.5 TRẠNG THÁI ĐƠN ĐIỆU
DAC có tính chất đơn điệu ( monotonic) nếu đầu ra của nó tăng khi đầu vào nhị phân tăng dần từ giá trị này lên giá trị kế tiếp. Nói cách khác là đầu ra bậc thang sẽ không có bậc đi xuống khi đầu vào nhị phân tăng dần từ 0 đến đầy thang.
Tỉ số phụ thuộc dòng:
DAC chất lượng cao yêu cầu sự ảnh hưởng của biến thiên điện áp nguồn đối với điện áp đầu ra vô cùng nhỏ. Tỉ số phụ thuộc nguồn là tỉ số biến thiên mức điện áp đầu ra với biến thiên điện áp nguồn gây ra nó.
Ngoài các thông số trên chúng ta cần phải quan tâm đến các thông số khác của một DAC khi sử dụng như: các mức logic cao, thấp, điện trở, điện dung, của đầu vào, dải rộng, điện trở, điện dung của đầu ra; hệ số nhiệt, …
II. Các mạch DAC
2.1 DAC R/2R ladder
Hôm nay mình xin giới thiệu đến các bạn về ADC R/2R:
Vi điều khiển 8051 của chúng ta chỉ xuất ra hai mức 0 hoặc 1. Tương ứng mức 0 xấp xỉ 0v, mức 1 xấp xỉ 5v. nếu như chúng ta gặp một bài toán yêu cầu xuất ra mức điện áp 2,5v thì ta có thể dùng ADC. ADC là một linh kiện giúp chúng ta biến đổi mã nhị phân chúng ta xuất ra ở chân vi điều khiển thành một điện áp ở ngõ ra. Có nhiều mạch ADC khác nhau nhưng hôm nay chúng ta khảo sát mạch R,2R.
Các bạn vẽ mạch như trong hình. Các mức logicstaste do chúng ta tạo ra tỷ lệ thuận với giá trị điện áp mà chúng ta muốn tạo ra. Các bít tương ứng theo chiều từ phải sang trái tương ứng theo thứ tự các bít từ cao đến thấp.
Ta có công thức để tính điện áp đầu ra như sau:
- Số bít ADC n=8.
- Vout
Trong đó:
- 5/256 chính là độ phân giải của DAC, Din là giá trị nhị phân của ngõ vào.
Ví dụ như chúng ta xuất ra giá trị nhị phân 00000001 tương ứng với giá trị thập phân là 128. Các bạn chú ý ở đây mình viết bít cao từ phải sang trái. Áp dụng công thức tính điện áp ra ta được:
- Vout = (5 x 128)/256 =2,5 (v);
Chúng ta có thể ứng dụng viết một chương trình cho vi điều khiển 8051 để điều chỉnh điện áp ra để làm cho một đèn led sáng dần lên hoặc tắt dần đi. ở đây tiện thì mình lấy ví dụ cho các bạn thôi chứ nếu muốn làm đèn sáng dần hay tắt dần ta có thể dùng pwm để tiết kiệm số chân của vi điều khiển. các bạn vẽ mô phỏng như hình :
Đây là code các bạn tạo một project để thử nghiệm nhớ:
#include <REGX52.H> void delay(unsigned int var) { unsigned int i, j; for (i = 0; i < var; i++) { for (j = 0; j < 123; j++); } } int main() { P2 = 0; while (1) { while (P2 != 255) { P2++; delay(18); } while (P2 != 0) { P2–; delay(18); } } }
2.2 DAC dùng điện trở có trọng số nhị phân và bộ khuếch đại cộng.
Hình 5.3 là sơ đồ mạch của một mạch DAC 4 bit dùng điện trở và bộ khuếch đại đảo. Bốn đầu vào A, B, C, D có giá trị giả định lần lượt là 0V và 5V.
Bộ khuếch đại thuật toán (Operational Amplifier – Op Amp) được dùng làm bộ cộng đảo cho tổng trọng số của bốn mức điện thế vào. Ta thấy các điện trở đầu vào giảm dần 1/2 lần điện trở trước nó. Nghĩa là đầu vào D (MSB) có RIN = 1k, vì vậy bộ khuếch đại cộng chuyển ngay mức điện thế tại D đi mà không làm suy giảm (vì Rf = 1k). Đầu vào C có R = 2k, suy giảm đi 1/2, tương tự đầu vào B suy giảm 1/4 và đầu vào A giảm 1/8. Do đó đầu ra bộ khuếch đại được tính bởi biểu thức:
dấu âm (-) biểu thị bộ khuếch đại cộng ở đây là khuếch đại cộng đảo. Dấu âm này chúng ta không cần quan tâm.
Như vậy ngõ ra của bộ khuếch đại cộng là mức điện thế tương tự, biểu thị tổng trọng số của các đầu vào. Dựa vào biểu thức (4) ta tính được các mức điện áp ra tương ứng với các tổ hợp của các ngõ vào (bảng 5.1).
Bảng 5.1 Đầu ra ứng với điều kiện các đầu vào thích hợp ở 0V hoặc 5V.
Độ phân giải của mạch DAC hình 5.2 bằng với trọng số của LSB, nghĩa là bằng x 5V = 0.625V. Nhìn vào bảng 5.1 ta thấy đầu ra tương tự tăng 0.625V khi số nhị phân ở đầu vào tăng lên một bậc.
Ví dụ 2:
- Xác định trọng số của mỗi bit đầu vào ở hình 5.2
- Thay đổi Rf thành 500W.Xác định đầu ra cực đại đầy thang.
Giải:
- MSB chuyển đi với mức khuếch đại = 1 nên trọng số của nó ở đầu ra là 5V. Tương tự như vậy ta tính được các trọng số của các bit đầu vào như sau:
- MSB # 5V
- MSB thứ 2 # 2.5V (giảm đi 1/2)
- MSB thứ 3 # 1.25V (giảm đi 1/4)
- MSB thứ 4 (LSB) # 0.625V (giảm đi 1/8)
- Nếu Rf= 500W giảm theo thừa số 2, nên mỗi trọng số đầu vào sẽ nhỏ hơn 2 lần so với giá trị tính ở trên. Do đó đầu ra cực đại ( đầy thang) sẽ giảm theo cùng thừa số, còn lại: -9.375/2 = -4.6875V
2.3 DAC với đầu ra dòng
Trong các thiết bị kỹ thuật số đôi lúc cũng đòi hỏi quá trình điều khiển bằng dòng điện. Do đó người ta đã tạo ra các DAC với ngõ ra dòng để đáp ứng yêu cầu đó. Hình 5.5 là một DAC với ngõ ra dòng tương tự tỷ lệ với đầu vào nhị phân. Mạch DAC này 4 bit, có 4 đường dẫn dòng song song mỗi đường có một chuyển mạch điều khiển. Trạng thái của mỗi chuyển mạch bị chi phối bởi mức logic đầu vào nhị phân.
Dòng chảy qua mỗi đường là do mức điện thế quy chiếu VREF và giá trị điện trở trong đường dẫn quyết định. Giá trị điện trở có trọng số theo cơ số 2, nên cường độ dòng điện cũng có trọng số theo hệ số 2 và tổng cường độ dòng điện ra IOUT sẽ là tổng các dòng của các nhánh.
DAC với đầu dòng ra có thể chuyển thành DAC có đầu ra điện thế bằng cách dùng bộ khuếch đại thuật toán (Op-Amp) như hình 5.6.
Ở hình trên IOUT ra từ DAC phải nối đến đầu vào “ – ” của bộ khuếch đại thuật toán. Hồi tiếp âm của bộ khuếch đại thuật toán buộc dòng IOUT phải chạy qua RF và tạo điện áp ngõ ra VOUT và được tính theo công thức:
Do đó VOUT sẽ là mức điện thế tương tự, tỷ lệ với đầu vào nhị phân của DAC.
2.4 DAC điện trở hình T
Hình 5.7 là sơ đồ DAC điện trở hình T 4 bit. Trong sơ đồ có hai loại điện trở là R và 2R được mắc thành 4 cực hình T nối dây chuyền. Các S3, S2, S1, S0 là các chuyển mạch điện tử. Mạch DAC này dùng bộ khuếch đại thuật toán (Op-Amp) khuếch đại đảo. VREF là điện áp chuẩn làm tham khảo. B3, B2, B1, B0 là mã nhị phân 4 bit. Vo là điện áp tương tự ngõ ra. Ta thấy các chuyển mạch chịu sự điểu khiển của số nhị phân tương ứng với các công tắc: khi Bi = 1 thì công tắc Si đóng vào VREF, kho Bi = 0 thì Si nối đất.
Nguyên lý làm việc của DAC này cũng đơn giản. Người đọc có thể giải thích được hoạt động của mạch dựa trên hình vẽ và những kiến thức đã học. Chúng ta chỉ cần cho lần lượt các bit Bi bằng logic 1 và 0 ta sẽ tính được VOUT sau đó dùng nguyên xếp chồng ta sẽ tính được điện áp ra:
Biểu thức (7) chứng tỏ rằng biên độ điện áp tương tự đầu ra tỉ lệ thuận với giá trị tín hiệu số đầu vào. Chúng ta có thể thấy rằng đối với DAC điện trở hình T N bit thì điện áp tương tự đầu ra VOUT sẽ là:
Sai Số Chuyển Đổi
Đối với mạch DAC điện trở hình T thì sai số chuyển đổi do các nguyên nhân sau:
K Sai lệch điện áp chuẩn tham chiếu VREF .
Từ công thức (8) ta có thể tính sai số chuyển đổi DA do riêng sai số lệch điện áp chuẩn tham chiếu VREF gây ra như sau:
Biểu thức trên cho thấy sai số của điện áp tương tự DVOUT tỉ lệ với sai lệch DVREF và tỉ lệ thuận với giá trị tín hiệu số đầu vào.
K Sự trôi điểm 0 của khuếch đại thuật toán.
Sự trôi điểm 0 của bộ khuếch đại thuật toán ảnh hưởng như nhau đối với mọi giá trị tín hiệu số được biến đổi. Sai số DVOUT do trôi điểm 0 không phụ thuộc giá trị tín hiệu số.
K Điện áp rơi trên điện trở tiếp xúc của tiếp điểm chuyển mạch.
Các chuyển mạch không phải là lý tưởng, thực tế điện áp rơi khi nối thông của mạch điện chuyển mạch không thể tuyệt đối bằng 0. Vậy điện áp rơi này đóng vai trò tín hiệu sai số đưa đến đầu vào mạng điện trở hình T.
K Sai số của điện trở .
Sai số điện trở cũng gây ra sai số phi tuyến. Sai số của các điện trở không như nhau, tác động gây sai số chuyển đổi DA của những điện trở khác nhau về vị trí là khác nhau.
Tốc độ chuyển đổi:
DAC điện trở hình T công tác song song (các bit tín hiệu số đầu vào được đưa vào song song) nên có tốc độ chuyển đổi cao. Thời gian cần thiết cho một lần chuyển đổi gồm hai gai đoạn: thời gian trể truyền đạt của bit tín hiệu vào xa nhất đến bộ khuếch đại thuật toán và thời gian cần thiết để bộ khuếch đại thuật toán ổn định tín hiệu ra.