Dlaczego mikrokontrolery zwykle nie mają wbudowanych przetworników DAC?

44

W tej odpowiedzi przeczytałem, że mikrokontrolery zwykle nie mają przetworników DAC, podczas gdy mają ADC. Dlaczego?

edytuj
Doceniam fakt, że integracja rezystorów jak w przetworniku cyfrowo-analogowym R-2R jest droga pod względem nieruchomości (dziękuję Mike, za odpowiedź), ale pomyślałem, że przełączane obecne przetworniki cyfrowo-analogowe mogą być bardzo małe, ponieważ potrzebują tylko garści tranzystorów.

Federico Russo
źródło
+1 to naprawdę dobre pytanie. zastanawiałem się również nad tym samym.
sybreon
Muszę zmierzyć 2 napięcia za pomocą A / D, a następnie wygenerować 2 sygnały D / A jednocześnie. Ma to na celu kontrolę prądu przez 2 tranzystory jednocześnie. Szum i nieliniowość metod PWM filtrowanych jedno- lub dwubiegunowo stanowią prawdziwy problem. Czasami chcesz „wrócić do analogu”. Dla mnie wygląda to na rozwiązanie Cypress. Głównym powodem, dla którego warto wybrać mikro, jest zmniejszenie liczby części. Dodanie takich rzeczy, jak zewnętrzne silniki D / A, pokonuje bramę.

Odpowiedzi:

30

Po pierwsze, niektóre mikrokontrolery mają konwertery D / A. Są one jednak znacznie mniej powszechne niż przetworniki A / C.

Oprócz problemów technicznych głównym powodem jest popyt na rynku. Pomyśl o tym. Jaki rodzaj aplikacji wymagałby prawdziwego D / A? Dość rzadko chce się, aby mikro wytwarzało sygnał analogowy o dużej prędkości, chyba że chodzi o przetwarzanie sygnału. Głównym rynkiem tego jest jednak dźwięk, który wymaga znacznie większej rozdzielczości niż można zbudować przy użyciu tego samego procesu, który służy do tworzenia cyfrowego mikrokontrolera. Tak więc audio i tak będzie wykorzystywać zewnętrzne A / D i D / As. DSP przeznaczone do takich aplikacji mają wbudowany sprzęt komunikacyjny do komunikacji z takimi urządzeniami zewnętrznymi, jak I2S.

W przeciwnym razie w przypadku zwykłych aplikacji kontrolnych strategia polega na konwersji na cyfrową na wczesnym etapie procesu, a następnie na utrzymaniu cyfrowości. To przemawia za A / D, ale D / As są bezużyteczne, ponieważ nie chcesz wracać do analogu.

Rzeczy, które zwykle kontrolują mikrokontrolery, są kontrolowane za pomocą PWM (modulacja PulseWidth). Zasilacze impulsowe i dźwięk klasy D z natury działają na impulsach. Sterowanie silnikiem, sterowanie elektromagnesem itp. Odbywa się za pomocą impulsów zapewniających wydajność. Chcesz, aby element pass był w pełni włączony lub całkowicie wyłączony, ponieważ idealny przełącznik nie może rozproszyć żadnej mocy. W dużych systemach lub tam, gdzie moc wejściowa jest niewielka lub kosztowna (np. Zasilanie bateryjne), ważna jest wydajność przełączania systemów. W wielu średnich przypadkach łączna moc zużywana nie jest problemem, ale pozbyciem się zmarnowanej mocy w postaci ciepła. Obwód przełączający, który rozprasza 1 W zamiast 10 W, może kosztować nieco więcej w częściach elektronicznych niż obwód liniowy 10 W, ale ogólnie jest o wiele tańszy, ponieważ nie potrzebujesz radiatora o odpowiedniej wielkości i wadze,

Należy pamiętać, że wyjścia PWM, które są bardzo powszechne w mikrokontrolerach, mogą być używane do wytwarzania sygnałów analogowych w nietypowych przypadkach, gdy są one potrzebne. Filtrowanie dolnoprzepustowe wyjścia PWM jest najłatwiejszym i najładniejszym sposobem na wytworzenie sygnału analogowego z mikro, o ile masz produkt o wystarczającej rozdzielczości *. Filtrowane sygnały wyjściowe PWM są ładnie monotoniczne i wysoce liniowe, a rozdzielczość w stosunku do prędkości może być użyteczna.

Czy miałeś na myśli coś konkretnego, o czym marzysz, aby mikro miało przetwornik cyfrowo-analogowy? Są szanse, że można to rozwiązać za pomocą PWM z filtrem dolnoprzepustowym lub wymagałoby zewnętrznego D / A dla wyższej rozdzielczości * prędkości. Różnica między filtrowanym PWM a zewnętrznym jest dość wąska, a rodzaj aplikacji, które faktycznie potrzebują takiego sygnału, jest również wąski.

Olin Lathrop
źródło
Oprócz dźwięku, Arbitrary Function Generator (ARB) dotyczy jedynej aplikacji, o której mogę myśleć, gdzie nie można używać PWM.
stevenvh
Jedyny punkt, w którym DAC wydaje mi się przydatny, gdy wymagana jest wysoka rozdzielczość ORAZ wysoka prędkość. PWM ma ograniczoną rozdzielczość ze względu na swój licznik lub timer, a przy pewnej prędkości aktualizacji wymaga bardzo wysokiej prędkości odniesienia.
Hans
Innym miejscem, w którym jest przydatny, jest potrzeba napięcia wyrównawczego dla czujnika analogowego z przesunięciem losowym.
Rocketmagnet
1
@Rocket: Przesunięcia przycinania mają bardzo niską przepustowość, więc PWM z filtrem dolnoprzepustowym działa dla nich dobrze. Nie wymaga to żadnych dodatkowych części, ponieważ zwykle chcesz przesunąć i osłabić pełny zakres wyjściowy w celu regulacji trymowania.
Olin Lathrop
1
Nie jestem pewien, jak reprezentatywni są inni producenci µc, ale około 10% PIC µc ma wbudowane przetworniki cyfrowo-analogowe, uważam, że wszystkie są 10-bitowe. 16 PIC (głównie w rodzinach PIC24 i dsPIC33, ale kilka PIC16) ma dwa D / A.
tcrosley,
12

Przetworniki DAC są stosunkowo drogie w obszarze krzemu. Znacznie mniej aplikacji wymaga wyjścia analogowego niż wejściowego, a funkcjonalność przetwornika cyfrowo-analogowego potrzebna dla dużej części aplikacji może być osiągnięta taniej przy użyciu PWM i niewielkiej ilości zewnętrznego filtrowania.

mikeselectricstuff
źródło
6

Dwie dalsze kwestie, o których jeszcze nie wspomniano:

  • Istnieje wiele przypadków, w których część będzie musiała być w stanie zmierzyć napięcia na wielu pinach, ale nie jednocześnie. W tym celu można użyć pojedynczego ADC wraz z jedną bramką przejściową na pin. Natomiast większość części, które wymagałyby wielu wyjść DAC, potrzebowałyby ich jednocześnie.

  • Obwody łączące ADC ze światem zewnętrznym muszą być zdolne do przesyłania tylko wystarczającej ilości prądu, aby naładować lub rozładować dowolną zamierzoną lub pasożytniczą pojemność na obwodzie wejściowym ADC. Jest to nie tylko niewielka ilość prądu, ale w zasadzie niezależna od aplikacji. Dodatkowy obszar wymagany do obsługi „najgorszych” wymagań dotyczących prądu byłby nieistotny w porównaniu z tym, co byłoby wymagane dla czegoś, co mogłoby działać w sprzyjających okolicznościach. Natomiast różne aplikacje przetworników cyfrowo-analogowych będą miały różne bieżące wymagania dotyczące pozyskiwania lub zatapiania, a wielkość obszaru chipa wymagana do spełnienia tych wymagań byłaby ogromnie zróżnicowana. Wydanie 20% powierzchni chipa na kilka przetworników cyfrowo-analogowych, które dokładnie pasują do wymagań aplikacji, byłoby rozsądne,

Nawiasem mówiąc, jedną z technik, których nie widziałem zbyt często, jest połączenie przetwornika cyfrowo-analogowego z PWM. Korzystając z przetwornika cyfrowo-analogowego R / 2R, łatwo jest dodać dodatkowy sygnał wejściowy, którego waga jest taka sama jak LSB (więc np. Przetwornik cyfrowo-analogowy 3 + 1 miałby wagi 1/2, 1/4, 1/8 i 1/8). Biorąc 8-bitowy przetwornik cyfrowo-analogowy i dodając do niego sygnał PWM, można uzyskać wynik 12-bitowy z 1/128 szumem 12-bitowego przetwornika częstotliwości, ale przy niższym koszcie niż przy użyciu 12-bitowego przetwornika cyfrowo-analogowego o porównywalnej liniowości.

supercat
źródło
1

Jak powiedział Olin, niektóre MCU mają przetworniki cyfrowo-analogowe. Spójrz na Cypress PSoC3 i PSoC5. Zawierają do dwóch DAC-ów. Mogą być one niezwykle przydatne w aplikacjach z czujnikiem analogowym, które wymagają wzmocnienia napięcia przed wzmocnieniem.

Na przykład użyliśmy jednego do pomiaru wyjść czujników ciśnienia. Każdy układ czujnika ciśnienia ma losowe przesunięcie napięcia. Kiedy MCU resetuje się, ustawia napięcie przetwornika cyfrowo-prądowego na wartość mniejszą niż moc wyjściowa czujnika. Następnie zwiększa różnicę między tymi napięciami.

Wspaniale jest mieć ADC, DAC, Opamps i MCU w jednym układzie.

Rocketmagnet
źródło
1
Informacje o używaniu przetwornika cyfrowo-analogowego z czujnikiem ciśnienia, w którym zastosowano napięcie przesunięte. Oczywiście nie znam szczegółów waszych obwodów. Ale czy nie byłoby łatwiej zapisać przesunięcia w pamięci uC i zastosować cyfrowo korekcję w oprogramowaniu?
Nick Alexeev
@NickAlexeevit może nie być najlepszą rzeczą, ponieważ w ten sposób marnujesz ułamek zakresu ADC, obniżając dokładność.
clabacchio
Dokładnie. Jeśli chcesz zastosować wzmocnienie (x50), musisz mieć najniższe napięcie różnicowe przy zerowym ciśnieniu.
Rocketmagnet
0

Wracając do tego w 2017 r., Istnieje teraz wiele rodzin mikrokontrolerów, które obejmują przetworniki cyfrowo-analogowe (oprócz wymienionych powyżej COCress PSOC i PIC):

  • Urządzenia analogowe ADuC70xx
  • Atmel AVR XMEGA (niektóre części)
  • Infineon XMC4100 / XMC4200
  • Seria NXP Kinetis, inne
  • Renesas H8, R8, inne
  • Silicon Labs
  • STMicroelectronics niektóre z serii STM32
  • TI, niektóre z serii MSP430, a także niektóre z serii C2000
  • Zilog (z procesorem Z8)

Wyszukiwanie w Indeksie produktów Digikey > Układy scalone> Wbudowane - Mikrokontrolery dają listę z jedną z kolumn oznaczoną „Konwertery danych”

Patrick Pribyl
źródło