Значок ресурса

YM2149F Player (LGT8F328P + microSD) — автономный плеер PSG-музыки на реальном чипе YM2149F

Untitled.png

YM2149F Player (LGT8F328P + microSD) — это компактный автономный плеер AY/YM-музыки (файлы .PSG) с SD-карты, воспроизводимый на настоящем звуковом чипе YM2149F (не эмуляция, а реальное железо), разработанный ur4qbp (Alexander Karnaukh). Дата схемы: 16.04.2023 — судя по дате, это один из самых ранних проектов автора. Дата экспорта iBOM: 30.07.2024.


1. Идея устройства​

Компактный портативный плеер PSG-музыки (формат записи регистровых дампов AY-чипа, классика демосцены ZX Spectrum): микроконтроллер читает файл .PSG с microSD-карты и побитно ретранслирует записанные в нём команды записи регистров прямо на реальный YM2149F через параллельную 8-битную шину данных + управляющие сигналы BC1/BDIR — то есть звук синтезируется настоящим AY-совместимым чипом, а не программной эмуляцией.


2. Электронная начинка​

КомпонентНазначение
U1 — LGT8F328P (LQFP-32)Основной микроконтроллер — китайский ATmega328-совместимый чип (Logic Green), с более высокой тактовой частотой и дополнительными периферийными блоками при полной программной совместимости с Arduino UNO/Nano
U2 — YM2149F (DIP-40)Настоящий звуковой AY-совместимый чип — воспроизведение PSG
SD1 — TF-Card (microSD)Хранение библиотеки .PSG-файлов, подключена по SPI (CS/MOSI/MISO/SCK)
OLED1 — OLED 128×32Дисплей интерфейса (I2C, SSD1306-совместимый — судя по использованной в прошивке библиотеке SSD1306Ascii)
XS1 — MicroUSBПитание платы (5В)
S1, S2, S3Три кнопки навигации: "<<" (назад), "R" (случайное/rewind?), ">>" (вперёд) — судя по маркировке в BOM
R1-R4 (1к/220/470 Ом)Резисторная лестница — все три кнопки читаются одним аналоговым входом (A6) через делитель напряжения (классический приём экономии GPIO — по уровню напряжения на АЦП определяется, какая кнопка нажата)
R5-R10 (2К×6) + C1,C2 (10мкФ) + OUTPUT1 (PJ-3126-5A)Простой пассивный RC-микшер трёх каналов AY (A/B/C) в стерео/моно аудиовыход на джек
C3-C6, C4(100мкФ)Развязка и сглаживание питания

3. Логика работы прошивки (​

  • Инициализация AY (resetAY()): настройка пинов D0-D7 (шина данных к YM2149F), D8 (BC1), D9 (BDIR) и D2 (аппаратный RESET чипа с импульсом 100 мс)
  • Чтение кнопок: через analogRead(A6) с калиброванными порогами (OK, NEXT, PREV, NOBUT) — резисторная лестница создаёт разные уровни напряжения для разных кнопок на одном пине
  • Воспроизведение: построчное чтение PSG-команд из файла на SD-карте и прямая передача байт регистр/данные на шину AY через ay_out()
  • Индикация громкости по каналам: на OLED отрисовываются "бар-графы" уровня громкости для каналов A/B/C (по значениям volA/volB/volC, вычисляемым как скользящее среднее записываемых в регистры 8/9/10 значений — это как раз регистры громкости AY)
  • Режим случайного воспроизведения (randomize) — переключается одной из кнопок, индикатор "R" на экране
  • Режим "keycodes" — сервисный режим отображения кодов нажатых кнопок (для калибровки порогов АЦП при сборке с другими номиналами резисторов)
  • Используемые библиотеки: SD.h, SPI.h, Wire.h, SSD1306Ascii.h, SSD1306AsciiWire.h

4. Формат иБОМ​

Файл PCB_PCB_YM2149F_Player_LGT8F328_2.html — это Interactive HTML BOM для KiCad (ibom_version: v2.3-50-g53ae), а не EasyEDA-плагин, как в большинстве более поздних проектов автора — значит, эта плата (в отличие от последующих EasyEDA-разработок автора) была спроектирована в KiCad, что также согласуется с самой ранней датой схемы (2023 год, до перехода автора на EasyEDA для последующих проектов).


5. Сводная статистика BOM​

КатегорияКоличество
Резисторы (R)10 (1к×2, 220×1, 470×1, 2К×6)
Конденсаторы (C)6 (100нФ×3, 10мкФ×2, 100мкФ×1)
Кнопки (S)3
Активные ИМС (U)2 (LGT8F328P, YM2149F)
Разъёмы (SD1, XS1, OUTPUT1)3
Дисплей (OLED1)1

6. Итог​

Это компактный автономный плеер AY/PSG-музыки — идейно близкий родственник "цифрового магнитофона" TZXDuino, но заточенный конкретно под проигрывание регистровых PSG-дампов на настоящем чипе YM2149F, а не на воспроизведение аудио-образов кассет. Судя по дате (2023) и инструментарию (KiCad, а не EasyEDA), это один из первых проектов автора в этой серии, предшествующий более позднему переходу на EasyEDA-разработки (ZX Easy Audio, ZX OPL3, клавиатурные адаптеры и т.д.) — интересный "нулевой" пункт в хронологии его творчества.


Файлы для загрузки​

Название файла / ПапкаОписаниеYandex.Диск
LGT8F328P.zipИсходный код прошивки для LGT8F328P (Arduino sketch LGT8F328P.ino, 584 строки)Ссылка на Яндекс.Диск
PCB_PCB_YM2149F_Player_LGT8F328_2.htmlИнтерактивная спецификация компонентов (Interactive HTML BOM для KiCad)Ссылка на Яндекс.Диск
Schematic_YM2149F_Player_LGT8F328_microSD.pngПринципиальная электрическая схема в формате PNG (изображение)Ссылка на Яндекс.Диск
GerberГербер печатной платы-
Скачать все файлыВсе файлы находятся в одном архивеСсылка на Яндекс.Диск

Полезные ссылки проекта:​

  • Like
Реакции: sankr
Автор
Verter_bot
Просмотры
5
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх