Wraz z postępem technologicznym, zrozumienie podstawowych urządzeń i technologii wykorzystywanych wokół nas staje się kluczowe. W tym kontekście omówimy przetworniki analogowo-cyfrowe (ADC), które odgrywają kluczową rolę w konwersji sygnałów analogowych na reprezentacje cyfrowe.
Przetworniki analogowo-cyfrowe (ADC) są niezwykle przydatne do przekształcania zjawisk ze świata rzeczywistego na wartości, które możemy wykorzystać w projektach programistycznych. Ale w jaki sposób ADC może przekształcić sygnały analogowe na sygnały cyfrowe, którymi możemy manipulować i osadzać w dowolnym miejscu? Teraz możesz zobaczyć Jak odtwarzać dźwięk przez dwa lub więcej wyjść sprzętowych w systemie Linux.

Szybkie linki
Do czego służy ADC?
Przetworniki analogowo-cyfrowe (ADC) to niezbędne urządzenia w świecie elektroniki, przetwarzające ciągłe sygnały analogowe na zmienne reprezentacje cyfrowe. Zrozumienie ich działania jest kluczowe dla sterowania sygnałami i danymi w systemach automatyki i sterowania.
Przetworniki ADC znajdziesz niemal wszędzie. Są w Twoim telefonie, konwertując Twój głos na ciąg wartości binarnych. Są w Twoim samochodzie, mierząc obrót kół. Działają w oscylatorach, pomagając w przechwytywaniu i reprezentacji sygnałów. Jednak większość ludzi będzie ich używać w świecie wideo i audio, gdzie wprowadzenie światła i dźwięku do przestrzeni cyfrowej jest niezbędne.
Proces konwersji polega na podzieleniu sygnału analogowego na dwie części: ilość (wartość) i precyzję (liczbę bitów). Wyzwaniem jest utrzymanie dokładności konwersji w celu uzyskania dokładnych danych.
Czym jest częstotliwość próbkowania? Jak częstotliwość próbkowania wpływa na przetwornik ADC?
Jednym z najważniejszych parametrów przetwornika ADC jest częstotliwość próbkowania, czyli liczba odczytów wykonywanych na sekundę.
Bardzo zaawansowany oscyloskop może przetwarzać dziesięć miliardów próbek na sekundę. Mały przetwornik analogowo-cyfrowy MCP3008 może przetwarzać stosunkowo skromne dwieście tysięcy próbek na sekundę. W świecie audio typowa częstotliwość próbkowania wynosi 44.100 44.1 próbek na sekundę (XNUMX kHz).
Im więcej próbek pobierzemy, tym dokładniej możemy odwzorować sygnał. Czasami jest to konieczne, a czasami nie. Załóżmy, że budujemy korektor (cyfrowy kontroler przeznaczony do sterowania elektroniką, taki jak na stole montażowym oświetlenia lub dźwięku) za pomocą kilkudziesięciu potencjometrów. W tym przypadku wartości, które musimy zmierzyć, raczej nie będą się zmieniać miliony razy na sekundę, ponieważ nasze palce nie poruszają się tak szybko. Potrzebujemy tylko wystarczającej liczby próbek, aby wynik był płynny i responsywny.
Co to jest przepływność? Czy przepływność wpływa na jakość ADC?
Musimy również wziąć pod uwagę jakość próbki, którą otrzymujemy. Jest ona w dużej mierze determinowana przez szybkość transmisji, która mówi nam, ile stanów włączenia i wyłączenia możemy wykorzystać do cyfrowej reprezentacji napięcia. Im więcej bitów mamy, tym więcej możliwych wartości możemy zarejestrować w danej próbce, a tym samym płynniejszy i dokładniejszy będzie wynik końcowy.

Pisaliśmy o System binarny i jego działanieJeśli więc nie masz pewności, to dobry punkt wyjścia. Ile bitów potrzebujemy? Ponownie, to zależy od tego, co chcemy osiągnąć. Czasami ograniczenia mogą wynikać z używanego protokołu. Na przykład, MIDI 1.0 ogranicza się do wartości siedmiobitowych (a czasami czternastobitowych). W innych przypadkach czynnikiem ograniczającym może być ludzka percepcja. Jeśli poprawa jakości wykonania nie przyniesie zauważalnej poprawy rezultatu, może nie być opłacalna.
W jaki sposób multipleksowanie poprawia jakość przetwornika ADC?
Popularne przetworniki ADC, takie jak: Reklamy1115 و MCP3008 Wiele wejść. Ale pod maską znajduje się tylko jeden przetwornik ADC. Jest to możliwe dzięki multiplekserom wbudowanym w te urządzenia. Multipleksery są absolutnie wszechobecne w świecie elektroniki i komunikacji. To cyfrowe przełączniki, które działają jak kontrolery przepływu danych dla przetwornika ADC. Przetwornik ADC może próbkować jeden kanał, potem następny, a potem kolejny. Zatem, jeśli masz osiem kanałów i częstotliwość próbkowania 200000 25000, możesz przełączać się między nimi, pobierając XNUMX XNUMX próbek na kanał.
Jakie są rodzaje przetworników ADC?
Przetworniki ADC działają w różny sposób, zależnie od kosztów i wymaganych możliwości.
Pracuje Flash ADC za pośrednictwem bardzo złożonego dzielnika napięcia. Zestaw przycisków sterujących rezystorem dzieli napięcie odniesienia na przyrosty, które są następnie porównywane z wejściami za pomocą zestawu przycisków sterujących komparatorem. Przetworniki ADC Flash są niezwykle szybkie, ale mają ograniczoną głębokość bitową ze względu na liczbę wymaganych komparatorów. Z tego samego powodu są również energochłonne.
Szukać Podzakres ADC Aby zrekompensować te niedociągnięcia, zadanie podzielono na dwa oddzielne moduły: jeden do zgrubnego obliczenia napięcia i drugi do precyzyjnego obliczenia. Dzięki podziałowi możemy zmniejszyć liczbę porównań. Niektóre podprzetworniki ADC dzielą zadanie na trzy etapy, z wbudowaną korekcją błędów w trakcie ich trwania.
SAR (Rejestr Sekwencyjnej Aproksymacji) Przetworniki ADC wykonują swoją pracę poprzez rodzaj wyszukiwania binarnego. Załóżmy, że mamy osiem bitów do wypełnienia. SAR rozpocznie od 10000000 00000000 11111111, wartości środkowej (1 0 XNUMX to wartość dolna, a XNUMX XNUMX XNUMX to wartość górna). Jeśli napięcie przekroczy ten punkt środkowy, SAR zachowa skrajnie lewą cyfrę jako XNUMX; jeśli nie, SAR ustawi skrajnie lewą cyfrę na XNUMX. Możemy powtórzyć ten proces z kolejną cyfrą i tak dalej, wielokrotnie. To stopniowo przesunie wartość szacowaną w kierunku wartości rzeczywistej:

W ten sposób stale zawężamy zakres wyszukiwania, dzieląc możliwości na pół i pytając, czy wynik jest powyżej, czy poniżej punktu środkowego. W tym przypadku wartość mieści się w przedziale od 0 do 255; po kilku iteracjach ADC stwierdza, że liczba ta wynosi około 77.
Konwertery delta-sigma są prawdopodobnie najtrudniejsze do zrozumienia. Są wykorzystywane w aplikacjach muzycznych i pomiarach sygnałów o wysokiej rozdzielczości. Działają poprzez nadpróbkowanie sygnału i poprawę wyniku za pomocą wysoce złożonych operacji filtrowania i matematycznych. Proces ten skutecznie zmniejsza częstotliwość próbkowania, jednocześnie zwiększając rozdzielczość. Te przetworniki ADC sprawdzają się doskonale, gdy szum i dokładność są ważniejsze niż szybkość.
Wreszcie mamy całkujący przetwornik ADC, który jest jeszcze wolniejszy niż przetwornik ADC delta-sigma. Działa on z wykorzystaniem kondensatora, którego szybkość ładowania może być wykorzystana do określenia napięcia wejściowego. Częstotliwość próbkowania jest tutaj często synchronizowana z częstotliwością zasilania, co pozwala na redukcję szumów do absolutnego minimum.
Czym jest twierdzenie Nyquista-Shannona lub twierdzenie o próbkowaniu cyfrowym?
Twierdzenie Nyquista-Shannona stanowi teoretyczne ramy dla zrozumienia, jak sygnały analogowe (takie jak dźwięk czy obraz) mogą być reprezentowane cyfrowo. Próbkowanie i kodowanie cyfrowe stanowią fundament tej teorii.
Jednym z kluczowych punktów twierdzenia Nyquista-Shannona jest to, że każdy sygnał analogowy można przedstawić za pomocą zestawu próbek cyfrowych. Jakość reprezentacji zależy od częstotliwości próbkowania (liczby próbek w jednostce czasu), gdzie połowa częstotliwości próbkowania odnosi się do minimalnej liczby próbek potrzebnych do przedstawienia sygnału.
Załóżmy, że chcemy opisać sygnał analogowy cyfrowo. Aby to zrobić, potrzebujemy co najmniej dwóch punktów dla każdego danego cyklu: jednego na górze i jednego na dole. Dlatego nasza częstotliwość próbkowania musi być co najmniej dwukrotnie wyższa od najwyższej częstotliwości, jaką spodziewamy się zmierzyć.
Częstotliwość ta jest znana jako częstotliwość Nyquista, od nazwiska szwedzko-amerykańskiego fizyka Harry'ego Nyquista. Teoria ta została nazwana na cześć Nyquista i Claude'a Shannona (wybitnego matematyka i kryptografa), ale nie Edmunda Whittakera, który wpadł na ten pomysł przed nimi.
Niezależnie od tego, komu przypiszemy tę teorię, jest z nią pewien problem. Nie da się z góry przewidzieć, kiedy zostanie osiągnięty szczyt i dół fali. Co by było, gdybyśmy próbkowali w połowie fali przychodzącej? Zauważ, jak przesunięcie sygnału przychodzącego może spłaszczyć cały zarejestrowany wynik:

Albo nawet halucynacje nowych form fal, które nigdy wcześniej nie istniały:

Tego rodzaju halucynacje nazywane są homonimami.
Problem z aliasingiem
Być może znasz iluzję „koła wozu”, która czasami pojawia się podczas fotografowania obracającego się obiektu. Koła samochodu czy śmigła helikoptera wydają się poruszać do tyłu, ale bardzo powoli. W niektórych przypadkach śmigła mogą się nawet całkowicie zatrzymać (z naprawdę dziwacznymi skutkami – zobacz poniższy film!).
Grając w starą grę wideo, mogłeś również zauważyć, że linie równoległe czasami generują dziwne artefakty. Pasiaste płoty, drabiny i zworki zaczynają wyglądać naprawdę dziwnie. A co z tymi dziwnymi syczącymi dźwiękami, które czasami słychać, słuchając kogoś mówiącego przez słabej jakości połączenie cyfrowe? To zniekształcenie, ale to specyficzny rodzaj szumu. Skąd te wszystkie brzydkie częstotliwości wyłaniające się z szumu? Jeśli słuchasz bogatego harmonicznie brzmienia, takiego jak zestaw perkusyjny, efekt będzie jeszcze bardziej zauważalny – szczególnie w wysokich częstotliwościach.
Jeśli zrozumiesz przyczynę jednego z nich, jesteś na dobrej drodze do zrozumienia ich wszystkich. W przypadku koła wodnego, stała liczba klatek na sekundę oznacza, że nie możemy prawidłowo uchwycić ruchu. Jeśli coś obraca się o 350 stopni w każdej klatce, naturalnie postrzegamy to jako ruch wsteczny o 10 stopni. Innymi słowy, nie mamy wystarczającej ilości informacji, aby dokładnie przedstawić, co się dzieje. Pobierane przez nas próbki są niezgodne z tym, co próbujemy zmierzyć.
Problem ten nie ogranicza się do konwersji analogowo-cyfrowej. W wielu przypadkach konwertujemy jeden rodzaj sygnału cyfrowego na inny.
Jakie jest więc rozwiązanie? Jest ich kilka. Możemy zastosować specjalny filtr, aby poradzić sobie z tymi artefaktami, co wiele przetworników ADC robi samodzielnie. Albo możemy pobrać znacznie więcej próbek, niż potrzebujemy. Im więcej próbek pobierzemy, tym dokładniejszy będzie nasz obraz przebiegu:

Częstotliwość Nyquista stanowi połowę częstotliwości próbkowania i jest uważana za próg, który należy przekroczyć, aby uniknąć zniekształceń znanych jako aliasing. Jeśli częstotliwość próbkowania przekracza połowę częstotliwości próbkowania, może to prowadzić do aliasingu i niepożądanych artefaktów w przetworzonym sygnale.
Na przykład, jeśli masz sygnał o wysokiej częstotliwości i używasz niskiej częstotliwości próbkowania, wysoka część sygnału może być nieprawidłowo reprezentowana, co powoduje powstawanie innych artefaktów w przekonwertowanym sygnale. Aby uniknąć aliasingu, należy użyć częstotliwości próbkowania równej co najmniej połowie wyższej częstotliwości w sygnale. Sprawdź Jak działa alternator w Twoim samochodzie?
często zadawane pytania
P1. Jaka jest funkcja przetworników analogowo-cyfrowych (ADC)?
Przetworniki analogowo-cyfrowe (ADC) przekształcają ciągłe sygnały analogowe na postać cyfrową, umożliwiając systemom automatyki i elektroniki efektywne rozumienie i przetwarzanie danych.
P2. W jaki sposób sygnały analogowe są konwertowane na cyfrowe za pomocą przetworników ADC?
Odbywa się to poprzez podzielenie sygnału na dwie części: ilość (wartość) i precyzję (liczbę bitów). Wyzwaniem jest utrzymanie dokładności konwersji, aby uzyskać dokładne dane.
P3. Czy istnieją różne rodzaje przetworników analogowo-cyfrowych?
Tak, istnieje wiele różnych przetworników ADC w zależności od ich zastosowania, np. przetworniki ADC przeznaczone do zastosowań związanych z dźwiękiem lub sterowaniem ruchem.
P4. Jakie znaczenie mają przetworniki analogowo-cyfrowe w nowoczesnych systemach cyfrowych?
Znaczenie przetworników ADC polega na umożliwieniu urządzeniom i aplikacjom interakcji ze światem zewnętrznym i efektywnego rozumienia danych w erze cyfrowej.
Wyższej jakości próbka dla uzyskania najlepszych rezultatów
Jeśli uważasz to za interesujące, dobra wiadomość jest taka, że nie zagłębialiśmy się w ten temat zbyt głęboko. Jest tu wiele zaawansowanych szczegółów do omówienia: przetworniki analogowo-cyfrowe (ADC) są bardzo złożone.
Ale z perspektywy użytkownika końcowego lub przeciętnego entuzjasty Arduino, jest to również całkiem proste. Napięcia wchodzą, a liczby wychodzą. Niezależnie od tego, co chcesz zmierzyć – czy to wilgotność gleby, drgania ludzkiej krtani, czy strumień załamanych fotonów w soczewce – istnieje duże prawdopodobieństwo, że istnieje przetwornik analogowo-cyfrowy (ADC), który spełni Twoje oczekiwania. Możesz to sprawdzić już teraz. Zalety i wady korzystania z klonu Arduino w projektach.










