Dlaczego warto korzystać z wersji 2.048V i 4.096?


25

Na wielu układach odniesienia napięcia (na przykład MAX610x ) wydaje się, że dostępne są różne napięcia odniesienia (1,25, 1,8, 2,5, 3,3 itd.).

Co mnie dziwne, to referencje 2.048V i 4.096V. Dlaczego używamy referencji przy tych napięciach zamiast po prostu 2 V i 4 V, co z pewnością byłoby łatwiejsze w użyciu matematycznym?


11
dla systemu binarnego 2.048 jest łatwiejszy w użyciu matematycznym
— Alnitak

@Aln: Nie bardzo. Na pierwszy rzut oka po prostu wygląda to łatwiej.
— Olin Lathrop

Odpowiedzi:


49

Podczas kwantyzacji napięć (tj. Przechodzących przez ADC), zwykle przekształcasz napięcie w reprezentację liczb całkowitych, która jest reprezentowana za pomocą schematu potęgi 2.

Oznacza to, że mieszczą się w strukturze liczb binarnych, np. 8-bitowy przetwornik cyfrowo-analogowy ma 256 indywidualnych poziomów. Użycie odniesienia o mocy 2 liczby miliwoltów oznacza, że ​​rzeczywiste wartości cyfrowe mają znaczące wartości.

Na przykład, jeśli masz 11-bitowy przetwornik cyfrowo-analogowy z referencją 2,048, wówczas wartością cyfrową jest liczba miliwoltów.

Edycja : Jak wskazał Andrew Morton, zapewnia to 2048 poziomów, podczas gdy istnieje 2049 poziomów miliwoltów, w tym 0. Dlatego zatem, aby poprawnie przedstawić każdy bit jako miliwolt, potrzebujesz dodatkowego bitu. Jeśli jednak będziesz konsekwentnie zaokrąglać, nadal można zaokrąglić każdy element w dół i osiągnąć 0-2047 mV lub zaokrąglić w górę i mieć 1-2048 mV. Jeśli zmieścisz 2048 do 2049, stracisz niezłą właściwość bezpośredniego dopasowania liczby miliwoltów.


3
Co jest bardzo przydatne do pomiaru za pomocą komparatora. Jednym z powodów, dla których możemy kupić multimetr 5 USD.
— mckenzm

1
Ummm .... 11111111111 (binarnie) to 2047. Czy to oznacza, że ​​wejście zerowe do przetwornika cyfrowo-analogowego wyniesie 1 mV, czy że wejście 1024 wyniesie 1024,5 mV?
— Andrew Morton

Ach, dobra uwaga! Cóż, pasuje do tej samej liczby poziomów, ale z jednym błędem wyłączonym.
— głośno

To błąd post-fence i zmniejsza się o połowę za każdym razem, gdy zwiększasz liczbę bitów o jeden. (podobnie jak błąd kwantyzacji).
— Rodney

Typowy ADC typu chleb i masło wydaje się być 12-bitowy, a jeśli wysoki bit jest używany jako znak, a zakres napięcia jest skonfigurowany tak, aby był bipolarny - wyśrodkowany wokół 0 V, 12-bitowa liczba całkowita ze znakiem ma w rzeczywistości zakres -2048 .. + 2047. Zastanawiam się, czy odniesienie do „parzystości binarnej” może być w jakiś sposób powiązane z ujemnym końcem zakresu :-)
— fr.

21

Referencje 4,096 V i 2,048 V pozwalają ADC wygenerować wartość całkowitą w mV. Oznacza to, że każdy krok ADC reprezentuje 1 mV lub całkowitą wielokrotność 1 mV. 4,096 V = 2 ^ 12 mV


2
pozwalają na dokładność 12 lub 11-bitowego ADC.
— jcaron

1
ADC o wyższej rozdzielczości również korzystają z takiego ustawienia, a dokładnie oprogramowanie sterujące tymi ADC może wykorzystywać liczby całkowite do reprezentowania 0,5 mV, 0,25 mV i tak dalej zamiast zmiennych punktu stałego.
— Lior Bilia

ADC o wyższej i niższej rozdzielczości zdecydowanie korzystają z tego układu, ale aby uzyskać dokładnie 1 mV kroków, jak podajesz w swojej odpowiedzi, musisz dopasować odniesienie do rozdzielczości.
— jcaron

To ideał, tak, ale niestety nie ma tam odniesienia 16.777216V.
— Lior Bilia

10

Powodem tego jest to, że można je łatwo podzielić na bazę 2. To sprawia, że ​​są one przydatne w przypadku takich ADC, w których 12-bitowy ADC z szyną między 0 a 4,096 V będzie oznaczać 1 mV na bit, co jest znacznie łatwiejsze numer.

Istnieje również więcej napięć, które robią to samo. Można również uzyskać odniesienia napięcia w 1.024 V, czyli 2 10 . Różne odniesienia mogą być używane dla różnych bitowych przetworników ADC.


5
Dlaczego używamy referencji przy tych napięciach zamiast po prostu 2 V i 4 V.

Może to być korzystne w odpowiednich okolicznościach, gdy mikrokontroler wyświetla wartości bezpośrednio człowiekowi. Jednak przez większość czasu dzieje się tak dlatego, że jest wielu ludzi, którzy są źli z matematyki lub nie przestawają i naprawdę myślą.

Jak już inni pokazano 2048 = 2, 11 /1000 i 4.096 = 2, 12 /1000. Jeśli używasz 12-bitowego A / D z napięciem odniesienia 4,096 V, każda liczba wynosi 1 mV.

Jednak zatrzymaj się i zastanów, kiedy to naprawdę ma znaczenie. W jednostkach miliwoltów nie ma z natury nic szczególnego. Pod względem fizyki są one całkowicie arbitralną jednostką do pomiaru pola elektromagnetycznego.

Na przykład w systemie sterowania jednostki używane do różnych mierzonych wielkości mogą być dowolne, o ile wiesz, jakie są. Jeśli używasz punktu stałego, to chcesz, aby maksymalna wartość prawie wypełniła liczbę i użyj wystarczającej liczby bitów, aby uzyskać niezbędną rozdzielczość. Skalowanie jednostek powinno być podyktowane wygodnymi wewnętrznymi reprezentacjami binarnymi.

W każdym razie nieuchronnie będą istnieć regulowane współczynniki wzmocnienia. Niestandardowe skalowanie wszystkich wartości wejściowych można dostosować, stosując różne wartości współczynników wzmocnienia, które już tam są, a system musi już obsługiwać dowolne wartości. Żadne dodatkowe obliczenia nie są wymagane, tylko różne wartości wprowadzane do tych samych obliczeń.

W niektórych przypadkach te małe systemy wbudowane muszą wyświetlać ludziom wartości cyfrowe. W takim przypadku jednostki miliwoltów są przydatne, gdy chcesz pokazać napięcie z dokładnością do trzech miejsc po przecinku. Jednak interfejsy ludzkie z natury są powolne w porównaniu do mikrokontrolerów. Zasadniczo nie chcesz aktualizować wyświetlacza cyfrowego przy częstotliwości większej niż 2 Hz. Konwersja liczby na cyfry dziesiętne i tak wymaga już pewnej arytmetyki. Skalowanie niektórych wartości wewnętrznych w celu dopasowania wyświetlanej rozdzielczości jest raczej niewielkim dodatkowym krokiem w stosunku do tego procesu.

Następnie zastanów się, jak często rzeczywiście chcesz mierzyć napięcie w zakresie od 0 do 4,095 V lub przynajmniej większość tego zakresu. Jeśli chcesz zmierzyć 0 do 5 V, to odniesienie 4.096 naprawdę nie pomaga. W każdym razie musisz osłabić sygnał do A / D, więc odczyt tłumionego sygnału w miliwoltach nie daje żadnej szczególnej korzyści, nawet przy wyświetlaniu wartości cyfrowych.

Krótko mówiąc, w dzisiejszym świecie, w którym mikrokontrolery obsługują odczyty A / D, referencje 2.048 i 4.096 V zaspokajają głównie dostrzeganą potrzebę, a także szarpiący kolana, którzy źle myślą o tym problemie.


nie każdy, kto potrzebuje podziału 1 V (lub jego części), korzysta z mikrokontrolera
— Alnitak

głosuj w górę i jest jedna rzecz, o której zapomniałeś wspomnieć - myślę - wszystkie omówione odpowiedzi ignorują, że 1024 ~ = 1000 <3% błąd i mniejszy 3% jest wciąż drogi i trudny do zdobycia (jeśli należy pamiętać o całym systemie )
— półbitek
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.