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

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

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 об/мин.... подробнее...

Простые часы-будильник на PIC16F84 (PIC16F84, asm)
18.01.2008
Не так давно электронные часы строили на так называемых часовых микросхемах серии К176 и специализированных микросхемах серий К145... подробнее...

Калькулятор для электронщика
07.07.2011
Калькулятор создан для быстрого расчёта различных параметров радиоэлектронной аппаратуры. Функции, входящие в программу всего их... подробнее...

Приставка на PIC для проверки телефонных аппаратов (PIC16F84A, PIC16F628, asm)
09.08.2008
Мне иногда приходится заниматься ремонтом телефонных аппаратов. И я здорово надоел жене с просьбой перезвонить домой, чтобы проверить... подробнее...

USB программатор для AVR, аналог AVRISP mkII (AT90USB162)
12.09.2010
Программатор это пожалуй один из основных инструментов разработчика устройств на микроконтроллерах. Ведь именно он позволяет... подробнее...