Показать сообщение отдельно
Старый 01.02.2017, 05:12   #2
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: MCP4725: максимальный сэмплрейт

Провёл предварительные эксперименты. Получается отсылать почти 40 тысяч сэмплов в секунду на максимальной скорости I2C (регистр TWBR = 1), какую только позволяет ATmega328 со стандартным резонатором на 16MHz. Если перепаять резонатор на 20MHz (в общем-то у меня уже есть одна ардуина с перепаянным, специально заказывал в таком же формфакторе резонаторы с алиэкспресса), то без переделывания кода получится отправить почти 50 килосэмплов, что как раз перекрывает потребности в 44100. Но я думаю, что можно выжать ещё немного скорости, оптимизировав библиотеку для работы с I2C. Кроме того неплохо бы её переделать на работу в неблокирующем режиме, иначе отправлять-то на вывод данные я смогу, но их же ещё надо успевать откуда-то брать (с micro SD карты, например).

Что касается работы чипа MCP4725, то я точно вижу, что на выходе напряжение меняется, но пока не оценивал достаточно ли быстро согласно входным данным, чтобы можно было воспроизводить звук. Жаль нет ружья осциллографа. Опять придётся выдумывать какие-то убер костыли.
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Phantom за это полезное сообщение:
mr.DIMAS (01.02.2017), Randomize (01.02.2017), St_AnGer (01.02.2017)