Да, чуть дальше я об этом написал. (если единичный экземпляр нужен, то и этого хватит). Как я понял, тут нужно исследовать рынок, там ЦАПы и до гиг есть, но я бы их назвал синтезаторами.
Вопрос: Если на цапе выход единичный(постоянный) то понятно... но менять задание выхода со скоростью ги в секунду... кто это будет делать? разумеется если внутри цап нет циклического массива задания, которое загружается заранее в процессе работы.
Поэтому я их условно называл синтезаторами, т.е. задаётся только частота дергания, но ваша версия с внутренней паматью более правдоподобна. Я сам не работал с цапами, но с удовольствтем почитал бы обзорные статьи для расширения кругозора.
Есть и отдельные стнтезаторы. Например AD9833. Но к ним много вопросов. Нарример, а может ли он родить пилу от +Х до -Х?
По описанию, даташиту и отзывам понравилось вот такое. Живьем пока пощупать не успел, если кому интересно отпишусь о результатах испытаний.
Добыл MCP4921 на Чипе за 120 руб. Запустился почти сразу, пилу выдал ровную, стоит не шатается. Полный цикл тудя-сюда на все 12 бит порядка 35мс. Кстати, на библиотеке от Адафрута медленнее раза в 2-3, сделал напрямую через SPI, чего и всем советую. Вероятно, это почти максимум для шины на 8-битном AVR. Довольно быстро, но хотелось бы побыстрее на треть. Еще приобрел AD42ARZ-32 на порядок дороже, за 1350 руб. Пока не понятно, стоит ли он того.
Для самообразования: А пилу как формируете - по формуле или из таблицы в памяти? Сигнал формируется по точкам? Сколько вы их берёте на период? Спойлер: Расчёты/теория, жалко удалять Для MCP4921 нужно отправить 16 бит, чтобы изменить напряжение, т.е. ардуинка (тактовая 16 МГц) может пулять данные с частотой 1 МГц, хотя из ЦАПа, как я понял из даташита (картинки 2-29 - 2-31 переходных процессов), можно выжать ~200кГц. 10 точек на спад и 10 точек на подъём => частота 10 кГц, у вас же 35мс = 28 кГц...почти совпало=) А пила как формируется - по формуле или из таблицы в памяти? предполагаю из таблицы (хотя, 28 кГц, не велика частота для ардуины, может быть и посчитает) Сколько вы берёте точек на период? по моим расчётам получается 7 и на спад, и на подъём, но с таким масштабом должны быть видны ступеньки.
Для пилы то какая формула? Наращиваем до максимума, потом сбавляем до минимума. Равномерно. Навороченную AD42ARZ-32 запустить не удалось. ( Не знаю что не так, перепробовал все.
Из спортивного интереса попробовал в качестве источника команд вместо Atmega328 использовать STM32, который быстрее раз в несколько. Результат примерно тот же, быстрее процентов на 5 получилось, вероятно за счет более быстрых расчетов. То есть уперся в ограничение либо в шине SPI, либо в самом АЦП.
Убил кучу времени на советское ретро КР572ПА1А. Все не мог понять что я делаю не так, гонит херню какую то и все тут. Наконец то открылось, херню гонит исключительно потому что сам херня редкостная. Мало того, что ток не держит на стабильно заданных положениях, так еще и все что короче 100мкс сдувается в пузырь. Хотя по даташиту время установки не более 5мкс! Наверное писали по традиции со всем остальным советского стандарта, отрапортуем, а там кто проверит? Вот я проверил, оказалось реальность хуже рапорта раз в 20. Сейчас у меня три таких и еще две КР572ПА2, которых даже касаться не хочется. На этом экскурс в цифровую докомпьютерную элементную базу для себя закончил.