Блок управления прерываниями: различия между версиями
Нет описания правки |
|||
Строка 218: | Строка 218: | ||
|}Биты 31:16 Зарезервировано | |}Биты 31:16 Зарезервировано | ||
Биты 15:0 '''MLSy''' - Биты линий прерываний (y=0...31) | Биты 15:0 '''MLSy''' - Биты линий прерываний, отвечающие за активацию срабатывания прерывания по уровню (y=0...31) | ||
При записи: | При записи: | ||
*0: соответствующая линия прерывания не меняет тип | *0: соответствующая линия прерывания не меняет тип | ||
*1: соответствующая линия прерывания активируется на срабатывание по уровню | *1: соответствующая линия прерывания активируется на срабатывание по уровню | ||
При чтении текущее состояние линии прерывания | |||
*0: прерывание не срабатывает по уровню | |||
*1: прерывание срабатывает по уровню | |||
=====Регистр MASK_LEVEL_CLEAR===== | |||
Смещение: 0x0, Значение после подачи сброса: 0x00000000; | |||
{| class="wikitable" | |||
|31 | |||
|30 | |||
|29 | |||
|28 | |||
|27 | |||
|26 | |||
|25 | |||
|24 | |||
|23 | |||
|22 | |||
|21 | |||
|20 | |||
|19 | |||
|18 | |||
|17 | |||
|16 | |||
|- | |||
|MLC31 | |||
|MLC30 | |||
|MLC29 | |||
|MLC28 | |||
|MLC27 | |||
|MLC26 | |||
|MLC25 | |||
|MLC24 | |||
|MLC23 | |||
|MLC22 | |||
|MLC21 | |||
|MLC20 | |||
|MLC19 | |||
|MLC18 | |||
|MLC17 | |||
|MLC16 | |||
|- | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|} | |||
{| class="wikitable" | |||
|15 | |||
|14 | |||
|13 | |||
|12 | |||
|11 | |||
|10 | |||
|9 | |||
|8 | |||
|7 | |||
|6 | |||
|5 | |||
|4 | |||
|3 | |||
|2 | |||
|1 | |||
|0 | |||
|- | |||
|MLC15 | |||
|MLC14 | |||
|MLC13 | |||
|MLC12 | |||
|MLC11 | |||
|MLC10 | |||
|MLC9 | |||
|MLC8 | |||
|MLC7 | |||
|MLC6 | |||
|MLC5 | |||
|MLC4 | |||
|MLC3 | |||
|MLC2 | |||
|MLC1 | |||
|MLC0 | |||
|- | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|rw | |||
|}Биты 31:16 Зарезервировано | |||
Биты 15:0 '''MLCy''' - Биты линий прерываний, отвечающие за деактивацию срабатывания прерывания по уровню (y=0...31) | |||
При записи: | |||
*0: соответствующая линия прерывания не меняет тип | |||
*1: соответствующая линия прерывания деактивируется на срабатывание по уровню | |||
При чтении текущее состояние линии прерывания | При чтении текущее состояние линии прерывания | ||
*0: прерывание не срабатывает по уровню | *0: прерывание не срабатывает по уровню | ||
*1: прерывание срабатывает по уровню | *1: прерывание срабатывает по уровню |
Версия от 15:49, 17 апреля 2023
Введение
Данный модуль управляет минимально необходимым функционалом для обслуживания прерываний.
Описание
Модуль реализует поддержку 32 линий прерываний от внешних устройств. Модуль обеспечивает формирование прерываний как по уровню, так и при детектировании фронта(спада) на линии прерывания.
Перечень линий прерывания для устройств, подключённых к контроллеру прерываний, указан в таблице
Номер линии прерывания | Имя источника прерывания |
0 | Timer32_0 |
1 | USART_0 |
2 | USART_1 |
3 | SPI_0 |
4 | SPI_1 |
5 | GPIO |
6 | I2C_0 |
7 | I2C_1 |
8 | Сторожевой таймер |
9 | Timer16_0 |
10 | Timer16_1 |
11 | Timer16_2 |
12 | Timer32_1 |
13 | Timer32_2 |
14 | SPIFI |
15 | RTC |
16 | EEPROM |
17 | Сторожевой таймер шины (перефирийные устройства) |
18 | Сторожевой таймер шины (SPIFI) |
19 | Сторожевой таймер шины (EEPROM) |
20 | ПДП |
21 | Монитор частоты |
22 | Монитор напряжения AVCC (ниже порога) |
23 | Монитор напряжения AVCC (выше порога) |
24 | Монитор напряжения VCC (ниже порога) |
25 | Монитор напряжения VCC (выше порога) |
26 | Недостатоное напряжение батареи |
27 | BrouwnOut детектор |
28 | Монитор температуры |
29 | АЦП |
30 | DAC0 |
31 | DAC1 |
Описание регистров
Далее перечислены регистры модуля
Регистр MASK_LEVEL_SET
Смещение: 0x0, Значение после подачи сброса: 0x00000000;
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
MLS31 | MLS30 | MLS29 | MLS28 | MLS27 | MLS26 | MLS25 | MLS24 | MLS23 | MLS22 | MLS21 | MLS20 | MLS19 | MLS18 | MLS17 | MLS16 |
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 |
MLS15 | MLS14 | MLS13 | MLS12 | MLS11 | MLS10 | MLS9 | MLS8 | MLS7 | MLS6 | MLS5 | MLS4 | MLS3 | MLS2 | MLS1 | MLS0 |
rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
Биты 31:16 Зарезервировано
Биты 15:0 MLSy - Биты линий прерываний, отвечающие за активацию срабатывания прерывания по уровню (y=0...31)
При записи:
- 0: соответствующая линия прерывания не меняет тип
- 1: соответствующая линия прерывания активируется на срабатывание по уровню
При чтении текущее состояние линии прерывания
- 0: прерывание не срабатывает по уровню
- 1: прерывание срабатывает по уровню
Регистр MASK_LEVEL_CLEAR
Смещение: 0x0, Значение после подачи сброса: 0x00000000;
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
MLC31 | MLC30 | MLC29 | MLC28 | MLC27 | MLC26 | MLC25 | MLC24 | MLC23 | MLC22 | MLC21 | MLC20 | MLC19 | MLC18 | MLC17 | MLC16 |
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 |
MLC15 | MLC14 | MLC13 | MLC12 | MLC11 | MLC10 | MLC9 | MLC8 | MLC7 | MLC6 | MLC5 | MLC4 | MLC3 | MLC2 | MLC1 | MLC0 |
rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw | rw |
Биты 31:16 Зарезервировано
Биты 15:0 MLCy - Биты линий прерываний, отвечающие за деактивацию срабатывания прерывания по уровню (y=0...31)
При записи:
- 0: соответствующая линия прерывания не меняет тип
- 1: соответствующая линия прерывания деактивируется на срабатывание по уровню
При чтении текущее состояние линии прерывания
- 0: прерывание не срабатывает по уровню
- 1: прерывание срабатывает по уровню