- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коэффициент внутреннего увеличения частоты
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Режимы использования контактов
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Типы пакетов подтверждений
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Память основных параметров usb-контроллера
- •Поддержка протоколов в коммуникационных контроллерах
- •5.3. Поддержка протоколов в коммуникационных контроллерах
- •Выбор источника тактирования канала
- •Режимы работы tdm-каналов
- •Режимы работы блока tsa
- •Характеристики временных каналов
- •Назначение сигналов idl-интерфейса
- •Коммуникационные микроконтроллеры и системы на их основе
- •Память маршрутизации приемника
- •Назначение сигналов gci-интерфейса
- •Коммуникационные микроконтроллеры и системы на их основе
- •Память маршрутизации
- •Поддержка протоколов в коммуникационных контроллерах
- •Типы сообщений м-канала для s/t-трансивера мс145574
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Память общих параметров всех логических каналов
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •3 4 6 7 Рис. 5.100. Регистр событий scce и
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Конфигурации контроллеров мрс860мн
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Использование дробных стоп-битов
- •Тип контроля в сети
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Размер синхросимволов
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Команды u-кадров
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •5.3.5. Доступ к сетям ethernet
- •Коммуникационные микроконтроллеры и системы на их основе
- •Значения задержек при приеме кадра
- •Поддержка протоколов в коммуникационных контроллерах
Коммуникационные микроконтроллеры и системы на их основе
Пользователь может запретить проверку сравнения некоторых служебных символов с помощью регистра маски RCCM (рис. 5.107). В младших восьми битах этого регистра хранятся признаки проверки символов. Если i-разряд равен нулю, то проверка на сравнение принятого символа и служебного символа CHARi не производится. Если i-разряд равен единице, то символ CHARi принимает участие в сравнении. В старших разрядах (15-й и 14-й биты) ячейки RCCM хранятся, для того чтобы избежать ошибок при обработке битов Е и R в таблице служебных символов.
Если служебный символ был сохранен в буфере, то в слове состояния ВО устанавливается бит С := 1, который сообщает пользователю, что последний байт в буфере - это служебный символ.
Кроме служебных символов UART-контроллер может контролировать прием символов BREAK. Символ BREAK - это от 9 до 13 «О» без стоп-битов. Если контроллер получил последовательность BREAK-символов, то он увеличивает счетчик BRKEC и закрывает текущий буфер приема, устанавливает в его слове состояния бит BR := 1 и генерирует Rx-прерывание через регистр событий, если оно разрешено. В СРМ-процессоре контроллер также контролирует длину BREAK-последовательности.
При приеме первого BREAK-символа контроллер устанавливает бит начала последовательности BRKs в регистре событий. Далее он подсчитывает длину последовательности в символах. При получении первого бита, равного единице, контроллер записывает длину BREAK-последовательности в регистр BRKLN и устанавливает бит конца последовательности BRKe в регистре событий. Напомним, что изменение значения любого бита в регистре событий может вызвать прерывание центрального процессора, если оно разрешено.
Если UART-контроллер работает в синхронном режиме (бит SYN = 1 в регистре режима UART-контроллера) и установлен бит нулевых стоп-битов RZS = 1, то BREAK-после-довательность регистрируется только после приема двух BREAK-символов. Каждый последний принятый BREAK-символ будет сохраняться в регистре RLBC. Пользователь может подсчитать длину (число «О») в последнем BREAK-символе, начиная с 15-го бита в регистре RLBC и в сторону 0-го бита до бита, значение которого равно единице. Например, если в регистре RLBC записан двоичный код 0001хххххххх, то это значит, что было принято три нулевых бита.
Передача символов. При передаче UART-контроллер получает из буфера FIFO только сам символ, который будет передан в поле данных. Остальные поля кадра заполняются внутри SCC-контроллера. Во-первых, контроллер анализирует, какой тип контроля будет применен, и вычисляет контрольную сумму, которая записывается в бит контроля в кадре данных. Во-вторых, надо или нет вводить бит адреса в формат кадра. В-третьих, в формат кадра вводится необходимое число стоп-битов, при этом контролируется использование дробных стоп-битов.
Если передается первый символ из нового буфера данных, то в слове состояния буферного дескриптора анализируются биты А, Р, NS, CR. Бит N8 = 1 определяет, что все данные из буфера должны передаваться без стоп-битов. Если бит NS = 0, то все данные передаются со стоп-битами. Если установлен бит А = 1, то все данные из буфера передаются как адреса с установленным в «1» битом адреса в формате кадра, но только если контроллер настроен на работу в режиме многоточечного соединения. Если установлен бит CR = 1, то между передачами содержимого двух соседних буферов данных в канал выводятся три бита IDLE «1». Сигнал CTS , который должен быть активен при передаче данных, во время передачи IDLE-битов становится пассивным, генерируется прерывание «потеря CTS сигнала» и выставляется бит СТ = 1 (потеря CTS) в слове состояния текущего буфера. Если бит CR = 0, то следующий буфер передается сразу за текущим без задержек, если он был готов к передаче. При этом бит потери CTS - бит СТ в слове состояния BD не
598
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
устанавливается. Если в слове состояния BD установлен бит Р = 1, то перед передачей содержимого буфера передается символ преамбулы (все биты «1»), и на другом конце канала обнаруживают IDLE-состояние линии связи перед получением данных. Преамбула передается, даже если длина буфера в BD установлена равной нулю. Преамбула представляет собой символ такой же длины, что и передаваемые данные, только все биты в символе равны единице.
Если UART-контроллер получил от CPU-ядра команду STOP TRANSMIT, то он передает в сеть содержимое FIFO передачи, затем передает определенное число символов BREAK, далее он переходит к передаче IDLE-символов, пока не получит команду RESTART TRANSMIT. Формат BREAK-символа представляет собой символ установленной длины, у которого все биты равны нулю и без стоп-битов. Количество BREAK-символов, которые UART-контроллер передаст в сеть, указывается пользователем в регистре BRKCR.
Пользователь может управлять процессом передачи данных (flow control), вставляя в поток передаваемой информации служебные символы. Для этого в области параметров протокола выделена специальная ячейка TOSEQ. В эту ячейку записывается символ управления передачей, который имеет наивысший приоритет перед передачей других символов. Перед тем как прочитать очередной символ из буфера данных, UART-контроллер проверяет готовность этого служебного символа. Если символ готов, то он помещается в FIFO передачи, а затем в канал будет передан символ управления передачей, например символы XON или XOFF.
Когда центральный процессор подготовил символ для передачи, устанавливается бит REA (READY) := 1 (рис. 5.108). Коммуникационный контроллер сбрасывает этот бит REA := 0 только после окончания передачи служебного символа, формат которого указан в поле CHARACTER. После передачи служебного символа, если установлен бит I (Interrupt) = 1, то CPU уведомляется прерыванием через бит Тх-регистра событий U ART-контроллера.
Длина служебного символа CHARACTER совпадает с запрограммированной длиной других символов, с которыми работает контроллер. Значение поля CHARACTER может быть изменено пользователем, только когда сброшен бит готовности REA = 0.
При передаче служебного символа контролируется состояние сигнала разрешения передачи стз = 0. Если при передаче служебного символа был потерян сигнал, т. е. стз = 1, то устанавливается бит СТ := 1 в ячейке CHAR8 или TOSEQ, а также устанавливается бит CTS := 1 в регистре событий UART-контроллера. Если передача служебного символа прервала передачу символов из буфера данных и при этом был потерян сигнал cts , то и в слове состояния BD текущего буфера будет установлен бит потери сигнала стз бит СТ := 1.
Когда UART-контроллер работает в многоточечной конфигурации, пользователь должен установить бит А := 1 в ячейке служебного символа.
012 3 4 5 6 7 8 9 10 11 12 13 14 15
- |
— |
REA |
1 |
СТ | 0 |
0 | А |
Символ для передачи (CHARACTER) |
Рис. 5.108. Формат регистра TOSEQ
Transparent-контроллер. Transparent-контроллер позволяет SCC-каналу принимать и передавать сетевые данные без их модификации. Выделяют несколько задач, для которых характерно использование режима «прозрачной передачи».
• Для передачи по сети в последовательном коде «особенных» данных, например, голоса, если не выделено специального протокола для этих целей.
599
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
Для передачи данных в последовательном коде между микросхемами на плате или приборе. Для этого требуется выполнять последовательно-параллельное и параллель но-последовательное преобразование.
Пользователь может организовать передачу кадров любого протокола в поле данных кадра «прозрачного» уровня без промежуточного их декодирования. Например, для организации связи между высокоскоростной и низкоскоростной сетями, которые обе работают с временным мультиплексированием. В этом случае SCC-контроллер будет выполнять функцию согласования скоростей двух сетей.
Наиболее часто SCC-контроллеры с Transparent-режимом работы используются для построения коммуникаторов и концентраторов. В этих случаях контроллер будет вы полнять функции мультиплексирования данных от нескольких низкоскоростных кана лов в один высокоскоростной.
Часто режим прозрачной передачи применяют для передачи данных из памяти одного компьютера в память другого компьютера, используя при этом преобразование дан ных в последовательный код при передаче по последовательному каналу связи.
Настройка SCC-канала для работы в Transparent-режиме обмена в контроллере МРС860 производится в регистре общих режимов GSMR. Установка битов ТТХ = 1 для передатчика и TRX = 1 для приемника включает полнодуплексный режим «прозрачной передачи» независимо от значений битов MODE, которые осуществляют выбор коммуникационного потока для SCC-канала. Если же установлен только один из битов, то лишь одна часть SCC-канала будет работать в прозрачном режиме, а другая часть будет работать с коммуникационным протоколом, который выбран в битах MODE.
Transparent-контроллер имеет полностью независимые приемную и передающую части. Тактирование работы контроллера может производиться от внутреннего BRG-гене-ратора, или через внешние контакты, или через блок DPLL.
При передаче может быть выбран любой порядок битов в байте (или LSB-бит первый, или MSB-бит первый) и факультативно добавленные при передаче и контролированные при приеме поля контрольной суммы CRC. Для проверки передаваемых данных может быть использована или 16- или 32-разрядная CRC-контрольная сумма. В ячейке CRC_P (табл. 5.73) хранится начальное значение счетчика CRC OxOOOOFFFF - для CRC16 и OxFFFFFFFF -для CRC32. Для счетчика CRC_C памяти параметров хранится константа, определяющая тип образующего полинома циклического кода OxOOOOFOBS - для CRC16 и OxDEBB20F3 - для CRC32. Выбор типа CRC контрольной суммы производится в бите TCRC регистра режима GSMR.
Таблица 5.73 Память параметров Transparent-протокола в микроконтроллере МРС860
Адрес |
Название |
Размер, бит |
Назначение |
SCC base+30 SCC base+34 |
CRC_P CRC_C |
32 32 |
Начальное значение CRC-счетчика Константа CRC для приемника |
Синхронизация Transparent-контроллера. Синхронизация приемника и передатчика может выполняться двумя способами:
при помощи синхросигналов в канале связи;
при помощи внешних сигналов синхронизации.
Режим синхронизации устанавливается в битах SYNL в регистре GSMR (табл. 5.74).
600
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
Таблица 5.74