Блок прерываний EXTI: различия между версиями

Материал из MIK32 микроконтроллер
Строка 157: Строка 157:
|17
|17
|16
|16
|-
| colspan="16" |Зарезервировано
|}
{| class="wikitable"
|15
|15
|14
|14
Строка 169: Строка 165:
|9
|9
|8
|8
|-
| colspan="24" |Зарезервировано
|}
{| class="wikitable"
|7
|7
|6
|6
Строка 178: Строка 178:
|0
|0
|-
|-
|S15
|S14
|S13
|S12
|S11
|S10
|S9
|S8
|S7
|S7
|S6
|S6
Строка 195: Строка 187:
|S0
|S0
|-
|-
|ro
|ro
|ro
|ro
|ro
|ro
|ro
|ro
|ro
|ro
|ro
|ro
Строка 212: Строка 196:
|ro
|ro
|}
|}
Биты 31:16 Зарезервировано
Биты 31:8 Зарезервировано


Биты 15:0 '''Sy''' - Биты отвечают за текущее состояние выводов линий после мультиплексоров. Только чтение.
Биты 7:0 '''Sy''' - Биты отвечают за текущее состояние выводов линий после мультиплексоров. Только чтение.


===== Регистр EXTI_IRQ_LINE_MUX =====
===== Регистр EXTI_IRQ_LINE_MUX =====
Строка 331: Строка 315:
|11
|11
|10
|10
|9
|8
|-
|-
| colspan="22" |Зарезервировано
| colspan="24" |Зарезервировано
|}
|}
{| class="wikitable"
{| class="wikitable"
|9
|8
|7
|7
|6
|6
Строка 346: Строка 330:
|0
|0
|-
|-
|I9
|I8
|I7
|I7
|I6
|I6
Строка 357: Строка 339:
|I0
|I0
|-
|-
|rw
|rw
|rw
|rw
|rw
|rw
Строка 368: Строка 348:
|rw
|rw
|}
|}
Биты 31:10 Зарезервировано
Биты 31:8 Зарезервировано


Биты 9:0 '''Iy''' - Биты отвечают за текущее состояние прерываний.
Биты 7:0 '''Iy''' - Биты отвечают за текущее состояние прерываний.


При чтении выдают состояние
При чтении выдают состояние


При записи - меняют состояние
При записи - меняют состояние

Версия от 07:05, 11 апреля 2023

Введение

Обработка прерываний выводов реализована в отдельном модуле. Входные линии  трех блоков ввода-вывода подключаются к 8 мультиплексорам формируя 8 линий, для которых формируются прерывания. Каждый мультиплексор управляется независимо, на основе соответствующих бит поля IRQ_LINE_MUX. Схема коммутации представлена в таблице.

Описание модуля

Мультиплексор линий прерываний

Прерывание Линия_0

Mux[3:0]

Линия_1

Mux[7:4]

Линия_2

Mux[11:8]

Линия_3

Mux[15:12]

Линия_4

Mux[19:16]

Линия_5

Mux[23:20]

Линия_6

Mux[27:24]

Линия_7

Mux[31:28]

MUX [i]=0 GPIO_0.0 GPIO_0.1 GPIO_0.2 GPIO_0.3 GPIO_0.4 GPIO_0.5 GPIO_0.6 GPIO_0.7
MUX [i]=1 GPIO_0.8 GPIO_0.9 GPIO_0.10 GPIO_0.11 GPIO_0.12 GPIO_0.13 GPIO_0.14 GPIO_0.15
MUX [i]=2 GPIO_1.0 GPIO_1.1 GPIO_1.2 GPIO_1.3 GPIO_1.4 GPIO_1.5 GPIO_1.6 GPIO_1.7
MUX [i]=3 GPIO_1.8 GPIO_1.9 GPIO_1.10 GPIO_1.11 GPIO_1.12 GPIO_1.13 GPIO_1.14 GPIO_1.15
MUX [i]=4 GPIO_2.0 GPIO_2.1 GPIO_2.2 GPIO_2.3 GPIO_2.4 GPIO_2.5 GPIO_2.6 GPIO_2.7
MUX [i]=5 GPIO_0.4 GPIO_0.5 GPIO_0.6 GPIO_0.7 GPIO_0.0 GPIO_0.1 GPIO_0.2 GPIO_0.3
MUX [i]=6 GPIO_0.12 GPIO_0.13 GPIO_0.14 GPIO_0.15 GPIO_0.8 GPIO_0.9 GPIO_0.10 GPIO_0.11
MUX [i]=7 GPIO_1.4 GPIO_1.5 GPIO_1.6 GPIO_1.7 GPIO_1.0 GPIO_1.1 GPIO_1.2 GPIO_1.3
MUX [i]=8 GPIO_1.12 GPIO_1.13 GPIO_1.14 GPIO_1.15 GPIO_1.8 GPIO_1.9 GPIO_1.10 GPIO_1.11
MUX [i]=9 GPIO_2.4 GPIO_2.5 GPIO_2.6 GPIO_2.7 GPIO_2.0 GPIO_2.1 GPIO_2.2 GPIO_2.3
MUX [i]=10 0 0 0 0 0 0 0 0

Описание регистров

Регистр EXTI_SATE

Смещение: 0x00, Значение после подачи сброса: 0x0000;

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8
Зарезервировано
7 6 5 4 3 2 1 0
S7 S6 S5 S4 S3 S2 S1 S0
ro ro ro ro ro ro ro ro

Биты 31:8 Зарезервировано

Биты 7:0 Sy - Биты отвечают за текущее состояние выводов линий после мультиплексоров. Только чтение.

Регистр EXTI_IRQ_LINE_MUX

Смещение: 0x04, Значение после подачи сброса: 0x00000000;

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Mux_7 Mux_6 Mux_5 Mux_4
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Mux_3 Mux_2 Mux_1 Mux_0
rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw rw

Биты 2y:2y+3 Mux_y[0:3]: Управление мультиплексорами.

При записи меняет выбор мультиплексора на заданный

При чтении - выдает заданный ранее выбор мультиплексора

Регистр EXTI_INTERRUPT

Смещение: 0x00, Значение после подачи сброса: 0x0000;

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8
Зарезервировано
7 6 5 4 3 2 1 0
I7 I6 I5 I4 I3 I2 I1 I0
rw rw rw rw rw rw rw rw

Биты 31:8 Зарезервировано

Биты 7:0 Iy - Биты отвечают за текущее состояние прерываний.

При чтении выдают состояние

При записи - меняют состояние