Микросхема по NB, PEV, NP полностью соответствует -035, RR никуда не заведен, как и BSYD, у нее применено аппаратное квитирование, что не позволяет его использовать с PC - у PC оно программное, т.е. при снятии CTS порт в писюке просто возникает прерывание, но вывод не блокируется, приостановка осуществляется программой, которая тормозит только следующий байт, а текущий, выдачу которого попросила остановить -065, в этом случает все равно улетает, более того, если включено выходное FIFO, с этим байтом вылетают и все, попавшие в FIFO ранее, в результате чего передавать данные становится совершенно невозможно, т.к. либо процент ошибок зашкаливает, либо приходится ставить слишком маленькую скорость, не более 4800, чтоб хоть на консоли работать...
Выход - не применять -065 & -035 с PC, а только с другой -065 на другом конце. Нам потребовалось передавать данные между PC и платой на базе ВМ3, пришлось изготовить свою микросхему коммуникационного порта, зато со стороны ВМ3 скорости теперь выбираются от 50 бод до 230400 бод, имеется 16-байтовое выходное FIFO и 1024-байтовое входное FIFO, вывод по пропаже CTS тормозится на каждом байте при передаче - CTS проверяется перед заполнением регистра сдвига передатчика, а RTS выставляется при заполненности входного FIFO не более 16 символов, а убирается при достижении заполненности входного буфера до 1000 символов, оставляя еще 24 запас на время реакции PC и опустошение его выходного FIFO. Реализовано на CPLD XC9572 (интерфейс QBUS, контроллер прерываний, регистры обмена) и микросхеме микроконтроллера, встроенные UART и SRAM которого и используются.
По пункту 4 - все те же скорости, что и у -035, только после 19200 следующей добавлена 57600, при подаче на тактовый вход частоты 9216000Гц линейка частот сдвигается в более стандартную.
FR3 FR2 FR1 FR0 4608кГц 9216кГц
0 0 0 0 50 100
0 0 0 1 75 150
0 0 1 0 100 200
0 0 1 1 150 300
0 1 0 0 200 400
0 1 0 1 300 600
0 1 1 0 600 1200
0 1 1 1 1200 2400
1 0 0 0 2400 4800
1 0 0 1 4800 9600
1 0 1 0 9600 19200
1 0 1 1 19200 38400
1 1 0 0 57600 115200
1=+5в 0=земля
Уровни на NB0, NP, PEV у вас правильно описаны. ACL0/ACL1 у -065 тоже соответствуют -035
NB1 у -065 исключен, вместо этого он сделан выходом с открытым стоком, лог. 0 на котором вырабатывается при адресации любого из регистров микросхемы, это сделано, чтоб можно было навесить внешние регистры и получить полный набор бит, т.е. с DTR/DSR&RTS/CTS, при этом прерывания от изменения их состояния должны обслуживаться также дополнительной обвязкой пользователя. По стандарту PDP11 биты заводятся на разряды CSR приемника: DTR 01, DSR 04, RTS 02, CTS 13, RING 14, а вот с CD вышла накладка, он у PDP11 сидит на 12м бите, а у ВП1-035/-065 там бит Overrun, который у PDP на 14 бите в регистре данных приемника, а бит ошибки четности, читающийся у ВП1 в 15 разряде регистра состояния приемника, должен быть по стандарту в 12 бите данных приемника, бит 13 регистра данных приемника у PDP - FramingError.
Сигнал HALT также устранен, его место занял RR, теперь состояние BREAK, "разрыв линии", детектится дополнительным битом в регистре состояния приемника, в разряде 00.
[свернуть]