Да, у всех микроконтроллеров есть какой-то способ генерировать сигналы напряжения, управляемые прошивкой. Метод грубой силы для микро включает цифро-аналоговый преобразователь (ЦАП). Микропрограмма записывает число в ЦАП и выдает напряжение, пропорциональное этому числу.
Одна важная спецификация D / As - сколько битов имеет число. Это определяет его разрешение. ЦАП может выдавать 2 N разных значений, если в числе N битов. Например, 8-разрядный ЦАП может выдавать 256 различных уровней напряжения. Обратите внимание, что обычный вывод цифрового выхода можно рассматривать как 1-битный ЦАП. Число имеет два состояния, 0 и 1, а выходное напряжение высокое или низкое.
Большинство микросхем не поставляются со встроенным мультиразрядным D / As, потому что на это мало спроса. Обычно мы пытаемся преобразовать аналоговые значения в цифровые как можно раньше, выполняем манипуляции цифровым способом, а затем контролируем их с помощью импульсов. Необычно хотеть, чтобы микро производило аналоговое напряжение. Даже в таких приложениях, как аудио, о которых вы можете думать как об аналоговых сигналах, вещи часто обрабатываются цифровым способом или с импульсами в конце. Это в основном то, что усилитель класса D.
Если вы не хотите использовать один из ограниченных наборов микросхем со встроенным ЦАП, вы можете добавить его извне. Есть много доступных D / As, что микро может, например, управлять шиной SPI.
Однако, если вам не нужен высокоскоростной выход, низкочастотная фильтрация ШИМ-выхода микро дает хороший аналоговый сигнал. Микросхемы хороши в создании хорошо контролируемых последовательностей импульсов, и многие из них имеют встроенное оборудование для этой цели. Например, рассмотрим цифровой выход, который можно менять каждые 1 мкс (с частотой 1 МГц). Предположим, вы сгруппировали временные срезы длительностью 1 мкс в блоки по 1023. Для каждого блока вы можете иметь от 0 до 1023 срезов, имеющих высокий уровень. Если бы вы усреднили это, вы бы получили аналоговое значение с 1024 возможными уровнями, то есть то, что вы получили бы из 10-битного Ц / А. Необработанный сигнал будет содержать желаемое среднее значение плюс высокие частоты, начиная с 1 МГц / 1023 = 978 Гц. Применяя несколько полюсов фильтрации нижних частот (один резистор и конденсатор на полюс),
Этот тип АЦП обладает некоторыми приятными свойствами: он очень линейный, монотонный и не имеет мощности двух выходов с глюками. Единственным недостатком обычно является пропускная способность. Для нескольких простых резисторов и конденсаторов, образующих фильтр нижних частот, вы, вероятно, не сможете получить аналоговый сигнал быстрее, чем несколько десятков Гц.
Обратите внимание, что использование 1023 фрагментов на блок было произвольным выбором, который вы сделали. Если вам нужно большее разрешение, увеличьте блоки, но тогда фильтруемый выход должен будет меняться медленнее. Тем не менее, многие микросхемы могут осуществлять генерацию ШИМ в аппаратном обеспечении со скоростью, значительно превышающей частоту среза 1 МГц.
Я бы попытался проверить, можно ли заставить работать метод ШИМ, прежде чем переходить к внешнему Ц / Д.