Звуковой PCM генератор на микроконтроллере ATtiny861. Часть 1. Схема

В статье рассматривается конструкция простого звукового генератора на микроконтроллере. В основе конструкции лежит проект аудиоплеера с SD картой памяти на микроконтроллере ATtiny25/45/85.

Звуковой PCM генератор на микроконтроллере AVR

Основным элементом рассматриваемого устройства является микроконтроллер ATtiny861 производства компании Atmel, который имеет более быстрый встроенный ШИМ, по сравнению с ATtiny85. Следовательно, микроконтроллер может генерировать более чистый звук, по сравнению с другими устройствами семейства AVR.

Вебинар «Особенности применения литиевых батареек Fanso (EVE) в популярных решениях» (30.11.2021)

Для хранения звуковых файлов и конфигурационного файла используется карта памяти SD (microSD), но возможно использование и карт памяти MMC с соответствующим слотом.

Дополнительно, 20-выводный микроконтроллер имеет много доступных линий ввода/вывода, что позволяет ввести систему управления генератором от внешних сигналов. Благодаря своим компактным размерам, простоте изготовления и управления,  данный звуковой генератор может использоваться в качестве звукового модуля для игрушек, музыкального звонка, развлекательного устройства и пр.

Аппаратная часть

Карта памяти (microSD) используется в качестве устройства хранения и подключена к микроконтроллеру по интерфейсу SPI с использованием встроенного аппаратного модуля USI (универсальный последовательный интерфейс). Аудиосигнал генерирует встроенный ШИМ, и поэтому динамик может подключаться непосредственно к выходу ШИМ. Уровень громкости, конечно, не слишком высокий, но при использовании качественных динамиков его будет вполне достаточно.

Блок-схема микроконтроллера ATtiny861

Блок-схема микроконтроллера ATtiny861
Кликните для увеличения

При подключении звукового генератора к усилителю, следует помнить, что необходимо в этом случае использовать фильтр низких частот (Low Pass Filter). Подключать выход ШИМ непосредственно к усилителю нельзя, т.к. можно вывести из строя усилитель и динамик.

Для питания генератора потребуется источник напряжения 3.3 В

Принципиальная схема генератора с различными вариантами конфигурации выхода.

PCM генератор на ATtiny861
Кликните для увеличения

Как видно по схеме, имеется три различных варианта конфигурации выходного каскада:

  • режим монофонического выхода (файл для прошивки sdsg_mo.hex);
  • режим стереофонического выхода (файл для прошивки sdsg_st.hex);
  • режим монофонического выхода с высоким разрешением (файл для прошивки sdsg_hr.hex);
  • режим монофонического выхода с высоким разрешением и усилителем (файл для прошивки sdsg_hr.hex).

Следует учитывать, что для каждого варианта конфигурации выхода имеется и свое программное обеспечение, которое необходимо запрограммировать в микроконтроллер (для режима монофонического выхода с высоким разрешением и усилителем используется то же ПО, что и для режима с монофоническим выходом с высоким разрешением).

Также, следует обратить внимание на установку Fuse-битов при программировании микроконтроллера. Установки Fuse-битов содержаться в каждом .hex файле (sdsg_mo.hex/sdsg_st.hex/sdsg_hr.hex, соответствуют конфигурации выхода), однако не все программаторы поддерживают такой формат файлов. Поэтому, в такой ситуации, пользователю необходимо будет вручную установить конфигурацию Fuse-битов, а также необходимо удалить последние три строчки из .hex файла. О необходимой конфигурации Fuse-битов указано в тексте исходного кода в фале main.c, скачать который можно по ссылке в конце статьи.

Светодиод, по схеме подключенный к порту PB2, является индикатором статуса при воспроизведении звукового файла и индикатором ошибок:

  • две вспышки светодиода свидетельствуют об ошибке файловой системы или аппаратной ошибке;
  • три вспышки светодиода – звуковой файл не найден;
  • четыре вспышки – неверный формат звукового файла.

В следующей части: прошивка микроконтроллера, форматы звуковых файлов, команды управления и режимы работы.

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: 255-Voice PCM Sound Generator. Part 1. Schematic

Изготовление 1-4 слойных печатных плат за $2

Запись вебинара «Микросхемы для защиты цепей питания: ограничители всплесков напряжения и тока, контроллеры горячей замены, идеальные диоды»
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя