Уже много тем по поводу воспроизведения звука на AVR было ранее в форуме. Хочу дополнить этот список еще одной, надеюсь она будет кому-небудь полезна.
Итак: В рамках проекта по разработке некого устройства появилась задача - разработать инструментарий. Одним из таких инструметов должно было бы стать устройство для многоканальной генерации звука. Необходимое количество каналов - 8, частота дискретизации - как можно выше. Для обеспечения универсальности устройство на практике должно воспроизводить, а не генерировать сигнал.
Для выполнения задачи было решено использовать микроконтроллеры ATMega88. Для хранения записанных звуковых данных - использовать MMC flash карту.
В схему включено 2 контроллера ATMega88, MMC карта. Ведущий контроллер ATMega88 выполняет чтение данных c MMC карты по SPI шине, передает по той же шине в подчиненный контроллер данные и команды.
Ведущий контроллер может быть подключен по RS232 с компьютером. От компьютера выполняется прием команд и данных для записи в MMC карту.
К ведущему контроллеру подключены 2 кнопки для управления воспроизведением.
Устройство может работать с 20 звуковыми дорожками различной конфигурации. Под конфигурацией подразумевается количество одновременных каналов воспроизведения и частоты дискретизации.
Возможные конфигурации: 1, 4, 8 каналов воспроизведения
Частоты дискретизации:
- для 1 и 4-х канального режима от 6 до 48 кГц
- для 8-ми канального режима от 6 до 12 кГц
Генерация сигнала выполняется ШИМ перефирией, частота ШИМ модуляции (не зависимо от частоты дискретизации воспроизводимых звуков) - 48 кГц
С компьютера осуществляется управление списком звуковых дорожек и их конфигурацией, осуществляется заливка, удаление, и пр.
Также, с компьютера может осуществлятся выборка текущей воспроизводимой дорожки, приглушение необходимых каналов и некоторые другие возможности.
Для перехода "на дорожку вперед" и "на дорожку назад" на устройстве предустмотрены 2 кнопки управления.
Исходник в приложении.
Прикрепленные файлы
GZSM.rar ( 114 килобайт )
Кол-во скачиваний: 853