Pentagon 128 Interface Board — это плата интерфейсных разъёмов для компьютера Pentagon 128 (ревизий 2023 и 2024), подключаемая слева к системному разъёму. Плата разработана в KiCad 7 и имеет размеры 150×60 мм.
Файлы для загрузки
| Название файла / Папка | Описание | GitHub | Yandex.Диск |
|---|---|---|---|
| source/ATmega (папка) | Прошивка для ATmega168PA (исходный код .ino) | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| plot (папка) | Gerber-файлы и сверловка (drill) для заказа платы | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| images (папка) | Изображения платы | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Pentagon128_InterfaceBoard.kicad_pcb | Файл печатной платы KiCad | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Pentagon128_InterfaceBoard.kicad_sch | Принципиальная схема KiCad | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| pico_RGB_TO_VGA.kicad_sch | Схема VGA выхода на RP2040-Zero | Ссылка на GitHub | Ссылка на Яндекс.Диск |
| Скачать все файлы | Все файлы находятся в одном архиве | Ссылка на GitHub | Ссылка на Яндекс.Диск |
Основа проекта: открытые проекты и информация
- PS/2 Universal Keyboard Controller (C) Xrust 2021
- Схема согласования SCART TV-Out: Sprite @tg / Froggy @zx-pk.ru
- ZX_RGBI2VGA-HDMI (C) @Alex_Eburg
Входные требования
- Выход на 15 KHz CRT TV/монитор с разъёмом SCART RGB (звук на SCART не выводится)
- Контроллер PS/2 клавиатуры (с возможностью подключения внешней расширенной клавиатуры на матрице контактов)
- Вход для подключения Sega Mega Drive геймпада (как Kempston)
- Разъём Floppy Power 5V
- Разъём питания DC IN 5V (5.5×2.1 мм) — для внешнего БП без переходника
- Разъём Audio Out — стандартный stereo mini jack 3.5 мм
- Разъём Tape In — mono 3.5 мм
- Разъём Tape Out — mono 3.5 мм
- Без МГТФ
Не входит в требования:
- Возможность размещения платы позади основной (тем не менее, это возможно при использовании угловых разъёмов "гребёнкой" и шлейфов)
- Выход на мониторы VGA 31 KHz, HDMI 720p
- Размещение beeper'а
Детали реализации
Краевой разъём:- Использован DIN 41612 (2×32 pin, male+female), т.к. female разъёмы на 2×32 pin 2.54 мм не обнаружены.
- Разъём выхода — DB15 в стандартной VGA распиновке (позволяет использовать стандартные кабели VGA-SCART, VGA-BNC, подключаться к OSSC).
- Композитная синхронизация выведена на пин 13 (HSYNC)
- На пин 9 (VGA E-DDC +5V) выведено питание 5V через резистор 180 Ом для переключения TV в режим SCART RGB (SCART pin 16 Fast Switch)
- На плате Pentagon заменены резисторы с 68 Ом: на выход R,G,B — 680 Ом, Bright — 1.5 кОм (подбирается). Выходные резисторы 130 Ом сигналов RGB на интерфейсной плате заменены на подстроечные (не все телевизоры одинаковы).
- Подключение Sega Mega Drive геймпада — подробности:
PS/2 и обычная клавиатура:
- Контроллер клавиатуры — PS/2 Universal Keyboard Controller (C) Xrust 2021. Не использует WAIT, не зависит от скорости контроллера.
- Матрица ключей — MT8816 в корпусе PLCC (компактнее, устанавливается в панельку).
- На плате разведён разъём для подключения стандартной матричной клавиатуры (например, от A.V.P.). В будущем планируется плата расширенной клавиатуры на современных переключателях.
Известные проблемы
- При размещении дисковода (GOTEK) справа нужен кабель питания длиной ~50 см (готовые кабели обычно до 30 см). Было бы удобнее, если бы разъём питания дисковода остался на основной плате.
- Разъём Audio Out находится близко к разъёму TV Out — штекер наушников диаметром >8 мм не поместится.
- Порядок рядов контактов a/b DIN 41612 отличается от СНП58. Female разъём пришлось перевернуть на нижнюю часть платы для корректной нумерации (размещаться будет на верхней стороне).
Сомнительные моменты
- На Pentagon 2024 выведено 5 пинов VCC и 6 GND; на Pentagon 2023 — 2 пина VCC и 6 GND. Основная плата может не работать стабильно от питания через системный разъём — придётся использовать Molex разъём питания.
- Не будут ли выходы ключей MT8816 в состоянии "0" конфликтовать с внешней клавиатурой?
- Нет блокировочного конденсатора на MT8816
- Для ATMEGA168 блокировочные конденсаторы желательны на каждый вход питания отдельно
- Электролитические конденсаторы большой ёмкости на питание убраны
- Mounting Holes без металлизации
Bill of Materials (BOM)
Замены резисторов на основной плате Pentagon:- R,G,B: 680 Ом
- Bright: 1.5 кОм (подбирается)
| Ref | Колич. | Модель / Номинал | Корпус | Описание |
|---|---|---|---|---|
| U2 | 1 | ATMEGA168PA-AU | TQFP-32 | Микроконтроллер |
| U1 | 1 | MT8816AP | PLCC-44 | Матрица ключей |
| — | 1 | PLCC-44 сокет | DIP THT | Панелька для MT8816 |
| C1, C2 | 2 | 0.1 мкФ | 1206 | Керамический конденсатор |
| Q1–Q4 | 4 | К315Б | TO-92 | Транзистор |
| RV1 | 1 | 1 кОм | Bourns 3296W | Подстроечный резистор (SYNC) |
| RV2, RV3, RV4 | 3 | 500 Ом | Bourns 3296W | Подстроечные резисторы (RGB) |
| R3 | 1 | 510 Ом | Аксиальный DIN0207 | Резистор 0.25 Вт |
| R4–R7 | 4 | 220 Ом | Аксиальный DIN0207 | Резистор 0.25 Вт |
| R2 | 1 | 180 Ом | Аксиальный DIN0207 | Резистор 0.25 Вт |
| R1 | 1 | 10 кОм | 1206 | Резистор SMD |
Разъёмы:
| Ref | Модель / Описание |
|---|---|
| J1 | DIN 41612 2×32 pin (male: OUPIIN 9001-31641C00A, female: OUPIIN 9001-34641C00A) |
| J4 | IDC-Header 2×05, 2.54 мм, вертикальный |
| J5 | DSUB-9 male horizontal (COM-порт, для геймпада) |
| J6 | DSUB-15-HD female horizontal (VGA) |
| J7 | Floppy Power 4 pin, 2.54 мм, right angle (High 12 мм / Flat 10 мм) |
| J9, J10, J11 | PJ-215 / PJ-325 3.5 мм jack 5-pin (Audio Out, Tape In, Tape Out) |
| J12 | Mini DIN 6 female (PS/2) |
| J14 | DC Power 5.5×2.1 мм female, PCB mount |
Сборка прошивки (Arduino IDE)
- Открыть source/ATmega/Spectrum128.ino
- Установить библиотеку PS2KeyRaw (Tools → Manage Libraries)
- Установить MiniCore
- Выбрать Tools → Board → MiniCore → ATmega168
- Clock: Internal 8 MHz
- Variant: 168P / 168PA
- Sketch → Verify/Compile
- Sketch → Export compiled Binary
- Low: 0xE2
- High: 0xDF
- Extended: 0xF9
Заливка прошивки
- Из Arduino IDE (при наличии совместимого программатора и bootloader'а)
- Программатором CH341A и ПО NeoProgrammer V2.2
Размер прошивки позволяет использовать ATmega8A.
Замечания после сборки платы
- Нет картинки по SCART — нужно подстроить переменный резистор SYNC (RV1).
- Клавиатура PS/2 работает.
- Геймпад Sega Mega Drive работает как Kempston (нужен кабель FC 2×5 10pin 30 см).
- Audio Out работает (нужен кабель, например, от CD-ROM Audio 40–60 см).
- Tape In работает (кабель jack 3.5 mm — jack 3.5 mm, источник — смартфон).
- При подключении питания через DC IN 5V (5.5×2.1 мм) плата Pentagon работает стабильно, падения напряжения нет. Рекомендуемый БП: MEAN WELL GST60A05-P1J (5V, 6A, 30W).
Пока не проверялось / Дополнительные эксперименты
На плате осталось свободное место — добавлен интерфейс VGA на Raspberry Pi Pico по схеме @Alex_Eburg (ZX_RGBI2VGA-HDMI).- Использована RP2040-Zero от Waveshare (полноразмерная Pico не помещается)
- Отдельная плата адаптера работает в VGA разрешениях до 1280×1024 с прошивкой zx-rgbi-to-vga-hdmi_gotek-osd
- Сверху можно добавить разъём на 2 контакта для GOTEK OSD
- Отключение питания +5V при USB подключении не предусмотрено
- Разъём Kempston может блокировать доступ к USB
- Одновременно на плате может быть подключён либо CRT TV/SCART выход, либо VGA
- На Pentagon 2024 сигналы RGBI выведены на системный разъём; для Pentagon 2023 можно прокинуть коротким шлейфом
| Ref | Модель | Описание |
|---|---|---|
| RZ1 | RP2040-Zero (Waveshare) | Микроконтроллер |
| U3 | 74HC245 | TSSOP-20 |
| R8, R9 | 100 Ом (1206) | Резисторы x2 |
| R10, R12, R14 | 390 Ом (1206) | Резисторы x3 |
| R11, R13, R15 | 820 Ом (1206) | Резисторы x3 |
| C6 | 0.1 мкФ (1206) | Конденсатор |
Полезные ссылки проекта:
- PS/2 Universal Keyboard Controller (Xrust 2021) — ссылка в репозитории
- ZX_RGBI2VGA-HDMI (Alex_Eburg) — GitHub
- Обсуждение подключения Sega Mega Drive геймпада — Telegram
- Библиотека PS2KeyRaw для Arduino — [управление библиотеками Arduino IDE]
- MiniCore для Arduino — [управление платами Arduino IDE]
- NeoProgrammer V2.2 — для прошивки ATmega через CH341A
- Репозиторий проекта — GitHub