Вы здесь: Главная » Простейший самодельный MP3 плеер Сакура с открытым исходным кодом

Простейший самодельный MP3 плеер Сакура с открытым исходным кодом
Простейший самодельный MP3 плеер Сакура с открытым исходным кодом

Купив деталей на 30 долларов и с добрым количеством терпения, вполне можно собрать целый МР3 плеер, с открытым исходным кодом, и широкими возможностями к модификации. Он может быть модифицирован так, что будет принимать команды по последовательному интерфейсу, может быть частью художественного проекта, использован как голос для вашего очередного умного говорящего робота-друга, или наполнен музыкой, и использован как есть. Вставляйте карту какого хотите размера, вплоть до теоретического предела формата MMC. Весь программный код и схемы, представленные здесь, распространяются свободно.



Основные возможности плеера: режим воспроизведения в случайном порядке, базовая навигация в треках, регулятор громкости, поддержка FAT32, поддержка фрагментированных файлов, неограниченное количество файлов в корневом каталоге и высокое качество воспроизведения. Файлы с битрейтом 256 кбит/с воспроизводятся без сбоев. Поддерживаются файлы с разным битрейтом, максимальный – 320 кбит/с.

Wav-файлы так же поддерживаются, но они должны быть меньшего качества чем CD, до тех пор, пока вы не поставите кварцевый резонатор для PIC контроллера с большей частотой. В моем тестовом устройстве это работает, но использовать PIC контроллер на тактовой частоте более 8 мегагерц при напряжении питания всего 3,3 вольта проблематично. Я все еще работаю над воспроизведением wav-файлов, по этому, если вы столкнулись с забавными результатами, воспроизводя wav-файлы, дайте мне знать.

Чтобы записать данные на карту памяти, вам потребуется устройство чтения/записи карт. Во множество компьютеров такие устройства встроены. Внешние USBмодели доступны в продаже по цене приблизительно в 10 долларов. Проверьте формат файловой системы карты, он должен быть FAT32 а не FAT16.

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

Чтобы перейти в режим воспроизведения в случайном порядке, держите нажатой кнопку «следующий трек» (next track) при включении плеера. Он останется в этом режиме до следующего цикла выключения/включения. Как только все песни будут проиграны, плеер переходит в спящий режим до следующего цикла выключения/включения.

Предостережение для новичков! Это проект промежуточного уровня. Вам потребуются такие вещи как PICпрограмматор, некоторое знание программирования на языке С, так же как и неплохого, но и не огромного знания электроники. Осциллограф также не повредит. Будьте осторожны, детали очень маленькие.

Если вы новичок, просмотрите эти книги и web сайты:

www.parallaxinc.com www.sparkfun.com www.microchip.com www.microchipc.com www.dontronics.com www.jameco.com ccsinfo.com (единственный компилятор, который я использовал в проекте - компилятор для контроллеров средней разрядности (midrange compiler)).

Все три книги Фореста Мимса (Forrest Mims) доступны в радиорубке (Интернет магазин radioshak.com).

Практическая электроника для изобретателей, автор Paul Scherz и журнал Чекнутый и Вольты (в книжной крепости (Интернет магазин) они есть практически всегда.)

Почему проект назван Сакура? Этот проект начался, когда везде цвели вишни. Сакура означает цветение вишни по Японски. И первый прототип проекта был помещен в корпус из розового пластика.

Схема



Исходный код

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

Для людей, которым не нужно модифицировать код программы есть .hex файлы, готовые для загрузки непосредственно в PIC контроллер. Не забудьте очистить флажки (fuses) BROWNOUT и WATCHDOG, это будет значить – запретить их.Если вы не сделаете этого, все устройство откажется работать. Это наиболее распространенная ошибка.

На текущий момент все 4 килобайта памяти программ почти полностью заняты. 256 байт флеш (EEPROM) памяти полностью используются для хранения таблиц функции воспроизведения в случайном порядке. Имеется несколько некритичных функций, которые можно удалить, чтобы освободить немного пространства в памяти, такие как интерфейс кнопок и подпрограммы режима воспроизведения в случайном порядке. Если компания Микрочип когда ни будь выпустит 18-ногий контроллер с 8 килобайтами памяти, я обязательно использую его для этого проекта. Так же вы можете сделать код более эффективным, чем сделанный мной код. Если сделаете, дайте мне знать, что именно вы сделали.

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



Список частей

Количество

Номер детали

Описание

1

PIC16LF88, SOICкорпус (в апреле 2006 у mouserони были самые дешевые).

PIC микроконтроллер.

1

VS1011b, SOIC корпус. Я думаю, что использовать vs1011eтоже возможно, но потребуются небольшие изменения.

Чип MP3 декодера.

1

SCDA1A0901 (доступно на Mouser.com)

Гнездо для карт SD/MMC

1


Красный слаботочный диод, корпус 1206

1

CP-3523SJCT-ND

Разъем наушников.

1

ECS-129-18-4 12.96 MHZ или эквивалентный

кварцевый резонатор на 12,96 мегагерц.

2-4

311-1154-1-ND

Конденсатор 22пФ, 1206 корпус.

1

MCP1700T3302ETTCT-ND

Стабилизатор 3.3 вольта, SOT23-3 корпус.

6

BC1300CT

0.1мкФ конденсатор, 0805 корпус.

3

PCE3093CT

Мини джойстик (4 кнопки и кнопка «выбор»).

1

Не определен

5 контактный 1 дюймовый разъем.

1

SBH-431A-ND

3 ячеечный Ni-MHаккумулятор (AAA работает хорошоl).

1


1M резистор 1206 корпус.

1


1K резистор0805 корпус.

1

478-3026-1

от 10 до 15 мкФ танталовый конденсатор.

Обновления можно найти здесь: http://www.walrus.com/~raphael/mp3/MMC_version




Автор: Нет данных

Связь с автором: Нет данных

Веб сайт автора: http://www.teuthis.com/html/mmc_mp3.html

Прислал: Нет данных

Источник: http://www.rlocman.ru