Проект Eldigi.ru пережил своё новое становление. В связи с этим на сайте могут быть ошибки. Нашли ошибку? Помогите проекту, выделите её и нажмите Ctrl+Enter. Подробнее...

Простой WAV плеер на AVR микроконтроллере (ATtiny25/45/85, C)

Это простой SD аудио плеер на одном микроконтроллере ATtiny25/45/85. У этих микроконтроллеров есть два быстрых ШИМ (fast PWM) выхода с несущей 250кГц. Источником аудио для этого плеера является SD карта памяти. SD карта памяти имеет шесть выводов. Два для питания и четыре интерфейсных. Восьми выводов микроконтроллера достаточно для подключения SD карты, динамиков и кнопки управления.

Простой айдио WAV плеер на микроконтроллере

Железо.
На фотографии показан самый маленький аудио плеер в мире (воспроизводит с MicroSD карты). Есть три схемы плеера с различными конфигурациями. Носителем записей, которые будут воспроизводиться, является MicroSD. Конечно можно использовать стандартную SD или MiniSD карту, если подключить их соблюдая распиновку. 
Динамики подключаются непосредственно к выводам ШИМ микроконтроллера. Не смотря на это выходной ток никогда не превысит максимально допустимые значения, при напряжении питания 3В. Плеер даёт звук достаточный для прослушивания музыки дома, в тихой обстановке. Если требуется подключить плеер к усилителю то необходимо предварительно отфильтровать высокочастотную составляющую с помощью фильтра НЧ. Непосредственное подключение выхода ШИМ на вход усилителя может повредить усилитель и динамики!

Аудиоплеер разработан в трёх версиях, моно, стерео и высококачественный моно:

Схема моно WAV плеера на микроконтроллере  Схема стерео WAV плеера на микроконтроллере  Схема высококачественного моно WAV плеера на микроконтроллере

Софт.
Карта памяти отформатирована под файловую систему FAT. В микроконтроллере заложена программа для работы с этой файловой системой. В качестве основы была использована библиотека Petit-FatFs которая является урезанной версией FatFs. Этот модуль был специально разработан для систем с малым количеством доступной RAM памяти. Это является очень важным параметром при использовании таких крошечных МК как ATtiny25/45/85.

В архиве есть прошивки для различных версий схем. Исходный код написан на языке Си и достаточно прокомментирован. Значения FUSE битов определены в шестнадцатиричных файлах (*.hex). Некоторые программаторы не поддерживают такой формат *.hex, если это имеет место то можно взять значения FUSE битов из файла main.c.
В схеме со стерео выходом используются все выводы МК включая вывод RESET. Для возможности использовать этот вывод МК необходимо запрограммировать FUSE бит RSTDISBL. Это можно сделать с помощью обычного ISP программатора, но только один раз. После установки этого бита ISP программатор больше не сможет прошить МК. Для последующей перепрошивки МК будет необходим программатор с возможностью прошивки в режиме HVSP (High Voltage Serial Programming).
В схеме с моно выходом вывод RESET не используется, по этому МК может быть прошит ISP программатором.

Аудиоплеер поддерживает только WAV файлы формата PCM 8/16 бит, стерео/моно с частотой дискретизации до 48kHz. Файлы MP3 должны быть преобразованы в файл WAV. Воспроизведение начинается при подаче питания или при подключении карты памяти. Для воспроизведения следующего файла нужно нажать кнопку Next.
Если директория "wav" находится в корневом каталоге, то аудио файлы будут воспроизводиться из этой директории. Если папки "wav" не существеут, то файлы для воспроизведения будут браться из корневого каталога карты памяти.

Скачать исходный код на С и прошивки (62 Кб). Загрузок: 256

Автор статьи: ChaN
Первоисточник (на английском). Перевод по заказу сайта eldigi.ru
Просмотров: 1919

Splan 7.0.0.9 Rus + Portable + Viewer Fiinal
26.04.2014
sPlan – удобный инструмент для черчения электронных схем. Имеет простой и интуитивно понятный интерфейс. В программе заложены... подробнее...

Очень удобная программа для чтения pdf Foxit Reader
26.04.2014
Foxit Reader - Компактная и шустрая программа для чтения PDF файлов. Может служить альтернативой для популярного просмотрщика PDF - Adobe Reader.... подробнее...

Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM - программа-симулятор микроконтроллерных устройств. Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры.... подробнее...

Новое становление сайта Eldigi.ru
01.04.2014
Проект Eldigi.ru который долгое время находился в застывшем состоянии снова принимается за работу с новымы силами, с новыми статьями и с... подробнее...

Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM - программа-симулятор микроконтроллерных устройств. Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры.... подробнее...

Цифровая паяльная станция своими руками (ATmega8, C)
27.05.2012
Состав: ATmega8, LM358, IRFZ44, 7805, мост, 13 резисторов, один потенциометр, 2 электролита, 4 конденсатора, трехразрядный светодиодный семисегментный... подробнее...

Splan 7.0.0.9 Rus + Portable + Viewer Fiinal
26.04.2014
sPlan – удобный инструмент для черчения электронных схем. Имеет простой и интуитивно понятный интерфейс. В программе заложены... подробнее...

Тахометр на AVR микроконтроллере (ATtiny2313, C)
14.01.2010
Данное устройство представляет собой неплохой тахометр, предел его измерений составляет 100 - 9990 об/мин. Точность измерения - ± 3 об/мин.... подробнее...

Сопряжение с компьютером цифрового мультиметра серии 830 (PIC12F629, asm, C++)
09.08.2008
Подключение малогабаритного мультиметра к персональному компьютеру позволяет проводить статистическую обработку результатов серии... подробнее...

Термостат на ATtiny2313 и DS18B20 (ATtiny2313, C)
14.01.2010
Данная конструкция стала прямым продолжением конструкции "Термометр на ATtiny2313 и DS18B20". Как там упоминалось, хотелось... подробнее...

Блок жизнеобеспечения аквариума (AT89C2051, asm)
09.12.2007
Блок жизнеобеспечения аквариума представляет собой функционально законченный блок, который управляет включением компрессора,... подробнее...

Сенсорный регулятор освещения с дистанционным управлением (ATtiny2313)
09.03.2009
Предлагаемое устройство — один из вариантов микроконтроллерных регуляторов яркости ламп накаливания, конструкции которых можно... подробнее...