Проект 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 Кб). Загрузок: 318

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

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 и другие распространенные процессоры.... подробнее...

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

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

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

Зарядное устройство для NiMh и NiCd аккумуляторов AA AAA (ATmega8, C)
29.08.2010
Зарядное устройство предназначено для зарядки NiMh и NiCd аккумуляторов (АА AAA) методом быстрого заряда. В принципе сейчас много микросхем... подробнее...

GSM сигнализация для автомобиля (ATmega16)
07.10.2010
Устройство предназначено для своевременного оповещения автовладельца о взломе автомобиля. Сигнализация контролирует двери, окна,... подробнее...

Повышающий преобразователь напряжения на AVR (AT90S2313, asm)
16.01.2008
История создания этого девайса такова: некий господин N, экстремал в годах и большой любитель сплава по горным рекам, утопил в одном из... подробнее...

Автомат вечернего освещения (PIC12C508, C)
05.01.2008
Устройство, схема которого показана на рис. 1, ежедневно в установленное время включает и выключает свет. Разработал его таиландец Wrchit... подробнее...