Индивидуальный раздел (часть 1) (часть 2)

MP3 плеер своими руками

Набравшись немного терпения, вы можете спаять самодельный MP3-плеер своими руками, при этом затратив менее 280 грн. Т.к. программное обеспечение данного плеера представлено в открытом виде (доступны все исходники проекта), то вы можете дорабатывать его вводя новые функции, к примеру: управление по последовательному интерфейсу, можете использовать плеер в различных проектах робототехники, ну и естественно по его прямому предназначению – прослушивание музыки. Карта памяти – SD/MMC, размер памяти ограничен теоретическим лимитом спецификациями MMC-формата.

Фото MP3 плеера
Рис.1 Внешний вид МР3 плеера

Данный MP-3 плеер поддерживает такие функции как случайное воспроизведение треков, навигация по трекам (вперед, назад, пауза), регулирование громкости воспроизведения. Также присутствует поддержка файловой системы FAT32, фрагментированных файлов, неограниченное число файлов в корневой директории, ну и естественно качество воспроизведения находится на высоком уровне. MP3-файлы с битрейтом 256 кБит/с воспроизводятся без каких-либо затыков, файлы с переменным битрейтом также воспроизводятся без проблем (в пике до 320 кБит/с).

WAV файлы также поддерживаются, но качество должно быть ниже чем у CD, пока вы не поставите кварцевый резонатор с большей частотой. На моем тестовом плеере это работает, однако запустить PIC с более чем ~8 МГц кварцем при питании 3.3 Вольта проблематично.

Для записи файлов на карту памяти вам будет нужен кард-ридер. Помните, что карта памяти должна быть в формате FAT32, а не в FAT16 или каком-либо другом.

Файлы на карте памяти должны быть с расширением .mp3. Вставьте карту памяти в плеер и включите питание, воспроизведение начнется с первого трека. Файлы воспроизводятся в том порядке – как они были на нее записаны (если не включена функция случайного воспроизведения).

Чтобы включить случайное воспроизведение, удерживайте кнопку "следующий трек" во время включения MP3-плеера. Функция будет работать до следующего включения плеера. Когда все треки будут проиграны, воспроизведение останавливается и плеер уходит в "sleep" режим.

Схема MP3 плеера

Рис.2 Схема МР3 плеера

Исходный код

Исходник написан на Си. В качестве компилятора я использовал PCM midrange compiler от CCS (офсайт ccsinfo.com). Компилятор платный, однако выдает очень компактный код и содержит достаточно богатый набор встроенных функций и данных.

Если в исходном коде вам не нужно делать каких-либо изменений и корректировок, то в архив я вложил уже готовый HEX-файл. Перед прошивкой не забудьте очистить фьзы BROWNOUT и WATCHDOG, иначе устройство не заработает!

Почти вся память контроллера 4К используется. Память EEPROM 256 байт полностью используется под таблицу данных для функции случайного воспроизведения. При необходимости можно освободить память, удалив несколько не очень критичных функций, к примеру функции для кнопок и случайное воспроизведение.

Печатная плата MP3 плеера

Рис.3 Печатная плата MP3 плеера

Расположение элементов

Рис.4 Расположение элементов

Список используемых радиоэлементов:

Кол-во

Номер

Описание

1

PIC16LF88, в SOIC корпусе

Микроконтроллер

1

VS1011b, SOIC-корпус. Думаю vs1011e также должна подойти с некоторыми изменениями

MP3 -декодер

1

Alps #  SCDA1A0901 (available at Mouser.com)

SD/MMC сокет

1

 

Светодиод красного свечения

1

digikey# CP-3523SJCT-ND

Стерео-гнездо для наушников

1

ECS inc.#  ECS-129-18-4 12.96 МГц или аналог

12.96 МГц кварц

2-4

digikey# 311-1154-1-ND

22пФ конденсатор

1

digikey# MCP1700T3302ETTCT-ND

3.3 В стабилизатор, SOT23-3 корпус

6

digikey# BC1300CT

0.1 мкФ конденсатор

3

digikey# PCE3093CT

100 мкФ конденсатор, поверхност. монтажа

9

 

10K резистор

5

digikey# 401-1131-1-ND

мини-джойстик

1


наушники

1

digikey# SBH-431A-ND

Держатель для батарей

1

 

1M резистор

1

 

1K резистор

1

digikey# 478-3026-1

10 - 15 мкФ конденсатор

Скачать прошивки, исходники, PCB и другие файлы

Оригинал статьи на английском языке (перевод Колтыков А.В. для сайта cxem.net)

Источник cxem.net