Представленная ниже схема SD-аудио плеера содержит минимум деталей. В основе схемы лежит 8-pin AVR-микроконтроллер ATtinyX5 series (85), который содержит 2 быстрых ШИМ-выхода с несущей частотой 250 кГц. Это дает возможность выводить аудио-сигналы с широким диапазоном частот.
В проекте аудио-плеера используется 8-pin AVR микроконтроллер и SD-карта памяти. SD-карта управляется всего шестью линиями: 2 линии питания и 4 сигнальные, что обеспечивает простое подключение к 8-pin микроконтроллеру.
Схемотехника плеера
Разработано 3 варианта схем SD-плеера. В качестве аудио-носителя используется microSD. Естественно, что для SD и microSD должны использоваться соответствующие сокеты. Динамики подключены напрямую к ШИМ-выходу микроконтроллера, поэтому нагрузка на выход МК может быть слишком большой. Но выходной уровень все равно никогда не превысит напряжение питания МК 3 вольта, поэтому громкость воспроизведения не будет слишком высокой, но вполне будет достаточной для прослушивания на небольших настольных динамиках. Если аудио-выход будет подключаться к усилителю, то ВЧ-составляющие аудио-сигнала должны быть отфильтрованы ФНЧ-фильтром. Потому не подавайте выходной сигнал с данного плеера напрямую на усилитель, иначе он может сгореть!
Программное обеспечение
Использование карт памяти в различных проектах подразумевает, что ПО должно работать с файловой системой FAT. Я выбрал модуль Petit-FatFs module. Данный модуль был разработан для систем содержащих малое количество памяти RAM – 512 байт и меньше. Он подходит как для МК tiny AVR, так и для PIC-микроконтроллеров.
В прилагаемом ниже архиве содержится несколько файлов прошивок для разных вариантов схем. Фьюзы записаны в HEX-файл, однако некоторые AVR-программаторы не поддерживают данный тип HEX, поэтому необходимо будет удалить три последние строчки из HEX-файла. Конфигурацию фьюзов можно найти в файле main.c. При использовании стерео-конфигурации схемы, используются все I/O выводы, включая RESET. Конфигурирования RSTDISBL-фьюза осуществляется в режиме высоковольтного последовательного программирования (HVSP), который большинство AVR-программаторов не поддерживает. В ISP режиме также можно запрограммировать, но лишь первый раз. В режиме моно используется лишь 5 I/O выводов, следовательно фьюз RSTDISBL не требуется программировать. Потому возможно программирование в ISP-режиме, который поддерживают все AVR-программаторы.
Данный SD-аудио плеер поддерживает лишь формат RIFF-WAVE в LPCM, 8/16-бит, моно/стерео и частотой дискретизации до 48 кГц. Потому MP3-файлы должны быть переконвертированы в WAVE. Воспроизведение файлов начинается сразу после подачи питания или вставки SD-карты. Следующий файл воспроизводится при нажатии кнопки Next.
Ниже вы можете скачать прошивку, исходник и печатные платы PCB (печатную плату разработал и прислал Денис Сторожев)
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
Первый вариант
МК AVR 8-битATtiny851
Электролитический конденсатор100 мкФ1
Конденсатор1
Резистор4.7 кОм1
MicroSD Socket1
Кнопка1
Динамическая головка1
Батарея3-3.3 В1
Второй вариант
МК AVR 8-битATtiny851
Электролитический конденсатор100 мкФ2
Конденсатор1
Резистор4.7 кОм1
MicroSD Socket1
Кнопка1
Динамическая головка2
Батарея3-3.3 В1
Третий вариант
МК AVR 8-битATtiny851
Электролитический конденсатор100 мкФ1
Электролитический конденсатор470 мкФ1
Конденсатор100 нФ1
Резистор4.7 кОм1
Резистор5-10 кОм1
MicroSD Socket1
Кнопка1
Динамическая головка1
Батарея3-3.3 В1
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- sd_player.zip (113 Кб)