Chúng ta đang sống trong một thế giới analog, được bao quanh bởi các thiết bị kỹ thuật số. Mọi thứ chúng ta nhìn thấy, cảm nhận hoặc đo lường đều có bản chất analog như ánh sáng, nhiệt độ, tốc độ, áp suất, … Nhưng hầu hết các thiết bị điện tử xung quanh chúng ta từ một chiếc đồng hồ kỹ thuật số đơn giản đến một siêu máy tính đều là thiết bị kỹ thuật số. Vì vậy, rõ ràng là chúng ta cần một thứ có thể chuyển đổi các thông số analog này thành giá trị kỹ thuật số để bộ vi điều khiển hoặc bộ vi xử lý hiểu được nó. Cái đó được gọi là ADC hoặc Analog to Digital Converter và trong đó bài viết bộ chuyển đổi ADC là gì này Điện Tử Tương Lai sẽ giúp bạn tìm hiểu kỹ hơn về nó.
Bộ chuyển đổi ADC là gì
ADC là từ viết tắt của Analog to Digital Converter hay bộ chuyển đổi analog sang kỹ thuật số là một mạch chuyển đổi giá trị điện áp liên tục (analog) sang giá trị nhị phân (kỹ thuật số) mà thiết bị kỹ thuật số có thể hiểu được sau đó có thể được sử dụng để tính toán kỹ thuật số. Mạch ADC này có thể là vi mạch ADC hoặc được nhúng vào một bộ vi điều khiển.
Tại sao phải chuyển đổi analog sang kỹ thuật số
Thiết bị điện tử ngày nay hoàn toàn là kỹ thuật số, không còn là thời kỳ của máy tính analog. Thật không may cho các hệ thống kỹ thuật số, thế giới chúng ta đang sống vẫn là analog và đầy màu sắc, không chỉ đen và trắng.
Ví dụ, một cảm biến nhiệt độ như LM35 tạo ra điện áp phụ thuộc vào nhiệt độ, trong trường hợp của thiết bị cụ thể nó sẽ tăng 10mV khi nhiệt độ tăng lên mỗi độ. Nếu chúng ta kết nối trực tiếp thiết bị này với đầu vào kỹ thuật số, nó sẽ ghi là cao hoặc thấp tùy thuộc vào các ngưỡng đầu vào, điều này là hoàn toàn vô dụng.
Thay vào đó, chúng ta sử dụng một bộ ADC để chuyển đổi đầu vào điện áp analog thành một chuỗi các bit có thể được kết nối trực tiếp với bus dữ liệu của bộ vi xử lý và được sử dụng để tính toán.
ADC hoạt động như thế nào
Một cách rất hay để xem xét hoạt động của ADC là tưởng tượng nó như một bộ chia tỷ lệ toán học. Tỷ lệ về cơ bản là ánh xạ các giá trị từ dải này sang dải khác, vì vậy ADC ánh xạ một giá trị điện áp sang một số nhị phân.
Những gì chúng ta cần là một thứ có thể chuyển đổi điện áp thành một loạt các mức logic, ví dụ như trong một thanh ghi. Tất nhiên, các thanh ghi chỉ có thể chấp nhận các mức logic làm đầu vào, vì vậy nếu bạn kết nối tín hiệu trực tiếp với đầu vào logic, kết quả sẽ không tốt. Vì vậy cần có một giao diện ở giữa logic và điện áp đầu vào analog.
Dưới đây là một số tính năng quan trọng của ADC, trong khi xem qua, chúng ta sẽ tìm hiểu cách nó hoạt động.
- Điện áp tham chiếu
Tất nhiên, không có ADC nào là tuyệt đối, vì vậy điện áp được ánh xạ tới giá trị nhị phân lớn nhất được gọi là điện áp tham chiếu. Ví dụ: trong bộ chuyển đổi 10 bit với 5V làm điện áp tham chiếu, 1111111111 (tất cả các bit một, số nhị phân 10 bit cao nhất có thể ) tương ứng với 5V và 0000000000 (số thấp nhất tương ứng với 0V). Vì vậy, mỗi bước nhị phân lên đại diện cho khoảng 4,9mV, vì có thể có 1024 chữ số trong 10 bit. Số đo điện áp trên mỗi bit này được gọi là độ phân giải của ADC.
Điều gì sẽ xảy ra nếu điện áp thay đổi dưới 4,9mV mỗi bước? Nó sẽ đặt ADC vào vùng chết, do đó kết quả chuyển đổi luôn có một lỗi nhỏ. Có ngăn chặn lỗi này bằng cách sử dụng ADC có độ phân giải cao hơn ví dụ như bộ ADC lên đến 24 bit, mặc dù tần số chuyển đổi thấp.
- Tốc độ mẫu
Số lượng chuyển đổi từ analog sang kỹ thuật số mà bộ chuyển đổi có thể thực hiện mỗi giây được gọi là tốc độ mẫu. Ví dụ: một bộ ADC thực sự tốt có thể có tốc độ mẫu là 300Ms / s. Đơn vị này được đọc là megasamples trên giây, nghĩa là một triệu mẫu mỗi giây. Lưu ý rằng tiền tố SI áp dụng ở đây.
Tốc độ lấy mẫu phụ thuộc hoàn toàn vào loại bộ chuyển đổi và độ chính xác cần thiết. Nếu cần đọc rất chính xác, ADC thường dành nhiều thời gian hơn để xem xét tín hiệu đầu vào (thường là lấy mẫu và giữ hoặc đầu vào tích hợp) và nếu không cần độ chính xác cao thì nó có thể đọc rất nhanh.
Nguyên tắc chung là tốc độ và độ chính xác tỷ lệ nghịch với nhau, điều quan trọng là phải chọn ADC tùy thuộc vào ứng dụng.
Các loại ADC
- Flash ADC
Đây là loại ADC đơn giản nhất và nhanh nhất, nó bao gồm một loạt các bộ so sánh với các đầu vào không đảo ngược nối với đầu vào tín hiệu và các chân đảo ngược nối với một thang chia điện áp.
Tuy nhiên, nếu điện áp cao hơn một trong các mức của bậc thang, tất cả các bit đầu ra dưới mức được đặt thành một, vì điện áp trên ngưỡng đối với các bộ so sánh dưới cùng. Để giải quyết vấn đề này, các đầu ra được cấp qua bộ mã hóa ưu tiên chuyển đổi đầu ra thành nhị phân.
Tốc độ chỉ bị giới hạn bởi độ trễ truyền của bộ so sánh và bộ mã hóa ưu tiên. Tuy nhiên, độ chính xác là vừa phải.
- ADC tích hợp đếm hoặc độ dốc
Tại đây, một mạch tạo đoạn dốc được bắt đầu tại thời điểm chuyển đổi và bộ đếm nhị phân được khởi động cùng lúc. Một bộ so sánh sẽ phát hiện khi đoạn dốc vượt quá điện áp đầu vào và dừng bộ đếm nhị phân. Bộ đếm nhị phân thu được tỷ lệ với mức độ điện áp đầu vào.
Độ chính xác tuyệt đối của bộ chuyển đổi này vẫn là một câu hỏi, tuy nhiên nó thực hiện đơn giản và cho độ phân giải tốt, khoảng cách đều giữa các bước nhị phân. Nếu không có chip, mạch này có thể được tạo riêng lẻ.
- ADC ước lượng kế tiếp
Bộ ADC này có lẽ là chính xác nhất. Nó bao gồm một bộ so sánh, một bộ DAC flash đơn giản và một thanh ghi bộ nhớ. Thiết bị ban đầu giả định tất cả các bit trong thanh ghi ngoại trừ bit có ý nghĩa cao nhất (là một) là số 0. Sau đó thanh ghi này sẽ gửi nó đến DAC chuyển nó thành điện áp analog, được so sánh với đầu vào thông qua bộ so sánh. Nếu điện áp đầu vào cao hơn điện áp DAC, thì MSB vẫn là một. Quá trình này lặp lại cho đến khi tất cả các bit có được đặt thành không hoặc một, nói cách khác cho đến khi giá trị thanh ghi bằng điện áp đầu vào.
ADC này là một trong những ADC thường được sử dụng nhất khi cần độ chính xác và tốc độ không quá giới hạn, ví dụ như trong vi điều khiển. ADC loại SA có thể dễ dàng đạt được thời gian chuyển đổi vài micro giây.
Các ứng dụng
- Máy hiện sóng kỹ thuật số và đồng hồ vạn năng
Ưu điểm lớn nhất của máy hiện sóng analog là có rất ít mạch điện giữa đầu nối đầu vào và màn hình, nói cách khác là bạn thấy chính xác những gì đang diễn ra trong mạch theo thời gian thực. Tuy nhiên, nó không thể lưu trữ các dạng sóng để sử dụng sau này hoặc thực hiện các phép đo trên bo.
Máy hiện sóng kỹ thuật số khắc phục được tất cả những vấn đề này và trọng tâm của nó là một bộ ADC rất mạnh và nhanh với độ phân giải từ 12 bit trở lên. ADC chuyển đổi các dạng sóng thành giá trị nhị phân có thể được lưu trữ trong bộ nhớ, vận hành và hiển thị trên màn hình.
- Vi điều khiển
Hầu hết tất cả các vi điều khiển hiện đại đều có ADC tích hợp sẵn, phổ biến nhất là Arduino dựa trên ATMega328P với độ phân giải 10 bit và STM32 với độ phân giải 12 bit.
Arduino IDE cung cấp hàm ‘analogRead ()’ để đọc điện áp analog trên một trong các chân analog và trả về giá trị số nguyên 10 bit, tức là phạm vi từ 0 đến 1023.
- Nguồn kỹ thuật số
Hầu hết các nguồn điện ngày nay đều được điều khiển bằng máy tính, và để máy tính đo điện áp đầu ra thì cần có bộ ADC.
Cách sử dụng một IC ADC
Có rất nhiều IC ADC trên thị trường có thể được sử dụng để đo điện áp analog. ADC0804, ADC0808, MCP3008, … là một số module ADC được sử dụng nhiều nhất. Chúng thường được sử dụng cùng với Raspberry pi và bộ xử lý hoặc mạch kỹ thuật số khác ở đó ADC tích hợp sẵn không khả dụng. Ví dụ, chúng ta hãy xem xét vi mạch ADC ADS1115 của Texas Instruments có độ phân giải cao và kiến trúc hiện đại.
Nó có trong gói QFN hoặc VSSOP, cho phép một hệ số hình thức rất nhỏ. Nó gần như không chiếm dung lượng trên PCB. Con chip nhỏ này làm được rất nhiều thứ, chúng ta sẽ xem xét một số tính năng của nó bên dưới.
- Tương thích I2C
Bất kỳ ai đã từng làm việc với vi điều khiển đều biết bus SPI và I2C hữu ích như thế nào để giao tiếp với các thiết bị ngoại vi. Tính năng này giúp bạn rất dễ sử dụng IC này với bo Arduino vì các thư viện mở rộng đã được viết cho thiết bị.
- Mức tiêu thụ điện năng
Lợi thế của việc sử dụng bất kỳ vi mạch hiện đại nào là chúng tiêu thụ dòng điện rất thấp và hoạt động trên nhiều loại điện áp, trong trường hợp này là 2.0V đến 5.5V.
- Bộ so sánh có thể lập trình
ADS đi kèm với một bộ so sánh mà tham chiếu của nó có thể được lập trình qua bus I2C. Tất nhiên đối với ứng dụng nhanh thì không có gì đánh bại được IC so sánh rời rạc.
- Đầu vào có thể cấu hình
Bốn đầu vào có thể là hai cặp vi sai (chỉ tính đến chênh lệch điện áp trên các chân đó) hoặc bốn đầu vào đầu mút đơn.
Hạn chế của ADC
- ADC chậm, thường theo thứ tự vài micro hoặc nano giây.
- Thiếu các giá trị điện áp liên tục.
- Độ phức tạp của mạch tăng