Блок управления прерываниями

Материал из MIK32 микроконтроллер

Введение

Данный модуль управляет минимально необходимым функционалом для обслуживания прерываний.

Описание

Модуль реализует поддержку 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: прерывание срабатывает по уровню