## 1801ВП-065

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

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

### Назначение выводов
| Номер | Название   | Конфигурация | Назначение
|-------|------------|--------------|-----------------------------------------
| 1     | CLC        | Вход         | Основная тактовая частота, 4608кГц или 9216кГц для получения стандартного ряда скоростей обмена
| 2     | nEVNT      | Выход        | Выход запроса прерывания по таймеру, меандр 50 или 100Гц, в зависимости от частоты CLC
| 3-6   | FR0-FR3    | Вход         | Выбор скорости обмена последовательного интерфейса
| 7     | NB0        | Вход         | Выбор количества битов данных в слове, низкий уровень: 7 бит, высокий уровень: 8 бит
| 8     | nSEL       | Выход ОК     | Микросхема выбрана, низкий уровень при обращении к регистрам и выдаче вектора прерывания, этот сигнал позволяет добавить внешние схемы для поддержки дополнительных разрядов в регистрах или расширения вектора прерывания
| 9-19  | nAD0-Nad7  | Вых-3/Вход   | Мультиплексированный адрес/данные шины МПИ, разряды nAD0-nAD7
| 17-20 | nAD8-nAD11 | Вход         | Входы адресов nAD8-nAD11 с шины МПИ
| 21    | GND        | Питание      | Нулевой потенциал (земля)
| 22    | nAD12      | Вых-3/Вход   | Мультиплексированный адрес/данные шины МПИ, разряд nAD12, чтение регистра состояния
| 23,24 | ACL0-ACL1  | Вход         | Выбор базового адреса регистров и вектора прерывания
| 25    | nAD15      | Вых-3/Вход   | Мультиплексированный адрес/данные шины МПИ, разряд nAD15, чтение регистра состояния
| 26    | nBS        | Вход         | Признак обращения к внешним устройствам на шине МПИ, низкий уровень разрешает декодирование младших адресов и обращение к регистрам
| 27    | nTF        | Выход        | Инвертированный выход последовательных данных передатчика
| 28    | nIP        | Вход         | Инвертированный вход последовательных данных приемника
| 29    | nBSYD      | Вход         | Инвертированный вход готовности удаленного применика, низкий уровень разрешает работу передатчика
| 30    | NP         | Вход         | Запрет контроля четности, высокий уровень: биты четности не используются, низкий уровень: биты четности генерируются и проверяются
| 31    | nRR        | Выход        | Готовность приемника, низкий уровень показывает удаленному передатчику что можно передавать следующее слово данных
| 32    | PEV        | Вход         | Выбор четности, низкий уровень: четность, высокий уровень: нечетность
| 33    | nIAKI      | Вход         | Вход цепочки подтверждения прерывания
| 34    | nINIT      | Вход         | Аппаратный сброс, приводит микросхему в исходное состояние, биты разрешения прерываний сбрасывается, запросы на прерывание сбрасываются
| 35    | nVIRQ      | Выход OK     | Запрос на прерывание
| 36    | nIAKO      | Выход        | Выход цепочки подтверждения прерывания
| 37    | nDOUT      | Вход         | Строб записи данных МПИ
| 38    | nDIN       | Вход         | Строб чтения данных МПИ
| 39    | nRPLY      | Выход ОК     | Строб подтверждения транзакции МПИ
| 40    | nDCLO      | Вход         | Начальный сброс сдвиговых схем приемопередатчика
| 41    | nSYNC      | Вход         | Строб адреса МПИ
| 42    | VCC        | Питание      | Потенциал +5В (источник питания)

### Структурная схема 1801ВП1-035/065
![Struct](/065/img/struct_035.png)
Приведена структурная схема 1801ВП1-035, структурно идентичная 1801ВП1-065.

### Описание
Микросхема 1801ВП1-065 представляет собой универсальный последовательный
асинхронный приемо-передатчик (UART). Поддерживает 7/8 бит в слове данных,
опциональный контроль четности и имеет несколько конфигураций базового адреса
внутренних регистров и вектора прерываний, что позволяет использовать до трех
микросхем 1801ВП1-065 на одной шине МПИ без дополнительных логических схем.

Конфигруация и скорость обмена задаются сигнала на внешних входах микросхемы,
после смены конфигурации необходимо подать сигналы сброса nDCLO и nINIT для
надежного сброса внутренних делителей.

#### Выбор формата обмена по последовательному каналу
| Вход | 0                                | 1                              |
|------|----------------------------------|--------------------------------|
| NB0  | 7 бит данных в слове             | 8 бит данных в слове
| NP   | формировать и проверять четность | не использовать бит четности 
| PEV  | контроль по четности             | контроль по нечетности

#### Выбор скорости обмена по последовательному каналу
| FR3-0 | CLC=4608кГц  | CLC=9216кГц  |
|-------|--------------|--------------|
| 0000  | 50           | 100
| 0001  | 75           | 150
| 0010  | 100          | 200
| 0011  | 150          | 300
| 0100  | 200          | 400
| 0101  | 300          | 600
| 0110  | 600          | 1200
| 0111  | 1200         | 2400
| 1000  | 2400         | 4800
| 1001  | 4800         | 9600
| 1010  | 9600         | 19200
| 1011  | 19200        | 38400
| 1100  | 57600        | 115200
| 1101  | останов      | останов
| 1110  | останов      | останов
| 1111  | останов      | останов

#### Выбор базового адреса и вектора прерывания
| ACL1-0 | Базовый адрес      | Вектора прерывания приемника/передатчика |
|--------|--------------------|------------------------------------------|
| 00     | 177560<sub>8</sub> |	060<sub>8</sub>/064<sub>8</sub>
| 01     | 176560<sub>8</sub> |	360<sub>8</sub>/364<sub>8</sub>
| 10     | 176570<sub>8</sub> |	370<sub>8</sub>/374<sub>8</sub>
| 11     | сигнал nBS         | xx0<sub>8</sub>/xx4<sub>8</sub>

Всегда передаются 2 стоп-бита, при приеме выполняется проверка только
одного стоп-бита. Принятые данные переписываются в буферный регистр
и снимается готовность приемника по окончании интервала первого стоп-бита.
Поэтому для надежного приема данных микросхемой 1801ВП1-065 удаленная сторона
также должна передавать 2 стоп-бита.

Микросхема 1801ВП1-065 разрабатывалась на основе предыдущей версии
последовательного приемопередатчика - микросхеме 1801ВП1-035. В ходе изучения
топологии и схемотехники выяснилось, что внесенные изменения являются 
минимальными:
- вывод 31 микросхемы 1801ВП1-065 является выходом готовности приемника nRR,
  на нем появляется низкий уровень когда буферный регистр данных приемника
  готов к приему новых данных (то есть, предыдущие принятые данные были из
  регистра прочитаны).
- у микросхемы 1801ВП1-035 вывод 31 являлся выходом признака обнаружения
  условия break на приемной линии. Этот признак break теперь отображается
  в младшем бите регистра состояния приемника.
- вывод 8 микросхемы 1801ВП1-065 стал выходом с открытым коллектором nSEL.
  На данном выходе появляется низкий уровень в циклах обращения к внутренним
  регистрам, а также в циклах подтверждения активного прерывания. У микросхемы
  1801ВП1-035 вывод 8 является входом и служит для выбора длины слова данных
  (включает режим 5-битного слова)
- слово данных длиной 5 бит микросхемой 1801ВП1-065 не поддерживается, 
  возможно использование только 7 и 8-битных слов (хотя на топологии
  практически полностью сохранена схемотехника для поддержки и 5-битных слов).

Микросхема 1801ВП1-065, несмотря на кажущуюся простоту выполняемых функций,
является довольно сложной - использовано более двух третей ресурсов БМК - 434
логических ячейки и около 800 логических связей.

При реверс-инжиниринге был обнаружен ряд незначительных особенностей:
- в течение первых четыре периодов тактовой частоты вместо старт-бита
  передается значение младшего разряда сдвигового регистра. Обычно там
  содержится нулевое значение (после передачи предыдущего символа), однако
  при включении питания там может быть мусор и стартовый бит первого
  передаваемого символа может быть незначительно укорочен (на четыре такта
  входной частоты)
- очень странно работает вход готовности удаленного приемника, при
  обнаружении высокого уровня на данном входе немедленно деактивируется выход
  передатчика, разрушая передаваемые данные, если в этот момент была активна
  передача
- алгоритмы помехоустойчивого приема (с передискретизацией и
  мажоритарной схемой) в 1801ВП1-065 не применяются
- на кристалле есть графика, выполненная в слое металлизации,
  и представляющая собой слово "SART".

#### Внутренние регистры 1801ВП1-065
| Адрес | Описание
|-------|--------------------------------------
| +0    | Регистр состояния приемника
| +2    | Буферный регистр данных приемника
| +4    | Регистр состояния передатчика
| +6    | Буферный регистр данных передатчика

В буферных регистрах данных используется только младший байт.

#### Регистр состояния приемника (базовый адрес + 0)
| Бит | Описание
|-----|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0   | признак break (логический 0 более 10 битовых интервалов) на входе приемника, сброс бита признака break происходит по сигналу INIT или при прекращении условия break (линия принимаемых данных переходит в неактивное состояние), бит доступен только по чтению
| 6   | разрешение прерываний от приемника, если разряд установлен в 1, то прерывания от приемника разрешены, сбрасывается в 0 по сигналу nINIT, доступен по чтению и записи
| 7   | готовность данных приемника, доступен по чтению, сбрасывается при чтении буферного регистра данных приемника
| 12  | ошибка переполнения приемника, предыдущие принятые данные не были прочитаны микропроцессором до поступления новых, cбрасывается в 0 по чтению регистра данных применика и по сигналу nINIT, доступен по чтению
| 15  | ошибка приема, неверная четность или нет обнаружен стоп-бит, cбрасывается в 0 по чтению регистра данных применика и по сигналу nINIT, доступен по чтению

#### Регистр состояния передатчика (базовый адрес + 4)
| Бит | Описание
|-----|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 0   | установить признак break (логический 0) на выходе передатчика, сбрасывается по сигналу INIT, бит доступен по чтению и записи
| 2   | тестовый loopback, вход приемника подключается к выходу передатчика, сбрасывается в 0 по сигналу nINIT, доступен по чтению и записи
| 6   | разрешение прерываний от передатчика, если разряд установлен в 1, то прерывания от передатчика разрешены, сбрасывается в 0 по сигналу nINIT, доступен по чтению и записи
| 7   | готовность буферного регистра данных передатчика, доступен по чтению, сбрасывается при записи буферного регистра данных передатчика
