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

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

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 254 255 256 257 258 259 < 260 > 261 262 263 264 265 266 .. 528 >> Следующая

каналов равно удвоенному числу внешних каналов ввода/вывода контроллера.
В контроллере МРС860 для обслуживания всех каналов ввода/вывода отведено
два физических SDMA-канала, на базе которых реализовано 16 виртуальных
SDMA-каналов. Восемь SDMA-каналов обслуживают четыре SCC-контроллера и
восемь SDMA-каналов работают с интерфейсом SPI, портом 12С и двумя SMC-
контроллерами.
Данные через SDMA-каналы могут передаваться для хранения как во внешнюю
память, так и во внутреннюю двухпортовую память. Доступ к внешней памяти
требует предварительного арбитража шины UBUS, доступ к двухпортовой
памяти не требует арбитража шины микроконтроллера.
Управление работой SDMA-каналов осуществляется микропрограммой,
выполняемой RISC-процессором. Пользователь не может контролировать или
изменять процесс управления SDMA-каналами. При необходимости доступа к
внешней памяти RISC-контроллер формирует внутренний запрос к арбитру шины
микроконтроллера, получает подтверждение и становится владельцем шины на
один стандартный цикл обмена по шине. Во время стандартного цикла обмена
могут выставляться внешние сигналы CS ¦ Если шиной владел внешний арбитр,
то SDMA-канал выставляет сигнал BCLR с требованием освободить шину.
Стандартный цикл шины предусматривает передачу до 32 бит данных, после
чего необходимо освободить шину, даже если больше нет других устройств,
требующих шину для передачи. Такой способ обслуживания арбитража шины
гарантирует пропорциональное гарантированное время доступа SCC-каналов и
обеспечивает постоянное время задержки при обработке полученных по сети
данных и не переполнение их FIFO. Если размер шины установлен меньшим,
чем размер передаваемых данных (например, шина размером 16 бит, а размер
данных - 32 бита), то SDMA-контроллер становится владельцем шины на два
цикла передачи и освобождает шину только по завершении всей передачи,
даже если во время передачи пришел более приоритетный запрос на владение
шиной от другого модуля.
В МРС860 пользователь может сам назначить приоритеты доступа к шине всех
устройств, использующих внешнюю шину для передач (ЮМА-контроллер, SDMA-
каналы, DRAM-контроллер или внешний master), с помощью программирования
регистра конфигурации SDCR (SDMA), изображенного на рис. 5.17. Все SDMA-
каналы имеют общий регистр конфигурации SDCR. Изменение параметров в этом
регистре рекомендуется производить при выключенном коммуникационном
контроллере.
В контроллере МРС860 кэш инструкций (l-кэш), кэш данных (D-кэш), блок
системной интеграции SIU и SDMA-каналы могут требовать арбитража
внутренней шины данных,
469
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
0 16 17 18 19 29 30 31
Резервировано FRZ Резервировано RAID
Рис. 5.17. Формат регистра SDCR в контроллере МРС860
таким образом, пользователю требуется установить относительные приоритеты
запросов на арбитраж между указанными источниками. Реально пользователь
имеет право установить только относительный приоритет SDMA-каналов, а
приоритеты остальных модулей строго фиксированы.
Все SDMA-каналы имеют одно значение ID приоритета, которое
устанавливается пользователем в регистре SDCR и которое позволяет SDMA-
каналам соперничать за право передачи по внутренней шине данных с другими
источниками внутренних и внешних запросов на арбитраж. Биты RAID
устанавливают уровень приоритета запросов SDMA-каналов по доступу к
внутренней шине среди других внутренних источников запросов (табл. 5.7).
Арбитраж запросов от внутренних источников выполняет RISC-контроллер.
Обычно устанавливается значение 5 (код 01).
Биты FRZ определяют реакцию SDMA-каналов на выставление сигналов
контроля:
00 - SDMA-канал игнорирует сигнал FREEZE, 01 - SDMA-канал сбрасывает
сигнал вбГ и останавливает (замораживает) передачу, пока выставлен сигнал
FREEZE или пока не произойдет сброс системы.
Каналы SDMA имеют один собственный регистр статуса SDSR (рис. 5.18), в
котором отмечается состояние каналов SDMA в текущий момент времени или
регистрируется событие, произошедшее в SDMA-канале. Сброс бита события в
регистре статуса SDSR производится записью в разряд, соответствующий
выбранному событию, кода "1".
Если возникла ошибка при передаче данных SDMA-канала, то генерируется
прерывание и устанавливается бит SBER в SDSR-регистре. Адрес, при
обращении по которому возникла ошибка, будет сохранен в регистре SDAR.
Пользователь может сравнивать этот адрес с адресами в ячейках внутренних
указателей на обрабатываемые RX- и ТХ-данные (internal data pointer) в
протокол-независимой области памяти параметров SCC-канала, чтобы
определить, при каком цикле обращения и в каком месте была обнаружена
ошибка.
Биты DSP1 и DSP2 служат для регистрации события прерывания при работе с
таблицами DSP функций DSP1 и DSP2.
Бит RINT используется только во время промышленного тестирования
контроллера и пользователю не рекомендуется его изменять.
Регистр маски SDMA-канала (SDMR) имеет такой же формат расположения
Предыдущая << 1 .. 254 255 256 257 258 259 < 260 > 261 262 263 264 265 266 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed