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

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

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

Канал ввода/вывода Вектор прерывания Уровень приоритета
Бит SPS = 0 Бит SPS = 1
SCCa 11110 (1E) 11110 (1E) Высокий
SCCb 11101 (1D) 10011 (13)
SCCc 11100 (1C) 01101 (0D)
SCCd 11011 (1B) 01000 (08)
Ошибки SDMA 10110 (16) 10110 (16)
RISC-таймеры 10001 (11) 10001 (11)
l2C 10000 (10) 10000 (10)
SPI 00101(05) 00101 (05) 1 Г
SMC1 00100 (04) 00100 (04)
SMC2/PIP 00011 (03) 00011 (03) Низкий
Остальные биты в регистре CICR определяют работу самого контроллера
прерывания. Бит IEN при значении IEN = 1 разрешает работу контроллера
прерывания, а при значении IEN = 0 - запрещает.
Биты IPL определяют уровень приоритета запросов на прерывание от
контроллера прерывания к центральному процессору. Уровень 0 соответствует
самому высокому приоритету, а уровень 7-самому низкому. Обычно для
нормальной работы механизма прерывания устанавливают уровень
приоритетности запросов от контроллера прерывания равным IPL = 4.
Биты HP определяют, запрос на прерывание от какого модуля будет иметь
самый высокий приоритет при обработке его контроллером прерывания.
Значения этих битов могут динамически меняться вовремя работы. Обычно
самым приоритетным устанавливают запрос с вектором прерывания, равным
11111 (1F), от линии 15 порта С.
Регистры событий. При работе в канале связи каждого канала ввода/вывода
происходит достаточно много различных событий, каждое из которых может
требовать прерывания и вмешательства центрального процессора для анализа
сложившейся ситуации.
500
ОРГАНИЗАЦИЯ КОММУНИКАЦИОННЫХ ПРОЦЕССОРНЫХ МОДУЛЕЙ В КМК
15 14 13 12 11 10 9 8 7 6 5 4 3
2 1 0
UART HDLC
ASYNCHDLC BISYNC Transparent Ethernet
Рис. 5.41. Форматы регистров событий в МРС860 для коммуникационных
протоколов, с которыми
работают SCC-контроллеры
Так, в контроллере МРС860 регистрируется до 13 событий, которые могут
требовать выставления запросов на прерывание (рис. 5.41, 5.42). Набор
событий в канале связи зависит от типа протокола, с которым работает SCC-
контроллер. Для регистрации этих событий каждый SCC-канал имеет
собственный регистр событий SCCE. При регистрации некоторого события в
SCC-канале происходит установка бита, соответствующего этому событию, в
регистре SCCE.
Установка хотя бы одного бита события в этом регистре приводит к
немедленной установке бита прерывания отданного SCC-канала в регистре
регистрации прерываний CIPR. Прерывание от SCC-канала не регистрируется,
если содержимое регистра SCCE равно 0. Следует помнить, что прерывание от
SCC-канала в регистре CIPR будет обнаружено контроллером прерываний,
только если оно разрешено в регистре маски CIMR.
Обработка регистров событий всех каналов производится независимо друг от
друга. При обработке прерывания от SCC-канала следует сразу же сбрасывать
соответствующий бит события в регистре SCCE, чтобы контроллер прерывания
мог зарегистрировать и обработать запросы на прерывания от других
событий. Сброс бита события в регистре SCCE производится записью в этот
бит "1".
Прерывание от любого события может быть замаскировано в регистре маски
SCCM. Расположение битов событий в регистрах SCCE и SCCM аналогично. При
включении питания и при системном сбросе регистр регистрации событий SCCE
равен 0 и все прерывания от событий, происходящих в SCC-канале,
замаскированы.
Изменение состояния на линии приема RXD, т. е. идет прием данных или идет
прием IDLE-последовательностей холостого хода, регистрируется в бите IDL.
Но для того, чтобы узнать новое состояние сигналов на линии RXD,
пользователь должен прочитать содержимое регистра статуса SCCS.
Событие приема по линии RXD BREAK символа будет зарегистрировано в бите
BRK регистра событий SCCE. Событие начала приема по линии RXD BREAK
последовательности (при этом начало каждого нового BREAK-символа в
последовательности отдельно не регистрирует) будет зарегистрировано в
бите BRKs регистра событий SCCE. Событие
SMC UART-контроллер SMC Transparent-контроллер SPI-контроллер 12С-
контроллер
Рис. 5.42. Форматы регистров событий в МРС860 для коммуникационных
протоколов, с которыми работают другие каналы ввода/вывода
7 6 5 4 3 2 1 0
- BRKe - BRK - BSY ТХ RX
- - - ТХЕ - BSY ТХ RX
- - MIME ТХЕ - BSY ТХВ RXB
- - - ТХЕ - BSY ТХВ RXB
- - - GLr GLt - AB IDL GRA BRKe BRKs - CCR
BSY TX RX
- - - GLr GLt DCC FLG IDL GRA - - TXE RXF
BSY TXB RXB
- - - GLr GLt - - IDL - BRKe BRKs TXE RXF
BSY TXB RXB
- - - GLr GLI DCC - - GRA - - TXE RCH
BSY TX RX
- - - GLr GLI DCC - - GRA - - TXE RCH
BSY TX RX
- - - - - - - - GRA - - TXE RXF
BSY TXB RXB
501
КОММУНИКАЦИОННЫЕ МИКРОКОНТРОЛЛЕРЫ И СИСТЕМЫ НА ИХ ОСНОВЕ
обнаружения на линии RXD конца BREAK-последовательности (получении
первого "единичного" бита) будет зарегистрировано в бите.
Если во время передачи данных в SCC-канале возникла ошибка или потери cts
-сигнала, или незаполнения буфера (underrun), то это событие
регистрируется в бите ТХЕ := 1. Transparent-контроллер регистрирует
только возникновение ошибки underrun. Для SPI-контроллера ошибка underrun
Предыдущая << 1 .. 271 272 273 274 275 276 < 277 > 278 279 280 281 282 283 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

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

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed