Плата периферии
Текущая версия 1.2
Данная плата обеспечивает подключение телевизора для вывода текстовой и графической информации, клавиатуру, монофический вывод звука, работу с SD картой. Опционально доступна установка четырех светодиодных дисплеев, суммарно отображающих 16x2 символов.
Адресное пространство периферийных устройств
Фотография собранной платы периферии
Характеристики
Функция | Описание |
---|---|
Внешний дисплей | Монохромный выход, PAL, 8 КБ ОЗУ видеопамяти, 2 КБ ПЗУ текстовых шрифтов |
Внутренний дисплей | Опционально, светодиодный, 16x2 символа |
Клавиатура | PS/2 |
Накопитель | SD/MMC карта памяти |
Звук | Монофонический |
Дополнительные порты | Последовательный порт (встроенный в процессор, +5В уровни) |
Адресное пространство периферийных устройств
Периферийные устройства доступны в окне памяти ввода-вывода E600-E6FF, что сотвествует адресации 256 байт памяти с помощью 8-бит адресной шины, выведенной на шину расширения. Память периферии делится на 8 секций размером 32 байта. Каждой секции можно назначить свою линию прерывания (Маршрутизация прерываний).
Адрес | Секция |
---|---|
E600-E61F | DS0 |
E620-E63F | DS1 |
E640-E65F | DS2 |
E660-E67F | DS3 |
E680-E69F | DS4 |
E6A0-E6BF | DS5 |
E6C0-E6DF | DS6 |
E6E0-E6FF | DS7 |
Адрес | Устройство |
---|---|
E610-E61F | Видеоконтроллер |
E6A0-E6AF | SimpleIO устройства |
E6B0-E6B1 | PSG - Звуковой генератор |
E6C0-E6C4 | SPI - Последовательный периферийный интерфейс |
E6D0-E6D1 | Клавиатура |
E6FE-E6FF | Маршрутизация прерываний |
Видеоконтроллер
VPU_DATA (E610) RW - Данные
VPU_ADDR (E611) RW - 16-бит адрес видеоданных
VPU_CONFIG (E613) RW - Регистр конфигурации
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
IRQ | IEN | VBL | GRF | CURINV | CUR | ID | AUTO |
Название | Описание |
---|---|
IRQ | Флаг вызова прерывания(сброс по чтению) |
IEN | Разрешение прерывания по достижению значения делителя |
VBL | Вертикальное прерывание |
GRF | Графический режим |
CURINV | Инверсия курсора |
CUR | Включение курсора |
ID | Уменьшение адреса данных |
AUTO | Автоматическое изменение адреса данных |
VPU_AUTOOFFS (E614) RW - Значение автоматического увеличения или уменьшения адреса
VPU_VADDR (E615) RW - 16-бит адрес начала видеопамяти
VPU_HSOFFS (E617) RW - Смещение изображения слева экрана (NN * 8 точек)
VPU_VSOFFS (E618) RW - Смещение изображения от верха экрана (линии)
VPU_HSIZE (E619) RW - Ширина изображения (NN / 8 точек - 1)
VPU_VSIZE (E61A) RW - Высота изображения (в линиях - 1)
VPU_CURPOS (E61B) RW - Горизонтальное положение курсора (NN / 8 точек)
VPU_CURLINS (E61C) RW - Вертикальное положение курсора начало (линия)
VPU_CURLINE (E61D) RW - Вертикальное положение курсора конец (линия)
SimpleIO
IO_TIM_CONFIG (E6A8) RW - Регистр конфигурации таймера
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
IRQ | IEN | - | - | - | - | - | RUN |
Название | Описание |
---|---|
IRQ | Флаг вызова прерывания(сброс по чтению) |
IEN | Разрешение прерывания по достижению значения делителя |
RUN | Запуск таймера |
IO_TIM_DIV (E6A9) RW - 24-бит делитель (базовая частота 12 МГц) или счетчик, если таймер запущен
Опциональные устройства:
IO_L8BIT (E6A0) RW - 8 светодиодов
IO_L7HI (E6A1) RW - 7-сегментный индикатор и запятая
IO_L7LO (E6A2) RW - 7-сегментный индикатор и запятая
IO_L2RGB (E6A3) RW - 2 RGB светодиода
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
- | R1 | G1 | B1 | - | R2 | G2 | B2 |
IO_SWKEYS (E6A4) R - ключи и кнопки
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
SW3 | SW2 | SW1 | SW0 | KEY3 | KEY2 | KEY1 | KEY0 |
PSG
Звуковой генератор совмести с YAMAHA YM-2149.
PSG_DATA (E6B0) RW - Данные
PSG_ADDR (E6B1) W - Адрес
SPI
SPI_DATA (E6C0) RW - Данные 16 бит
SPI_CONFIG (E6C2) RW - Регистр конфигурации
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
READY | - | SSM | 16B | SS3 | SS2 | SS1 | SS0 |
Название | Описание |
---|---|
READY | Флаг готовности |
SSM | Программное управление выбором периферии |
16B | 16-бит SPI |
SS3-SS0 | Сигналы выбора периферийного устройства |
SPI_PRESCALER (E6C3) RW - Делитель частоты синхронизации
SPI_POUT (E6C4) RW - Дополнительные биты сигнала выбора периферии (только программно)
Клавиатура
PS2_DATA (E6D0) RW - Данные клавиатуры
PS2_CONFIG (E6D1) RW - Регистр конфигурации
Регистр конфигурации
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
IRQ | IEN | RDY | BSY | TIM | E1 | E0 | REL |
Название | Описание |
---|---|
IRQ | Флаг вызова прерывания (сброс по чтению) |
IEN | Разрешение прерывания от клавиатуры |
RDY | Данные готовы |
BSY | Клавиатура занята |
TIM | Время ожидания передачи данных вышло |
E1 | Присутствует префикс E1 |
E0 | Присутствует префикс E0 |
REL | Клавиша отжата |
Последовательное нажатие клавиш CTRL+LALT+RALT+DEL вызывает аппаратную перезагрузку.
Маршрутизация прерываний
INT_ROUTER (E6FE) RW - 16 битный регистр назначение прерываний
15 14 | 13 12 | 11 10 | 09 08 | 07 06 | 05 04 | 03 02 | 01 00 |
---|---|---|---|---|---|---|---|
DS7 | DS6 | DS5 | DS4 | DS3 | DS2 | DS1 | DS0 |
Биты | Прерывание |
---|---|
0 0 | IRQ1 |
0 1 | IRQ2 |
1 0 | NMI |
1 1 | RESET |