Easy Z80 — это простой в сборке одноплатный компьютер (SBC) на базе процессора
Zilog Z80, разработанный
Sergey Kiselev. Проект возник из вопроса его сына Макса о том, что нужно для сборки компьютера, и может ли он спроектировать и собрать его сам. Этот проект — их попытка спроектировать и собрать простой, понятный, но в то же время функциональный одноплатный компьютер. В нём используется тот же механизм страничной адресации памяти, что и в
Zeta SBC V2. Применяются периферийные микросхемы
Zilog Z80 SIO/0 и
Z80 CTC, реализована конфигурация прерываний режима 2 с цепочкой daisy chain.
1. Технические характеристики
| Параметр | Значение |
|---|
| Процессор | Zilog Z80 CPU (CMOS-версия — Z84C00) |
| Память | 512 КБ SRAM с батарейным резервным питанием, 512 КБ Flash ROM |
| Ввод-вывод | Zilog Z80 CTC (программируемый таймер для периодических прерываний и опционально для генерации тактовой частоты UART), Zilog Z80 SIO (двухканальный последовательный интерфейс для консоли и подключения периферии) |
| Шина | Совместима с RC2014 |
| Микропроцессорный супервизор | Генерация сброса, резервное питание SRAM, NMI при сбое питания, сторожевой таймер (опционально) |
2. Разъёмы и джамперы
J1 — питание
Подключите стабилизированный источник питания +5В к этому разъёму.
| Пин | Сигнал | Описание |
|---|
| Наконечник (внутренний контакт) | VCC | Положительный вывод — +5В |
| Бочонок / гильза | GND | Отрицательный вывод — земля |
J2, J3 — последовательные каналы A и B
| Пин | Сигнал | Описание |
|---|
| 1 | DCD | Carrier Detect; не используется — не подключён на SBC |
| 2 | RXA, RXB | Приём данных; вход на SBC |
| 3 | TXA, TXB | Передача данных; выход с SBC |
| 4 | DTR | Data Terminal Ready; не используется — не подключён на SBC |
| 5 | GND | Подключён к сигналу GND SBC |
| 6 | DSR | Data Set Ready; не используется — не подключён на SBC |
| 7 | RTSA, RTSB | Request to Send; выход с SBC |
| 8 | CTSA, CTSB | Clear to Send; вход на SBC |
| 9 | RI | Ring Indicator; не используется — не подключён на SBC |
| Экран | DE9 Shield | Подключён к сигналу GND SBC |
J4 — батарея NVRAM
Подключите 3В батарею для резервного питания SRAM к этому разъёму.
Важно: Если резервное питание SRAM не требуется, замкните J4 джампером. Не оставляйте этот разъём открытым.
| Пин | Сигнал | Описание |
|---|
| 1 | VBAT | Положительный вывод — +3В |
| 2 | GND | Отрицательный вывод — земля |
J5, J6, J7 — шина RC2014
| Пин | Сигнал | Описание | Пин | Сигнал | Описание |
|---|
| J5-1 | A15 | Адрес A15; выход | | | |
| J5-2 | A14 | Адрес A14; выход | | | |
| J5-3 | A13 | Адрес A13; выход | | | |
| J5-4 | A12 | Адрес A12; выход | | | |
| J5-5 | A11 | Адрес A11; выход | | | |
| J5-6 | A10 | Адрес A10; выход | | | |
| J5-7 | A9 | Адрес A9; выход | | | |
| J5-8 | A8 | Адрес A8; выход | | | |
| J5-9 | A7 | Адрес A7; выход | | | |
| J5-10 | A6 | Адрес A6; выход | | | |
| J5-11 | A5 | Адрес A5; выход | | | |
| J5-12 | A4 | Адрес A4; выход | | | |
| J5-13 | A3 | Адрес A3; выход | | | |
| J5-14 | A2 | Адрес A2; выход | | | |
| J5-15 | A1 | Адрес A1; выход | | | |
| J5-16 | A0 | Адрес A0; выход | | | |
| J5-17 | GND | Земля | J6-1 | GND | Земля |
| J5-18 | VCC | Питание +5В | J6-2 | VCC | Питание +5В |
| J5-19 | /M1 | Machine Cycle One; выход | J6-3 | /RFSH | DRAM refresh; выход |
| J5-20 | /RESET | Сброс; выход | J6-4 | N/C | Не подключён |
| J5-21 | CPU_CLK | Такт CPU; выход | J6-5 | UART_CLK | Такт UART (1.8432 МГц); выход |
| J5-22 | /INT | Прерывание; вход | J6-6 | /BUSACK | DMA Bus Acknowledge; выход |
| J5-23 | /MREQ | Memory Request; выход | J6-7 | /HALT | Halt; выход |
| J5-24 | /WR | Write Request; выход | J6-8 | /BUSREQ | DMA Bus Request; вход |
| J5-25 | /RD | Read Request; выход | J6-9 | /WAIT | Wait; вход |
| J5-26 | /IORQ | Input/Output Request; выход | J6-10 | /NMI | Non-maskable Interrupt; вход |
| J5-27 | D0 | Данные D0; вход/выход | | | |
| J5-28 | D1 | Данные D1; вход/выход | | | |
| J5-29 | D2 | Данные D2; вход/выход | | | |
| J5-30 | D3 | Данные D3; вход/выход | | | |
| J5-31 | D4 | Данные D4; вход/выход | | | |
| J5-32 | D5 | Данные D5; вход/выход | | | |
| J5-33 | D6 | Данные D6; вход/выход | | | |
| J5-34 | D7 | Данные D7; вход/выход | | | |
| J5-35 | TXDA | Канал A, передача данных; выход | J7-1 | TXDB | Канал B, передача данных; выход |
| J5-36 | RXDA | Канал A, приём данных; вход | J7-2 | RXDB | Канал B, приём данных; вход |
| J5-37 | USR1 | Пользовательский пин 1, не подключён | J7-3 | USR5 | Пользовательский пин 5, не подключён |
| J5-38 | IEI | Interrupt Enable Input | J7-4 | USR6 | Пользовательский пин 6, не подключён |
| J5-39 | IEO | Interrupt Enable Output | J7-5 | USR7 | Пользовательский пин 7, не подключён |
JP1 — выбор тактовой частоты последовательного канала A
| Позиция | Описание |
|---|
| 1-2 (по умолчанию) | 1.8432 МГц (115200 бод в режиме x16) |
| 2-3 | Программируемый с использованием канала 0 CTC |
JP2 — выбор тактовой частоты последовательного канала B
| Позиция | Описание |
|---|
| 1-2 (по умолчанию) | 1.8432 МГц (115200 бод в режиме x16) |
| 2-3 | Программируемый с использованием канала 1 CTC |
3. Перечень компонентов (BOM, версия 1.1)
| Тип компонента | Обозначение | Описание | Кол-во | Возможные источники и примечания |
|---|
| PCB | Easy Z80 PCB — Version 1.1 | — | 1 | RetroBrew Computers Board Inventory, либо заказ у производителя по Gerber/KiCad |
| ИС | U1 | Z80 CPU, CMOS, 40-pin DIP — Z84C00xxPEG | 1 | Mouser 692-Z84C0010PEG |
| ИС | U2 | Z80 CTC, CMOS, 28-pin DIP — Z84C30xxPEG | 1 | Mouser 692-Z84C3010PEG |
| ИС | U3 | Z80 SIO/0, CMOS, 40-pin DIP — Z84C40xxPEG | 1 | Mouser 692-Z84C4010PEG |
| ИС | U4 | 512 КБ SRAM, 32-pin DIP — AS6C4008 | 1 | Mouser 913-AS6C4008-55PCN |
| ИС | U5 | 512 КБ Flash ROM, 32-pin DIP — SST39SF040 | 1 | Mouser 804-39SF0407CPHE |
| ИС | U6 | Микропроцессорная схема супервизора — MAX693 | 1 | Mouser 584-ADM693ANZ; альтернативы: MAX693, LTC693, ADM691, MAX691, LTC691, ADM695, MAX695, LTC965, LTC1235 |
| ИС | U7, U8 | Dual RS-232 Driver/Receiver — MAX232A | 2 | Mouser 595-TRS202EIN |
| ИС | U9 | Simple Programmable Logic Device — ATF16V8B | 1 | Mouser 556-AF16V8B15PU |
| ИС | U10, U11 | 4-by-4 Register File — 74HC670 | 2 | Mouser 595-CD74HC670E |
| ИС | U12 | Dual Flip Flop — 74HC74 | 1 | Mouser 595-SN74HC74N |
| Генератор | QG1 | 10 МГц, CMOS oscillator, Half Can | 1 | Mouser 774-MXO45HS-3C-10.0 |
| Генератор | QG2 | 1.8432 МГц, CMOS oscillator, Half Can | 1 | Mouser 774-MXO45HS-3C-1.8 |
| Светодиод | D1 | 3 мм, зелёный LED-индикатор | 1 | Mouser 859-LTL-4231N |
| Тактовая кнопка | SW1 | 6 мм тактовая кнопка, угловая | 1 | Mouser 653-B3F-3152 |
| Разъём | J1 | DC Power Jack, 2 мм | 1 | Mouser 806-KLDX-0202-A |
| Разъём | J2, J3 | Sub-D DE9M, угловой, PCB mount | 2 | Mouser 806-K22X-E9P-N-99 |
| Разъём | J4 | 2-pin header с фиксатором | 1 | Mouser 571-6404562 |
| Разъём | J5 - J7 | 40x2 pin header, 2.54 мм, угловой | 1 | Mouser 571-9-103326-0 |
| Конденсатор | C1 - C14, C16 - C23 | 0.1 мкФ, MLCC, 5 мм | 22 | Mouser 594-K104K15X7RF53H5 |
| Конденсатор | C24 | 47 мкФ, 25В, алюминиевый органический полимер | 1 | Mouser 80-A750EK476M1EAAE40 |
| Резисторная сборка | RN1 - RN3 | 4.7 кОм, bussed, 5-pin SIP | 3 | Mouser 652-4605X-AP1-472LF |
| Резисторная сборка | RN4 | 4.7 кОм, bussed, 9-pin SIP | 1 | Mouser 652-4609X-AP1-472LF |
| Резистор | R1 | 470 Ом, осевой | 1 | Mouser 603-MFR-25FRF52-470R |
| Резистор | R2 - R4 | 10 кОм, 1%, осевой | 3 | Mouser 603-MFR-25FRF5210K |
| Резистор | R5 | 29.4 кОм, 1%, осевой | 1 | Mouser 603-MFR-25FBF52-29K4 |
| Подстроечный резистор | RV1 | 2 кОм, сквозной монтаж | 1 | Mouser 652-3362P-1-202LF |
| Панелька | U1, U3 | 40-pin DIP | 2 | Mouser 517-4840-6000-CP |
| Панелька | U4, U5 | 32-pin DIP | 2 | Mouser 517-4832-6000-CP |
| Панелька | U2 | 28-pin DIP | 1 | Mouser 517-4828-6000-CP |
| Панелька | U9 | 20-pin DIP | 1 | Mouser 517-4820-3000-CP |
| Панелька | U6 - U8, U10, U11 | 16-pin DIP | 5 | Mouser 517-4816-3000-CP |
| Панелька | U12 | 14-pin DIP | 1 | Mouser 517-4814-3000-CP |
| Панелька | QG1, QG2 | 4-pin DIP, Half Can | 2 | Mouser 535-1108800 |
4. Документация прошивки
BIOS и ОС
Easy Z80 поддерживается
RomWBW v2.9.1 и более поздними версиями. RomWBW включает BIOS, CP/M-80 2.2, Z-System и набор утилит. Также должна быть возможность запустить
FUZIX на этой плате.
SPLD Fuse Map
Easy Z80 использует SPLD
ATF16V8/GAL16V8 (U9) для логики декодирования адресов. Карта прошивки SPLD и исходный код SPLD предоставлены в директории
SPLD этого репозитория.
5. Примечания к выпуску
Изменения
- Версия 1.1:
- Добавлены подтягивающие резисторы на шине данных (RN4 — 4.7к) для поддержки режима прерываний Z80 mode 0
- Использована серия 74HC вместо 74HCT
- Удалён C15
- Использовано обозначение RN для резисторных сборок вместо RR
- Обновлена шёлкография: сделаны видимыми обозначение и значение RN1; обновлена шёлкография футпринтов разъёмов, чтобы JP1 и JP2 не закрывали дорожки; добавлен URL проекта на нижнюю шёлкографию
- Версия 1.0:
Известные проблемы
- Версия 1.0:
- Верхняя шёлкография: обозначение и значение RR1 не видны. Должно быть «RR1, 4.7k»
- Нижняя шёлкография на JP1 и JP2 закрывает соединения дорожек, поэтому они плохо видны
- Нижняя шёлкография: нет URL проекта. Должен быть github.com/skiselev/easy_z80
- Плата не будет сбрасываться, если установлен C15. Обходной путь: не устанавливайте этот конденсатор
- Схема и верхняя шёлкография: используйте серию 74HC вместо 74HCT
Пожелания
- Версия 1.0:
- Добавить подтяжки на шине данных для поддержки плат расширения, не предназначенных для Z80 interrupt mode 2
6. Резюме
Easy Z80 от Sergey Kiselev — это простой в сборке одноплатный компьютер на базе процессора
Zilog Z80 (Z84C00), оснащённый
512 КБ SRAM с батарейным резервным питанием,
512 КБ Flash ROM, периферийными микросхемами
Z80 CTC и
Z80 SIO/0, а также шиной
RC2014. Компьютер использует механизм страничной адресации памяти от Zeta SBC V2 и поддерживает прерывания режима 2 с цепочкой daisy chain. «Клеевая» логика реализована на SPLD
ATF16V8/GAL16V8. Плата поддерживается прошивкой
RomWBW (BIOS, CP/M-80 2.2, Z-System), а также потенциально
FUZIX. Проект включает полную документацию: схему, PCB, Gerber, BOM, исходный код SPLD и инструкции по сборке. Это отличный выбор для начинающих и опытных энтузиастов, желающих собрать классический CP/M-компьютер на Z80 с минимальными сложностями.
Файлы для загрузки
Полезные ссылки проекта: