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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 278 279 280 281 282 283 < 284 > 285 286 287 288 289 290 .. 528 >> Следующая

• При передаче биты PAD определяют число символов IDLE (OxFF) или FLAG
(0х7Е), которые передаются после закрывающего флага. Тип символа
определяется значением бита IDLM в регистре режима CHAMR контроллера QMC.
Прерывание ТХВ будет выработано только после передачи заданного числа
этих символов. Если биты PAD = О, то прерывание будет выработано сразу
после передачи закрывающего флага. Число символов PAD зависит от размера
ячейки буфера FIFO и числа занимаемых временных слотов, например, число
PAD = (размер ячейки FIFO/число временных слотов). Таким образом, после
кадра данных передается (PAD+1) число символов флага.
Протокол-независимая часть памяти параметров. Каждый SCC-канал имеет свою
собственную память параметров (parameter RAM), которая состоит из двух
частей. В первой части (протокол-независимая часть) хранятся параметры
настройки SCC-канала, общие для всех каналов. Во второй (протокол-
ориентированной) хранятся параметры настройки SCC-канала на работу с
определенным протоколом. Содержимое области parameter RAM может быть
прочитано пользователем и CPU в любое время. Параметры, которые должны
быть проинициализированы пользователем, необходимо записать до момента
включения SCC-канала в работу.
Для каждого SCC-канала во внутренней двухпортовой памяти выделена своя
область адресного пространства. Начальные адреса памяти, отведенной для
каждого канала, фиксированы и известны пользователю. В контроллере МРС860
(табл. 5.30) смещение (offset) канала parameter RAM от базового адреса
SCC base address составляет 0 байт.
Внутри область parameter RAM разделена на две части: протокол-независимую
(смещение SCC base+OxOO) и протокол-ориентированную независимую (смещение
SCC base+ОхЗО). Формат протокол-независимой памяти приведен в табл. 5.31.
Таблица 5.30
Протокол-независимая память параметров для контроллера МРС860
Адрес Название Размер, бит Описание
SCC base+00 RBASE 16 Базовый адрес таблицы RX BD
SCC base+02 TBASE 16 Базовый адрес таблицы ТХ BD
SCC base+04 RFCR 08 Функциональные коды Rx
SCC base+05 TFCR 08 Функциональные коды Тх
SCC base+06 MRBLR 16 Максимальная длина Rx-буфера
SCC base+08 RSTATE 32 Rx-состояние
SCC base+OC - 32 Указатель на ячейку памяти в буфере приема Rx
SCC base+10 RBPTR 16 Указатель на ячейку памяти дескриптора RX BD
SCC base+12 - 16 Счетчик принятых в буфер Rx байт данных
511
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
Продолжение табл. 5.30
Адрес Название Размер, бит Описание
SCC base+14 - 32 Временная переменная Rx
SCC base+18 TSTATE 32 Тх-состояние
SCC base+1C - 32 Указатель на ячейку памяти в буфере приема Тх
SCC base+20 TBPTR 16 Указатель на ячейку памяти дескриптора Тх BD
SCC base+22 - 16 Счетчик переданных из буфера Тх байт данных
SCC base+24 - 32 Временная переменная Тх
SCC base+28 RCRC 32 Текущее значение CRC-суммы при приеме кадра
SCC base+2C TCRC 32 Текущее значение CRC-суммы при передаче кадра
Примечание. Переменные в ячейках RBASE, TBASE, RFCR, TFCR и MRBL
инициализируются пользователем до начала работы с SCC-контроллером. К
остальным ячейкам контроллер обращает -ся при работе, и пользователю не
рекомендуется изменять их содержимое.
Переменные RBASE и TBASE содержат базовый адрес начала таблицы буферов
дескрипторов для приема (RxBD) и для передачи (TxBD). В СРМ таблицы BD
могут располагаться в любом месте в двухпортовой памяти и иметь размер,
который определяет сам пользователь (только установка бита W = 1 в слове
состояния BD закрывает таблицу BD). Переменные RBASE и TBASE должны
содержать значения, кратные 8.
Каждый SCC-канал имеет переменную MRBLR, определяющую максимальное число
байт, которые канал может записать в буфер приема перед переходом на
следующий пустой буфер. Канал может записать в буфер меньшее число байт,
например, при закрытии буфера из-за ошибки приема, но никогда не сможет
записать больше данных, чем указано в MRBLR. Поэтому пользователь должен
подготавливать буферы приема размером не меньше, чем величина, указанная
в байтах ячейки MRBLR. Изменения, которые пользователь вносит в
переменную MRBLR во время работы канала, вступают в силу только тогда,
когда SCC-канал переходит к обработке нового буфера BD, т. е. на работу
текущего BD изменения не оказывают влияния.
Размер буфера при передаче может быть любым. Общее число байт в буфере
для передачи указывается в поле длины буфера во втором слове BD.
Переменные RBPTR и TBPTR указывают адреса текущих обрабатываемых буферов
BD во внутренней памяти. После системного сброса или достижения конца
таблицы в эти переменные записываются значения RBASE и TBASE
соответственно, а далее переход к следующему буферу означает смещения
+0x08 (например, RBPTR: = RBPTR + 0x08).
Регистры функциональных кодов RFCR и TFCR имеют одинаковый формат (рис.
5.46) и определяют функциональные коды для приемников и передатчиков SCC.
В битах АТЗ-АТ1 содержится код, который будет выставлен на внешних
контактах функциональных кодов, чтобы идентифицировать тип доступа к
Предыдущая << 1 .. 278 279 280 281 282 283 < 284 > 285 286 287 288 289 290 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed