- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коэффициент внутреннего увеличения частоты
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Режимы использования контактов
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Типы пакетов подтверждений
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Коммуникационные микроконтроллеры и системы на их основе
- •Организация коммуникационных процессорных модулей в кмк
- •Память основных параметров usb-контроллера
- •Поддержка протоколов в коммуникационных контроллерах
- •5.3. Поддержка протоколов в коммуникационных контроллерах
- •Выбор источника тактирования канала
- •Режимы работы tdm-каналов
- •Режимы работы блока tsa
- •Характеристики временных каналов
- •Назначение сигналов idl-интерфейса
- •Коммуникационные микроконтроллеры и системы на их основе
- •Память маршрутизации приемника
- •Назначение сигналов gci-интерфейса
- •Коммуникационные микроконтроллеры и системы на их основе
- •Память маршрутизации
- •Поддержка протоколов в коммуникационных контроллерах
- •Типы сообщений м-канала для s/t-трансивера мс145574
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Память общих параметров всех логических каналов
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •3 4 6 7 Рис. 5.100. Регистр событий scce и
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Конфигурации контроллеров мрс860мн
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Использование дробных стоп-битов
- •Тип контроля в сети
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Размер синхросимволов
- •Коммуникационные микроконтроллеры и системы на их основе
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Коммуникационные микроконтроллеры и системы на их основе
- •Команды u-кадров
- •Коммуникационные микроконтроллеры и системы на их основе
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •Поддержка протоколов в коммуникационных контроллерах
- •5.3.5. Доступ к сетям ethernet
- •Коммуникационные микроконтроллеры и системы на их основе
- •Значения задержек при приеме кадра
- •Поддержка протоколов в коммуникационных контроллерах
Коммуникационные микроконтроллеры и системы на их основе
5.2.4. КОНТРОЛЛЕРЫ ДОПОЛНИТЕЛЬНЫХ КОММУНИКАЦИОННЫХ
КАНАЛОВ
Контроллер 12С. Контроллер 12С введен в состав СРМ-модуля коммуникационного контроллера МРС860 и позволяет ему обмениваться данными с другими 12С-устройствами, такими как микроконтроллеры, EEPROM, устройства реального времени, аналого-цифровые преобразователи.
12С - это синхронный, двунаправленный интерфейс (линия данных SDA и линия тактовых сигналов SCL), который может работать в режимах master-slave и multimaster. Выбор режима выполняется в регистре команд I2COM (рис. 5.56). Если бит M/S = 0, то контроллер работает как slave-устройство, если M/S = 1, то - как master.
О 1 2 3 4 5 67
I STR I Зарезервировано. Инициализируется пользователем записью «О». I M/S
Рис. 5.56. Формат регистра команд I2COM
Оба вывода SCL и SDA являются двунаправленными и подсоединяются через резистор к положительному напряжению. Таким образом, поскольку контроллер имеет выводы типа «открытый исток» (open drain), то они могут быть объединены в единую шину для работы в конфигурации multimaster. Когда на 12С-шине нет передачи, то линии SCL и SDA находятся в пассивном «1» состоянии.
Настройка режимов работы !2С-контроллера производится в регистре режима I2MOD (рис. 5.57).
— |
— | REVD |
GCD |
FLT |
PDIV |
| EN |
Рис. 5.57. Формат регистра режима I2MOD
Включение контроллера в работу производится установкой бита EN := 1. В выключенном режиме (бит EN = 0) контроллер работает в режиме пониженного энергопотребления.
Тактирование приемника и передатчика PC-контроллера выполняется одной частотой. Если устройство работает в режиме slave, то тактовые сигналы поступают от внешнего источника по линии SCL. Источником тактового сигнала для master-устройства является собственный внутренний генератор BRG. Тактовый сигнал BRGCLK для работы BRG-генератора поступает от системного синтезатора частоты и может быть предварительно изменен. Биты PDIV определяют коэффициент предварительного деления входной частоты (табл. 5.36).
BRG-генератор 1гС-контроллера может также изменять входную частоту генератора. Коэффициент деления частоты задается пользователем в режиме I2BRG и рассчитывается как 2х (I2BRG+3). На выходе BRG-генератора тактовый сигнал представляет собой меандр. При системной частоте 25 МГц максимальная скорость передачи данных может достигать 520 КГц (BRGCLK/(4x2x(0+3)= BRGCLK/48).
Таблица 5.36
Коэффициент внутреннего увеличения частоты
Биты PDIV |
Коэффициент деления частоты |
Биты PDIV |
Коэффициент деления частоты |
00 01 |
BRGCLK/32 BRGCLK/16 |
10 11 |
BRGCLK/8 BRGCLK/4 |
528
Организация коммуникационных процессорных модулей в кмк
Поскольку PC-интерфейс используется для связи устройств на одной плате, в одном приборе, то на линии тактового сигнала может оказывать влияние посторонний шум. Установка бита FLT := 1 позволяет пропустить тактовый сигнал через цифровой фильтр, чтобы убрать возможные наводки из-за шумов.
Бит REVD задает порядок передачи битов при обмене символами. Если бит REVD = О, то первым передается SLB. Если REVD = 1, то первым передается MSB, этот режим является рабочим для контроллеров фирмы «Motorola».
Бит GCD в регистре I2MOD определяет, как должен вести себя приемник при получении общего запроса от master-станции. Если бит GCD = 1, то никакие действия не производятся. Если бит GCD = 0, то приемник посылает подтверждение на адрес общего вызова (general call address).
В контроллере МРС860 параметры !2С-контроллера хранятся на 1-й странице памяти параметров (parameter RAM) со смещением + 0x1 С80 от начала двухпортовой памяти. Структура и состав памяти параметров !2С-контроллера совпадают со структурой таблицы протокол-независимых параметров (см. табл. 5.30). Отличие заключается только в том, что отсутствуют две последние ячейки таблицы со смещениями I2C base+28 и I2C base+2C.
Данные для PC-канала хранятся в буферах памяти, которые организованы в таблицу TxBD (передачи) и RxBD (приема). Принцип организации таблицы аналогичен таблицам буферов для SCC-каналов ввода/вывода. Стартовый адрес таблиц в памяти контроллера хранится в ячейках RBASE и TBASE памяти параметров PC-контроллера. Пользователь может офаничить число буферов в таблице, установив бит W := 1 в слове состояния последнего необходимого буферного дескриптора. При подготовке обмена данными центральный процессор готовит данные для передачи в буферах памяти, заполняет соответствующие буферные дескрипторы и устанавливает в их слове состояния бит готовности к передаче R := 1, а также заранее подготавливает буферы для приема данных.
Режимы работы FC-контроллера. В режиме master !2С-контроллер управляет обменом данными со slave-устройствами. Для этого он передает slave-устройству специальное сообщение, которое определяет режим работы (чтение или запись). Если это операция чтения, то после передачи первого сообщения направление передачи по линии SDA меняется, и передавать будет slave-устройство.
Для начала обмена сообщениями master-устройство должно подготовить данные для передачи в буферах TxBD, установив бит готовности R := 1 в слове состояния буферного дескриптора, а также подготовить буферы приема RxBD. Затем центральный процессор должен установить бит STR := 1 в регистре команд I2COM. Данные будут передаваться после того, как они будут загружены в буфер FIFO передатчика по SDMA-каналам из памяти, и после того, как !2С-шина будет свободна. Размер буфера FIFO приемника и передатчика установлен равным двум символам. При передаче MSB передается первым.
При начале передачи PC-контроллер выставляет start-условия (адрес slave-устройства) на линии SDA и тактовые импульсы , число которых соответствует числу передаваемых битов, на линию SCL. Для каждого переданного бита на линию SDA контроллер производит его повторное чтение (контроль), чтобы обнаружить состояние коллизии (collision) с другим master-устройством. Поскольку выводы контроллера объединены по схеме «монтажное ИЛИ» в единую шину, то коллизии обнаруживаются, если была выставлена «1», а обнаружен «О». При этом передача прерывается и канал переводится в режим slave и генерируется маскируемое прерывание к центральному процессору.
После передачи каждого байта данных устройство master контролирует индикацию подтверждения от slave-станции. Если подтверждение не пришло, передача прерывается и условие «остановки» генерируется master-станцией. Регистрация stop- и start-условий всегда приводит к закрытию текущего буфера приемника.
529
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
Для передачи данных slave-устройству master-станция подготавливает в буфере п+1 байт данных, где первый байт содержит адрес slave-устройства и бит, определяющий режим чтение/запись. Остальные п байт - это данные, которые передаются slave-устройству. Если R/W = 1, то будет производиться чтение с устройства slave.
Если !2С-контроллер работает в режиме slave, то его адрес задается пользователем в регистре I2ADD (рис. 5.58) и имеет 7 разрядов, таким образом, в сети может быть до 128 slave-устройств. Если slave-устройство распознало свой адрес, то данные принимаются во внутренние буферы RxBD, на них передаются подтверждения, и так продолжается, пока по линии SDA не придет от master-станции новое start/stop-условие. Если совпадения адреса не произошло, slave-устройство ожидает следующего start-условия. Slave-контроллер подтверждает прием каждого байта, пока не обнаружит ошибку переполнения overrun своего буфера FIFO.
Если данные для передачи от master-устройства занимают несколько буферов TxBD, то они будут передаваться байт за байтом, пока не будет достигнут последний буфер (бит L = 1 в его слове состояния), при этом бит STR = 1 повторно для каждого нового байта не устанавливается. Бит STR будет автоматически сбрасываться после передачи первого бита байта данных.
Если контроллер работает в режиме slave, то для начала обмена данными он ожидает команды и тактового сигнала SCL от master-устройства. Все принятые от master-станции сообщения тут же посылаются обратно, таким образом, обеспечивается подтверждение их приема.
Перед началом обмена центральный процессор slave-станции должен подготовить буферы данных для передачи (TxBD) и для приема данных (RxBD), затем установить бит STR := 1 в регистре команд I2COM. Установка бита STR в slave-устройстве не начинает передачу, а только подготавливает схемы контроллера и данные для передачи. Передача начнется только после прихода команды от master-станции.
Если при начале передачи start-условия slave-станция в первом передаваемом байте распознала свой адрес (биты с 7-го по 1-й), то проверяется бит 0 - это бит команды R/W. Если R/W = 0, то происходит прием данных от master-станции, и эти данные принимаются в RxBD-буферы, пока не будут получены новые start- или stop-условия. Если R/W = 1, то данные из буфера FIFO передатчика slave-станции будут переданы master-станции. Если данные готовы, то они будут переданы по следующему импульсу тактового сигнала после передачи подтверждения на предыдущее сообщение. Если данные не готовы, то передача прерывается и генерируется маскируемое прерывание ТхЕ, которое уведомляет центральный процессор, что надо подготовить данные для передачи.
После передачи каждого байта передатчик проверяет бит подтверждения от master-станции. Если подтверждение не получено, то передача прерывается и генерируется прерывание центрального процессора. Прерывание также может генерироваться после передачи полного буфера, если возникла ошибка или произошло незаполнение underrun буфера FIFO передатчика. Если произошла ошибка незаполнения (underrun), то передатчик slave-станции будет передавать «1» биты, пока не получит stop-условие от master-станции.
Пользователь может управлять работой !2С-контроллера, передавая RISC-контроллеру команды INIT TX PARAMETERS, CLOSE RX, INIT RX PARAMETERS, INIT TX and RX PARAMETERS.
012 345 67
| SAD[0] | SAD[1] [ SAD[2] | SAD[3] | SAD[4] | SAD[5] [ SAD[6] j 0 |
Рис. 5.58. Формат регистра адреса I2ADD 530
ОРГАНИЗАЦИЯ КОММУНИКАЦИОННЫХ ПРОЦЕССОРНЫХ МОДУЛЕЙ В КМК
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 О [ — | Loop | CI | СР | DIV16 | — | M/S | EN | LEN [ РМ[3:0] [
Рис. 5.59. Формат регистра режима SPIMODE SPI-интерфейса
Последовательный коммуникационный порт. Последовательный порт в контроллере МРС860 реализован в виде SPI (Serial Peripheral Interface). SPI -полнодуплексный, синхронный, символьно-ориентированный канал связи, использующий 4-проводной интерфейс (линия приема SPIMISO, линия передачи SPIMOSI, линия тактовых сигналов SPICLK и линия выбора slave-устройства SPISEL), предназначен для обмена данными между коммуникационными контроллерами, ISDN- и другими сетевыми устройствами. Конфигурирование режимов работы интерфейса выполняется в регистре режима SPIMODE (рис. 5.59).
Устройство, поддерживающее SPI-интерфейс, может работать в режиме master (бит M/S = 1) или slave (бит M/S = 0). Также поддерживается конфигурация multimaster для объединения нескольких SPI-устройств на общую шину, используя их выводы в режиме открытого стока (open-drain).
В режиме master SPI-контроллер передает данные для других slave-станций, которые обязаны немедленно вернуть принятый кадр (режим back-to-back). Это используется для обеспечения надежности передачи и подтверждения корректности передачи кадра.
Тактирование приемника и передатчика канала выполняется одной тактовой частотой. Если выбранное устройство работает в режиме master, то тактовый сигнал поступает от собственного независимого BRG-генератора. В режиме master устройство вырабатывает внешние сигналы выбора (разрешения работы) SPISEL для slave-устройства и сигнал SPICLK, который выставляется только во время передачи данных, для тактирования других slave-устройств. Если устройство работает в режиме slave, то тактовые сигналы поступают от внешнего источника.
Если контроллер работает в режиме master, то пользователь может управлять входной частотой для BGR-генератора. Генератор BRG для своей работы использует входную тактовую частоту от внутреннего синтезатора частоты микросхемы (SynCLK). Если бит DIV16 равен 1, то входная частота генератора BRGCLK перед поступлением на вход схемы генератора делится на 16 (BRGCLK = SynCLK/16). Если бит DIV16 = 0, то предварительного деления частоты нет.
Сам генератор может также делить входную частоту на коэффициент, который определен в битах РМ, перед тем как передать ее для тактирования схемам приемника и передатчика каналов связи. Входная частота BRGCLK делится на 4х([РМО-РМЗ])+1), таким образом, коэффициент внутреннего деления частоты может быть от 4 до 64. Сигнал на выходе генератора представляет собой меандр.
Максимальная скорость передачи отдельных символов в режиме master равна SynCLK/ 4, а в режиме slave - SynCLK/2. При передаче нескольких символов подряд интервал между ними не должен превышать значения SynCLK/50.
Особенности работы интерфейса. SPI-интерфейс выполняет полнодуплексные операции, т. е. прием данных и передача данных выполняются одновременно. При передаче наиболее значимый бит (MSB) передается первым, если бит REV = 1, и наоборот, первым передается LSB-бит, если бит REV = 0.
Размер передаваемых символов может колебаться от 4 до 16 бит. Биты LEN в регистре режима задают рабочую длину символа от 1 бита (код 0000) до 16 бит (код 1111), но, если пользователь выберет длину меньше 4 бит, будет зарегистрирована ошибка.
531