Tại sao ADC sử dụng 10 bit thay vì 8 hoặc 16?


28

Tại sao hầu hết các ADC, như những người trên Arduino , cho độ phân giải 10 bit thay vì 8 hoặc 16 bit?

Có vẻ như họ không phù hợp với kích thước dữ liệu tiêu chuẩn, đặc biệt là trên các kích thước tích hợp.


2
Các mối quan tâm không phải là về chiều rộng dữ liệu. Nhiều khả năng về độ phân giải cần thiết và chi phí.
richieqianle

Tại sao chúng phù hợp với "kích thước dữ liệu tiêu chuẩn"?
dùng253751

Câu trả lời:


40

Không có vấn đề kỹ thuật lớn nào với việc mở rộng ADC (xấp xỉ liên tiếp) để chuyển đổi 16 bit, nhưng vấn đề là bạn bắt đầu thấy tầng nhiễu của mặt trước tương tự. Điều này có xu hướng làm cho khách hàng hoảng sợ vì họ thấy các mã ADC nhảy xung quanh và không phải lúc nào cũng nhận ra rằng họ đang nhìn vào hàng chục microvolts sai lệch.

Giả sử điện áp tham chiếu 5,00 V và ADC 10 bit, LSB đại diện cho điện áp 4,88 mV (5 V × 2 -10 ). Đối với ADC 16 bit có tham chiếu 5,00 V, điện áp LSB sẽ là 76 lượngV.

Nhưng nguồn cung cấp trong hệ thống kỹ thuật số không chính xác là 5,00 V, nó thường được chỉ định trong phạm vi từ 4,75 V đến 5,25 V. Bất cứ khi nào có sự kiện chuyển đổi bên trong vi điều khiển, có một dòng điện nhỏ gây ra nguồn cung cấp điện áp để co giật. Nếu LSB ở khoảng 5 mV, bạn có thể hầu như không thể nhìn thấy nó, nhưng ở cấp độ 76VV, thật khó để không thấy tiếng ồn này.

Trong thực tế, một khi bạn vượt qua ADC 12 bit, bạn thực sự cần phải có một tham chiếu điện áp tương tự thay vì chỉ sử dụng nguồn điện kỹ thuật số. Vì vậy, thêm một số chi phí. Để có kết quả tốt nhất, tham chiếu điện áp này thực sự phải là một con chip riêng biệt, với các đường dây điện riêng của nó, và lý tưởng nhất là nó phải cách xa các mạch kỹ thuật số nóng / ồn.

Nếu bạn muốn ADC 16 bit cho số đọc ổn định tốt, bạn cần có điện áp tham chiếu rất sạch và điều khiển nhiệt và tốt nhất là để nó cách xa mọi tín hiệu kỹ thuật số chuyển đổi nhanh ... vì vậy hãy tích hợp SAR 16 bit vào cùng một con chip như một vi điều khiển, sẽ thực sự đánh bại mục đích có thêm các bit đó. Bạn chỉ cần đo tiếng ồn ngẫu nhiên trên các bit thừa đó.

Có những ứng dụng khách hàng sử dụng ADC có độ phân giải cao hơn. Công ty tôi làm việc làm cho khá nhiều trong số này. Thiết bị kiểm tra tự động (ATE), siêu âm y tế và một số loại khách hàng chuyên dụng khác sử dụng ADC có độ phân giải cao, trong một số trường hợp 18 hoặc thậm chí 24 bit.

Thử nghiệm sản xuất một bộ ADC độ phân giải cao rất tốn thời gian (và do đó tốn kém). Các khách hàng cần loại hiệu suất này phải trả phí cho một ADC độc lập bên ngoài, chứ không phải các loại SAR giá rẻ được tích hợp trong nhiều bộ vi điều khiển hiện đại.

Sau đó, có các ứng dụng tốc độ cao như radar hoặc máy hiện sóng lấy mẫu kỹ thuật số, cần lấy mẫu ở tốc độ 100 MHz hoặc nhanh hơn - ở các tốc độ này, bạn may mắn nhận được 8 bit có ý nghĩa.


1
Trải nghiệm đầu tiên của tôi với ADC là hoàn toàn ngược lại. Tôi rất ngạc nhiên khi thấy bit thấp nhất không dao động một chút.
John Dvorak

Ngược lại, khi cố gắng đo tần số thấp hoặc tín hiệu DC, thực tế có thể TỐT HƠN để có một hệ thống có đủ nhiễu tương tự để làm cho bit dưới cùng dao động cho tất cả các tín hiệu đầu vào. Tiếng ồn có thể được giảm bằng cách lấy trung bình nhưng nếu ADC của bạn bị kẹt ở một giá trị thì cho dù bạn có trung bình bao nhiêu thì bạn cũng sẽ không cải thiện kết quả.
Peter Green

1
Với công nghệ hiện đại, bạn có thể mua 8 bit có ý nghĩa với nhiều tốc độ hàng chục gsps. :)
Oakad

12

Đánh đổi giữa độ phân giải và chi phí.

8 bit cho 2 8 = 256 kết hợp, trong đó 0 là một, để lại 0 đến 255 giá trị kỹ thuật số có thể. Điều này là không đủ cho nhiều ứng dụng. Mỗi bit thừa tăng gấp đôi độ phân giải và 10 bit cung cấp 1024 bước, đủ tốt cho hầu hết các công cụ dự án. Các hệ thống công nghiệp có thể sử dụng 12 bit để có độ phân giải tốt hơn.

ADC độ phân giải cao đòi hỏi dung sai chặt chẽ hơn và đắt hơn để sản xuất.


Tôi không có vài triệu ADC 14 bit trong máy ảnh của mình phải không?
Hagen von Eitzen 7/11/2015

7
@HagenvonEitzen: Không. Máy ảnh không có một ADC trên mỗi pixel, nhưng đọc từng pixel một. (Mặc dù có thể có nhiều hơn một ADC cho toàn bộ cảm biến để tăng tốc nó).
sweber

1
Thông thường, một camera đọc ra theo dòng, vì vậy bạn đã có vài nghìn ADC. Trong tình huống khuếch đại cao (ISO cao trong môi trường tối), bạn có thể thấy biến thể riêng lẻ của các cặp khuếch đại / ADC ở dạng đường chạy trên ảnh.
Đánh dấu

@Mark Và như một hiệu ứng khác của quá trình quét dòng đó, hình ảnh của các đối tượng trong chuyển động tốc độ cao có thể mang lại hiệu ứng màn trập lăn .
JAB

4

Một số điểm tốt và hợp lệ đã được thực hiện. Tôi đã sử dụng ADC 8, 10, 12 và 16 bit một cách rộng rãi trong nhiều năm qua và hiện tại khá dễ dàng để đạt được 16 bit với thời gian chuyển đổi là 4 hoặc 5 micro giây (tốt hơn là có sẵn, tôi sẽ tuân theo những gì có thể thực hiện được cho hầu hết mọi người sử dụng), trong một chip độc lập. Nhưng điều này chứa một mạng bậc thang chính xác, thường sử dụng điện trở màng mỏng và các kỹ thuật thiết kế tương tự chuyên dụng khác nhau. (Hầu như luôn luôn có nhu cầu về các bóng bán dẫn lưỡng cực hiệu suất cao ở đâu đó trong mạch của một ADC chính xác, nhưng tất cả các bộ vi điều khiển hiện đại đều là CMOS, do đó, có rất nhiều bước chế tạo bổ sung để tạo ra bất cứ thứ gì có độ chính xác tương tự tốt và kết hợp logic CMOS. ) Một ADC tốt cũng có giá cao hơn hầu hết các bộ vi điều khiển! Không dễ để thực hiện,

Ví dụ, hãy xem xét TI ADS8509, người tiền nhiệm của ADS7509, không quá nhanh, tôi đã sử dụng ở nhiều nơi trong một dự án lớn và quan trọng.

http://www.ti.com/lit/ds/symlink/ads8509.pdf

Nó khá trần tục theo tiêu chuẩn ngày nay. Tuy nhiên, các tính năng thiết kế bên trong của nó không tương thích với quy trình sản xuất giá rẻ cho vi điều khiển. Và, nó có giá lên tới 15,72 đô la, nhiều hơn hầu hết các bộ vi điều khiển. Tôi đã sử dụng chúng ở dạng chết bán dẫn trần, được tích hợp vào kim loại có thể lai, với các mạch hỗ trợ được thiết kế cẩn thận và thực sự đã gây ra tiếng ồn trên 1 LSB pp, vì vậy bạn có thể làm được, nếu bạn biết bạn đang làm gì và có các nguồn lực, bao gồm cả ngân sách. Nhưng bạn sẽ không bao giờ, nhìn thấy tiếng ồn thấp như vậy trong hoặc xung quanh một vi điều khiển.

Vấn đề chính, như ít nhất một người đã giải thích, là tiếng ồn trên đường ray cung cấp kỹ thuật số sẽ ảnh hưởng trực tiếp đến ADC. Bây giờ bạn có thể giải quyết vấn đề đó, bằng cách sử dụng một tham chiếu điện áp bên ngoài tốt, trong đó một pin được cung cấp cho điều đó, nhưng bạn cũng cần phải có thể làm điều tương tự với mặt đất. Và, các chân đó phải được giới hạn trong phạm vi vài trăm mV của nguồn cung cấp kỹ thuật số và mặt đất, hoặc điều này sẽ nổ tung. Tất nhiên, cộng với tiếng ồn bên trong silicon, từ logic, thay đổi trạng thái theo cách thức phức tạp ở tần số đồng hồ, và tệ hơn, từ các chân I / O, một số trong đó có thể đang lái xe và chuyển đổi 10 giây mA, nếu bạn đã tải chúng đến giới hạn. Tiếng ồn, tiếng ồn và nhiều tiếng ồn hơn ...

Phần tôi đã trích dẫn (và Google xung quanh để có giá rẻ hơn, nhanh hơn hoặc khác nhau, đánh đổi sự linh hoạt so với chi phí) có giao diện SPI, do đó, nó dễ dàng được sử dụng NGOẠI TRỪ cho một vi điều khiển, với mặt phẳng cục bộ riêng, lọc, v.v. , cẩn thận, nó thực sự sẽ cung cấp cho bạn 16 bit.

Trước đây, khá khó để có được hơn 10 bit không nhiễu trong ADC 12 bit và vẫn ở trong môi trường bẩn, chẳng hạn như gần với logic kỹ thuật số, phần lớn là lý do tại sao các ADC trên bo mạch trong chip xử lý ít nhiều bị mắc kẹt ở độ phân giải đó, và có lẽ sẽ là mãi mãi. Nhưng TI có chip ngoài 32 bit. Không nhìn vào bảng dữ liệu, hoặc chi phí ...

Nếu bạn có thể hy sinh độ chính xác tuyệt đối (nghĩa là hệ số tỷ lệ có thể vượt quá 5% trở lên, chưa kể bù DC và độ trôi của nó theo thời gian và nhiệt độ, nhưng độ tuyến tính sẽ rất tuyệt vời), một ADC loại âm thanh có thể dành cho bạn. Chúng có ít nhất 16 bit và được thiết kế cho thị trường đại chúng, vì vậy thường có giá trị tốt, nhưng không nên sử dụng một trong một công cụ chính xác để đo tín hiệu DC đến +/- 0,1%.

Bạn không thể có mọi thứ cùng một lúc. Tất cả là một câu hỏi về những gì quan trọng nhất. Chính xác, tiếng ồn, trôi dạt dài hạn, tốc độ, chi phí, năng lượng, loại giao diện (nối tiếp hoặc song song), v.v. Ngoài ra, bạn có thể muốn ghép kênh nhiều kênh, vì vậy cần thời gian đáp ứng bước nhanh, loại bỏ nhiều ADC sigma-delta, trong đó mặt khác có một số tính chất rất tốt

Khi chọn một ADC. Google, như mọi khi, là bạn của bạn. Có rất nhiều bài viết và ghi chú ứng dụng từ TI, tuyến tính, quốc gia và các nhà sản xuất chất bán dẫn khác. Luôn luôn cẩn thận với những gì bảng dữ liệu không cho bạn biết và kiểm tra xem những thông số mà đối thủ của họ nhấn mạnh.

Nhưng nếu bạn muốn tất cả trên chip vi điều khiển của mình, đừng lên kế hoạch sử dụng hơn 10 bit (có thể là 9 tiếng ồn có thể sử dụng được, LSB) trong các dự án của bạn. Và, lập kế hoạch cho tham chiếu tương tự riêng biệt và mặt đất nếu chip của bạn cho phép. Bằng cách đó, bạn sẽ không lãng phí thời gian của mình.


3

ADC 8 bit rất đáng sử dụng vì các bước 0,49% - Tôi đã thấy đủ điều đó. Arduino, được thiết kế cho thiết bị điện tử sở thích, sử dụng gấp 4 lần số bước, gần 0,1%, gần với tín hiệu có thể đạt được đối với nhiễu (cộng với hum) được mong đợi từ các mạch cảm biến op-amp hoặc bóng bán dẫn thông thường. Tốt hơn là sẽ bị lãng phí cho các thiết bị điện tử gia dụng cấp độ hobyist, và tồi tệ hơn là sẽ quá khủng khiếp và kinh khủng.

Trong khi ADC 16 bit có sẵn trên thị trường, chúng sẽ mất nhiều thời gian hơn để xử lý, trong đó tiếng ồn hoặc tiếng ồn đã di chuyển, do đó bạn không có được phép đo tốt hơn và tốc độ chậm hơn.


2
Arduinos được thiết kế cho sở thích điện tử không liên quan gì đến số bit adc có sẵn trong adc trên chip của một uC atmel. nó có thể là một độ sâu phù hợp để sử dụng sở thích, nhưng nó được thiết kế để có kích thước tốt cho nhiều ứng dụng phi arduino chuyên nghiệp
Loganf

2

Khi ADC thực hiện chuyển đổi, nó cung cấp giá trị kỹ thuật số (lượng tử hóa) cho tín hiệu tương tự liên tục. Vì, giá trị kỹ thuật số sẽ không chính xác là giá trị tương tự tại thời điểm chuyển đổi, sự khác biệt có thể được coi là nhiễu phụ gia. Độ phân giải của ADC càng cao thì giá trị số từ giá trị analog càng gần. Nói cách khác, chúng tôi cải thiện tỷ lệ nhiễu tín hiệu thành tín hiệu (SQNR) bằng cách tăng các bit của ADC. Do đó, ADC 10 bit tốt hơn so với ADC 8 bit (khoảng 12dB).

Sử dụng A / D 16 bit sẽ tốt hơn về mặt SQNR. Tuy nhiên, chúng đắt hơn. Và trong nhiều ứng dụng ADC 10 bit cung cấp đủ SQNR cần thiết.


1

Như một quy tắc chung, bạn muốn số bit trong hệ số của bạn sao cho bước định lượng của bạn thấp hơn một chút so với mức nhiễu (tương tự) của hệ thống.

Sử dụng nhiều bit hơn và do đó có một bước lượng tử hóa sâu hơn bên dưới tầng nhiễu giúp bạn cải thiện rất ít hiệu suất tiếng ồn tổng thể nhưng sử dụng nhiều silicon hơn làm cho thời gian chuyển đổi của bạn lâu hơn hoặc yêu cầu các bộ chuyển đổi của bạn chạy nhanh hơn (và do đó sẽ ồn hơn)

Sử dụng ít bit hơn và do đó có một bước lượng tử hóa trên sàn nhiễu nói chung là xấu. Điều đó có nghĩa là bạn đang lãng phí hiệu suất của mạch tương tự và trong một số trường hợp, nó có thể tạo ra các lỗi hệ thống không thể loại bỏ thông qua tính trung bình (thực tế đôi khi các nhà thiết kế sẽ cố tình thêm nhiễu vào hệ thống để tránh các lỗi hệ thống do định lượng).

Sự khác biệt giữa 8 bit và 16 bit là LỚN. Cái trước kết thúc với một bước lượng tử hóa quá lớn ngay cả trong các hệ thống có hiệu suất tiếng ồn khá kém. Cái sau bị lãng phí trên bất kỳ hệ thống nào không có thiết kế tương tự rất cẩn thận. Vì vậy, không có gì ngạc nhiên khi các bộ điều khiển vi mô kết thúc ở đâu đó ở giữa.

Lưu ý rằng mọi người thường nói về "nhiễu lượng tử hóa" nhưng điều quan trọng cần nhớ là khái niệm "nhiễu lượng tử hóa" là một mô hình đơn giản của thực tế bị phá vỡ trong một số trường hợp.


0

Việc sử dụng ADC phổ biến nhất được cho là trong khu vực xử lý âm thanh (VoIP, nhạc CD, v.v.). Âm nhạc không được quan tâm ở đây, vì điều đó đòi hỏi 16 bit. Nhưng VoIP là thứ thúc đẩy thị trường ADC bit thấp hơn. VoIP thường sử dụng tính năng nén, tạo ra mã PCM được nén 8 bit từ tín hiệu đầu vào 12 bit. Đầu vào của bước nén phải có nhiều bit hơn - thường là 12 hoặc đôi khi 10 có thể là đủ (bạn luôn có thể giả mạo hai bit thấp nhất).

Kết quả là, nhu cầu về ADC 8 bit rất thấp, nhưng ADC có bit cao hơn đang có nhu cầu cao, và do đó có sẵn với giá rẻ. Arduino có thể sẽ sử dụng các thành phần rẻ tiền và có mặt khắp nơi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.