КОНТРОЛЛЕРЫ КОММУНИКАЦИОННЫХ КАНАЛОВ SCC

 

Структура и основные режимы работы. Контроллер МРС860 (рис. 5.31) имеет че­тыре полностью независимых SCC-канала, реализующих различные сетевые протоколы канального уровня. Совместное использование всех каналов позволяет реализовать ши­рокий спектр сетевых устройств на одном контроллере (мосты, маршрутизаторы, шлю­зы, коммутатор) при поддержке большого спектра протоколов локальных и глобальных сетей, а также сетей ISDN.

Функции SCC не включают физический интерфейс и не реализуют в полном объеме функции физического уровня модели OSI, но SCC подготавливает, форматирует и коди­рует данные для физического интерфейса. SCC поддерживает шесть способов кодиро­вания данных: NRZ, NRZI, FM0, FM1, Manchester, Differential Manchester. Кодированием данных в структуре SCC-контроллера занимается специальный блок DPLL (Digital Phase-Locked Loop). Если при работе не требуется специальная модификация данных и вход­ных сигналов при приеме и передаче через SCC-канал, то рекомендуется выбирать ко­дирование NRZ.

Выбор поддерживаемых SCC-каналом протоколов не зависит от режима функциони­рования физического интерфейса SI. Каждый SCC-канал может работать совместно с протоколами физического интерфейса IDL, GCI, PCM, NMSI, а также может быть скон­фигурирован для поддержки тестовых режимов «эхо» (echo) и «петля» (loopback). В ре­жиме «эхо» канал сразу же передает принятую информацию, а в режиме «петля» - сразу же принимает только что переданную им информацию.

Каждый SCC-канал имеет собственные внешние контакты (TXD, RXD, TCLK, RCLK, , ) и использует их, если он работает в NMSI-режиме. При работе в немуль­типлексируемом режиме стандартные модемные сигналы , находятся под автоматическим управлением SCC, а дополнительные модемные сигналы DSR и DTR могут быть реализованы пользователем через выводы параллельных портов.

В контроллере МРС860 выбор режима работы SCC-контроллера выполняется при программировании регистров SICR и GSMR. Настройка режимов работы SMC-контрол-леров выполняется в регистре SIMODE.

Для каждого SCC-канала настройка параметров выбранного сетевого протокола про­изводится с помощью параметров инициализации, хранящихся во внутренней памяти параметров (parameter RAM) двухпортовой памяти (dual-port RAM).

Выбор поддерживаемого протокола производится в битах MODE регистра GSMR. Каждый SCC-канал поддерживает следующие протоколы канального уровня:

•High-Level/Synchronous Data Link Control (HDLC/SDLC);

•Universal Asynchronous Receiver Transmitter (UART);

•Binary Synchronous Communication (BISYNC);

•режим прозрачной передачи (Transparent Mode);

•IEEE 802.3 (Ethernet);

•Local Talk (основанный на протоколе HDLC);

•Infrared protocol;

•Synchronous UART (1x clock mode);

•Асинхронный HDLC (AHDLC).

В контроллере МРС860 дополнительно поддерживаются протоколы, загружаемые в память в виде микрокода:

•Digital Data Communications Message Protocol (DDCMP);

•Signaling System #7 (SS#7);

•Profibus;

•V.14;

•X.21.

Различные модификации базового контроллера МРС860 также поддерживают дополнительные современные сетевые протоколы (табл. 5.12).

Обычно каждый SCC-канал работает в полнодуплексном режиме, поддерживая выб­ранные протоколы и для приемника, и для передатчика, но в настройках SCC-канала имеется опция, которая позволяет каналу работать в одну сторону с протоколом про­зрачной передачи (transparent), а в другую - со стандартным выбранным протоколом.

Внутренние сигналы тактирования приемника (RCLK) и передатчика (TCLK) каждого SCC-канала в СРМ могут поступать или от внутреннего источника (один из четырех BRG-генераторов или один из четырех внешних сигналов CLK), или от внешнего источника через контакты TCLKx и RCLKx с предварительной обработкой этих сигналов в блоке DPLL. У любого SCC-канала приемник и передатчик полностью независимы и могут иметь раздельные источники тактирования. Максимальная частота тактирования SCC-каналов составляет в СРМ 1/а системной частоты. Например, при системной частоте 50 МГц мак­симальная частота тактирования каналов ввода/вывода составляет не более 25 МГц.

При работе в полнодуплексном режиме одновременно всех четырех каналов с одним из протоколов HDLC, HDLC bus или Transparent гарантированная скорость передачи каж­дого канала составляет 2 Мбит/с (табл. 5.13). Если с указанными протоколами работает; только один SCC-канал (остальные выключены), то в полнодуплексном режиме скорость передачи может достигать 8 Мбит/с.

 

 

Таблица 5.13

 

 

Настройка общих режимов SCC-каналов в МРС860. GSMR -это регистр настройки режимов SCC-контроллера, которые являются общими для всех SCC-каналов и не зави­сят от используемого коммуникационного протокола. Поскольку это 64-разрядный ре­гистр, то обращение к нему выполняется как к двум регистрам GSMR_H (старшая часть регистра GSMR) (рис. 5.32), который содержит разряды с 63 по 32, и GSMR_L (младшая часть регистра GSMR), который содержит разряды с 31-го по 0-й (рис. 5.33).

Включение схем приемника и передатчика выбранного канала производится при за­писи «1» в биты ENR и ENT. Рекомендуется разделить на два этапа процесс установки битов настройки режимов работы и включение схем канала. Вначале первой командой Ассемблера выполняется установка битов режимов работы, затем делается пауза, необ­ходимая для настройки и переключения внутренних цепей на новый режим работы, а затем, следующей командой, устанавливается бит ENT := 1 для включения передатчи­ка канала и бит ENR := 1 - для включения приемника. Если эти биты будут сброшены в «О» во время работы SCC-канала, то прием/передача текущего символа прерывается и буфер FIFO приемника очищается. Настройка SCC-канала на работу с определенным протоколом канального уровня выполняется в битах MODE (табл. 5.14).

 

 

Таблица 5.14

 

 


 

Настройка режимов работы при «прозрачном способе обмена». В нормальном ре­жиме работы (Биты ТТХ = TRX = 0) приемник и передатчик работают с одинаковым про­токолом, выбранным в битах MODE, при настройке SCC-контроллера. Но в МРС860 для повышения гибкости работы каналов ввода/вывода введена дополнительная опция, при которой протоколы работы приемника и передатчика могут различаться. Дополнительно поддерживаемый протокол -это протокол полностью прозрачной передачи. Биты ТТХ и TRX позволяют реализовать режим работы с двумя протоколами на одном SCC-канале. Если бит ТТХ = 1, то передатчик работает в режиме прозрачной передачи, независимо от протокола работы приемника. Если бит TRX = 1, то приемник работает в режиме прозрачного приема независимо от протокола работы передатчика. Для работы в полнодуп­лексном режиме прозрачной передачи необходимо установить оба бита ТТХ := TRX := 1. Исключение составляет SCC-канал, который настроен на работу с протоколом Ethernet, и у такого контроллера биты ТТХ и TRX всегда должны быть равны.

Если канал работает в прозрачном режиме передачи, то биты REVD, TCRC и RSYN используются для настройки его рабочих параметров. Если бит REVD = 0, то соблюдает­ся нормальный порядок передачи битов в байте - LSB-бит передается первым. Если бит REVD = 1, то используется инверсный порядок передачи битов в байте - первым переда­ется MSB-бит.

Бит RSYN используется только для каналов, работающих в режиме прозрачной пе­редачи, и служит для определения времени синхронизации приемника. Если бит равен 0, то приемник работает в нормальном режиме и обнаруживает приход данных по ак­тивному сигналу = 0, который выставляется передатчиком одновременно с переда­чей первого бита данных. Если же бит RSYN = 1, а также бит CDS = 1, то активный сигнал = 0 появится только при приеме второго бита кадра данных. Этот режим используется, например, в сети HDLC bus, когда первый бит кадра служит для обнару­жения коллизии и реальные данные начинаются только со второго бита кадра.

Если в слове состояния TxBD текущего буфера данных установлен режим передачи данных с подсчетом контрольной суммы, то биты TCRC (табл. 5.16) определяют тип проверочного полинома.

 

 

Таблица 5.16