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

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

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

Маркировка и система команд PIC микроконтроллеров (PIC)
24.11.2013
PIC - это programmable integrated circuit, "программируемая интегральная схема" - так фирма Microchip преподносит свои микроконтроллеры. Фирма... подробнее...

Бортовой компьютер для автомобиля (PIC18F258, C)
20.03.2013
Чесались руки сделать что-то для свежекупленного автомобиля, остановился на полезной вещи - бортовой компьютер. Автомобиль Nissan Almera N15... подробнее...

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

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

Частотомер на PIC микроконтроллере (PIC16F84A, asm)
09.08.2008
Простой 4-разрядный частотомер на микроконтроллере Рис. 1. Схема частотомера на микроконтроллере PIC16F84 Рис. 2. Фото частотомера на... подробнее...

Простой цифровой спидометр с семисегментным индикатором (ATmega8)
07.10.2010
Устройство представляет собой простой спидометр на AVR микроконтроллере. Его отличительной чертой является минимум деталей, всего 4... подробнее...

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

Частотомер на PIC контроллере с LCD дисплеем (PIC18F252, C)
09.08.2008
Частотомер собран на достаточно распространённых микроконтроллерах фирмы MICROCHIP PIC18F252 с применением 2х16 (он был под рукой), хотя можно... подробнее...

Частотомер и прибор для проверки конденсаторов, импульсных трансформаторов (PIC16F876A)
28.08.2010
В последнее время, с появлением электролитических конденсаторов предназначенных для работы на высоких частотах, стал популярен способ... подробнее...

Автономная охранная система на базе ТМ (ATmega8)
09.08.2008
Автономные системы охраны получили достаточно широкое распространение в нашей стране из-за простоты и дешевизны. Классическая... подробнее...

Счетчик на микроконтроллере (AT90S2313, asm)
07.01.2008
Во многих устройствах бытовой техники и промышленной автоматики сравнительно недавних лет выпусков установлены механические... подробнее...