Bộ chuyển đổi ADC là gì ? Nguyên lý làm việc cơ bản
Bộ chuyển đổi analog-sang-số (ADC) là một thành phần quan trọng khi liên quan đến việc xử lý các hệ thống số hóa giao tiếp với các tín hiệu thời gian thực. Với sự phát triển nhanh chóng của IoT để được ứng dụng trong cuộc sống hàng ngày, các tín hiệu thế giới thực/thời gian phải được đọc bởi các hệ thống số này để cung cấp thông tin quan trọng một cách chính xác. Chúng ta sẽ tìm hiểu cách hoạt động của ADC và lý thuyết đằng sau chúng.
Bộ chuyển đổi ADC hoạt động như thế nào?
Trong thế giới thực, tín hiệu analog là tín hiệu có chuỗi liên tục với các giá trị liên tục (có một số trường hợp nó có thể là hữu hạn). Các loại tín hiệu này có thể đến từ âm thanh, ánh sáng, nhiệt độ và chuyển động. Tín hiệu số được biểu diễn bằng một chuỗi các giá trị rời rạc, nơi tín hiệu được phân tách thành các chuỗi phụ thuộc vào chuỗi thời gian hoặc tốc độ lấy mẫu (sẽ nói thêm về điều này sau). Cách dễ nhất để giải thích điều này là thông qua một hình ảnh trực quan! Hình 1 cho một ví dụ tuyệt vời về cách tín hiệu analog và số trông như thế nào.
Hình 1: Một tín hiệu liên tục (analog) chuyển thành tín hiệu số. (Nguồn: Waqas Akram – Lượng tử hóa trong ADC)
Vi điều khiển không thể đọc giá trị trừ khi đó là dữ liệu số. Điều này là vì vi điều khiển chỉ có thể nhìn thấy “mức” của điện áp, phụ thuộc vào độ phân giải của ADC và điện áp hệ thống.
ADC tuân theo một trình tự khi chuyển đổi tín hiệu analog sang số. Chúng đầu tiên lấy mẫu tín hiệu, sau đó lượng tử hóa nó để xác định độ phân giải của tín hiệu, và cuối cùng đặt các giá trị nhị phân và gửi đến hệ thống để đọc tín hiệu số. Hai khía cạnh quan trọng của ADC là tốc độ lấy mẫu và độ phân giải của nó.
Tốc độ lấy mẫu/tần số của ADC là gì?
Tốc độ lấy mẫu của ADC, cũng được gọi là tần số lấy mẫu, có thể được liên kết với tốc độ của ADC. Tốc độ lấy mẫu được đo bằng “mẫu trên giây”, trong đó đơn vị là SPS hoặc S/s (hoặc nếu bạn sử dụng tần số lấy mẫu, nó sẽ là Hz). Điều này đơn giản có nghĩa là bao nhiêu mẫu hoặc điểm dữ liệu nó lấy trong một giây. Càng nhiều mẫu ADC lấy, nó có thể xử lý được tần số càng cao.
Một phương trình quan trọng về tốc độ lấy mẫu là:
fs = 1/T
Trong đó,
- fs = Tốc độ lấy mẫu/Tần số
- T = Chu kỳ của mẫu hoặc thời gian trước khi lấy mẫu lại
Ví dụ, trong Hình 1, dường như fs là 20 S/s (hoặc 20 Hz), trong khi T là 50 ms. Tốc độ lấy mẫu rất chậm, nhưng tín hiệu vẫn tương tự như tín hiệu analog ban đầu. Điều này là vì tần số của tín hiệu gốc là 1 Hz chậm, có nghĩa là tốc độ tần số vẫn đủ tốt để tái tạo một tín hiệu tương tự.
“Điều gì xảy ra khi tốc độ lấy mẫu chậm hơn đáng kể?” bạn có thể hỏi. Điều quan trọng là phải biết tốc độ lấy mẫu của ADC vì bạn sẽ cần biết liệu nó có gây ra hiện tượng đảo vị hay không. Hiện tượng đảo vị có nghĩa là khi một hình ảnh/tín hiệu số được tái tạo, nó khác nhiều so với hình ảnh/tín hiệu gốc do lấy mẫu gây ra.
Nếu tốc độ lấy mẫu chậm và tần số của tín hiệu cao, ADC sẽ không thể tái tạo tín hiệu analog gốc, điều này sẽ khiến hệ thống đọc dữ liệu không chính xác. Một ví dụ tốt được thể hiện trong Hình 2.
Trong ví dụ này, bạn có thể thấy nơi lấy mẫu xảy ra trong tín hiệu đầu vào analog. Đầu ra của tín hiệu số hoàn toàn không giống với tín hiệu gốc vì tốc độ lấy mẫu không đủ nhanh để theo kịp tín hiệu analog. Điều này gây ra hiện tượng đảo vị và bây giờ hệ thống số sẽ bỏ sót toàn bộ bức tranh của tín hiệu analog.
Một nguyên tắc thực hành khi xác định liệu hiện tượng đảo vị có xảy ra hay không là sử dụng Định lý Nyquist. Theo định lý này, tốc độ lấy mẫu/tần số cần phải ít nhất gấp đôi tần số cao nhất trong tín hiệu để tái tạo tín hiệu analog gốc. Phương trình sau được sử dụng để tìm tần số Nyquist:
fNyquist = 2fMax
Trong đó,
- fNyquist = tần số Nyquist
- fMax = Tần số tối đa xuất hiện trong tín hiệu
Ví dụ, nếu tín hiệu bạn đưa vào hệ thống số có tần số tối đa là 100 kHz, thì tốc độ lấy mẫu trên ADC của bạn cần phải bằng hoặc lớn hơn 200 kS/s. Điều này sẽ cho phép tái tạo thành công tín hiệu gốc.
Cũng nên lưu ý rằng có trường hợp nhiễu bên ngoài có thể đưa tần số cao không mong muốn vào tín hiệu analog, điều này có thể làm nhiễu tín hiệu vì tốc độ lấy mẫu không thể xử lý được tần số nhiễu đó. Luôn là một ý tưởng tốt khi thêm một bộ lọc chống đảo vị (bộ lọc thông thấp) trước khi ADC và quá trình lấy mẫu bắt đầu, vì nó có thể ngăn chặn các tần số cao không mong muốn đến với hệ thống.
Độ phân giải của ADC được xác định như thế nào?
Độ phân giải của ADC có thể được liên kết với độ chính xác của ADC. Độ phân giải của ADC có thể được xác định bởi độ dài bit của nó. Một ví dụ nhanh về cách nó giúp đầu ra tín hiệu số có độ chính xác cao hơn được thể hiện trong Hình 3. Ở đây, bạn có thể thấy rằng 1-bit chỉ có hai “mức”. Khi bạn tăng độ dài bit, các mức cũng tăng lên, khiến tín hiệu số tiệm cận hơn với tín hiệu analog gốc.
Hình 3: Ví dụ về cách độ phân giải ảnh hưởng đến tín hiệu số. (Nguồn: Apple Inc – Soundtrack Pro 3: Cơ bản về âm thanh)
Nếu bạn cần mức điện áp chính xác cho hệ thống của mình để đọc, thì độ phân giải bit là điều quan trọng cần biết. Độ phân giải phụ thuộc vào cả độ dài bit và điện áp tham chiếu. Các phương trình sau giúp bạn tính toán độ phân giải tổng thể của tín hiệu bạn đang cố gắng đưa vào theo điện áp:
Công thức độ phân giải mẫu ADC:
- Bước nhảy = VRef/N
Trong đó,
- Bước nhảy = Độ phân giải của mỗi mức theo điện áp
- VRef = Điện áp tham chiếu (phạm vi điện áp)
- N = Kích thước mức tổng thể của ADC
Để tìm kích thước N, sử dụng phương trình này:
- N = 2n
Trong đó,
- n = Kích thước bit
Ví dụ, giả sử một tín hiệu sin với phạm vi điện áp 5V cần được đọc. ADC có kích thước bit là 12-bit. Đưa 12 vào n trong phương trình 4 và N sẽ là 4096. Với điều đó được biết và điện áp tham chiếu được đặt là 5V, bạn sẽ có: Bước nhảy = 5V/4096. Bạn sẽ tìm thấy rằng bước nhảy sẽ khoảng 0,00122V (hoặc 1,22mV). Điều này là chính xác vì hệ thống số sẽ có thể nói khi điện áp thay đổi với độ chính xác 1,22mV.
Nếu ADC có độ dài bit rất nhỏ, giả sử chỉ 2 bit, thì độ chính xác sẽ giảm xuống chỉ còn 1,25V, điều này rất kém vì nó chỉ có thể cho hệ thống biết bốn mức điện áp (0V, 1,25V, 2,5V, 3,75V và 5V).
Hình 4 cho thấy độ dài bit phổ biến và số lượng mức của chúng. Nó cũng cho thấy bước nhảy sẽ là bao nhiêu cho một phạm vi tham chiếu 5V. Bạn có thể thấy độ chính xác tăng lên như thế nào khi độ dài bit tăng.
Hình 4: Độ dài bit và số lượng mức của chúng và bước nhảy cho phạm vi tham chiếu 5V.
Với việc hiểu cả độ phân giải và tốc độ lấy mẫu của ADC, bạn có thể thấy tầm quan trọng của việc biết các giá trị này và điều gì để mong đợi từ ADC của mình.