RSS
people

Arm MP3 Player

Решил продлить удовольствие общения с процом AT91SAM7SE, и состряпал небольшую платку:

Плата будущего плеера

На этот раз у меня чего то не заладилось с ЛУТом и 0.2 мм дорожками. Мой ламинатор стал заедать, когда нагреется до рабочей температуры (что то в самом моторе), потому я заказал платку в местной конторе, только два слоя, без каких либо масок и украшательств. Вот что вышло (вторая сторона):

Плата плеера

Конечно, паять такую платку одно удовольствие, потому как переходов пропаивать вручную уже не надо было, не надо было искать косяков с недотравами дорожек и прочего такого неинтересного.

Как то так получилось, что все таки кое какие ошибки прокрались в платку, потому пришлось навешивать запчасти на соплях. В общем, в сборе вышло вот так:

Плата Плеера с запчастями

Плата Плеера с запчастями

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

Плата Плеера в работе

Чуть позже выложу видео, чтобы поглядеть, насколько «не быстрый» процессор для такого дисплея, а может для такого интерфейса дисплея, потому как я его завел через CPLD, с 8-ми битным интерфейсом всего лишь потому как у памяти дисплейной 8-ми битная шина данных.

Пока что без клавиатуры, управление идет по UART с компа.  Накатал небольшую прогу для этого, заодно протестил протокол связи.

Ну... из характеристик:

  • Проц: AT91SAM7SE512 на генераторе тактовой 25 МГц, разогнанной до 48 МГц внутри.
  • SDRAM 64 MB, на 16-битной внешней шине, на частоте 48 МГц.
  • SD карточка на 1 МГц SPI шине.
  • для хранения настроек — FRAM на SPI шине, тоже на 1 МГц.
  • MP3 Декодер VS1011b на все тойже SPI шине в 1 МГц.
  • в качестве оси — FreeRTOS. Пока крутится 4-е задачи, и скорее всего больше не будет, так как и так медленно уже.
  • Играет все MP3 вплоть до 320 kbs. Но во время проигрывания таких файлов надо иметь ангельское терпение, особенно при листании плейлиста (видео ниже — ощутите)
  • Дисплей на CPLD Xilinx XC95144XL забитая под завязку генератором картинки из памяти и арбитром записи в эту память данных от проца и чтения их для вывода на экран.
  • Тактуется от двух генераторов — 27 МГц для генерации картинки и 100 МГц для интерфейса с процом. Теоретически можно использовать один на 100 МГц, делить его внутри на 25 МГц. Вроде как по данным дисплейного даташита, он поддерживает в таком режиме от 24 до 30 МГц (примерно).
  • Сам дисплей — MI0350CT-1 на контроллере HX8238. Если будете искать даташитку — ищите версию D. Там в конце этой даташитки эпюры сигналов вывода картинки более подробно расписаны.

Осталось теперь поженить эту платку с клавиатурой. Она уже готова в железе, и даже уже опробована программка опознавания кнопок. Но пока то только сделан вывод отладочной инфы о «нажатой» кнопке на UART:

Клавиатура плеера

Клавиатура плеера - обратная сторона

На этот раз платка сделана ЛУТом, так как проводники тут 0.4 мм всего. Ну и паять не много надо было.

Так же эта платка будет интерфейсом в мир (Mazda MBUS шина), и источником питания для основной платки.

Как можно видеть — там проц — ATMega 88. Надеюсь, что в него влезет и MBUS протокол и клавиатурный код опроса сенсорных кнопок. Но думаю, что впихнем.

Ну пока все на этом. Пойду пить кофе. До скорого!

Видео работы, значит:

 

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

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