Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

HiFi, MP3, MP4, CD, MD и т.д. Обсуждение.
questioner
Сообщения: 40
Зарегистрирован: 10 май 2017, 23:42

Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение questioner » 03 сен 2017, 21:06

Фото 1.jpg
Фото 1.jpg (109.68 КБ) 4107 просмотров



Плееры Zishan Z1 и Zishan Z2 на сегодняшний день самые доступные плееры на ЦАП. Их стоимость меньше стоимости комплектующих, если покупать их по отдельности на алиекспресс. Главный недостаток этих плееров для многих, но конечно не для всех, пользователей - отсутствие экрана без которого не только затрудняется навигация по папкам и композициям, но и сильно ограничивается функционал процессора STM32f405, потенциал которого остается не реализованным полностью. При наличии соответствующей прошивки останется только купить экранчик за 200 рублей и припаять 4 проводка к плате плеера в указанных местах.
К сожалению топикстартер не владеет в полной мере уровнем программирования, необходимым для исправления этой несправедливости, поэтому он обратился за помощью к более квалифицированным специалистам.
Проект будет открытым, прошивку можно будет допиливать так же, как мы сейчас допиливаем железо этих плееров. Вот где будет истинный DIY!
Т.к. программисту понадобятся подопытные плееры, а также ему нужно будет что-то кушать во время работы над проектом я решил организовать сбор средств, возможно кто-то вместо покупки очередного операционного усилителя, пожертвует копеечку на благое дело, в конце концов затея обещает быть увлекательной ;)

Позже в шапке будут опубликованы реквизиты, программист - Александр Луцай, у него уже есть проекты на STM32 парень в теме и заинтересовался моим предложением.
Вот его ответ мне:

Идея, как я говорил, меня привлекла и я могу сделать эту прошивку.
Проект, конечно, будет opensource, с документацией, оформлением и всё по
хорошему. Писать буду на чистом С(arm-none-eabi gnu-c99). Для GUI буду
использовать 0.96 oled и свою библиотеку гуя
https://github.com/SL-RU/MakiseGUI
https://www.youtube.com/watch?v=PjL4AB-iLRY
https://www.youtube.com/watch?v=neL5sA4jyTs - это простейший
просмоторщик папок просто для примера.

Кодеки я опять позаимствую из rockbox, но, конечно же не все - сколько
влезет и какие будут работоспособны без внешней RAM. MP3, WAV, FLAC и
ещё несколько гарантирую. Ничего не могу сказать про APE - в rockbox он
есть, но я его ещё не смотрел - хз как он работает. Так же ничего не
могу сказать пока про DSD - нужно изучать DAC, но уверен, что проблем не
возникнет.
С эквалайзером ещё не решил, но возможно и его попытаюсь взять из
rockbox - если не выйдет, то сделаю сам.

Так что я могу начать. По оплате. Я не могу взять за работу всю сумму
сразу - это будет просто не хорошо, так что думаю стоит сделать просто
страницу сбора денег на разработку. От собранных денег будет просто
зависеть то, как много я смогу уделять времени проекту. Всё время
уделить я не смогу - кушать тоже надо, вы понимаете)


Страница сбора средств http://yasobe.ru/na/osfiz

Настоятельная просьба не писать здесь о целесообразности создания сабжа, зачем это нужно и т.п. Если вас это не интересует - просто проходите мимо, затея сугубо добровольная и предназначена ТОЛЬКО для тех, кому понятно зачем все это собственно нужно.

s.lyra
Сообщения: 6
Зарегистрирован: 03 сен 2017, 21:58

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение s.lyra » 03 сен 2017, 22:11

Пока у меня нет устройства, я бы хотел попросить владельцев Z1 прозвонить мультиметром или просто посмотреть, проходят ли дорожки от этих ножек МК к разъёму. Это интерфейс отладки SWD.
Изображение

ewrodance
Сообщения: 1
Зарегистрирован: 04 сен 2017, 08:46

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение ewrodance » 04 сен 2017, 09:02

Здравствуйте, я готов заплатить любую сумму, только сделайте пожалуйста так.
Когда я в Zishan Z1 (у меня есть только этот плеер), включаю режим чтобы слушать треки в случайном порядке,
прослушав несколько треков они начинают повторятся периодически, например я включаю следующий трек в случайном режиме,
плеер играет новый трек, потом через несколько треков он повторяет ранее прослушанные треки.
Можете сделать так чтобы треки которые играют в случайном порядке не повторялись.
P.S мне в принципе экран и ненужен.

s.lyra
Сообщения: 6
Зарегистрирован: 03 сен 2017, 21:58

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение s.lyra » 04 сен 2017, 09:09

ewrodance писал(а):Здравствуйте, я готов заплатить любую сумму, только сделайте пожалуйста так.
Когда я в Zishan Z1 (у меня есть только этот плеер), включаю режим чтобы слушать треки в случайном порядке,
прослушав несколько треков они начинают повторятся периодически, например я включаю следующий трек в случайном режиме,
плеер играет новый трек, потом через несколько треков он повторяет ранее прослушанные треки.
Можете сделать так чтобы треки которые играют в случайном порядке не повторялись.
P.S мне в принципе экран и ненужен.

Доброго дня! Конечно можно, даже нужно - без этой фичи я даже не мыслю случайного воспроизведения. На соседнем форуме предложили ещё воткнуть блютус, чтобы можно было управлять с телефона, так что дисплей будет не обязательным.
Пока собрано 700 из 1700р, чтобы купить подопытный Z1 для начала работ.

questioner
Сообщения: 40
Зарегистрирован: 10 май 2017, 23:42

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение questioner » 04 сен 2017, 11:09

ewrodance можете зайти на страничку сбора средств http://yasobe.ru/na/osfiz и помочь проекту материально

tundryuk
Сообщения: 3
Зарегистрирован: 09 сен 2017, 20:11

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение tundryuk » 09 сен 2017, 21:50

Вероятно глупый вопрос, но : а есть возможность или хотя бы вероятность возможности пнуть китайца на предмет публикации исходников ? Благо жирные куски rockbox-а в прошивках видны невооруженным глазом тск ( а они вполне себе GPL ).

- А то-ж ведь абидна однако - коряво запиленный (похоже, тупо из референсных примеров) USB DAC сделанный "на отчепись" ( а оно вполне 24/96 ( и 16/192) может без доработок железа, да еще бы с 16/24b 44.1/48/96/192kHz альтернативными профилями, и кстати даже младший dsd залезть мог бы напрямую ( методом CambridgeAudio :) ) );
- Глючный до "немогу" драйвер FAT ( а вот ExFAT китаец спер где-то качественный, работает без проблем );
- еще с кнопками/шаффлом/эквалайзером и тд поковырять
.... поправить - и будет почти идеально (ну разве еще , теоретически, для извращенцев, DLNA и/или uPNP renderer (через RNDIS) :) , mass storage driver и ... все ? :) )

Благо места еще (пока) "вагон" ...

а то ведь пока оно (с нуля) заработает, пока студент свой гуй прикрутит/допилит, пока оно начнет без глюков играть все что может даже нынешняя корявая прошивка - это-ж сколько времени утечет ? Да и гуй - оно не для всех.
PS: Дело-то в принципе , хорошее ( глядишь, китайцы сопрут и выпустят таки еще стадо плееров уже на этой прошивке :) ) - но не быстрое :(

s.lyra
Сообщения: 6
Зарегистрирован: 03 сен 2017, 21:58

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение s.lyra » 09 сен 2017, 22:00

Не думаю - там у них с этим совершенно полное беззаконье.

Между тем у меня есть довольно значительный прогресс:
Итак! Первые шаги есть. Изучил плату и выяснил разводку STM32 - не всю, но 99% - не могу пока посмотреть под ней - не хочется отпаивать. Но там ничего интересного и нет)
Это просто распиновка МК
А это ещё и других микросхемок:
Дубляж на imgur: https://imgur.com/a/3ovKw

Схему рисовал в kicad - бесплатная opensource EDA. Если интересно, то тоже можете скачать и открыть. Проект находиться тут: https://github.com/SL-RU/osfi-z/tree...an-z1-original


По впечатлениям: плата разведена не лучшим образом, но не плохо - сигнальные линии отделены от аналоговой части и от питания. Импульсный step-up DC-DC преобразователь(тот что с катушкой индуктивности(серая коробочка, на которой написано 4R7)) находится довольно далеко от ОУ, а это - самый опасный для них источник шума. Конечно очень плохо, что аналоговые линии идут просто рядом с другими и рядом с питанием - они должны быть окружены землёй. Но это всё не плохо. Самое же ужасное и просто удивившее меня - питание! Сделано оно отвратно! Там есть 3 преобразователя:
1) LDO в 3.3в на stm32
2) LDO в 3.3в на DAC
3) step-up преобразователь в 5в для ОУ!

Если с первым я соглашусь относительно - можно бы было туда воткнуть step-down для экономии энергии - на 15% увеличили бы время работы. Но сойдёт - зато стоимость сэкономили.
Со вторым я соглашусь полностью и поддерживаю - на DAC не должно быть пульсаций преобразователя.
То третье просто ужас! Кто не знает как работает step-up преобразователь, то посмотрите это видео: https://www.youtube.com/watch?v=QnUhjnbZ0T8 В кратце - он генерирует меандры определённой частоты и изменение тока этими меандрами создаёт ЭДС самоиндукции в катушке - т.е. он создаёт шум! Не просто шум, а шум в питании! И не просто в питании, а в питании ОУ - самой важной почти части плеера. И этот шум не сгладить полностью кондёрами, особенно керамикой... Не знаю как это работает, да ещё и даёт Hi-Fi качество...
Но ладно, это просто моя критика - работает - и ладно) Чего ещё хотеть от 1.5к рублей =)

Ну и один момент - для того, чтобы показывался заряд аккумулятора будет необходимо спаять схемку из двух резисторов и подпаяться к STM32...

Фуф!


Отчитываюсь о прогрессе! Можете поздравить =) Самая опасная часть выполнена - я запустил SDIO и DAC!!!
Более того! Запустил WAV кодек и прямо сейчас в моих наушниках играет WAVка с зишана с моей прошивки! Играет прелестно! Правда пока это всё не юзабельно - вавки только 48кгц и 16 бит поддерживаются, но не важно - это тест. Теперь начну запиливать всю систему. Притяну кодеки из rockbox и буду думать, как всё сделать. Ну вот. Это можно назвать первыми шагами!

*Nmetx*, можешь попробовать прошить - попробуем, одинаковые даки или нет. Бинарник: https://yadi.sk/d/bDkv9MUQ3MkFed. Для работы переконвентируй аудио в wav 48kHz 16bit stereo, переименуй в "w.wav" и положи в корень. Вот рабочая вавка: https://yadi.sk/d/Ysu-oTm33MkFtR

P.S. Ограничения 48kHz 16bit stereo являются только тестовыми - для теста я сделал простейший кодек вав, который не может ничего другого. В релизе будет всё нормально)


Да, китайцы накосячили со всем, чем только можно. Я большинство вещей постараюсь исправить. С расширением функционала Z1 я возиться не буду - мне это просто не нужно - я лучше свой плеер продолжу пилить)

Не так уж это долго - я разработкой своего плеера занимаюсь довольно давно - экспериментирую с различными кодеками, ОУ и тд. Так же у меня много программных наработок.
Про гуй - отдельная тема. Я сам с нуля разработал большую библиотеку GUI. Функционала для этого плеера в ней не то, что достаточно - слииишком много. Моя статья на хабре https://habrahabr.ru/post/325692/
И я не просто студент - я профессиональный разработчик проектов на микроконтроллерах - для предприятий и просто для заказчиков разрабатываю программы, платы и тд.

tundryuk
Сообщения: 3
Зарегистрирован: 09 сен 2017, 20:11

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение tundryuk » 10 сен 2017, 08:39

s.lyra писал(а):Да, китайцы накосячили со всем, чем только можно. Я большинство вещей постараюсь исправить. С расширением функционала Z1 я возиться не буду - мне это просто не нужно - я лучше свой плеер продолжу пилить)


Кстати, в ближайших планах Z2 есть ? ( в смысле - а не поднажать ли с донатом ? )

s.lyra писал(а):Не так уж это долго - я разработкой своего плеера занимаюсь довольно давно - экспериментирую с различными кодеками, ОУ и тд. Так же у меня много программных наработок.


Грубую оценку уже дать можете ? Инициализируется, грузится, "бесячкой" моргает, вавку играет - да, шустро :).

s.lyra писал(а):И я не просто студент - я профессиональный разработчик проектов на микроконтроллерах - для предприятий и просто для заказчиков разрабатываю программы, платы и тд.


Одно другому не мешает, да - но свой хороший гуй это для студента святое, так было и так будет :geek: (непреходящая ценность тск :D ).

s.lyra
Сообщения: 6
Зарегистрирован: 03 сен 2017, 21:58

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение s.lyra » 10 сен 2017, 10:01

tundryuk писал(а):Кстати, в ближайших планах Z2 есть ? ( в смысле - а не поднажать ли с донатом ? )

Есть - в них стоят одинаковые STM32, только разводка разная. Для начала работы над ним мне лишь нужно узнать куда какие дорожки от МК идут. Спасибо за донат - Z2 будет обязательно - на соседнем форуме тоже ждут =)

tundryuk писал(а):Грубую оценку уже дать можете ? Инициализируется, грузится, "бесячкой" моргает, вавку играет - да, шустро :).

Грубую оценку чего?)

tundryuk писал(а):Одно другому не мешает, да - но свой хороший гуй это для студента святое, так было и так будет :geek: (непреходящая ценность тск :D ).

Аахахах, это верно :)

tundryuk
Сообщения: 3
Зарегистрирован: 09 сен 2017, 20:11

Re: Создание прошивки с открытым исходным кодом для плееров Zishan Z1/Zishan Z2 с экраном и графическим эквалайзером

Сообщение tundryuk » 10 сен 2017, 10:41

s.lyra писал(а): Грубую оценку чего?)

Времени до какого-то результата ( исходя из прошлого опыта, имеющихся ресурсов и проч и проч ).
Оно понятно что "как-только, так сразу" ибо OS ..... но .... новая "игрушка" на горизонте замаячила ( а их , новых , всегда хочется ASAP же :D ), вот и интересно насчет видения будущего после первых удачных шагов :)


Вернуться в «Плееры»

Кто сейчас на конференции

Сейчас этот форум просматривают: vas-tomsk и 6 гостей