## 1801ВП1-030

### Фотографии кристалла высокого разрешения
[1801ВП1-030, 93M](http://www.1801bm1.com/files/retro/1801/images/vp1-030.jpg)

### Условное графическое обозначение
![Symbol](/030/img/030.png)

### Назначение выводов
| Номер       | Название     | Конфигурация | Назначение
|-------------|--------------|--------------|-----------------------------------------
| 1           | nAD5         | Вход         | Вход адреса AD5 с шины МПИ
| 2           | nAD4         | Вход         | Вход адреса AD4 с шины МПИ
| 3           | nAD3         | Вых-3/Вход   | Разряд AD3 МПИ, чтение/запись бита 3 регистра режима
| 4           | nAD2         | Вых-3/Вход   | Разряд AD2 МПИ, чтение/запись бита 2 регистра режима
| 5           | nAD1         | Вход         | Вход адреса AD1 с шины МПИ
| 6           | nAD14        | Вход         | Вход адреса AD14 с шины МПИ
| 7           | nAD0         | Вход         | Вход адреса AD0 с шины МПИ, выбор nCAS0/nCAS1 при записи байта
| 8           | nDIN         | Вход         | Строб чтения данных шины МПИ
| 9           | nDOUT        | Вход         | Строб записи данных шины МПИ
| 10          | CLC          | Вход         | Основная тактовая частота, все внутренние автоматы состояний используют фронты и срезы сигнала на данном входе. От 4.2 до 8МГц.
| 11          | nRAS0        | Выход        | строб адреса страницы младшего банка динамического ОЗУ
| 12          | LOCK         | Выход        | Высокий уровень разрешает обращение к системному ПЗУ
| 13          | nRPLY        | Выход ОК     | Строб подтверждения транзакции МПИ
| 14          | C            | Выход        | Тактирование выходного регистра данных, высокий уровень записывает данные в выходной буферный регистр с выходов микросхем динамической памяти
| 15          | nDME         | Выход        | Разрешение выходов буферного регистра данных, низкий уровень разрешает выходы
| 16          | nRAS1        | Выход        | строб адреса страницы старшего банка динамического ОЗУ
| 17          | nRSEL        | Вход         | Выбор регистра режима, низкий уровень разрешает доступ
| 18          | nWE          | Выход        | Низкий уровень при записи в динамическое ОЗУ
| 19, 20      | nCAS0, nCAS1 | Выход        | Стробы адреса колонки микросхем динамической памяти, при записи определяют младший и старший байты
| 21          | GND          | Питание      | Нулевой потенциал (земля)
| 22-28       | A0-A6        | Выход        | Мультиплексированный адрес динамической памяти, адрес регенерации.
| 29          | nWTBT        | Вход         | Признак транзакции записи, признак байтовой записи МПИ
| 30          | nDCLO        | Вход         | Начальный сброс контроллера
| 31          | nAD15        | Вход         | Вход адреса AD15 с шины МПИ
| 32          | nSYNC        | Вход         | Строб адреса шины МПИ
| 33          | MSEL         | Вход         | Вход декодера декодера старших разрядов A13-A15. Защелкивается ниспадающим фронтом на входе nSYNC. Высокий уровень на данном входе разрешает работу динамической памяти в указанном диапазоне адресов. Если уровень низкий, то контроллер памяти не реагирует на цикл обмена
| 34-41       | nAD13-nAD6   | Вход         | Входы адреса AD13-AD6 с шины МПИ
| 42          | VCC          | Питание      | Потенциал +5В (источник питания)

### Структурная схема 1801ВП1-030
![Struct](/030/img/struct_030.png)

### Описание
Микросхема 1801ВП1-030 предназначена для управления двумя банками динамического
ОЗУ 16K 16-битных слов каждый, построенных на микросхемах типа 565РУ3 или
565РУ6. Микросхема выполняет следующие функции:
- прием с шины МПИ, хранение и выдачу адреса через выходной мультиплексор на динамическое ОЗУ
- регенерацию динамической памяти
- управление буферным реистром выходных данных, считываемых из динамического ОЗУ
- регистр режима для управления отображением системных областей памяти при работе с микропроцессором 1801ВМ1

В составе микросхемы 1801ВП1-030 можно выделить следующие структурные блоки:
- СЧАР, счетчик адресов регенерации
- БРА, буферный регистр адреса
- МПА, мултиплексор адреса динамической памяти
- РРЕЖ, регистр режима
- КМПА, компаратор адресов
- БС, блок синхронизации
- УМ, буферные усилители мощности

Счетчик адресов регенерации включает делитель тактовой частоты (разряды 0-5) и
счетчик адресов (разряды 6-13), содержимое которых в режиме регенерации через
МПА поступает на выводы A0-A6 и является адресом регенерируемой страницы
динамического ОЗУ.

Буферный регистр адреса содержит 16 разрядов и предназначен для хранения адреса,
поступающего по системной магистрали МПИ. Содержимое разрядов 1-7 при выдаче
разрядов адреса строки (RAS) поступает через МПА на выводы A0-A6, при выдаче
адреса столбца на выводы A0-A6 поступает содержимое разрядов 8-14. Кроме того,
разряды 8-14 буферного регистра адреса участвуют в выработке сигнала LOCK.
Разряд 0 используется блоком синхронизации для определения младшего или старшего
байта при выполнении операции байтовой записи. Адрес с шины МПИ фиксируется в
БРА по ниспадающему фронту на входе nSYNC.

Мультиплексор фдресов предназначен для раздельной по времени выдачи адреса
динамического ОЗУ в виде 7-разрядных адресов строки и столбца в ходе циклов
обмена, а таже 7-разрядного адреса регенерации в соответствующих циклах.

Регистр режима предназначен для хранения служебных признаков режима работы
однокристалльного микропроцессора 1801ВМ1. Реализованы только разряды 2 и 3,
доступных по чтению и записи по системной магистрали (разряды nAD2 и nAD3).
Данные разряды влияют на выработку сигнала LOCK и принудительного обращения к
динамическому ОЗУ вместо системного ПЗУ. Биты регистра режима не
инициализируются сигналом nDCLO.

Компаратор адресов вырабатывает сигнал блокировки LOCK, служащий для выборки
областей системного ПЗУ (сигналом высокого уровня) и блокировки этих областей
(сигналом низкого уровня) в адресном пространстве внешних устройств. Устновка
высокого разрешающего уровняна выходе LOCK происходит в следующих случаях:
- адрес находится в диапазоне 160000<sub>8</sub>-163777<sub>8</sub>
  при установленном бите 2 регистра режима
- адрес находится в диапазоне 160000<sub>8</sub>-173777<sub>8</sub>
  при установленном бите 3 регистра режима
- адрес находится в диапазоне 173000<sub>8</sub>-173777<sub>8</sub>
  независимо от битов режима
Также компаратор адресов вырабатывает признак обращения к динамическому ОЗУ для
блока синхронизации при обращении по адресу в диапазоне 
177600<sub>8</sub>-177677<sub>8</sub>, при этом сигнал MSEL игнорируется.

Итоговое адресное пространство памяти платы МС1201.01 на которой применена
микросхема 1801ВП1-030 можно представить следующей таблицей:

| Диапазон адресов                      | Отображаемая память
|---------------------------------------|-------------------------------------
| 000000<sub>8</sub>-157777<sub>8</sub> | DRAM, определяется сигналом MSEL
| 160000<sub>8</sub>-163777<sub>8</sub> | ROM, если установлен бит 2 регистра режима
| 160000<sub>8</sub>-173777<sub>8</sub> | ROM, если установлен бит 3 регистра режима
| 173000<sub>8</sub>-173777<sub>8</sub> | ROM, не зависит от регистра режима
| 177600<sub>8</sub>-177677<sub>8</sub> | RAM, не зависит от сигнала MSEL

Блок синхронизации вырабатывает сигналы управления банками динамического ОЗУ,
сигналы управления внутреннними блоками контроллера, а также обрабатывает
сигналы управления по шине МПИ.

Регенерация динамического ОЗУ производится по принципу: один цикл регенерации
страницы в течение 64 тактов частоты CLC. Полная информация по всем
128 страницам динамического ОЗУ типа 565РУ6 должна происходит не реже чем за
2 мс, отсюда вытекает требование к входной частоте быть не менее 4.2МГц.
Блок синхронизации пытается запускать циклы регенерации сразу по окончанию
цикла обмена информацией со стороны микропроцессора. При отсутствии циклов
обмена с динамической памятью в течение 32 тактов частоты CLC после получения
запроса на регенерацию происходит безусловный принудительный запуск цикла
регенерации. Запрос на очередную регенерацию выдается через 16 тактов CLC
от момента обновления счетчика адреса.

Несколько интересных фактов, обнаруженных в ходе реверс-инжиниринга
1801ВП1-030:
- микросхема использует чуть более четверти объема матрицы ячеек, всего 168 из 600 
- микросхема содержит менее 300 цепей
- присутствуют устаревшие (но простые) схемотехнические решения типа ripple counter
- всего один внутренний регистр (декодируется по входу RSEL, поэтому необязательно
  имеет адрес 177716<sub>8</sub>), этот регистр содержит всего два бита,
- цепи AD[15:0] являются входами, как выходы служат только два из них (nAD3, nAD2)
  и используются именно чтение регистра режима
- выход nRPLY построен по схеме "открытый коллектор"
- имеется тестовый заводской режим, если одновременно подать активные низкие уровни
  на nDIN и nDOUT то на выходах адреса динамической памяти будет выдаваться значение,
  инкрементируемое с каждым тактом входной частоты, это позволяет быстро проверить
  частотные свойства конкретного экземпляра микросхемы
