Analog-to-Digital Converter (ADC) cực kỳ hữu ích trong việc biến các hiện tượng trong thế giới thực thành giá trị mà chúng ta có thể sử dụng trong những dự án lập trình. Nhưng làm thế nào ADC có thể chuyển đổi tín hiệu analog thành digital mà chúng ta có thể sử dụng ở bất cứ đâu?
ADC được sử dụng để làm gì?
Bạn sẽ tìm thấy ADC ở khắp mọi nơi. Chúng ở trên điện thoại của bạn, chuyển đổi giọng nói của bạn thành một chuỗi giá trị nhị phân. Chúng ở trong ô tô của bạn, đo chuyển động quay của bánh xe. Chúng nằm trong máy oscilloscope (máy hiện sóng), giúp thu tín hiệu và biểu thị chúng. Tuy nhiên, nơi mà hầu hết mọi người sẽ sử dụng chúng là trong thế giới video và âm thanh, nơi việc đưa ánh sáng và âm thanh vào không gian kỹ thuật số là điều cơ bản.
Sample Rate là gì? Sample Rate ảnh hưởng đến ADC như thế nào?
Một trong những số liệu quan trọng nhất của ADC là Sample Rate (tần số lấy mẫu): Số lần đọc được thực hiện mỗi giây.
Một máy hiện sóng cao cấp có thể lấy 10 tỷ mẫu mỗi giây. Trong thế giới âm thanh, sample rate 44.100 mỗi giây (44,1 kHz) là điển hình.
Càng lấy nhiều mẫu, tín hiệu càng được biểu thị chính xác hơn. Đôi khi, điều này là cần thiết; đôi khi lại không. Giả sử bạn đang xây dựng một fader bank (được thiết kế để điều khiển các thiết bị điện tử) với vài chục chiết áp. Trong trường hợp này, các giá trị bạn cần đo khó có thể thay đổi hàng triệu lần mỗi giây vì ngón tay của bạn không thể di chuyển nhanh như vậy. Bạn chỉ cần đủ mẫu để có được kết quả mượt mà và mang tính phản hồi.
Bitrate là gì? Bitrate có ảnh hưởng đến chất lượng của ADC không?
Bạn cũng nên suy nghĩ về chất lượng của mẫu mà mình nhận được. Điều này phần lớn được xác định bởi Bitrate, cho chúng ta biết có thể sử dụng bao nhiêu trạng thái on-off để biểu thị điện áp ở dạng kỹ thuật số. Càng có nhiều bit thì chúng ta càng có thể ghi lại nhiều giá trị khả thi hơn trong bất kỳ mẫu nhất định nào, do đó kết quả cuối cùng càng mượt mà và chính xác hơn.
Vậy chúng ta cần bao nhiêu bit? Một lần nữa, nó phụ thuộc vào những gì chúng ta đang cố gắng đạt được. Đôi khi, chúng ta có thể bị giới hạn bởi giao thức mình đang sử dụng. Ví dụ, giao thức MIDI 1.0 bị giới hạn ở các giá trị 7 bit (và đôi khi là 14 bit). Trong các trường hợp khác, yếu tố hạn chế có thể là nhận thức của con người. Nếu độ trung thực tăng lên không tạo ra bất kỳ sự cải thiện rõ rệt nào trong kết quả thì nó có thể không đáng giá.
Ghép kênh cải thiện chất lượng ADC như thế nào?
Các chip ADC phổ biến như ADS1115 và MCP3008 cung cấp nhiều đầu vào. Nhưng chúng thực sự chỉ chứa một ADC duy nhất bên trong. Điều này có thể thực hiện được nhờ các multiplexer hay mạch ghép kênh được tích hợp trong những thiết bị này. Multiplexer có mặt ở khắp mọi nơi trong thế giới điện tử và viễn thông. Chúng là các digital switch đóng vai trò kiểm soát lưu lượng cho ADC của bạn. ADC có thể lấy mẫu một kênh, rồi đến các kênh tiếp theo. Vì vậy, nếu bạn có 8 kênh và tốc độ lấy mẫu là 200.000, bạn có thể xoay vòng qua tất cả các kênh đó, lấy 25.000 mẫu trên mỗi kênh.
Có những loại ADC nào?
ADC hoạt động theo nhiều cách khác nhau, tùy thuộc vào chi phí và khả năng cần thiết.
Flash ADC hoạt động thông qua một bộ chia điện áp rất phức tạp. Một dãy điện trở chia điện áp tham chiếu thành các mức tăng, sau đó được kiểm tra với đầu vào thông qua một dãy các mạch so sánh (comparator). Flash ADC có tốc độ nhanh như chớp nhưng chúng bị hạn chế về độ sâu bit do cần có số lượng comparator.
Subranging ADC tìm cách bù đắp những điểm yếu này bằng cách chia công việc thành hai bộ phận riêng biệt: Một bộ phận tính toán đại khái điện áp và bộ phận thứ hai tính toán chính xác. Bằng cách chia nhỏ mọi thứ, chúng ta có thể giảm số lượng comparator. Một số ADC phân nhóm sẽ chia công việc thành ba giai đoạn, kèm theo đó là tính năng sửa lỗi được tích hợp trong suốt quá trình.
ADC SAR (Successive Approximation Register) thực hiện công việc của mình thông qua một loại tìm kiếm nhị phân. Giả sử chúng ta có 8 bit cần điền. SAR sẽ bắt đầu từ 10000000, là giá trị ở giữa (00000000 là dưới cùng và 11111111 là trên cùng). Nếu điện áp vượt quá điểm giữa này, SAR sẽ giữ chữ số ngoài cùng bên trái là 1; nếu không, SAR sẽ đặt chữ số ngoài cùng bên trái thành 0. Chúng ta có thể lặp lại quy trình với những chữ số tiếp theo theo cách đệ quy. Điều này sẽ khiến giá trị được đoán dần dần tiến về giá trị thực:
Bằng cách này, chúng ta liên tục thu hẹp tìm kiếm, chia các khả năng thành 2 phần và hỏi xem kết quả cao hơn hay thấp hơn điểm giữa. Trong trường hợp này, giá trị nằm trong khoảng từ 0 đến 255; sau một vài lần lặp lại, ADC đã tính ra rằng nó vào khoảng 77.
Bộ chuyển đổi Sigma-delta có lẽ là khó hiểu nhất. Chúng được sử dụng cho các ứng dụng đo tín hiệu và âm nhạc có độ chính xác cao.
Chúng hoạt động bằng cách lấy mẫu tín hiệu và tinh chỉnh kết quả bằng cách sử dụng bộ lọc và phép toán cực kỳ phức tạp. Quá trình này làm giảm sample rate một cách hiệu quả đồng thời tăng độ chính xác. Những ADC này rất tuyệt vời khi tiếng ồn và độ chính xác quan trọng hơn tốc độ.
Cuối cùng, chúng ta có Integrating ADC, thậm chí còn chậm hơn so với sigma-delta. Chúng hoạt động với sự trợ giúp của một tụ điện, tốc độ tích điện của nó có thể được sử dụng để xác định điện áp đầu vào. sample rate ở đây thường được đồng bộ với tần số nguồn điện, có thể được sử dụng để giữ hiện tượng nhiễu ở mức tối thiểu.