Зилог СКЦ
SCC созданных , сокращение от Serial Communication Controller , представляет собой семейство последовательного порта, драйверов интегральных схем компанией Zilog . Основными членами семейства являются Z8030/Z8530 и Z85233.
Разработанный на основе более ранних устройств Zilog SIO (Z8443), SCC добавил ряд последовательных и параллельных режимов, которые позволили внутреннюю реализацию различных канального уровня, протоколов таких как Bisync , HDLC и SDLC .
SCC можно настроить как обычный порт RS-232 для управления устаревшими системами или как порт RS-422 для гораздо более высокой производительности, до 10 Мбит/с. Детали реализации обычно ограничивали производительность до 5 Мбит/с или меньше.
Одним из самых известных пользователей SCC была линейка компьютеров Apple Macintosh SE , в которой Z8530 использовался для реализации двух последовательных портов на задней панели ранних моделей, обозначенных как «модем» и «принтер».
Описание
[ редактировать ]Традиционная последовательная связь обычно реализуется с помощью устройства, известного как UART , которое преобразует данные из внутреннего параллельного формата компьютерной шины в последовательный и обратно. Это позволяет компьютеру отправлять данные последовательно, просто выполняя обычную параллельную запись в регистр ввода-вывода , а UART преобразует их в последовательную форму и отправляет. Обычно для каждой компьютерной архитектуры существовали разные UART, чтобы сделать их как можно более дешевыми. Хорошим примером является Silog Z-80 SIO 1977 года, разработанный для работы с широко используемым Zilog Z80 для обеспечения двух последовательных портов с относительно высокими скоростями до 800 кбит/с. Технически SIO является USART , поскольку он понимает синхронные протоколы. [1]
SCC, по сути, представляет собой обновленную версию SIO с большим количеством внутренней логики, позволяющей напрямую реализовывать ряд общих протоколов канального уровня . Начнем с того, что SCC включал в себя аппаратную реализацию проверки циклическим избыточным кодом (CRC), которая позволяла ему проверять, помечать и отклонять неправильные данные без поддержки главного компьютера. Протоколы более высокого уровня включали BiSync , HDLC и SDLC . HDLC более известен в своей реализации в модемно -ориентированном протоколе LAPM , входящем в состав V.42 . Перенеся реализацию этих протоколов на аппаратное обеспечение, SCC упростил внедрение систем локальных сетей от IBM , таких как SNA , без необходимости в центральном процессоре для обработки этих деталей.
При использовании в традиционном последовательном режиме SCC может быть настроен на использование 5, 6, 7 или 8 бит/символ, 1, 1 + 1 ⁄ 2 или 2 стоповых бита, нечетный, четный или без четности, а также автоматически обнаруживаемые или генерируемые сигналы прерывания. В синхронных режимах данные могли быть дополнительно отправлены с кодировкой NRZ , NRZI или FM, а также с манчестерским декодированием, хотя манчестерское кодирование должно было обрабатываться внешней логикой.
Скорость передачи SCC может быть рассчитана по трем источникам. Для базовой связи в стиле RS-232 SCC включал внутреннюю тактовую частоту 300 Гц, которую можно было умножить на 1, 16, 32–64, обеспечивая скорость передачи данных от 300 до 19 200 бит/с. В качестве альтернативы он может использовать тактовую частоту на шине, предоставленную хост-платформой, а затем разделить эту тактовую частоту на 4, 8, 16 или 32 (последние два только в исходной реализации NMOS ). При использовании на машине, работающей на обычной тактовой частоте 8 МГц, это позволяло достичь скорости до 2 Мбит/с. Наконец, SCC также имел входы для подключения внешних часов. Это работало аналогично тактовому генератору хоста, но его можно было использовать для подачи любого опорного тактового сигнала, независимо от хост-платформы. В этом режиме тактовую частоту можно было разделить, как во внутреннем случае, или умножить на 2 для еще более высоких скоростей, до 32,3 Мбит/с в некоторых версиях. Использование внешних часов упростило внедрение сетевых адаптеров, которые обычно работали на скоростях, не зависящих от главного компьютера.
Ранние реализации использовали буферы приема глубиной всего 3 байта и буфер отправки с одним байтом. Это означало, что реальная производительность была ограничена способностью хост-платформы постоянно очищать буферы в свою собственную память. При использовании сетевых коммуникаций сам SCC может заставить удаленного отправителя прекратить передачу, когда буферы заполнены, и тем самым предотвратить потерю данных, пока хост занят. С обычным асинхронным последовательным интерфейсом это было невозможно; на Macintosh Plus это ограничивало производительность RS-232 примерно до 9600 бит/с или меньше и всего до 4800 бит/с на более ранних моделях.
Большинство моделей SCC были доступны либо в двухрядном корпусе (DIP), либо в версиях с держателем микросхем (PLCC).
Версии
[ редактировать ]- Z8030
Оригинальная модель, реализованная в NMOS с мультиплексным интерфейсом «Z-Bus», соответствующая Zilog Z8000 / Z16C00 / 8086. процессорам
- Z8530
Функционально идентичен Z8030, но использует немультиплексированную «универсальную шину», предназначенную для использования с любым процессором или хост-платформой, включая Z-80.
- Z8031 и Z8531
Версии Z8030 и Z8530 с удаленной поддержкой синхронности, что обеспечивает дизайн, более близкий к оригинальному SIO. [2]
- Z80C30 и Z85C30
Реализации CMOS Z8030 и Z8530. Плагин совместим с ранними версиями, добавляя двукратную скорость при использовании с внешней тактовой частотой, а также ряд исправлений ошибок и улучшений в протоколах канального уровня.
- Z80230 и Z85230
Обновленные реализации CMOS Z80C30 и Z85C30, также известные как ESCC.
- Z85233
Обновленная версия Z85230 (только), также известная как EMSCC.