Home Kỹ thuật số ADC và DAC Bộ chuyển đổi tương tự sang số ADC

Bộ chuyển đổi tương tự sang số ADC

0
Bộ chuyển đổi tương tự sang số ADC

Bộ chuyển đổi tương tự sang số ADC (Analog to Digital Converter) cho phép các mạch điều khiển dùng vi xử lý, Arduino, Raspberry Pi và các mạch logic số khác giao tiếp với thế giới thực. Trong thế giới thực, các tín hiệu tương tự có giá trị thay đổi liên tục đến từ nhiều nguồn và cảm biến khác nhau mà có thể đo âm thanh, cường độ ánh sáng, nhiệt độ hoặc chuyển động và nhiều hệ thống số tương tác với môi trường xung quanh bằng cách đo các tín hiệu tương tự từ các bộ chuyển đổi (transducer).

Trong khi các tín hiệu tương tự thay đổi liên tục và có thể có vô số các giá trị điện áp khác nhau, mặt khác, các mạch số hoạt động với tín hiệu nhị phân chỉ có hai trạng thái rời rạc, logic “1” (mức CAO) hoặc logic “0” (mức THẤP). Vì vậy, cần phải có một mạch điện tử có thể chuyển đổi giữa hai miền khác nhau của tín hiệu tương tự thay đổi liên tục và tín hiệu kỹ thuật số rời rạc, và đây là lý do bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ra đời.

Hình 1: Bộ chuyển đổi tương tự sang số

Về cơ bản, một bộ chuyển đổi tương tự sang số chụp nhanh một điện áp tương tự tại một thời điểm và tạo ra một mã số nhị phân tại đầu ra đại diện cho điện áp tương tự này. Số lượng số nhị phân hoặc bit được sử dụng để biểu diễn giá trị điện áp tương tự này phụ thuộc vào độ phân giải của bộ chuyển đổi A/D.

Độ phân giải (resolution) của một bộ ADC biểu thị bằng số bit của tín hiệu số ở đầu ra. Số lượng bit nhiều sai số lượng tử càng nhỏ, độ chính xác càng cao.

Ví dụ, một bộ ADC 4 bit sẽ có độ phân giải một phần 15, (24 – 1) trong khi bộ ADC 8 bit sẽ có độ phân giải một phần 255, (28 – 1). Như vậy, một bộ chuyển đổi tín hiệu tương tự sang số lấy một tín hiệu tương tự liên tục chưa biết và chuyển nó thành một số nhị phân n bit với 2n giá trị khác nhau.

Tín hiệu tương tự và tín hiệu số

Hình 2: Tín hiệu tương tự và tín hiệu số

Ở hình 2, chúng ta có thể thấy rằng khi con chạy của chiết áp được thay đổi giữa 0V và VMAX, nó tạo ra một tín hiệu liên tục (hay điện áp) với vô số giá trị khác nhau ở đầu ra tương ứng với vị trí của con chạy. Khi con chạy của chiết áp được điều chỉnh từ vị trí này sang vị trí tiếp theo, không có sự thay đổi đột ngột hoặc từng bước giữa hai mức điện áp do đó tạo ra điện áp đầu ra thay đổi liên tục. Ví dụ về tín hiệu tương tự bao gồm nhiệt độ, áp suất, mức chất lỏng và cường độ ánh sáng.

Đối với một mạch số, con chạy của chiết áp được thay thế bằng một công tắc xoay vòng được nối lần lượt vào từng điểm nối của chuỗi điện trở nối tiếp, tạo thành một mạng phân chia điện thế cơ bản. Khi công tắc được xoay từ vị trí (hoặc nút) này sang vị trí tiếp theo, điện áp đầu ra Vout thay đổi nhanh chóng theo các bước điện áp một cách riêng biệt và rời rạc biểu diễn cho bội số của 1V mỗi khi công tắc chuyển vị trí như hình minh họa.

Vì vậy, điện áp ra sẽ là 2V, 3V, 5V, v.v. chứ không phải 2,5V, 3,1V hoặc 4,6V. Có thể dễ dàng tạo ra các mức điện áp ở đầu ra nhiều hơn bằng cách sử dụng công tắc nhiều vị trí và tăng số lượng phần tử điện trở trong mạch phân áp, do đó tăng số bước chuyển mạch rời rạc.

Vậy thì, chúng ta có thể thấy rằng sự khác biệt chính giữa tín hiệu tương tự và tín hiệu số là đại lượng “tương tự” thay đổi liên tục theo thời gian trong khi đại lượng “số” chỉ có 2 giá trị rời rạc đó là mức “THẤP” và mức “CAO” hay logic “0” và logic “1”.

Vậy, làm thế nào chúng ta có thể chuyển đổi một tín hiệu thay đổi liên tục với vô số giá trị thành một tín hiệu có các giá trị hoặc bước rời rạc để có thể sử dụng bởi một mạch số? Hãy tiếp tục đọc tiếp nội dung bên dưới để đi tìm câu trả lời các bạn nhé!

Bộ chuyển đổi tín hiệu tương tự sang số

Quá trình lấy tín hiệu điện áp tương tự và chuyển đổi thành tín hiệu số tương đương có thể được thực hiện bằng nhiều cách khác nhau, và mặc dù có nhiều IC chuyển đổi tương tự sang số như dòng ADC08xx từ các nhà sản xuất khác nhau, chúng ta cũng có thể xây dựng một mạch ADC đơn giản bằng cách sử dụng các linh kiện rời. Một cách đơn giản và dễ thực hiện là sử dụng mã hóa song song, hay còn được gọi là bộ chuyển đổi flash, đồng thời hoặc đa so sánh, trong đó bộ so sánh được sử dụng để phát hiện các mức điện áp khác nhau và xuất trạng thái chuyển đổi của chúng đến bộ mã hóa.

Bộ chuyển đổi A/D “Flash” song song sử dụng một loạt các bộ so sánh được kết nối một cách đều nhau và các điện áp tham chiếu được tạo ra bởi một mạch gồm các điện trở chính xác được mắc nối tiếp nhau để tạo một mã đầu ra tương đương với độ phân giải n-bit cụ thể. Ưu điểm của bộ chuyển đổi song song hoặc bộ chuyển đổi flash là chúng dễ chế tạo và không yêu cầu bất kỳ xung đồng hồ định thời nào vì ngay khi điện áp tương tự được đưa vào các đầu vào của bộ so sánh, nó được so sánh với điện áp tham chiếu. Hãy xem xét mạch so sánh bên dưới.

Mạch so sánh

Hình 3: Mạch so sánh dùng IC LM339N

Mạch so sánh tín hiệu tương tự sử dụng IC LM339N có hai ngõ vào tương tự, một ngõ vào dương và một ngõ vào âm. Mạch này có thể được sử dụng để so sánh độ lớn của hai mức điện áp khác nhau. Một tín hiệu điện áp ngõ vào (VIN) được đưa vào một ngõ vào của mạch so sánh, trong khi điện áp tham chiếu (VREF) cho vào ngõ vào kia. Hai mức điện áp ở 2 ngõ vào của mạch so sánh được so sánh để xác định trạng thái logic ở ngõ ra của mạch so sánh, là “1” hoặc “0”.

Điện áp tham chiếu VREF được so sánh với điện áp ngõ vào VIN. Nếu điện áp ngõ vào nhỏ hơn điện áp tham chiếu, (VIN <VREF) thì đầu ra sẽ là mức logic 0 và nếu lớn hơn điện áp tham chiếu, (VIN> VREF) thì đầu ra sẽ là mức logic 1. Như vậy, bộ so sánh này sẽ so sánh hai mức điện áp và xác định mức nào trong hai mức là lớn hơn.

Trong ví dụ đơn giản ở trên, VREF có được từ mạch phân áp tạo bởi R1 và R2. Nếu hai điện trở này có giá trị bằng nhau, tức là R1 = R2, thì rõ ràng điện áp tham chiếu sẽ bằng một nửa điện áp nguồn, hay V/2. Vì vậy, đối với bộ so sánh có đầu ra cực thu hở, nếu VIN nhỏ hơn V/2 thì đầu ra sẽ là mức CAO, và nếu VIN lớn hơn V/2 thì đầu ra có mức THẤP. Mạch lúc này hoạt động như một bộ ADC 1 bit.

Nhưng bằng cách thêm nhiều điện trở vào mạch phân áp, chúng ta có thể “chia” điện áp cung cấp thành nhiều giá trị điện áp khác nhau được xác định bởi giá trị của các điện trở. Tuy nhiên, chúng ta càng sử dụng nhiều điện trở trong mạch phân áp thì càng cần nhiều bộ so sánh.

Nói chung, (2n– 1) bộ so sánh sẽ được yêu cầu để chuyển đổi số nhị phân “n”-bit ở đầu ra, trong đó “n” thường nằm trong phạm vi từ 8 đến 16. Trong ví dụ ở trên, bộ ADC 1 bit sử dụng 1 (21– 1) bộ so sánh để xác định xem VIN lớn hơn hay nhỏ hơn điện áp chuẩn V/2.

Nếu bây giờ chúng ta thiết kế bộ ADC 2 bit, thì chúng ta sẽ cần 3 (22– 1) bộ so sánh vì chúng ta cần bốn mức điện áp khác nhau tương ứng với 4 giá trị số cần thiết cho mạch mã hóa 4 sang 2 như hình minh họa bên dưới.

Bộ chuyển đổi tương tự sang số 2 bit

Bộ chuyển đổi tương tự sang số 2 bit

Hình 4: Bộ chuyển đổi tương tự sang số 2 bit

Mạch này sẽ cung cấp cho chúng ta mã nhị phân 2 bit ở ngõ ra cho tất cả bốn giá trị tương tự có thể có ở đầu vào.

Ngõ ra bộ A/D 2-bit

Điện áp tương tự ngõ vào (VIN)Các ngõ ra của bộ so sánhCác ngõ ra số
D3D2D1D0Q1Q0
0 đến 1V000000
1 đến 2V001x01
2 đến 3V01xx10
3 đến 4V1xxx11

Trong đó: “X” là giá trị tùy định, X có thể là mức logic 0 hoặc mức logic 1.

Vậy bộ chuyển đổi tín hiệu tương tự sang số này hoạt động như thế nào? Để bộ chuyển đổi A/D sử dụng được, nó phải tạo ra một mã số nhị phân tương ứng với tín hiệu tương tự ở đầu vào. Trong ví dụ bộ ADC 2-bit đơn giản này, chúng ta đã giả định rằng điện áp ngõ vào VIN thay đổi trong khoảng từ 0 đến 4V, vì vậy đã đặt VREF và mạch phân áp điện trở để giảm 1V qua mỗi điện trở.

Khi VIN ở giữa 0 và 1V (<1V), đầu vào âm của cả ba bộ so sánh sẽ nhỏ hơn điện áp tham chiếu, vì vậy đầu ra của chúng sẽ ở mức THẤP và bộ mã hóa sẽ xuất ra số nhị phân 00 ở các ngõ ra Q0 và Q1 . Khi VIN tăng và vượt quá 1V nhưng nhỏ hơn 2V (1V <VIN <2V), bộ so sánh U1 có đầu vào điện áp tham chiếu được đặt ở 1V, sẽ phát hiện sự chênh lệch điện áp này và tạo ra ở đầu ra mức CAO. Bộ mã hóa ưu tiên 4 sang 2 phát hiện sự thay đổi mức logic ở đầu vào D1 và tạo ra số nhị phân 01 ở đầu ra.

Lưu ý rằng IC mã hóa ưu tiên 74LS148 phân bổ mức ưu tiên cho từng đầu vào riêng lẻ (thứ tự ưu tiên tăng dần từ D0 đến D1). Mức logic ở ngõ ra của IC tương ứng với ngõ vào hiện đang hoạt động có mức ưu tiên cao nhất. Vì vậy, khi xuất hiện một ngõ vào có mức ưu tiên cao hơn, tất cả các ngõ vào khác có mức ưu tiên thấp hơn sẽ bị bỏ qua. Vì vậy, nếu có hai hoặc nhiều đầu vào ở mức logic “1” cùng một lúc, thì mã nhị phân ở ngõ ra D0 và D1 sẽ chỉ tương ứng với ngõ vào có mức ưu tiên cao nhất.

Khi VIN tăng lớn hơn 2V, bộ so sánh U2 sẽ so sánh điện áp tham chiếu 2V với điện áp VIN và tạo ra mức CAO ở ngõ ra. Nhưng vì ngõ vào D2 có mức ưu tiên cao hơn ngõ vào D0 và D1, IC mã hóa ưu tiên xuất ra mã nhị phân 10, v.v. khi VIN vượt quá 3V, bộ chuyển đổi tạo ra ở ngõ ra mã nhị phân là 11. Rõ ràng khi VIN giảm hoặc thay đổi giữa mỗi mức điện áp tham chiếu, mỗi bộ so sánh sẽ xuất ra mức logic CAO hoặc THẤP cho bộ mã hóa, tạo ra các mã nhị phân 2 bit 00, 01, 10 và 11 tương ứng với VIN.

Mạch này hoạt động tốt, nhưng nếu chúng ta sử dụng IC mã hóa có sẵn trên thị trường như 74LS148 hoặc IC họ CMOS 4532 tương đương thì sẽ gây lãng phí bởi vì cả hai IC này đều có 2 bộ mã hóa bên trong. Một mạch mã hóa đơn giản có thể được thực hiện bằng cách sử dụng các cổng Ex-OR và một ma trận diode tín hiệu như hình dưới đây.

Bộ ADC 2 bit dùng diode

Bộ ADC 2 bit dùng diode

Hình 5: Bộ chuyển đổi tương tự sang số dùng diode

Ở mạch này, các đầu ra của các bộ so sánh được mã hóa bằng cổng Ex-OR trước khi được đưa đến các diode. Hai điện trở kéo xuống được sử dụng để đảm bảo mức logic THẤP và ngăn đầu ra ở trạng thái nổi (lơ lửng) khi diode được phân cực ngược. Giống như mạch trước, tùy thuộc vào giá trị của VIN mà bộ so sánh sẽ tạo ra tín hiệu ở đầu ra mức CAO (hoặc mức THẤP) đến các cổng EX-OR. Ngõ ra của cổng logic này ở mức CAO nếu một đầu trong hai ngõ vào là mức CAO.

Độ phân giải của cả hai bộ chuyển đổi A/D 2 bit đơn giản ở trên là 1V vì như chúng ta đã thấy, điện áp đầu vào tương tự VIN phải thay đổi 1V đầy đủ theo thứ tự để bộ mã hóa thay đổi mã nhị phân ở đầu ra của nó. Một cách để cải thiện độ phân giải của đầu ra là tăng nó lên bộ chuyển đổi A/D 3-bit bằng cách sử dụng nhiều bộ so sánh hơn.

Bộ ADC song song ở trên chuyển đổi điện áp tương tự ở ngõ vào trong phạm vi từ 0 đến hơn 3V để tạo ra mã nhị phân 2 bit. Vì một hệ thống số 3 bit có thể tạo ra 23 = 8 giá trị số khác nhau ở đầu ra nên điện áp tương tự ở ngõ vào có thể được so sánh với tám mức điện áp tham chiếu với mỗi mức điện áp bằng một phần tám điện áp nguồn (V/8). Vì vậy, bây giờ bộ chuyển đổi tương tự sang số có thể độ phân giải 0,5V (4/8) và sẽ cần 23-1 bộ so sánh để cho ra 8 giá giá trị nhị phân khác nhau từ 000 (0) đến 111(7) như hình bên dưới.

Bộ chuyển đổi tương tự sang số 3 bit

                  Bộ chuyển đổi tương tự sang số 3 bit

Hình 6: Bộ ADC 3 bit

Mạch này sẽ cung cấp cho chúng ta mã nhị phân 3 bit ở ngõ ra cho tất cả 8 giá trị tương tự có thể có ở đầu vào.

Ngõ ra bộ chuyển đổi A/D 3-bit

Điện áp tương tự ngõ vào VINCác ngõ ra của bộ so sánhCác ngõ ra số
D7D6D5D4D3D2D1D0Q2Q1Q0
0 đến 0,5V00000000000
0,5 đến 1V0000001x001
1 đến 1,5V000001xx010
1,5 đến 2V00001xxx011
2 đến 2,5V0001xxxx100
2,5 đến 3V001xxxxx101
3 đến 3,5V01xxxxxx110
3,5 đến 4V1xxxxxxx111

Trong đó “X” là “giá trị tùy định”, tức là X có mức logic “0” hoặc logic “1”.

Như vậy, chúng ta có thể thấy rằng bằng cách tăng độ phân giải của bộ ADC, không chỉ tăng số lượng bit nhị phân ở đầu ra, mà còn tăng số lượng bộ so sánh và mức điện áp cần thiết. Bộ chuyển đổi A/D có độ phân giải 4 bit thì cần 15 (24– 1) bộ so sánh, độ phân giải 8 bit cần 255 (28– 1) bộ so sánh, trong khi bộ chuyển đổi tương tự sang số 10 bit sẽ cần 1023 bộ so sánh, v.v. Tóm lại, loại mạch chuyển đổi tương tự sang số này, yêu cầu số lượng bit đầu ra càng nhiều thì mạch càng trở nên phức tạp.

Tuy nhiên, ưu điểm của loại bộ chuyển đổi A/D song song hoặc flash này là tốc độ chuyển đổi thời gian thực của nó tương đối nhanh và có thể dễ dàng được xây dựng như một phần của dự án nếu chỉ cần một vài bit nhị phân để tạo ra hiện thị số để cho thấy giá trị điện áp của tín hiệu tương tự đầu vào.

Việc lấy tín hiệu tương tự từ cảm biến hoặc bộ chuyển đổi và chuyển đổi nó bằng bộ chuyển đổi tương tự sang số thành số nhị phân như một phần của mạch giao tiếp đầu vào, chúng ta cũng có thể lấy một mã nhị phân và chuyển đổi nó thành một đại lượng tương tự tương đương bằng cách sử dụng bộ chuyển đổi số sang tương tự DAC (Digital to Analog Converter) cho giao diện đầu ra để điều khiển động cơ hoặc thiết bị truyền động, hoặc thông thường trong các ứng dụng âm thanh.

Trong bài viết tiếp theo, chúng ta sẽ tìm hiểu bộ chuyển đổi số sang tương tự, viết tắt là DAC, hoàn toàn trái ngược với bộ chuyển đổi tương tự sang số được trình bày trong bài viết này. DAC sử dụng các op-amp và mạng phân chia điện trở để chuyển đổi số nhị phân n-bit thành điện áp tương tự hoặc tín hiệu dòng điện ở đầu ra.

LEAVE A REPLY

Please enter your comment!
Please enter your name here