Структура и основные режимы работы. Контроллер МРС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