Окончание.
Начало читайте здесь:
Часть 1. Схема
Программное обеспечение микроконтроллера написано на языке Си и скомпилировано в среде WinAVR GCC.
Генератор поддерживает форматы звуковых файлов RIFF/WAVE в LPCM, 8/16 бит, моно/стерео, частота дискретизации 8 кГц – 48 кГц. Любые другие форматы, такие как ADPCM, MP3 и AAC должны быть переконвертированы в формат PCM. Звуковые фйалы на карте памяти должны иметь имена формата NNN.wav, где NNN – трехзначное число в диапазоне 001 – 255. Храниться они должны в корневой директории карты памяти.
Команды управления вводятся как бинарный код при помощи 8 контактов SW1 – SW8, при этом будет воспроизводиться соответствующий звуковой файл. К примеру, нажатие кнопки SW1 (что соответствует логическому 0 на выводе PB4 микроконтроллера) соответствует команде на воспроизведение файла 001.wav, нажатие SW4 – воспроизведение файла 008.wav, одновременное нажатие SW1 и SW5 – воспроизведение файла 017.wav.
Дополнительно имеется 4 режима работы генератора по команде управления. Информация о режиме работы должна содержаться в файле 000.txt, который также размещается в корневой директории.
Пользователи могут установить самостоятельно режим работы генератора, отредактировав текстовый файл в соответствии с описанием режимов.
Режимы работы генератора по принятию команды управления:
- Mode 0 : Level trigger – Режим 0: Синхронизация по уровню. Воспроизведение звукового файла в соответствии с принятым кодом в режиме автоповтора. При поступлении измененного кода (команды управления), изменяется воспроизводимый звуковой файл. Если принятый код равен, 0 воспроизведение звука прекращается.
- Mode 1 : Level trigger (sustained) – Режим 1: Синхронизация по уровню (длительный). Режим схожий с режимом 0, но звуковой файл, в соответствии с принятым кодом, воспроизводится полностью и прекращается при поступлении кода 0.
- Mode 2 : Edge trigger – Режим 0: Синхронизация по фронту. Однократное воспроизведение звукового файла, полностью в соответствии с принятым кодом. Любое изменение кода во время воспроизведения текущего звукового файла игнорируется.
- Mode 3 : Edge trigger (re-triggerable) – Режим 3: Синхронизация по фронту (перезапускаемый). Аналогичный режиму 2, но с разрешением изменения управляющего кода. Для перезапуска текущего звукового файла необходимо сначала ввести код 0, а затем код (команду) соответствующего файла.
Конфигурация Fuse-битов для установки при программировании микроконтроллера следующая: младший байт 0xC1, старший байт 0xDD, расширенный 0x01. Напомним, что информация о Fuse-битах находится в каждом .hex файле для прошивки, Если программатор не поддерживает такой формат файлов, следует удалить последние три строчки в .hex файле и запрограммировать Fuse-биты, самостоятельно используя значения, указанные выше.
Загрузки
Файл 000.txt (установка режима работы генератора) – скачать
Файл проекта (WinAVR GCC) и .hex файлы для прошивки - скачать