Общий обзор - описание оригинального блока управления ЭПС-103
Оригинальный блок ЭПС-103 представляет собой отдельное устройство, предназначенное только для управления моторным блоком ЭПР-203. Он не имеет дистанционного управления или подключения к спутниковому ресиверу. Приходится помнить, что производство происходило где-то в восьмидесятых годах прошлого века. Его возможности и используемые компоненты соответствуют этому. Лично я вообще не рассматривал возможность его использования в эти дни. Вот почему родился мой проект Raspberry Pi. Но многочисленные запросы об этом агрегате показывают, что многие до сих пор им пользуются. Вот почему я решил уделять ей больше времени, чем планировал изначально.
Рис. 1 - Оригинальный блок ЭПС-103
Скачать инструкцию и схему можно здесь. Блок управляется с помощью клавиатуры с 11+2 кнопками и одним переключателем. Состояние агрегата отображается на 40-символьном однострочном дисплее.
Сердцем устройства является процессор D8085 от NEC. Программа (прошивка) находится в параллельной памяти EPROM AM27128A размером 16кБ. Память можно стереть только УФ-излучением. Память заполнена примерно на 2/3. Все системные и программируемые пользователем данные хранятся в памяти NEC D449C SDRAM емкостью 2 КБ. Память питается от встроенного аккумулятора, когда устройство выключено. Оба типа памяти и все периферийные устройства отображаются на общее адресное пространство размером 64 КБ. Дисплей представляет собой отдельное периферийное устройство, подключенное непосредственно к системной шине. Так же работает схема OKI M60233, обрабатывающая импульсы от датчиков ЭПР-203. Остальные периферийные устройства подключены по схеме 8255. Это модуль клавиатуры и модуль реле, переключающий напряжение на двигатели. Обзор представлен в следующей таблице.
Адрес от | Адрес к | Компонента | Обозначение | Примечание |
$0000 | $3FFF | EPROM | AM27128A | 16 kB |
$4000 | $47FF | SDRAM | D449C | 2 kB |
$4800 | $4803 | LCD | DMC 40131 | |
$5000 | $5003 | M60233 | вход от датчиков | |
$5800 | $5803 | клавиатура | 8255 PA, PB | динамически сканируется |
реле | 8255 PC | контроль двигателя |
Я получил диапазон адресов из схемы устройства. LCD-дисплей общается только по четырем адресам: (Исправлено 16.10.2022):
- Adr. $4800 = Read Busy Flag / Address Counter
- Adr. $4801 = Read Data - not used
- Adr. $4802 = Write Command
- Adr. $4803 = Write Data
Периферийная цепь 8255A расположена по следующим адресам:
- Adr. $5800 = R/W PA
- Adr. $5801 = R/W PB
- Adr. $5802 = R/W PC
- Adr. $5803 = Write Control Word
Control Word имеет следующие функции: (Bit 0, 1, 2 = Group A; Bit 3, 4, 5, 6 = Group B)
- Bit 0: Port C (lower): 0 = output; 1 = input
- Bit 1: Port B: 0 = output; 1 = input
- Bit 2: Mode Group A: 0 = basic I/O; 1 = strobed I/O
- Bit 3: Port C (upper): 0 = output; 1 = input
- Bit 4: Port A: 0 = output; 1 = input
- Bit 5, 6: Mode Group B: 00 = basic I/O; 01 = strobed I/O; 1x = Bi-Directional
- Bit 7: Mode Set Flag: 1 = Active
Если мы решим каким-либо образом модифицировать блок ЭПС-103, нам всегда придется перепрограммировать память с прошивкой. Здесь важно отметить, что это старый тип параллельной памяти, в котором вся адресная шина направляется на выводы схемы. Сегодня этот тип памяти мало используется. Поэтому сложно найти программиста, который сможет с ними работать. Многие программаторы с большим сокетом для цепей до PDIP40 работают только в последовательном режиме и для наших целей непригодны. Мне удалось найти USB-программатор Willem Programmer GQ-4x V4, который умеет работать с параллельной памятью.
Рис. 2 – программатор и ластик
Память можно стереть только УФ-излучением. Поэтому помимо программатора нам понадобится еще и УФ-ластик памяти. Естественно, я подумал о замене оригинального типа на более новую EEPROM или Flash память, которую можно стереть прямо в программаторе. К сожалению, я не смог найти ни одного подходящего типа в эти дни. Памяти емкостью 16кБ в таком исполнении просто больше не существует. Вы можете купить ЗУ большей емкости, но у них по-другому подключены некоторые клеммы. Мне не хотелось экспериментировать с ними. Также обратите внимание на тип памяти EPROM, которую можно запрограммировать, но только один раз. Их нельзя удалить.
Поскольку память в устройстве находится в сокете, ее относительно легко извлечь и прочитать. Это дает нам базовый файл *.bin, с которым мы будем работать дальше. Вы можете скачать мою прошивку версии 5.0 в разделе Файлы для скачивания / Оригинальная документация. Для сравнения вы также можете скачать более новую версию прошивки 5.015, которую я получил от владельца Egis. Если у вас есть прошивки других версий, присылайте их на