Плеер
3 поста
3 поста
Разрабатываю потихоньку плеер. В предыдущих постал было много вопросов касательно конструктива и работы девайса. Рассказываю.
Прямо сейчас выглядит так.
Это опытный образец, так что не стоит ругать за перемычки из мгтф и грязь на плате, плата уже переразведена, аппаратные недоработки исправлены. Будет выглядеть так:
Платы заказывал в Электроконнекте (Новосибирск), цена сильно ниже, чем в Резоните и Электроприборе. Плата четырехслойная.
ПО написано на си с использованием spl (hal крайне медлительна и уродлива), для работы с файловыми системами используется знаменитая библиотека fatfs, mp3 и ogg на библиотеках helix, flac писал сам на основе исходников от rockbox, wav писал сам, ну там всё просто.
Контроллер stm32f427, ЦАП AD1853, подключен по i2s, управление им по spi, дисплей на основе ili9341. Громкость регулируется самой ad1853, у неё есть такая функция, работает через уменьшение тока модуляторов, что сильно лучше, чем переменник, или, тем более, аудиопроцессоры и электронные потенциометры. Ушной усилитель по схеме ОУ + параллельный каскад на рассыпухе.
По питанию в качестве повышающих преобразователей lm27313, линейные стабилизаторы adp7142 и rt9167 (либо mic5205)
Как-то так...
Надеюсь, на большинство вопросов ответил.
P. S. Качество звука просто шикарное, на голову выше 95% плееров и большинства стационарных ЦАПов.
Если честно, не ожидал, что плеер вызовет такой интерес.
Для начала, что он может.
Есть поддержка плейлистов, если плеер не заблокирован, при нажатии кнопок вверх/вниз откроется текущий плейлист, можно полистать и выбрать композицию, можно удалить из плейлиста, воспроизведение при этом не прерывается.
Есть файловый менеджер, позволяет просматривать содержимое флешки, удалять файлы, добавлять композиции в текущий плейлист, менять тему оформления.
По сути, темы оформления меняют только цвета всего, что на экране, плюс, могут делать батарейку и индикатор громкости цветными или монохромными.
Поддерживаемые форматы: MP3, flac, WAV (пока только целочисленный, с плавающей точкой - в процессе)
Будут поддерживаться: OGG, AAC, WMA(вероятно)
ВСЕ форматы воспроизводятся с той частотой дескритизации, с которой в них хранятся данные. Передескритизации в 48КГц, как в большинстве плееров, звуковых карт и мобильников - НЕТ.
Поддерживаются все варианты тегов, которые могут быть в этих форматах и несколько вариантов кодировок, что бы не было крякозябр.
Если в файле теги есть, то информация об исполнителе, альбоме и названии композиции берется из них (для flac - из cue листа), если нет - выводится по принципу: название файла - композиция, имя папки с файлом - альбом, имя папки с альбомом - исполнитель.
При выключении плеера сохраняются: путь к теме оформления, путь к текущему плейлисту, номер композиции в листе, уровень громкости. В планах дописать сохранение текущей позиции воспроизведения.
При включении - не нашел тему оформления - попробует открыть стандартную, не нашел стандартную - создаст её и откроет.
С плейлистами - так же.
При создании плейлиста информация о flac добавляется согласно cue. Если это был единый файл на весь альбом, он добавляется как набор композиций и листать по ним можно.
В заблокированном состоянии гаснет дисплей и работают только кнопки плей/пауза, громкость. Если кнопки громкости удерживать больше секунды - включается следующий/предыдущий трек. Если кнопку плей/пауза удерживать дольше трех секунд - плеер выключится.
При заблокированном экране зарядки хватает примерно на семь часов работы.
При подключении по USB, если устройство выключено - просто заряжается, во время зарядки горит оранжевый светодиод внизу, по окончании зарядки - гаснет.
Если устройство включено - он предложит варианты:
1. Зарядка - работает как плеер и заряжается
2. USB ЦАП - работает как внешняя звуковуха, поддерживает все стандартные частоты дискретизации от 44,1 до 192 КГц, 16 и 24 бит, полноценно реализован асинхронный USB Audio
3. Флешка - определяется как флешка, скорость записи до 1МБ/с.
В следующий раз расскажу о программном и аппаратном обеспечении устройства.
P.S.Шрифт сменил, мне реально было влом.
Пилю потихоньку самопальный карманный плеер. Контроллер stm32f427, ЦАП ad1853, цветной дисплей, microSD. Он уже давно играет mp3, имеет плейлисты и определяется как внешний ЦАП по USB. И вот вчера ночью, наконец, отладил воспроизведение flac. Просто порадуйтесь за меня, это было сложно.
Много лет назад покупал ноут в М-видео. Девушка-консультант начала впаривать доп. гарантию, у неё не очень получалось и в какой-то момент состоялся диалог:
-А вот у Вас если зарядник сломается, что Вы будете делать?
- Там обычный однотактный обратноходовый преобразователь. Сдохнет - починю.
- Да, видимо, дополнительная гарантия Вам действительно не нужна...
С год назад иду по улице, курю, никого не трогаю. Ко мне подходит чувак весьма быдловатой наружности с желанием стрельнуть сигарету прямо напротив входа в магазин. А я был дико уставший под вечер, говорю:
- Прямо перед тобой магазин, купи.
Дальнейший диалог шикарен:
- Ты думаешь, у меня денег нету?! Чо такой дерзкий?
- Ну так зайди и купи.
- У меня есть деньги, понял? И у пацанов есть деньги, ща пацаны подъедут, у них есть деньги. Чо, думаешь мы сигареты не сможем купить шоль? Ты ваще в курсе, кто я?
Я сказал, что долбоеб и пошёл дальше. Он кричал ещё что-то в след, но за мной не пошёл.
Неоднократно поднимался вопрос и здесь, в комментариях, и от тех, кто ко мне приходил на практику, "с чего начать заниматься электроникой? С какой литературы". Ну так вот:
Рудольф Сворень " Электроника шаг за шагом ". С первого по третье издания - советские, есть и пара современных. В книге шикарно дана теория, подойдёт и школьникам и взрослым дядям, которые только начинают. Конструкции на советской элементной базе, часть из них в наше время повторять не имеет смысла, например радиоприёмники, но ради теории однозначно читать стоит.
Борисов "Юный радиолюбитель" Теория дана похуже, но очень достойно и простым языком. Огромное количество конструкций, хорошо описано как паять. Искать лучше 8-е издание.
Хоровиц, Хилл "Искусство схемотехники". Настоящая хрестоматия, вырастившая не одно поколение профессионалов. Подойдёт скорее студентам, язык простой, но книга требует начальных знаний по математике и физике.
Лебедев "CodeVisionAVR Пособие для начинающих". Даёт лёгкий старт в мире микроконтроллеров на примере AVR и среды codeVisionAVR. Здесь почти классический си, а не ардуино со скетчами. После этой книги достаточно легко перейти на более серьёзные контроллеры.
Удачи и здравомыслия!