Kategorie: Polecane artykuły » Praktyczna elektronika
Liczba wyświetleń: 49294
Komentarze do artykułu: 0

Jak przebiega konwersja sygnału analogowego na cyfrowy

 

W elektronice sygnały są podzielone na: analogowe, dyskretne i cyfrowe. Na początek wszystko, co czujemy, widzimy, słyszymy, w przeważającej części, jest sygnałem analogowym, a procesor komputera widzi sygnał cyfrowy. Nie brzmi to bardzo wyraźnie, więc zajmiemy się tymi definicjami i tym, w jaki sposób jeden rodzaj sygnału jest konwertowany na inny.

Jak przebiega konwersja sygnału analogowego na cyfrowy

Rodzaje sygnałów

W reprezentacji elektrycznej sygnał analogowy, sądząc po jego nazwie, jest analogiem o rzeczywistej wartości. Na przykład stale odczuwasz temperaturę otoczenia przez całe życie. Nie ma przerw. Jednocześnie odczuwasz nie tylko dwa poziomy „gorącego” i „zimnego”, ale nieskończoną liczbę doznań opisujących tę wartość.

Dla osoby „zimno” może być inne, jest to jesienny chłód i mróz zimowy oraz lekkie mrozy, ale nie zawsze „zimno” jest temperaturą ujemną, podobnie jak „ciepło” nie zawsze jest temperaturą dodatnią.

Rodzaje sygnałów

Wynika z tego, że sygnał analogowy ma dwie cechy:

1. Ciągłość w czasie.

2. Liczba wartości sygnału dąży do nieskończoności, tj Sygnału analogowego nie można dokładnie podzielić na części ani skalibrować przez rozbicie skali na określone sekcje. Metody pomiarowe - oparte na jednostce miary, a ich dokładność zależy tylko od ceny podziału skali, im jest ona mniejsza, tym dokładniejszy jest pomiar.


Sygnały dyskretne - są to sygnały będące sekwencją raportów lub pomiarów dowolnej wielkości. Pomiary takich sygnałów nie są ciągłe, ale okresowe.

Spróbuję wyjaśnić. Jeśli gdzieś zainstalowałeś termometr, mierzy on wartość analogową - wynika to z powyższego. Ale ty, właściwie postępując zgodnie z jego zeznaniami, otrzymujesz dyskretne informacje. Dyskretne oznacza osobne.

Na przykład obudziłeś się i dowiedziałeś o ile stopni miał termometr, następnym razem spojrzałeś na niego w południe i trzeci raz wieczorem. Nie wiesz, jak szybko zmieniła się temperatura, równomiernie lub gwałtowny skok, znasz dane tylko w tym momencie, który obserwowałeś.


Sygnały cyfrowe To zestaw poziomów, typy 1 i 0, wysoki i niski, niezależnie od tego, czy jest. Głębokość odbicia informacji w formie cyfrowej jest ograniczona głębokością bitową urządzenia cyfrowego (zestawu logiki, mikrokontrolera, procesora itp.). Okazuje się, że idealnie nadaje się do przechowywania danych boolowskich. Jako przykład możemy przytoczyć następujące informacje: do przechowywania danych takich jak „Dzień” i „Noc” wystarczy 1 bit informacji.


Bit - jest to minimalna ilość informacji w formie cyfrowej, może przechowywać tylko dwa typy wartości: 1 (jednostka logiczna, poziom wysoki) lub 0 (logiczne zero, poziom niski).

W elektronice odrobina informacji jest reprezentowana w postaci niskiego poziomu napięcia (bliskiego zeru) i wysokiego poziomu napięcia (zależy od konkretnego urządzenia, często pokrywa się z napięciem zasilania danego węzła cyfrowego, typowe wartości to 1,7, 3,3, 5V, 15V).

Sygnały cyfrowe

Wszystkie wartości pośrednie między akceptowanymi poziomami niskim i wysokim są regionem przejściowym i mogą nie mieć określonej wartości, w zależności od zespołu obwodów, zarówno urządzenie jako całość, jak i wewnętrzny obwód mikrokontrolera (lub dowolnego innego urządzenia cyfrowego) może mieć inny poziom przejścia, na przykład dla 5 - logika napięcia, wartości napięcia od 0 do 0,8 V można przyjąć jako zero, a od 2 V do 5 V jako jednostkę, podczas gdy przerwa między 0,8 a 2 V jest niezdefiniowaną strefą, w rzeczywistości pomaga oddzielić zero od jedności.

Im bardziej dokładne i pojemne wartości musisz przechowywać, tym więcej potrzebujesz bitów, podajemy przykładową tabelę z cyfrowym wyświetlaczem czterech wartości pory dnia:

Noc - Rano - Dzień - Wieczór

W tym celu potrzebujemy 2 bity:

Przykład z cyfrowym wyświetlaniem czterech wartości pory dnia

Konwersja analogowo-cyfrowa

W ogólnym przypadku konwersja analogowo-cyfrowa to proces przekształcania wielkości fizycznej na wartość cyfrową. Wartość cyfrowa to zestaw jednostek i zer postrzeganych przez urządzenie przetwarzające.

Taka transformacja jest konieczna do interakcji technologii cyfrowej ze środowiskiem.

Ponieważ analogowy sygnał elektryczny powtarza sygnał wejściowy w swojej formie, nie można go zapisać cyfrowo „tak jak jest”, ponieważ ma nieskończoną liczbę wartości. Przykładem jest proces nagrywania dźwięku. W oryginalnej formie wygląda to tak:

Podstawowy dźwięk

Jest to suma fal o różnych częstotliwościach. Które przy rozkładaniu częstotliwości (więcej szczegółów, patrz transformaty Fouriera), w ten czy inny sposób, można przybliżyć do podobnego obrazu:

Fala dźwiękowa

Teraz spróbuj przedstawić go w formie zestawu typu „111100101010100”, to raczej trudne, prawda?

Innym przykładem potrzeby konwersji wielkości analogowej na cyfrową jest jej pomiar: termometry elektroniczne, woltomierze, amperomierze i inne przyrządy pomiarowe oddziałują z wielkościami analogowymi.



Jak przebiega konwersja?

Najpierw spójrz na schemat typowej konwersji sygnału analogowego na cyfrowy i odwrotnie. Później wrócimy do niej.

Konwersja analogowo-cyfrowa

W rzeczywistości jest to złożony proces, który składa się z dwóch głównych etapów:

1. Dyskretyzacja sygnału.

2. Kwantyzacja według poziomu.

Dyskretyzacja sygnału jest określeniem przedziałów czasowych, w których sygnał jest mierzony. Im krótsze są te przerwy, tym dokładniejszy jest pomiar. Okres próbkowania (T) to czas od początku odczytu danych do jego końca. Częstotliwość próbkowania (f) jest odwrotnością:

fd = 1 / T

Po odczytaniu sygnału jest on przetwarzany i zapisywany w pamięci.

Okazuje się, że w czasie, gdy odczyty sygnału są odczytywane i przetwarzane, może się on zmieniać, a zatem zmierzona wartość ulega zniekształceniu. Istnieje takie twierdzenie Kotelnikowa i wynika z niego następująca reguła:

Częstotliwość próbkowania powinna być co najmniej 2 razy większa niż częstotliwość próbkowanego sygnału.

To jest zrzut ekranu z Wikipedii, z fragmentem twierdzenia.

Twierdzenie Kotelnikowa

Aby określić wartość liczbową, konieczna jest kwantyzacja według poziomu. Kwant jest pewnym zakresem mierzonych wartości, uśrednionym zredukowanym do pewnej liczby.

X1 ... X2 = Xy

Tj. sygnały od X1 do X2, warunkowo równe określonej wartości Xy. Przypomina to cenę podziału miernika wskaźnikowego. Podczas dokonywania odczytów często przyrównuje się je do najbliższego znaku na skali instrumentu.

Tak więc przy kwantyzacji według poziomu, mogą one zawierać więcej kwantów, dokładniejszych pomiarów i miejsc dziesiętnych (setne, tysięczne itd.).

Mówiąc dokładniej, liczba miejsc dziesiętnych zależy raczej od rozdzielczości ADC.

Kwantyzacja poziomu

Zdjęcie pokazuje proces kwantyzacji sygnału z wykorzystaniem jednego bitu informacji, jak opisałem powyżej, kiedy, gdy pewien limit zostanie przekroczony, akceptowana jest wartość wysokiego poziomu.

Po prawej stronie znajduje się kwantyzacja sygnału i zapis w postaci dwóch bitów danych. Jak widać, ten fragment sygnału jest już podzielony na cztery wartości. Okazuje się, że w rezultacie gładki sygnał analogowy zamienił się w cyfrowy sygnał „krokowy”.

Liczbę poziomów kwantyzacji określa wzór:

Liczba poziomów kwantyzacji

Gdzie n jest liczbą bitów, N jest poziomem kwantyzacji.

Oto przykład sygnału podzielonego na większą liczbę kwantów:

Kwantyzacja ADC

To bardzo wyraźnie pokazuje, że im częściej pobierane są wartości sygnału (im wyższa częstotliwość próbkowania), tym dokładniej jest on mierzony.

Konwersja sygnału analogowego na cyfrowy

Ten obraz pokazuje konwersję sygnału analogowego na postać cyfrową, a na lewo od osi rzędnych (oś pionowa) znajduje się 8-bitowy zapis cyfrowy.


Konwertery analogowo-cyfrowe

ADC lub przetwornik analogowo-cyfrowy można zaimplementować jako oddzielne urządzenie lub zintegrować z nim mikrokontroler.

Wcześniej mikrokontrolery, na przykład rodzina MCS-51, nie zawierały ADC, do tego celu stosowano zewnętrzny mikroukład i konieczne było napisanie podprogramu do przetwarzania wartości zewnętrznego układu scalonego.

Wejścia analogowe na płycie Arduino

Teraz są w większości nowoczesnych mikrokontrolerów, na przykład AVR AtMEGA328, który jest podstawą najpopularniejszych płytka drukowana Arduino, jest wbudowany w sam MK. W Arduino odczyt danych analogowych jest prosty dzięki komendzie AnalogRead (). Chociaż mikroprocesor, który jest zainstalowany w tym samym nie mniej popularnym Raspberry PI, nie ma go, więc nie wszystko jest takie proste.

W rzeczywistości istnieje wiele opcji konwerterów analogowo-cyfrowych, z których każda ma swoje wady i zalety. Opisanie, które w tym artykule nie ma większego sensu, ponieważ jest to duża ilość materiału. Rozważ tylko ogólną strukturę niektórych z nich.

Najstarszą opatentowaną opcją ADC jest patent Paula M. Raineya „Facsimile Telegraph System”, USA Patent 1,608,527, złożony 20 lipca 1921 r., Wydany 30 listopada 1926 r. Jest to 5-bitowa bezpośrednia konwersja ADC. Od nazwy patentu pochodzą myśli, że korzystanie z tego urządzenia wiązało się z transmisją danych za pośrednictwem telegrafu.

Pierwszy ADC

Jeśli mówimy o nowoczesnych ADC bezpośredniej konwersji, mają one następujący schemat:

Obwód ADC

To pokazuje, że dane wejściowe to łańcuch z komparatorówktóre wysyłają swój sygnał, gdy przekroczą jakiś sygnał progowy. To jest głębia bitowa i kwantyzacja. Każdy nawet trochę silny w obwodach widział ten oczywisty fakt.

Kto nie jest silny, wtedy obwód wejściowy działa w ten sposób:

Sygnał analogowy jest wprowadzany do wejścia „+” jednocześnie. Wyjścia o oznaczeniu „-” otrzymują napięcie odniesienia, które jest rozkładane za pomocą łańcucha rezystorów (dzielnika rezystancyjnego) na szereg napięć odniesienia. Na przykład seria dla tego łańcucha wygląda następująco:

Urefi = (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) * Uref

Przecinek wskazuje w nawiasach, jaka część całkowitego napięcia odniesienia Uref jest dostarczana na wejście każdego napięcia wejściowego.

Tj. każdy element ma dwa wejścia, gdy napięcie wejściowe jest podpisane «+» przekracza napięcie wejściowe znakiem „-”, na wyjściu pojawia się jednostka logiczna. Kiedy napięcie na dodatnim (nieodwracającym) wejściu jest niższe niż na ujemnym (odwracającym) wejściu, wówczas wyjście wynosi zero.

Komparator

Napięcie jest dzielone, tak że napięcie wejściowe jest dzielone na żądaną liczbę cyfr. Kiedy napięcie na wejściu osiągnie moc wyjściową odpowiedniego elementu, pojawia się sygnał, obwód przetwarzający wysyła „prawidłowy” sygnał w postaci cyfrowej.

Taki komparator ma dobrą szybkość przetwarzania danych, wszystkie elementy obwodu wejściowego są wyzwalane równolegle, główne opóźnienie tego typu ADC powstaje z opóźnienia 1 komparatora (są one jednocześnie wyzwalane jednocześnie), a opóźnienie jest koderem.

Istnieje jednak ogromna wada obwodów równoległych - potrzeba dużej liczby komparatorów, aby uzyskać przetworniki ADC o wysokiej rozdzielczości. Na przykład, aby uzyskać 8 cyfr, potrzebujesz 2 ^ 8 komparatorów, a to aż 256 sztuk. Dla dziesięciobitowego (nawiasem mówiąc, w 10-bitowym ADC Arduino, ale innego typu) potrzebujesz 1024 komparatorów. Oceniasz, czy taka opcja leczenia jest odpowiednia i gdzie może być potrzebna.

Istnieją inne rodzaje ADC:

  • kolejne zbliżenie;

  • Delta Delta ADC.

Wniosek

Konwersja sygnału analogowego na cyfrowy jest konieczna do odczytu parametrów z czujników analogowych. Istnieje osobny typ czujników cyfrowych, są to albo układy scalone, na przykład DS18b20 - na jego wyjściu jest już sygnał cyfrowy i może być przetwarzany przez dowolny mikrokontroler lub mikroprocesor bez potrzeby stosowania ADC, lub czujnik analogowy na płycie, która ma już własny konwerter. Każdy typ czujnika ma swoje zalety i wady, takie jak odporność na zakłócenia i błąd pomiaru.

Znajomość zasad konwersji jest obowiązkowa dla każdego, kto pracuje z mikrokontrolerami, ponieważ nawet nie każdy nowoczesny system ma wbudowane takie konwertery, musisz używać zewnętrznych mikroukładów. Na przykład, możemy zacytować taką płytkę zaprojektowaną specjalnie dla złącza Raspberry PI GPIO z precyzyjnym ADC na ADS1256.

Zobacz także na bgv.electricianexp.com:

  • Podłączanie czujników analogowych do Arduino, czytanie czujników
  • Jaka jest różnica między czujnikami analogowymi i cyfrowymi
  • Sygnał cyfrowy i analogowy: jakie są podobieństwa i różnice, zalety i wady ...
  • Najpopularniejsze czujniki dla Arduino
  • Spust Schmitta - widok ogólny

  •