RSS
people

Arm MP3 Player завершение

День добрый всем читателям моих опусов.

Вроде как доделал новую версию своего плеера до такого состояния, что можно ставить в машину. Что, собственно, сегодня и произошло:

Плеер в машине

 

Далее пара фоток в близи и исходники со схемой, для любопытствующих.

Интерфейс с пользователем, в принципе, не сильно изменился по сравнению с предыдущей версией пульта для плеера:

Разве что ушли кнопки слева, и добавилась кнопка для переключения между списком плейлистов и самим плейлистом. Для сравнения сфоткал рядом со старым пультом:

 

В предыдущих анонсах можно было видеть, что еще не было картинок, а только текст и прямые линии. Глядя на эти пустые места мне подумалось, почему бы не прикрутить возможность показа картинки альбома?

Для этого прикрутил библиотеку NanoJPEG от  KeyJ, оформленную в одном классе Martin J. Fiedler-ом.

Единственный момент — эта библиотека не открывает всё подряд, а только «избранные» форматы JPGа. А именно — сохраненные не фотошопом,  а обычным Paint'ом виндовским.

Я попробовал накатать свой конвертер на базе wxWidgets и версия 2.8.10 конвертит жипежки в формат, который читается этой библиотекой, так что особо изобретать ничего не пришлось. В архиве ниже есть проект конвертера тоже.

Ну и пару слов про софт и железо плеера:

Проц основной платы — AT91SAM7SE512

Вот тут видать его на картинке — под кондерами :) :

К нему налеплена память в 64 МБ SDRAM. Которая указана в даташите на проц: MT48LC16M16A2P-75.

Дисплейный интерфейс сделал на базе CPLD XC95144XL и памяти IS61LV5128L. Сам дисплей в этот раз называется MI0350CT_1. Так как интерфейс всего навсего 8ми битный, то и вывод, соответственно не особо шустрый, к сожалению, так что, когда идет проигрывание MP3шки в 320 кб/с, то обновление всего экрана длится где то около 15-20 секунд (точно не засекал).

Так же на плате видать MP3 декодер VLSI VS1011b, FRAM FM25640S.

Клавиатура сделана на базе ATMega 168. На схеме указана ATMega88, я с нее начинал, но потом оказалось, что все, что я запланировал в нее воткнуть, не влезало, и пришлось взять следующую в линейке — 168ю. А запихано в нее всего ничего — опрос сенсорных клавиш, Общение по MBus с головным устройством машины, сама коммуникация с основной платой, и управление питанием основной платы.

По схеме — я ее делал таким образом, что ее можно без переделок железных подключить и к Соньковскому Unilink, только софт надо переделывать, пока на Unilink нету прошивки.

Ну а вот так выглядит это все в сборе:

Ну а в качестве корпуса я не придумал ничего лучше, чем просто испоганить текстолит односторонний на нижнюю часть, и двусторонний на боковушки:

А так оно  в сборе:

Ну и теперь ссылочки всякие:

Сам софт сделан на базе FreeRTOS и на С++.

В софте не все исходники включены, некоторые модули не включены, так как я их еще не подготовил для публикации, но по смыслу можно понять, чего они делают ;-) и как. Так же не стал включать FreeRTOS в архив, только ее файл конфига.

Так что софт этот чисто для теоретического изучения, он не скомпилируется .

Так же как и схема. Некоторые ошибки, которые я нашел, я постарался внести в схему, но есть вероятность, что не все.

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

Оставить комментарий или два

Пожалуйста, зарегистрируйтесь для комментирования.