Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 340

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 334 335 336 337 338 339 < 340 > 341 342 343 344 345 346 .. 528 >> Следующая

сигналов игнорируется. Этот режим удобен, когда пользователь желает
передавать все данные без прерывания при передаче отдельных кадров. Если
же биты CTSP или CDP равны нулю, то эти сигналы выставляются (становятся
активными) только во время передачи кадра данных, во время промежутка
между отдельными кадрами эти сигналы пассивны. Этот режим рекомендуется
использовать, когда необходимо через прерывание отслеживать моменты
передачи отдельных кадров в потоке данных.
Сигналы cts и CD могут быть или асинхронными к передаваемым данным, и
тогда контроллер будет производить внутреннюю синхронизацию, или
синхронизированными с кадрами данных, что используется для ускорения
обработки данных. Биты CDS и CTSS при значении "0" определяют асинхронный
режим работы, а значение "1" определяет синхронизированный режим работы
данных и сигналов CD и CTS соответственно (рис. 5.109).
Синхронизированный режим работы часто используется для соединения
нескольких коммуникационных контроллеров (рис. 5.110), когда выход RTS
одного контроллера соединяется со входом CD другого. При такой
конфигурации сигнал CTS не используется, а начало передачи данных
отмечается активным сигналом RTS= 0.
Таким образом, синхронизация передатчика может быть выполнена или при
помощи внешнего сигнала CTS , или приемником после того, как он сам
синхронизируется.
Если в регистре GSMR установлен бит TXSY = 1, то работа приемника и
передатчика синхронизирована. Если дополнительно установлен бит RSYN = 1,
то передатчик будет синхронизирован только после получения активного
сигнала CTS = 0 и после того, как будет синхронизирован приемник. Если
сигнал CTS = 0, то передача начнется через восемь периодов тактовой
частоты передатчика после того, как приемник начнет получать данные.
RTS
TXD
Первый бит
Кадр данных
Последний бит
Рис. 5.109. Синхронизация передачи кадра данных
601
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
RXD MC68302
CD
CLK
TXD
RTS
BRG
QUICC TXD

RTS
BRGO
RXD
CD CLK

Рис. 5.110. Пример соединения двух контроллеров, работающих с
Transparent-протоколом
Передача сообщений. После включения в работу (бит ENT = 1 в регистре
GSMR) передатчик начинает передавать в сеть символы IDLE и опрашивает
готовность к передаче данных из первого буфера таблицы TxBD. Если данные
готовы (бит R = 1 в слове состояния буфера), то они по каналам SDMA
загружаются в буфер FIFO передатчика, и контроллер ожидает синхронизации
для начала передач.
После того как передатчик будет синхронизирован, он начнет передачу
данных из FIFO-буфера.
После передачи каждого буфера данных контроллер проверяет бит последнего
буфера кадра (L = 1) в слове состояния буфера. Если бит L = 1, то
контроллер записывает в слово состояния буфера биты статуса переданного
кадра, сбрасывает бит R := 0 и начинает передавать символы IDLE, пока
следующие данные не будут подготовлены. Если же бит L = 0, то контроллер
сбрасывает бит готовности буфера к передаче R := 0 и переходит к передаче
следующего буфера данных текущего кадра без разрывов на линиях связи при
передаче соседних буферов. Если очередной буфер данных еще не готов (его
бит R = 0), то регистрируется ошибка underrun и устанавливается бит ТХЕ в
регистре событий Transparent-контроллера.
Если в слове состояния буфера был установлен бит I = 1, то генерируется
прерывание к центральному процессору по окончании передачи этого буфера.
При передаче может быть передано любое количество байт данных. Если в
регистре GSMR бит REVD = 1, то Transparent-контроллер дополнительно будет
менять порядок бит в байте. По умолчанию LSB-бит передается первым.
Пользователь может управлять размером буфера FIFO передатчика,
программируя значение бита TFL в регистре GSMR. Если бит TFL = 0, то
размер буфера равен 32 байт для SCCI-канала и 16 байт для других SCC-
каналов. Если же бит TFL = 1, то размер буфера FIFO передатчика равен 1
байт. Этот режим используется для низкоскоростных каналов связи, так как
при высоких скоростях возрастает вероятность возникновения ошибки
underrun, когда центральный процессор не будет успевать заполнять FIFO-
буфер по SDMA-каналам.
Пользователь может управлять работой передатчика с помощью команд STOP
TRANSMIT, GRACEFUL STOP TRANSMIT, RESTART TRANSMIT, INIT TX PARAMETERS.
При передаче регистрируется два типа ошибок.
1. Незаполнение (underrun), когда RISC-контроллер не успевает
заполнять ячейки буфера FIFO при передаче кадра данных. При возникновении
этой ошибки контроллер прекращает передачу, закрывает буфер и
устанавливает бит ошибки UN := 1 в слове состояния буфера и бит ТХЕ := 1
в регистре событий, вызывая прерывание процессора. Эта ошибка
регистрируется только между передачей соседних кадров. Если ошибка
произошла при передаче последнего буфера кадра (бит L = 1 в слове
состояния), то устанавливается только бит ТХЕ := 1 в регистре событий
канала.
602
ПОДДЕРЖКА ПРОТОКОЛОВ В КОММУНИКАЦИОННЫХ КОНТРОЛЛЕРАХ
Предыдущая << 1 .. 334 335 336 337 338 339 < 340 > 341 342 343 344 345 346 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed