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

MaxDuino Player (STM32) — аудио-плеер кассетных образов для ретро-компьютеров на STM32F103C8T6

Untitled.png


MaxDuino Player (STM32) — это открытый DIY-проект аудио-плеера кассетных образов для ретро-компьютеров. Устройство эмулирует звук кассетного магнитофона, читая файлы образов ленты (TAP, TZX, O, P, CDT, CAS, TSX, AY и др.) с SD-карты и подавая аудиосигнал прямо на вход «EAR»/MIC ретро-компьютера. Это порт известного открытого проекта MaxDuino (автор Rafa Molina, github.com/rcmolina/MaxDuino), изначально писавшегося под Arduino, адаптированного под STM32F103C8T6. Аналогичная архитектура используется в коммерческом устройстве «Miniduino» от Antonio Villena.

Назначение​

Замена физического кассетного магнитофона при загрузке программ и игр в:
  • ZX Spectrum / ZX80 / ZX81
  • Amstrad CPC
  • MSX
  • Dragon 32
  • Oric, Acorn и другие 8-битные компьютеры с кассетным интерфейсом
Файлы хранятся на microSD-карте, пользователь выбирает нужный образ через меню на OLED-дисплее и кнопки. Устройство «проигрывает» его как аналоговый аудиосигнал, который компьютер воспринимает так же, как звук с настоящей кассеты.

Архитектура и техническая начинка​

Ядро системы​

КомпонентМодель / Описание
МикроконтроллерSTM32F103C8T6 (ARM Cortex-M3, 72 МГц, 64 КБ Flash, 20 КБ RAM, LQFP-48) — плата типа «Blue Pill»
Кварц8 МГц (ZQ1) + конденсаторы нагрузки 22 пФ (C9, C10)
Программирование/отладкаРазъём SWD (XS2: SWCLK/GND/SWDIO), BOOT0 разведён для входа в системный бутлоадер
ПрошивкаMaxDuino.hex/.bin — стартует с адреса 0x08000000, объём кода ≈46 КБ (укладывается в 64 КБ Flash)

Хранилище​

КомпонентОписание
SD1Слот microSD (SD-MICRO), подключён по SPI-подобному интерфейсу (CS, DI, SCLK, DO + VDD/VSS), с сигналом CDN (card detect)

Индикация и управление​

КомпонентОписание
OLED1Дисплей SSD1306, 128×64, I2C (SCL/SDA) — меню выбора файлов/папок, статус воспроизведения
Кнопки (S1–S5)PLAY, STOP, DOWN, UP, ROOT — навигация по файловой структуре SD-карты и управление воспроизведением
J1/J2Джамперы (вероятно, выбор режима работы/конфигурации при старте)

Аудиотракт​

КомпонентОписание
U2 LM386M-1/TRУсилитель мощности НЧ с типовой обвязкой (развязка по питанию, цепь Boucherot). Коэффициент усиления задаётся выводами GAIN/BYPASS
OUTPUT1 (PJ-3126-5A)Аудиоразъём (стерео/моно джек с определением подключения кабеля) — выход сигнала «ленты» на вход MIC/EAR ретро-компьютера
REMOTE1 (PJ-2040)Разъём дистанционного управления (remote). Используется компьютером для автоматического старта/остановки воспроизведения (сигнал REMOTE управляет мотором в оригинальных магнитофонах — здесь имитируется та же логика)

Питание​

КомпонентОписание
XS1Разъём USB-C (USB PWR) для внешнего питания 5 В
SA1 (MSS22D18G4)Защита/ESD-массив на линиях USB (CC1/CC2, D+/D-)
FU1Самовосстанавливающийся предохранитель на 0.2 А
U3 AMS1117-3.3Линейный стабилизатор 5В→3.3В для питания STM32 и логики (VCC-домен)
Отдельная шина +5VПитает LM386 (аудиотракт) и OLED

Печатная плата (PCB)​

ПараметрОписание
ТипДвухслойная (Top/Bottom Cu), стандартный набор слоёв: медь, шёлкография, паяльная маска, паста, отверстия PTH/NPTH/via
Размер≈ 51.4 × 41.6 мм (компактный форм-фактор, скруглённые углы)
ПроизводствоГотов к заказу на типовом китайском производстве (JLCPCB-подобный формат)
КомпоновкаМК и разъём SWD в центре; SD-карта справа; OLED и джамперы справа сверху; кнопки и аудиоузел (LM386, разъёмы OUTPUT/REMOTE) слева; блок питания (USB-C → предохранитель → 3.3В стабилизатор) снизу

Полный перечень элементов (BOM)​

Кол-воНоминал / ТипОбозначения
1USB-C разъёмXS1
410 мкФ (0805)C1, C7, C8, C11
3100 нФ (0805)C2, C5, C6
147 нФ (0805)C4
222 пФ (0805)C9, C10
1Предохранитель 0.2АFU1
11 кОмR1
110 ОмR2
310 кОмR3, R4, R5
1ESD-защита MSS22D18G4SA1
1100 мкФ (электролитический)C3
1AMS1117-3.3U3
1Слот microSDSD1
1Аудиоразъём PJ-3126-5AOUTPUT1
1Разъём REMOTE PJ-2040REMOTE1
5Кнопки (PLAY/STOP/DOWN/UP/ROOT)S1–S5
1Кварц 8 МГцZQ1
1SWD-разъём (3 pin)XS2
1LM386M-1/TR (SOP-8)U2
1STM32F103C8T6 (LQFP-48)U1
1OLED SSD1306 128×64OLED1
2ДжамперыJ1, J2

Принцип работы​

  1. Пользователь копирует файлы .tap, .tzx, .cdt, .cas и т.д. на microSD-карту (FAT16/FAT32).
  2. На плату подаётся питание через USB-C.
  3. На OLED отображается файловый менеджер — кнопками UP/DOWN/ROOT выбирается папка/файл.
  4. Кнопкой PLAY запускается воспроизведение — STM32 декодирует структуру блоков TAP/TZX и генерирует на выходе (через LM386 и разъём OUTPUT) точный аналоговый сигнал, повторяющий кодировку кассетного сигнала (импульсы разной длительности/частоты для «0» и «1»).
  5. Кабель с OUTPUT1 подключается к MIC/EAR входу ретро-компьютера, который загружает программу штатным способом (например, командой LOAD "" на ZX Spectrum).
  6. Разъём REMOTE может использоваться для синхронизации старта/остановки с компьютером, как у настоящего магнитофона.

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

Название файла / ПапкаОписаниеСсылка на Яндекс.Диск
Gerber_MaxDuinoSTM32_V3.zipGerber-файлы для производства печатной платы (ревизия 3.0)Ссылка на Яндекс.Диск
iBom_MaxDuinoSTM32_V3.htmlИнтерактивная спецификация компонентов (Interactive BOM)Ссылка на Яндекс.Диск
MaxDuino.binБинарный файл прошивки (для загрузчика)Ссылка на Яндекс.Диск
MaxDuino.hexПрошивка в формате Intel HEX (для программатора)Ссылка на Яндекс.Диск
Schematic_MaxDuinoSTM32_V2.pngПринципиальная схема ревизии V2 (PNG)Ссылка на Яндекс.Диск
Schematic_MaxDuinoSTM32_V3.pdfПринципиальная схема ревизии V3 (PDF)Ссылка на Яндекс.Диск
Скачать все файлыВсе файлы (герберы, BOM, прошивки, схемы) находятся в одном архивеСсылка на Яндекс.Диск

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

  • Источник (Telegram-канал)https://t.me/pentagon1024zp
  • Исходный проект MaxDuino (Rafa Molina)https://github.com/rcmolina/MaxDuino
  • Разработчик платы — Olexander Karnaukh (UR4QBP), апрель 2023
  • Среда проектирования — EasyEDA / JLCPCB
  • Репозиторий проекта — (отсутствует; проект распространяется через Telegram-канал)
Автор
Verter_bot
Просмотры
17
Первый выпуск
Последнее обновление

Оценки

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