stringtranslate.com

Зилог SCC

Контроллер последовательной связи Zilog Z8030 (SCC)

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, целью которых было сделать их как можно более недорогими. Хорошим примером является Zilog Z-80 SIO 1977 года, разработанный для работы с широко используемым Zilog Z80 для обеспечения двух последовательных портов с относительно высокими скоростями до 800 кбит/с. SIO технически является USART , поскольку он понимает синхронные протоколы. [1]

SCC по сути является обновленной версией SIO с большей внутренней логикой, позволяющей напрямую реализовывать ряд общих протоколов канального уровня . Для начала, SCC включил аппаратную реализацию циклического избыточного кода (CRC), что позволило ему проверять, помечать и отклонять неподходящие данные без поддержки хост-компьютера. Протоколы более высокого уровня включали BiSync , HDLC и SDLC . HDLC более известен в своей реализации в ориентированном на модем протоколе LAPM , являющемся частью V.42 . Перенеся реализацию этих протоколов на аппаратное обеспечение, SCC упростил реализацию локальных сетевых систем, таких как SNA от IBM , без необходимости в обработке этих деталей центральным процессором.

При использовании в традиционном последовательном режиме SCC может быть настроен на использование 5, 6, 7 или 8 бит/символ, 1, 1+12 или 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. Совместимость с ранними версиями, добавление скорости 2x при использовании с внешним тактовым генератором, а также ряд исправлений ошибок и улучшений в протоколах канального уровня.

Z80230 и Z85230

Обновленные реализации CMOS Z80C30 и Z85C30, также известные как ESCC

Z85233

Обновленная версия Z85230 (только), также известная как EMSCC

Ссылки

  1. ^ "Последовательный контроллер ввода-вывода Zilog Z8440", Zilog, 1977
  2. ^ "Контроллер последовательной связи Zilog 8530, 8531, Z8530, Z8531"

Внешние ссылки