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

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

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

отличие в частоте передачи и в частоте работы приемника, и процессор
должен произвести запись новых значений в регистры настройки BRG-
генератора.
Бит GRA устанавливается, когда передатчик, завершив передачу текущего
буфера, закончил выполнение команды GRACEFULL STOP TRANSMIT. Если
передатчик в текущий момент времени не вел передачу, то бит GRA
устанавливается немедленно.
Изменение состояния (контроллер начинает или заканчивает прием символов
флага) на линии приема RXD контроллера HDLC регистрируется в бите FLG. Но
для того чтобы узнать новое состояние сигналов на линии RXD, пользователь
должен прочитать содержимое регистра статуса SCCS.
Изменение состояния несущей частоты, генерируемой DPLL-блоком,
регистрируется в бите DCC. Но для того чтобы узнать новое состояние
сигналов на линии RXD, пользователь должен прочитать содержимое регистра
статуса SCCS.
Если SPI-контроллер, работая в режиме master, обнаружил активный сигнал
SPISEL от другого master-устройства, то регистрируется ошибка режима
multimaster и устанавливается бит MIME := 1.
Программирование SCC-контроллера. Буферные дескрипторы. Данные для
каждого канала хранятся в буферах данных. Для управления обменом данными
с памятью используются параметры, хранящиеся в буферных дескрипторах в
области parameter RAM в двухпортовой памяти (dual-port RAM).
Месторасположение BD в памяти для каждого канала и распределение их между
каналами определяется пользователем. Например, для передатчика канала
SCC1 можно выделить 200 BD, а для приемника - только 24 BD.
Все буферные дескрипторы для приема и передачи имеют единый стандартный
формат в 4 слова (рис. 5.43), который одинаков для всех используемых
коммуникационных протоколов. Первое слово - регистр статуса и контроля,
формат которого зависит от конкретного выбранного протокола. Второе слово
определяет длину данных или размер текущего буфера данных. Максимальный
размер составляет (64 К-1) байт. Третье и четвертое слова содержат 32-
битный указатель на расположение первой ячейки буфера данных в памяти.
503
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
15 14 13 12 1 1 10 9 8 7 6 5 4
3 2 1 0
Offset+O Offset+2 Offset+4 Offset+6
Для упорядочения доступа к буферам в СРМ все BD сгруппированы в таблицу,
в которой хранятся ссылки на расположение в памяти отдельных буферов
(рис. 5.44). Пользователь может запрограммировать стартовый адрес таблицы
указателей BD во внутренней памяти контроллера и количество BD в таблице
для передачи или для приема для каждого канала. Для ограничения числа BD
в таблице в слове состояния последнего BD пользователь устанавливает бит
конца таблицы W := 1. Обнаружив этот бит, RISC-контроллер переходит на
работу с первым дескриптором в таблице.
При приеме и передаче данные из буферов памяти через SDMA-каналы
передаются во внутренние FIFO-буферы канала. Каждый SCC-канал имеет по
два SDMA-канала, один из них используется при передаче данных в память,
другой - при чтении данных из памяти. Обычно каналы хранят таблицу BD во
внутренней двухпортовой памяти, а сами буферы данных - во внешней памяти.
Но существует возможность хранить небольшие по размеру буферы данных,
например, буферы каналов SPI и PIP, в неиспользуемых областях внутренней
двухпортовой памяти. При любом варианте размещения буферов данных доступа
к ним будет осуществляться по внутренней шине контроллера.
При доступе к внешней памяти всегда используются специальные
функциональные коды FC1-FC3, которые определяют тип адресного
пространства. Функциональные коды для каждого канала определены в ячейках
RFCR (при приеме) и TFCR (при передаче), которые расположены в протокол-
независимой области parameter RAM выбранного канала. Пользователь может
изменять значения в этих регистрах, только когда уверен, что канал не
обращается к внешней памяти в текущий момент времени.
Для некоторых протоколов поддерживается мультибуферная структура (кадр
может занимать несколько буферов). При этом обычно в слове состояния BD
бит F (First) указывает первый буфер кадра данных и бит L (Last) -
последний буфер кадра. Если кадр занимает несколько буферов, то не
обязательно предварительно готовить в памяти все буферы перед началом
приема/передачи кадра. Можно подготовить/освободить несколько буферов для
начала работы с кадром, а в ходе работы параллельно подготавливать
следующие буферы и их дескрипторы. Однако при такой конфигурации буферов
возможно возникновение ошибок незаполнения (underrun), если центральный
процессор не успеет подготовить для передатчика следующие буферы данных
текущего сетевого кадра, или ошибок переполнения (overrun или busy
error), если центральный процессор не успеет освободить новые буферы при
приеме следующих частей кадра или нового кадра.
Выборка из таблицы BD выполняется по круговой системе. После включения
канала в работу RISC-контроллер опрашивает первый BD в таблице. Если
буфер, соответствующий этому дескриптору, готов, то он обрабатывается.
Предыдущая << 1 .. 273 274 275 276 277 278 < 279 > 280 281 282 283 284 285 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed