Подключение SPI ЦАП к AVR

Сегодня ради освоения технологии подключил к ATMega16 в составе PinBoard2 через SPI-интерфейс 16-разрядный аудио-ЦАП BU9480F. Использовал аппаратный SPI и прерывание. Писал на С. Исходник выложу позже по причине его плохого оформления. Прикрепил архив проекта.
Пока несколько фото.

PinBoard2 + BU9480
Микросхема BU9480 — 16-разрядный ЦАП с трехпроводным SPI-интерфейсом (стандартный аудио LRCLK, BCLK, SDATA).
Максимальный делитель для тактирования SPI, с которым ЦАП выдал нормальные данные на выход, получился = 32. Точную причину я пока не нашел, вероятно, это связано с задержкой передачи между пачками по 8 бит.
Для тестового сигнала я сделал таблицу синуса с шагом 6 градусов, это дало 62 60 отсчетов на период.
Результат на экране
Алгоритм передает по одному отсчету синуса на оба канала и сразу переходит к следующему отсчету. Измеренная частота синуса составила 204 Гц. Частота дискретизации получается 62*204 = 12648 60*204 = 12240 Гц для стерео-сигнала. Этого явно недостаточно для высококачественного звука…
Более крупно:
DAC крупно
Четко видны отсчеты ЦАП. Никакой фильтрации на выходе, конечно, нет, поэтому присутствует и половина питания, как и должно быть.
В свободное время планирую сделать софт-SPI (хотя на асме для АВР не очень хочу писать, еще даже не приступал к его освоению), хотя маловероятно, что он будет сильно быстрее аппаратного.
UPD: выложил архив проекта.
Файлы в топике: SPI_DAC.zip

Комментарии (2)

RSS свернуть / развернуть
А с чего бы это ему, софтовому то, быть быстрее? Тип точно частоту собираетесь «подогнать» к максимальной, при которой еще будет работать?
Дык для этого проще кварц правильно выбрать, с учетом возможностей АВР-овского делителя. А вобще не очень так ЦАП, какова его цена?
0
Я пришел к выводу, что AVR не подходит для высококачественного звука )))), так что продолжать буду на STM32.
Цап выпаял с какого-то старого сиди-проигрывателя, не помню уже. Интересно его звучание, все-таки мультибитник…
Ну и просто для освоения программировани МК полезно, все-таки я начинающий.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.