Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

SCC , короткий для контроллера последовательной связи , представляет собой семейство последовательного порта драйвера интегральных схем , сделанных Zilog . Основными представителями семейства являются Z8030 / Z8530 и Z85233.

В SCC, разработанном на основе более ранних устройств Zilog SIO (Z8443), добавлен ряд последовательных-параллельных режимов, которые позволили внутреннюю реализацию множества протоколов уровня канала данных, таких как Bisync , HDLC и SDLC .

SCC может быть настроен как обычный порт RS-232 для управления устаревшими системами или, альтернативно, как порт RS-422 для более высокой производительности, до 10 Мбит / с. Детали реализации обычно ограничивают производительность до 5 Мбит / с или меньше.

Одним из самых известных пользователей SCC была линейка компьютеров Apple Macintosh , которая использовала Z8530 для реализации двух последовательных портов на задней панели ранних моделей, обозначенных «модем» и «принтер».

Описание [ править ]

Традиционная последовательная связь обычно реализуется с использованием устройства, известного как UART , которое преобразует данные из внутреннего параллельного формата компьютерной шины в последовательный и обратно. Это позволяет компьютеру отправлять данные последовательно, просто помещая данные в память в его собственном внутреннем формате, скажем, в 16-битном прямом порядке байтов , а UART преобразует их в последовательную форму и отправляет. Как правило, для каждой компьютерной архитектуры использовались разные UART, чтобы сделать их максимально дешевыми. Хорошим примером является Zilog Z-80 SIO 1977 года выпуска, разработанный для работы с широко используемым Zilog Z-80 для обеспечения двух последовательных портов с относительно высокой скоростью до 800 кбит / с. [1]

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

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

Z80230 и Z85230

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

Z85233

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

Ссылки [ править ]

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

Внешние ссылки [ править ]

  • Краткое описание продукта Z80C30
  • Краткое описание продукта Z85C30
  • Технические характеристики контроллеров последовательной связи Z80C30 / Z85C30
  • Z80C30 / Z85C30 / Z80230 / Z85230 / Z85233 SCC / ESCC Руководство пользователя
  • Драйвер FreeBSD scc (4)