Xếp chồng ADC để có độ phân giải cao hơn


11

Giả sử tôi có một cặp ADC 12 bit, tôi có thể tưởng tượng rằng chúng có thể được xếp tầng để có được <= 24 bit đầu ra.

Tôi có thể nghĩ đơn giản là sử dụng một cho phạm vi tích cực và một cho phạm vi tiêu cực, mặc dù có thể sẽ có một số biến dạng trong khu vực chéo. (giả sử chúng ta có thể bỏ qua một vài bit lỗi hoặc, có lẽ, đặt ADC thứ 3 để đo giá trị khoảng 0 volt).

Một tùy chọn khác mà tôi đã nghĩ đến là sử dụng một ADC tốc độ cao duy nhất và chuyển đổi các điện áp tham chiếu để có độ phân giải cao hơn ở tốc độ thấp hơn. Ngoài ra, nên có một cách để có được kết quả có giá trị thực bằng cách sử dụng một ADC ref-ref cố định và sau đó chuyển đổi các giá trị của bộ chuyển đổi thứ cấp để có giá trị chính xác hơn ở giữa.

Bất kỳ ý kiến ​​và đề xuất đều được chào đón.

Tôi đoán rằng một chip 8 bit 8 bit (hoặc 12 bit kép) ít tốn kém hơn một chip 24 bit.


2
Có, về mặt lý thuyết là có thể và trong 0,01% trường hợp thực tế, trong đó các bộ phận có "Hiệu ứng số bit" bằng "Số lượng dữ liệu của bit" với phần còn lại của thông số kỹ thuật tăng thêm 5 bậc độ chính xác. Điều này không đúng với 99,99% các bộ phận.

4
Nếu bạn sử dụng một cho điện áp dương, và cái kia cho điện áp âm, điều đó chỉ giúp bạn có 13 bit. Xếp chồng chúng sẽ Yêu cầu một bộ khuếch đại và bộ khuếch đại. Bạn chuyển đổi trực tiếp trên tín hiệu, ghi giá trị vào DAC và trừ đầu ra của DAC khỏi tín hiệu đầu vào. Sau đó, bạn khuếch đại tín hiệu bằng và đưa nó vào ADC thứ hai. 212
Sói Connor

Câu trả lời:


11

Rất nhiều điều trong câu hỏi của bạn. Vì vậy, hãy đưa họ từng người một.

Giả sử tôi có một cặp ADC 12 bit, tôi có thể tưởng tượng rằng chúng có thể được xếp tầng để có được <= 24 bit đầu ra. Tôi có thể nghĩ đơn giản là sử dụng một cho phạm vi tích cực và một cho phạm vi tiêu cực, mặc dù có thể sẽ có một số biến dạng trong khu vực chéo. (giả sử chúng ta có thể bỏ qua một vài bit lỗi hoặc, có lẽ, đặt ADC thứ 3 để đo giá trị khoảng 0 volt).

Không thực sự - bạn sẽ nhận được độ phân giải 13 bit. Người ta có thể mô tả hoạt động của bộ chuyển đổi 12 bit khi quyết định điện áp đầu vào của 4096 thùng (2 ^ 12). Hai ADC 12 bit sẽ cung cấp cho bạn 8192 thùng hoặc độ phân giải 13 bit.

Một tùy chọn khác mà tôi đã nghĩ đến là sử dụng một ADC tốc độ cao duy nhất và chuyển đổi các điện áp tham chiếu để có độ phân giải cao hơn ở tốc độ thấp hơn.

Trên thực tế đây là cách hoạt động của Bộ chuyển đổi xấp xỉ liên tiếp . Về cơ bản bộ biến đổi một bit (còn gọi là bộ so sánh) được sử dụng với bộ biến đổi kỹ thuật số sang tương tự đang tạo ra điện áp tham chiếu khác nhau theo thuật toán xấp xỉ liên tiếp để lấy mẫu điện áp số hóa. Lưu ý rằng bộ chuyển đổi SAR rất phổ biến và hầu hết các ADC trong uC là loại SAR.

Ngoài ra, nên có một cách để có được kết quả có giá trị thực bằng cách sử dụng một ADC ref-ref cố định và sau đó chuyển đổi các giá trị của bộ chuyển đổi thứ cấp để có giá trị chính xác hơn ở giữa.

Trên thực tế, nó rất giống với cách các ADC đường ống đang hoạt động. Tuy nhiên, thay vì thay đổi tham chiếu của ADC thứ cấp, lỗi dư lượng còn lại sau giai đoạn đầu tiên được khuếch đại và xử lý bởi ADC giai đoạn tiếp theo.

Bất kỳ ý kiến ​​và đề xuất đều được chào đón. Tôi đoán rằng một chip 8 bit 8 bit (hoặc 12 bit kép) ít tốn kém hơn một chip 24 bit.

Trên thực tế, có một lý do cho việc có bộ chuyển đổi 24 bit không đơn giản như sắp xếp trong một số cấu hình bốn bộ chuyển đổi 8 bit. Có nhiều hơn thế. Tôi nghĩ rằng sự hiểu lầm chính ở đây là nghĩ rằng người ta chỉ có thể "thêm" số bit. Để xem tại sao điều này là sai, tốt hơn là nghĩ về ADC như là mạch quyết định điện áp đầu vào "bin" thuộc về cái nào. Số lượng thùng bằng 2 ^ (số bit). Vì vậy, bộ chuyển đổi 8 bit sẽ có 256 thùng (2 ^ 8). Bộ chuyển đổi 24 bit sẽ có hơn 16 triệu thùng (2 ^ 24). Vì vậy, để có cùng số lượng thùng như trong bộ chuyển đổi 24 bit, người ta sẽ cần hơn 65 nghìn bộ chuyển đổi 8 bit (thực tế là 2 ^ 16).

Để tiếp tục với sự tương tự bin - giả sử rằng ADC của bạn có toàn thang đo 1V. Thì "bin" bộ chuyển đổi 8 bit là 1V / 256 = ~ 3.9mV. Trong trường hợp bộ chuyển đổi 24 bit, nó sẽ là 1V / (2 ^ 24) = ~ 59,6nV. Theo trực giác rõ ràng là "quyết định" nếu điện áp thuộc về thùng nhỏ hơn thì khó hơn. Quả thực đây là trường hợp do tiếng ồn và các phi tần khác nhau. Vì vậy, không chỉ một người cần hơn 65 nghìn bộ chuyển đổi 8 bit để có độ phân giải 24 bit mà cả những bộ chuyển đổi 8 bit đó cũng phải có khả năng phân giải thành thùng có kích thước 24 bit (bộ chuyển đổi 8 bit thông thường của bạn sẽ không đủ tốt vì nó có thể phân giải thành ~ 3.9mV bin chứ không phải 59.6nV bin)


Phạm vi bộ chuyển đổi 8 bit sẽ hoạt động từ, là 256 * 59,6nV = 15,26uV. Tôi chưa bao giờ họ thực hiện điện áp tham chiếu thấp và chính xác :)
Hans

14

Chia phạm vi đầu vào của bạn sẽ giúp bạn có được 13 bit chứ không phải 24. Giả sử bạn có phạm vi đầu vào từ -4.096V đến + 4.096V. Sau đó, ADC 12 bit sẽ có độ phân giải 2mV: 2 12 x 2mV = 8.192V (phạm vi từ -4.096V đến + 4.096V). Nếu bạn lấy một nửa dương, bạn sẽ có độ phân giải 1mV ở đó vì phạm vi của bạn giảm một nửa: 2 12 x 1mV = 4.096V. Đó là 2 12 cấp trên 0V và 2 12 cấp khác bên dưới. Cùng nhau 2 12 + 2 121212121212 12 = 2 13 , sao cho thêm 1 bit chứ không phải 12.13

Về việc thay đổi điện áp tham chiếu. Tôi sẽ đưa ra một ví dụ khác. Giả sử bạn có ADC 1 bit và muốn nhận 12 bit bằng cách thay đổi tham chiếu. Một bit sẽ cho bạn 1 nếu đầu vào lớn hơn , và một số không khác. Giả sử tham chiếu của bạn là 1V, thì ngưỡng là 0,5V. Nếu bạn thay đổi tham chiếu của mình thành 0,9V, bạn sẽ có ngưỡng mới ở 0,45V, vì vậy bạn đã có thể nhận ra 3 cấp độ khác nhau. Này, điều này có thể hoạt động, tôi có thể thực hiện 12 bit với ADC 1 bit, và sau đó có lẽ cũng là 24 bit với ADC 12 bit! Giữ lấy nó! Không quá nhanh! Bạn có thể làm điều này, nhưng các thành phần của ADC 1 bit của bạn phải là loại 12 bit. Đó là độ chính xác của tài liệu tham khảo và bộ so sánh. Tương tự, ADC 12 bit sẽ có thể thực hiện 24 bit nếu độ chính xác của ADC đủ chính xác và độ chính xác của điện áp tham chiếu khác nhau là loại 24 bit. Vì vậy, trong thực tế, bạn không đạt được nhiều. VREF2

Không có thứ gọi là bữa trưa miễn phí.

chỉnh sửa
Dường như có một sự hiểu lầm về oversampling, và thực tế là có rất 1-bit ADCs âm thanh mà có thể cung cấp cho bạn độ phân giải 16-bit.
Nếu đầu vào của bạn là một mức DC cố định, giả sử 0,2V trong phạm vi đầu vào 1V, đầu ra của bạn cũng sẽ luôn giống nhau. Với ADC 1 bit, ví dụ này sẽ bằng 0 (mức này nhỏ hơn một nửa so với tham chiếu). Bây giờ sẽ là như vậy, cho dù bạn lấy mẫu ở mức 1 mẫu mỗi giây hay 1000. Vì vậy, tính trung bình không thay đổi điều này. Tại sao nó hoạt động với ADC âm thanh?, Vì điện áp thay đổi theo thời gian (nhiễu), theo Einstein (tính tương đối, bạn biết ;-)) giống như giữ điện áp không đổi và thay đổi tham chiếu. Và sau đóbạn nhận được một số bài đọc khác nhau trong khi quá khổ, mà bạn có thể lấy trung bình để có được một xấp xỉ khá tốt về mức độ thực tế của bạn.
Tiếng ồn phải đủ mạnh để vượt qua (các) ngưỡng của ADC và phải phù hợp với các ràng buộc nhất định, như phân phối Gaussian (nhiễu trắng). Trong ví dụ 1 bit, nó không hoạt động vì độ ồn quá thấp.


Đọc thêm:
Ghi chú ứng dụng Atmel AVR121: Tăng cường độ phân giải ADC bằng cách quá khổ


Tôi không chắc tôi hiểu suy nghĩ của bạn về điều đó. Chắc chắn nếu bạn tách + và - thì bạn có thể lấy mẫu ở 0v đến + 4.096v ở 12 bit và 0v đến -4.096v ở 12 bit tạo tổng cộng 24 bit trên toàn phạm vi?
Majenko

1
@MattJenkins, nó sẽ giống như một bit dấu hiệu. Hãy suy nghĩ về nó. Nếu tôi lấy mẫu 0-10V với 12 bit và 0 - (- 10V) với 12 bit, tôi chỉ cần một bit để nói nếu tín hiệu âm hay dương.
Kortuk

Điều này là đúng - vì vậy mặc dù bạn có thể lấy mẫu là 24 bit, bạn có thể có được độ phân giải chính xác tương tự chỉ với 13 bit.
Majenko

số 8V2V= =22số 8V1V= =23 ).
stevenvh

@MattJenkins, bạn có thể sử dụng 1 mã hóa nóng và lấy 1024 bit thay vì 10. Thực tế vật lý là kỹ sư có thể làm bất cứ điều gì anh ta muốn, chỉ cần nói với khách hàng rằng bạn chỉ tắt 3dB chứ không phải 10kW.
Kortuk

3

Vâng, trên lý thuyết bạn có thể làm những gì bạn muốn, nhưng chỉ khi bạn có sẵn một số thiết bị không thực tế cho bạn.

Một số ý kiến ​​khác được thực hiện cho đến nay về độ chính xác bổ sung hạn chế là chính xác, than ôi.

Xem xét. Đo điện áp với ADC 12 bit và nói 111111000010 Bạn biết rằng giá trị thực nằm ở đâu đó trong phạm vi 1 bit +/- 0,5 bit ở hai bên của giá trị này.

NẾU ADC của bạn chính xác đến 24 bit nhưng chỉ cung cấp 12 bit thì báo cáo rằng vaklue nằm trong khoảng +/- một nửa của 111111000010 000000000000. Nếu đây là trường hợp bạn có thể lấy ADC 12 bit với +/- Phạm vi 1/2 bit, căn giữa nó vào 111111000010000000000000 và đọc kết quả. Điều này sẽ cung cấp cho bạn sự khác biệt giữa tín hiệu thực tế và giá trị aDC, như mong muốn. QED.

Tuy nhiên , ADC 12 bit tự nó chỉ chính xác đến khoảng một nửa. Tổng cộng các lỗi khác nhau của nó làm cho nó khai báo một kết quả nhất định khi kết quả thực lên tới khoảng một nửa nhưng cộng hoặc trừ khác nhau.

Trong khi bạn muốn

111111000010 có nghĩa là 111111000010 000000000000

nó thực sự có nghĩa là 111111000010 000101101010 hoặc bất cứ điều gì.

Vì vậy, nếu sau đó bạn lấy một ADC thứ 2 và đo 12 bit thấp hơn và ASSUME rằng chúng có liên quan đến ranh giới 12 bit chính xác, chúng thực sự có liên quan đến giá trị sai lầm ở trên. Vì giá trị này về cơ bản là lỗi ngẫu nhiên, bạn sẽ thêm 12 bit mới thấp hơn vào 12 bit nhiễu cơ bản ngẫu nhiên. Chính xác + ngẫu nhiên = ngẫu nhiên mới.

THÍ DỤ

Sử dụng hai đối lưu có thể đo phạm vi và đưa ra kết quả sau 1 trong 10 bước. Nếu được chia tỷ lệ thành 100 volt FS, họ cung cấp cho ge 0 10 20 30 40 50 60 70 80 90

Nếu chia tỷ lệ thành 10 volt toàn thang, họ cho 1 2 3 4 5 6 7 8 9

Bạn quyết định sử dụng hai bộ chuyển đổi này để xác định phạm vi 100 volt với độ chính xác 1 volt.

Bộ chuyển đổi 1 trả về 70V. Sau đó, bạn đo điện áp tương ứng với 70V và nhận -3V. Vì vậy, bạn cho rằng giá trị thực tức là + 70V - 3V = 67V.

TUY NHIÊN kết quả 70V trên thực tế có thể là bất kỳ số nào trong số 65 66 67 68 69 70 71 72 73 74

Chỉ khi bộ chuyển đổi thứ 1 CHÍNH XÁC thành 1V trong 100, mặc dù nó hiển thị các bước 10V trong 100V, bạn mới có thể đạt được những gì bạn muốn.

Vì vậy, kết quả thực của bạn là 67V +/- 5 volt = bất cứ thứ gì từ 62V đến 72V. Vì vậy, bạn không khá hơn trước. Trung tâm của bạn đã di chuyển nhưng nó có thể được đặt ngẫu nhiên.

Bạn sẽ có thể có được sự cải thiện khiêm tốn theo cách này vì một trình chuyển đổi thường có thể chính xác hơn một chút so với các bit mà nó trả về (bạn hy vọng) vì vậy trình chuyển đổi thứ 2 của bạn sử dụng điều này.


Một hệ thống thực sự hoạt động đã được đề cập với một thiếu sót quan trọng. Nếu bạn lấy mẫu tín hiệu N lần và bạn thêm + / _ một nửa nhiễu gaussian, bạn sẽ phát tín hiệu "trên toàn dải có thể" và giá trị trung bình bây giờ sẽ chính xác hơn (N) chính xác hơn trước. Sơ đồ này có lưỡi câu và trình độ chuyên môn và bạn không thể có thêm số bit tùy ý, nhưng nó mang lại một số cải tiến.


Trong trường hợp đầu tiên ở trên tôi đã đề cập đến a12 bit ADC với độ chính xác 24 bit. Bạn có thể đạt được thứ gì đó bằng cách sử dụng ADC 12 bit và đọc giá trị giả định của nó với bộ chuyển đổi sigma delta 24 bit.NẾU tín hiệu đủ ổn định để nó vẫn ở cùng một phạm vi một bit, bạn có thể sử dụng ADC thứ 2 để đọc 12 bit thứ 2 ghi tín hiệu ổn định này.

Thay thế - chỉ cần đọc tín hiệu 24 bit ban đầu với sigma delta, khóa ở điểm đó và sau đó liên tục liên quan đến tín hiệu đó với ADC thứ 2. Miễn là tín hiệu nằm trong phạm vi của ADC thứ 2, bạn sẽ nhận được kết quả nhanh hơn nhiều.


Hừm. Một phiếu bầu. Một phiếu bầu xuống. Đưa ra những gì vượt qua cho câu trả lời OK ở đây [tm] :-) Tôi muốn biết ai nghĩ câu trả lời này quá tệ để bỏ phiếu, và tại sao?
Russell McMahon

1

Có một thứ gọi là siêu mẫu có thể được sử dụng để tăng độ phân giải của nhiều loại ADC.

Nó hoạt động bằng cách thêm nhiễu vào tín hiệu. Mặc dù nhiễu làm giảm độ phân giải, cần phải làm cho dữ liệu tự phân tách thành nhiều bit. (Tôi không phải là người xử lý tín hiệu - đây chỉ là cách tôi hiểu nó.) Tiếng ồn của bạn có thể chỉ là 1 hoặc 2 bit nhưng nó cần phải ở đó. Nếu bạn lấy một mẫu 12 bit - bạn có 12 bit. Nếu sau đó bạn lấy 4 mẫu, cộng chúng lại với nhau và chia cho hai, bạn sẽ có được một mẫu 13 bit. (Mỗi bit bổ sung yêu cầu 4 mẫu, do Nyquist.)

Một cách đơn giản để làm điều này là thêm nhiễu vào điện áp tham chiếu. Tôi sử dụng điều này để tăng ADC 12 bit trong DSPIC33F lên 16 bit để có độ phân giải cao hơn. Trước đó, tôi đã thiết lập bộ hẹn giờ không đồng bộ ở tần số cao và sử dụng DMA để xếp hàng một chuỗi các số PRNG vào bản thu đầu ra, tạo ra nguồn nhiễu tương đối sạch. Đầu ra nhiễu làm lệch điện áp tham chiếu khoảng 0,1% (bộ chia 1k-1Meg.) Tiếng ồn là hai chiều, chìm và tìm nguồn cung ứng. Tôi sử dụng DMA của DSPIC33F để xếp hàng các mẫu để điều này có thể được thực hiện với sự can thiệp của CPU. Tất nhiên, tỷ lệ mẫu tối đa giảm xuống khoảng 1/32 so với tỷ lệ bình thường, nhưng đây không phải là vấn đề đối với ứng dụng của tôi.

Vì tiếng ồn không phải lúc nào cũng được phân phối đồng đều, tôi sẽ hiệu chỉnh các đầu vào trên mỗi đơn vị được vận chuyển, mặc dù sự khác biệt có thể chỉ là 1 hoặc 2 LSB.


Làm thế nào để bạn biết tiếng ồn bạn thêm có phổ đúng (là tiếng ồn trắng)? Làm thế nào để bạn quyết định về biên độ? Nếu tiếng ồn của bạn không tốt thì bạn sẽ có độ phân giải cao hơn, nhưng không chính xác hơn.
Federico Russo

@Federico Tất nhiên - đối với tôi, đó là bản dùng thử và lỗi. Tiếng ồn trắng có thể được mô phỏng bằng PRNG và chỉ với 32 mẫu, nó hoạt động đủ tốt. Nếu tôi là một kỹ sư điện tử thực tế, tôi sẽ biết làm thế nào cho đúng.
Thomas O

Đây là một bài viết tại Các thiết bị tương tự có thể giúp giải thích điều này: analog.com/l
Library / anandialogue / archives / 40/02 / ad_noir.html

@ThomasO, tôi đã sử dụng kỹ thuật này với thermistors để thêm 8 bit chính xác. Không có tiếng ồn, chúng tôi sử dụng hệ thống sưởi.
Kortuk

@DarenW Trông có vẻ quen thuộc - Tôi nghĩ đó là nơi tôi có ý tưởng của mình.
Thomas O

1

Sử dụng bộ khuếch đại tổng hợp, bạn có thể tổng hợp hai đầu ra DAC. Bạn có thể sử dụng R1 = 100k, R2 = R3 = 100 Ohm. Bằng cách này, đầu ra sẽ là Vout = - (V1 + V2 / 1000). Bạn sẽ cần nguồn cung cấp kép và nếu bạn muốn nó không bị đảo ngược, bạn cần đặt một bộ khuếch đại đảo ngược khác với gain = 1. Vì vậy, giả sử bạn có bộ xử lý 12 bit với 2 đầu ra và tham chiếu 4.096V. Sau đó (nếu bạn có bộ khuếch đại đảo ngược thứ hai), một mức tăng từ DAC 1 sẽ tăng đầu ra với 1uV và một mức tăng từ DAC 2 sẽ tăng đầu ra với 1mV. Đó không phải là 24 bit trong tổng số. Đó là khoảng 22 bit. Về lý thuyết, bạn có thể chọn R1 lớn hơn R2 và R3 4096 lần và nhận được 24 bit, nhưng bạn sẽ không nhận được kết quả tốt hơn. Bạn sẽ có rất nhiều vấn đề tiếng ồn trong phạm vi microvolts ngay cả khi bạn chọn một opamp tiếng ồn thấp tốt.

Cập nhật Tôi mặc dù đó là một câu hỏi về DAC vì tôi đang tìm kiếm các bộ xử lý. Đây là cách bạn áp dụng nguyên tắc tương tự với ADC. Thay vì tính tổng, bạn phải trừ kết quả ADC1 sau đó nhân 1000 trước khi đo với ADC2.

Độ phân giải ADC kép

Sửa lỗi - ADC3 phải trên VGnd (Vref / 2), không phải Vref để phù hợp với công thức kết quả

Thay vì AZ431, bạn có thể sử dụng bất kỳ tham chiếu 2.5V nào khác hoặc tham chiếu có thể điều chỉnh khác với các thụ động thích hợp để có được chính xác 4.096V. Tham chiếu càng ít nhiệt độ, kết quả càng tốt. Ngoài ra nó phải có tiếng ồn thấp. Lưu ý rằng có lẽ nó không đủ chính xác. Sẽ thật tuyệt khi đặt trimpot nhiều lượt quay 500 ohm giữa R7 và R8 với cần gạt nước vào đầu vào tham chiếu và điều chỉnh chính xác cho Vref = 4.096V. Ngoài ra, một trimpot (2) sẽ là cần thiết giữa R1 và R2 với đầu vào tích cực đến U1. Tinh chỉnh nó cho 2.048V trên VGnd. U1 chỉ là bất kỳ opamp tiếng ồn thấp. (BTW AZ431 là khủng khiếp cho công việc. Tôi đặt nó vì tôi có biểu tượng).

Điều rất quan trọng đối với U2, U3 và U4 là các ampe chopper bù 0. U2 quan trọng hơn vì nó nhân với 100. cứ 1 microvolt đạt tới 100 microvolts. Nếu bạn sử dụng OP07 và bạn không sử dụng đúng cách và nhiệt độ thay đổi với 10 độ thì bạn sẽ có được độ lệch 13 uV, tương đương với 1,3 mV trên đầu ra của U4. Đó là 13 mV trong đầu ra ADC, khiến ADC2 gần như vô dụng.

Ngoài ra U3 phải có khả năng đạt 6.048V - đó là VGnd (2.048V) + 2xVinmax (2x2V = 4V). Đó là toàn bộ ý tưởng về việc cung cấp năng lượng Vcc = + 12V. Vcc có thể thấp tới 6,5V khi sử dụng MAX44252. Vì MAX44252 là cung cấp âm opamp từ đường sắt đến đường ray có thể được bỏ qua và Vss của opamp có thể được kết nối với mặt đất. Điều đó đúng với bất kỳ opamp nào có thể xuống thấp tới 48mV trên đầu ra của nó.

MAX44252 có điện áp bù 2-4uV (điển hình) và độ trôi nhiệt độ 1 đến 5 nV. Đó là 2,64 đô la trên digikey với số lượng 1 và đó là quadopamp vì vậy chỉ có một chip sẽ thực hiện công việc.

Làm thế nào nó hoạt động? Ví dụ, hãy có 10bit DAC. Độ phân giải là 4.096 / 1024 = 4mV. Tín hiệu đầu vào phải liên quan đến VGnd, một nửa của Vref. ADC1 đo điện áp đầu vào như bình thường. Sau đó xuất giá trị qua DAC1. Sự khác biệt giữa Vin và DAC1 là lỗi mà bạn cần khuếch đại, đo lường và thêm vào kết quả ADC1. U2 khuếch đại sự khác biệt Vin - DAC1, so với DAC1, với mức tăng 100. U4 khuếch đại sự khác biệt đó bằng 10 và cũng trừ đi DAC1, so với VGnd. Điều đó làm cho ADC2 = (Vin - DAC1) * 1000, liên quan đến VGnd. Nói cách khác, nếu bạn có 1.234567V trên Vin, liên quan đến VGnd. ADC1 sẽ đo giá trị của 821vì độ phân giải là 4mV và (2.048 + 1.234567) /0.004 = 820.64175. Vì vậy, giá trị DAC sẽ được đặt thành 309 là 309 * 0,004V = 1,236V. Bây giờ ADC2 sẽ nhận được 1.234567-1.236 = -0.001433 * 1000 = -1.433V so với VGnd (lý tưởng). Đó là chế độ chung 2.048-1.433 = 0.615V. 0,615V / 0,004 = 153,75. Vậy giá trị ADC2 = 154. Dễ dàng hơn để tính giá trị trong microvolts để tránh sử dụng float. để chuyển đổi ADC2 trong mV, chúng ta phải nhân giá trị với 4: VADC1 = 821 * 4 = 3284mV. Để chuyển đổi sang uV, chúng ta cần nhân với 1000. Hoặc đó là giá trị ADC1 nhân với 4000. 821 * 4000 = 3284000. Vì vậy, điện áp ADC1 đối với VGnd là 3284000-2048000 = 1236000uV. ADC2 đã được nhân với 1000, vì vậy chúng ta chỉ cần nhân với 4: VADC2 = 154 * 4 = 616. Để có điện áp tương ứng với VGnd, chúng ta cần phải trừ VGnd: 616-2048 = -1432uV. Chúng tôi lấy VGnd = 2048uV ở đây vì chúng tôi có khuếch đại x1000. Bây giờ chúng tôi thêm VADC1 và VADC2: 1236000 + (-1432) = 1234568uV hoặc 1.234568V

Tất nhiên đó chỉ là mơ ước vì khi bạn xử lý microvolts sẽ có đủ loại vấn đề khủng khiếp - tiếng ồn opamp, tiếng ồn điện trở, bù điện áp, độ lệch nhiệt độ, lỗi tăng ... Nhưng nếu bạn sử dụng các bộ phận tốt, ít nhất 1% điện trở và bạn lập trình vô hiệu hóa phần bù và điều chỉnh mức tăng bạn có thể nhận được kết quả khá tốt. Tất nhiên, bạn không thể thấy đầu vào ổn định đến chữ số cuối cùng. có lẽ bạn có thể giới hạn độ phân giải ở mức 10uV (chia kết quả cho 10). Ngoài ra, nhân với 4 có thể được thực hiện bằng cách tổng hợp 4 kết quả tuần tự để có một số trung bình.

Hãy nhớ rằng không có gì trong số này được thử nghiệm. Tôi chỉ mô phỏng giai đoạn khuếch đại mà không tính đến nhiễu và bù opamp. Nếu ai đó quyết định xây dựng nó hãy viết kết quả trong các bình luận.


Câu hỏi hỏi về AD C. Bạn nói về DA C.
mờ niềm tin vào SE

Tôi xin lỗi. Tôi đã tìm kiếm DAC và tôi tìm thấy câu hỏi này. Tôi đã viết mà không đọc kỹ. Tôi sẽ bù lại đề xuất cách áp dụng nguyên tắc tương tự cho ADC.
NickSoft

Tôi đã xóa downvote của tôi, vì bài viết của bạn bây giờ có liên quan đến câu hỏi. Nhưng tôi không nghĩ rằng giải pháp này có thể hoạt động trong thực tế. Tôi sợ sẽ có quá nhiều điểm không chính xác.
mờ mất niềm tin vào SE

Tất nhiên nó sẽ hoạt động. Tuy nhiên độ chính xác phụ thuộc vào các bộ phận được sử dụng. Có các ampe chopper có độ lệch 0,1uV và độ trôi 1-5nV / degC. Ngoài ra, chúng có nhiễu nano 0,1-10Hz. Kết hợp với một tài liệu tham khảo tốt, nó có thể có được đầu ra ổn định lên đến 10 giây uV. Nhưng điều này có thể làm việc với các bộ phận rẻ hơn nếu bạn muốn đạt được thêm chữ số. Ví dụ ADC 10 bit với tham chiếu 4.096V có độ phân giải 4mV. Tôi nghĩ với mạch này, nó có thể được cải thiện thành độ phân giải 0,1uV một cách dễ dàng (có thể với sự tham khảo tốt hơn). Đó là +/- 20000 đếm. Tất nhiên, nó sẽ cần hiệu chuẩn phần mềm để bù và tăng.
NickSoft

Đó là tất cả lý thuyết. Thực tế là việc đọc ADC2 của bạn phụ thuộc vào cài đặt DAC của bạn (và bù đắp opamp, nhưng đây thậm chí không phải là phần quan trọng nhất), điều đó phụ thuộc vào cách đọc ADC1 của bạn (và tất cả những điều này có dung sai), sẽ dẫn đến thực tế bạn chắc chắn đã thắng Thậm chí không thể đảm bảo hoạt động đơn điệu của hệ thống của bạn (ngay cả khi bạn nằm trong giới hạn chính xác được tính toán của mình).
mờ mất niềm tin vào SE

0

Tùy thuộc vào bản chất của tín hiệu của bạn, bạn có thể sử dụng ADC tốc độ cao hơn, độ phân giải thấp hơn, nhưng bạn không cần phải di chuyển điện áp tham chiếu của mình (Tôi sẽ kiểm tra bảng dữ liệu cẩn thận để xem liệu bạn có thể thoát khỏi điều đó không ). Bạn chỉ cần làm một số xử lý bài sau đó; nó được gọi là Oversampling . Câu chuyện lượn sóng tay ngắn: tăng tỷ lệ lấy mẫu của bạn lên rất nhiều và nhận đượctôiog2(rất nhiều) nhiều bit hơn độ phân giải.

chỉnh sửa: xem các ý kiến ​​để sửa chữa toán học của tôi.


Đó cũng là những gì tôi nghĩ, nhưng hãy xem xét điều này: phạm vi đầu vào 1V, đầu vào 0,2V, ADC 1 bit. Cho dù mức độ quá khổ của bạn cao đến mức nào, bạn sẽ luôn đọc 0, trung bình = 0, không phải 0,2.
stevenvh

Quá khổ như thế sẽ đòi hỏi một số "nhiễu" trên tín hiệu. Như stevenvh đã chỉ ra. Đôi khi, chính tín hiệu có đủ "nhiễu" để thực hiện điều này mà không có gì mới. Những lần khác, bạn cần đưa một số nhiễu tần số cao vào tín hiệu-- nhưng nhiễu sẽ được lọc ra trong quá trình xử lý hậu kỳ mà bạn thực hiện sau đó.

Phải, tốt, "tùy thuộc vào bản chất tín hiệu của bạn". Câu hỏi không nói rằng nếu anh ta đọc nhiệt độ từ một nhiệt điện trở dán vào cạnh của viên gạch chì, hoặc nếu anh ta lấy mẫu đầu ra của bộ trộn cho SDR. Vì vậy, anh có một lựa chọn khác. Nếu bất cứ ai cũng có thể cung cấp một con trỏ tới các thuộc tính toán học chính xác, tín hiệu cần cho quá mức quá mức là hợp lệ, tôi thực sự quan tâm, btw. (Và có vẻ như đó sẽ là một bổ sung hữu ích, thay vì, xin lỗi, các chỉnh sửa chỉ hơi gợn sóng hơn so với tuyên bố ban đầu của tôi.)
Jay Kominek

@Jay - Tôi nghĩ bạn nhận được tôiog2(mộttôiot)-2nhiều bit hơn.
stevenvh

Sở thích chính của tôi là tín hiệu âm thanh, vì vậy tôi mặc dù một khi bộ chuyển đổi 24 bit khá đắt và không có nhiều trong số chúng tồn tại, có thể xếp tầng các bộ chuyển đổi có sẵn rộng rãi hơn sẽ hoạt động. Cảm ơn mọi người đã giải thích sâu sắc. Nó có vẻ âm thanh lúc đầu, phải không? :)
triển sai lầm
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.