
Статья-обзор: http://www.radiokot.ru/konkursCatDay2017/46/
Описание: данная тема является местом обсуждения чиптюнового плеера-синтезатора на двух чипах AY-3-8910/YM2149F "ChipTune_Player 2.22". В данной теме можно задавать вопросы, писать свои хотелки, следить за крупными обновлениями софта, критиковать баги и тому подобное. http://www.radiokot.ru/forum/posting.php?mode=post&f=1#
Центральный репозиторий: https://github.com/Vadimatorik/chiptune_player_2.22
Актуальная ветка - master.
Сборку софта следует осуществлять с самой последней версией тулчейна arm-none-eabi (во избежании проблем).
Регулярно пополняющийся архив музыки: http://zxart.ee/rus/muzyka/
Аппаратные возможности:
Спойлер
Звук- 1. Поддерживаются одновременно чипы AY-3-8910 (и аналоги в корпусе DIP-40) и AY-3-8912 (и аналоги в корпусе DIP28) (на момент написания статьи программно поддерживается один чип. В очень скором времени добавится второй для одновременного воспроизведения).
2. В качестве микшера используются 2 цифровых потенциометра AD5204, обеспечивающие изменение громкости звучания каждого канала обоих чипов (A, B, C, A1, B1, C1).
3. В качестве усилителя для наушников использована микросхема MCP6022, обеспечивающая хорошие качество и громкость при относительно низких шумах.
4. Аудио-часть отвязана от цифровой отдельной «землей».
5. Выходной сигнал выведен к выводам ADC микроконтроллера (что может быть использовано как для «черновой» записи звука, так и для построения состояния спектрального анализатора).
- 1. На плате установлен микроконтроллер STM32F205RGT6 (32-хбитная шина, 1 МБайт Flash, 120 МГц CPU, 128 КБ RAM), считающий в себе низкое энергопотребление в режиме плеера (на низкой частоте) и высокую производительность в режиме аналогового синтезатора (работа по USB, UART, MIDI).
2. Микроконтроллер тактируется от внешнего кварцевого резонатора. Это нужно для формирования точной частоты тактирования AY/YM чипов (в будущем можно будет выбирать любимую частоту из предложенного списка. На момент написания статьи, установлена частота тактирования 2 МГц).
3. На плате установлено 2 разъема под micro-sd карты. Один из них планируется использовать для системных нужд, а вторая — для пользователя. Системный разъем подключен по SPI, пользовательский по SDIO (на момент написания статьи программно поддерживается только системный разъем).
4. Чипы AY/YM подключаются к микроконтроллеру через сдвиговые регистры, что обеспечивает одновременное обновление регистров обоих чипов.
5. На плате имеется гальванически-развязанный MIDI вход. Что позволит в будущем (на момент написания статьи программно не реализовано) использовать устройство как аналоговый синтезатор, конспирируемый по MIDI.
6. Устройство аппаратно поддерживает экраны как со светодиодной подсветкой, так и OLED (конфирмуемой по SPI). В зависимости от запеваемых элементов можно выбрать, какой LCD будет использоваться. В данной реализации поддерживается LCD на базе контроллера ST7565R с внешней светодиодной подсветкой, работающей от 3.3 вольт (управление катодом подсветки).
7. Имеется качелька громкости и кнопка включения устройства после полного отключения (полное отсоединение всей цепи от аккумулятора).
8. В качестве порта коммутации с внешним миром был выбран DB-9. На него выведены следующие контакты.
- а) SWD разъем + Reset (для программирования и отладки).
б) Питание с устройства (для внешнего анализа) и земля.
в) MIDI интерфейс
г) Интерфейс прошивки по UART/командной строки UART (на момент написания статьи программно не реализовано).
- 1. Плата рассчитана на питание от li-ion аккумулятора емкостью более 1000 мач (мною использовался аккумулятор на 4000 мач).
2. Логическая часть и подсветка питаются от 3.3 вольт, получаемые напрямую от LDO NCP551.
3. Чипы AY/YM, усилитель и потенциометры питаются от DC-DC преобразователя PT1301.
4. Имеется возможность отключать всю цепь 5 вольт (DC-DC), а так же каждый из чипов AY/YM, оставляя при этом усилители и потенциометры включенными.
5. Аккумулятор заряжается с помощью установленного на плате контроллера заряда li-ion TP4056 при подключении USB зарядки. Ток потребление не более 1 ампера.
6. В режиме воспроизведения двух чипов потребление 0.13 ампера при 4 вольтах на входе (аккумуляторе).
Программные возможности
Спойлер
- 1. Поддерживаемые файловые системы: FAT/exFAT.
2. Поддерживается одна (корневая) директория на micro-sd.
3. Поддерживаются следующие форматы музыкальных файлов: PSG.
4. При включении плеера проверяется, была ли изменена структура файлов (удалены/добавлены файлы пользователем) и если изменена, все файлы проверяются и составляется список валидных для воспроизведения.
5. Графический интерфейс имеет два окна:
- а) Главное окно воспроизведения. Оно содержит:
- 1. Шторку состояния.
2. Статус бар воспроизведения.
- 1. Шторку состояния.
2. Окно со списком файлов.
- а) Главного окна воспроизведения:
- 1. Запуск воспроизведенеия/пауза
2. Перемотка вперед.
3. Перелистывание назад/вперед по списку.
- 1. Запуск воспроизведения любого трека из списка.
2. Пауза остановка в данный момент играющего трека.