Скачиваний:
180
Добавлен:
13.06.2014
Размер:
6.55 Mб
Скачать

28.7. Пользовательский интерфейс контроллера параллельного ввода - вывода

Каждая линия ввода - вывода, управляемая контроллером параллельного ввода - вывода, связана с битом в каждом из 32 - битных регистров Пользовательского интерфейса контроллера (PIO User Interface). Если параллельная линия ввода - вывода не назначена, запись в соответствующие биты не даст никакого эффекта. Чтение бит таких регистров возвращает нулевое значение. Если линия ввода - вывода не мультиплексирована с функциональной линией каких-то периферийных устройств, она будет управляется контроллером параллельного ввода - вывода) и чтение значения регистра PIO_PSR всегда будет возвращать значение, равное 1.

Табл. 28-2 Карта регистра параллельного ввода-вывода

Смещение

Регистр

Название

Доступ

Значение после перезагрузки

0x0000

Регистр разрешения ПВВ

PIO_PER

Только запись

-

0x0004

Регистр запрещения ПВВ

PIO_PDR

Только запись

-

0x0008

Регистр состояния ПВВ

PIO_PSR

Только чтение

0x0000 0000

0x000C

Зарезервировано

-

-

-

0x0010

Регистр разрешения вывода

PIO_OER

Только запись

-

0x0014

Регистр запрещения вывода

PIO_ODR

Только запись

-

0x0018

Регистр состояния вывода

PIO_OSR

Только чтение

0x0000 0000

0x001C

Зарезервировано

-

-

-

0x0020

Регистр разрешения работы фильтра входных выбросов

PIO_IFER

Только запись

-

0x0024

Регистр запрещения работы фильтра входных выбросов

PIO_IFDR

Только запись

-

0x0028

Регистр состояния фильтра выходных выбросов

PIO_IFSR

Только чтение

0x0000 0000

0x002C

Зарезервировано

-

-

-

0x0030

Регистр установки выходных данных

PIO_SODR

Только запись

-

0x0034

Регистр очистки выводимых данных

PIO_CODR

Только запись

-

0x0038

Регистр состояния выводимых данных

PIO_ODSR

Только чтение

0x0000 0000

0x003C

Регистр состояния выводов

PIO_PDSR

Только чтение

-

0x0040

Регистр разрешения прерываний

PIO_IER

Только запись

-

0x0044

Регистр запрещения прерываний

PIO_IDR

Только запись

-

0x0048

Регистр маски прерываний

PIO_IMR

Только чтение

0x00000000

0x004C

Регистр состояния прерываний

PIO_ISR

Только чтение

0x00000000

0x0050

Регистр разрешения Multidrive

PIO_MDER

Только запись

-

0x0054

Регистр запрещения Multidrive

PIO_MDDR

Только запись

-

0x0058

Регистр состояния Multidrive

PIO_MDSR

Только чтение

0x00000000

0x005C

Зарезервировано

-

-

-

0x0060

Регистр запрещения подтягивающих резисторов

PIO_PUDR

Только запись

-

0x0064

Регистр разрешения подтягивающих резисторов

PIO_PUER

Только запись

-

0x0068

Регистр состояния подтягивающих резисторов

PIO_PUSR

Только чтение

0x00000000

0x006C

Зарезервировано

-

-

-

0x0070

Регистр выбора периферии А

PIO_ASR

Только запись

-

0x0074

Регистр выбора периферии В

PIO_BSR

Только запись

-

0x0078

Регистр состояния АВ

PIO_ABSR

Только чтение

0x00000000

0x007C-0x009C

Зарезервировано

-

-

-

0x00A0

Регистр разрешения вывода

PIO_OWER

Только запись

-

0x00A4

Регистр запрещения вывода

PIO_OWDR

Только чтение

-

0x00A8

Регистр состояния вывода

PIO_OWSR

Только запись

0x00000000

0x00AC-0x00FC

Зарезервировано

-

-

-

Заметки:

  1. Значение по умолчанию после перезагрузки для PIO_PSR определяется конкретным исполнением кристалла.

  2. PIO_ODSR может быть доступным только для чтения или и для чтения - записи в зависимости от состояния линий PIO_OWSR/

  3. Значение, принимаемое PIO_PDSR при перезагрузке, зависит от состояния линий ввода - вывода/

  4. Значение PIO_ISR при перезагрузке устанавливается в 0х0. Тем не менее, при первом чтении состояния регистра может быть прочитано некоторое другое значение, так как состояния на входах могли измениться.

  5. Только этот набор регистров очищает состояние записью 1 в первый регистр и устанавливает состояние записью во второй регистр.

28.7.1 Регистр разрешения работы контроллера параллельного ввода - вывода

Название: PIO_PER

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Разрешение параллельного ввода - вывода

0 = Не влияет.

1 = Разрешает контроллеру параллельного ввода - вывода управление соответствующим выводом (запрещает периферийным модулям управление периферией).

28.7.2 Регистр запрещения работы контроллера параллельного ввода - вывода

Название: PIO_PDR

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Запрещение параллельного ввода - вывода

0 = Не влияет.

1 = Запрещает контроллеру параллельного ввода - вывода управление соответствующим выводом (разрешает периферийным модулям управление периферией).

28.7.3 Регистр состояния контроллера параллельного ввода - вывода

Название: PIO_PSR

Вид доступа: только чтение

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние параллельного ввода - вывода

0 = На соответствующей линии параллельный ввод - вывод неактивен (периферия активна)

1 = На соответствующей линии параллельный ввод - вывод активен (периферия неактивна).

28.7.4 Разрешение вывода контроллера параллельного ввода - вывода

Название: PIO_OER

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Разрешение вывода

0 = Не влияет.

1 = Разрешает вывод на линию ввода - вывода.

28.7.5 Запрещение вывода контроллера параллельного ввода - вывода

Название: PIO_ODR

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Запрещение вывода

0 = Не влияет.

1 = Запрещает вывод на линию ввода - вывода.

28.7.6 Регистр состояния вывода

Название: PIO_OER

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние вывода

0 = Линия ввода - вывода работает только на вход.

1 = Линия ввода - вывода разрешена как выход.

28.7.7 Разрешение входного фильтра выбросов контроллера параллельного ввода - вывода

Название: PIO_IFER

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Разрешение входного фильтра

0 = Не влияет.

1 = Разрешает работу входного фильтра импульсов на соответствующей линии.

28.7.8 Запрещение входного фильтра выбросов контроллера параллельного ввода - вывода

Название: PIO_IFDR

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Запрещение входного фильтра

0 = Не влияет.

1 = Запрещает работу входного фильтра импульсов на соответствующей линии.

28.7.9 Состояние входного фильтра выбросов контроллера параллельного ввода - вывода

Название: PIO_IFSR

Вид доступа: Только чтение

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние входного фильтра

0 = Работа входного фильтра импульсов на соответствующей линии запрещена.

1 = Работа входного фильтра импульсов на соответствующей линии разрешена.

28.7.10 Регистр установки выходных данных контроллера параллельного ввода - вывода

Название: PIO_SODR

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Установка данных на вывод

0 = Не влияет.

1 = Устанавливает данные, выдаваемые на линию ввода - вывода

28.7.11 Регистр сброса выходных данных контроллера параллельного ввода -вывода

Название: PIO_CODR

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Установка данных на вывод

0 = Не влияет.

1 = Сбрасывает данные, выдаваемые на линию ввода - вывода

28.7.12 Регистр состояния выходных данных регистра параллельного ввода - вывода

Название: PIO_ODSR

Вид доступа: только чтение или чтение/запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние выводимых данных

0 = Устанавливает неактивный уровень линии ввода - вывода.

1 = Устанавливает активный уровень линии ввода - вывода.

28.7.13 Регистр состояния выводов контроллера параллельного ввода - вывода

Название: PIO_PDSR

Вид доступа: Только чтение

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние выводимых данных

0 = Линия ввода - вывода имеет неактивный уровень.

1 = Линия ввода - вывода имеет активный уровень.

28.7.14 Регистр разрешения прерываний контроллера параллельного ввода - вывода

Название: PIO_IER

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Разрешение прерываний по изменению уровня на входе

0 = Не влияет.

1 = Разрешает прерывание по изменению уровня для соответствующей линии ввода - вывода.

28.7.15 Регистр запрещения прерываний контроллера параллельного ввода - вывода

Название: PIO_IDR

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Запрещение прерываний по изменению уровня на входе

0 = Не влияет.

1 = Запрещает прерывание по изменению уровня для соответствующей линии ввода - вывода.

27.8.16 Регистр маски прерываний контроллера параллельного ввода - вывода

Название: PIO_IMR

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Маска прерываний по изменению уровня на входе

0 = Прерывание по изменению уровня для соответствующей линии ввода - вывода запрещается.

1 = Прерывание по изменению уровня для соответствующей линии ввода - вывода разрешается.

28.7.17 Регистр состояния прерываний контроллера параллельного ввода - вывода

Название: PIO_ISR

Вид доступа: только чтение

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние прерываний по изменению уровня на входе

0 = Изменение уровня соответствующей линии ввода - вывода не определялось с момента последнего чтения регистра состояния прерываний или с момента последней перезагрузки.

1 = По крайней мере одно изменение уровня соответствующей линии ввода - вывода было определено с момента последнего чтения регистра состояния прерываний или с момента последней перезагрузки.

28.7.18 Регистр разрешения Multidrive

Название: PIO_MDER

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Разрешение Multidrive

0 = Не влияет.

1 = Разрешает функцию Multidrive для соответствующей линии ввода - вывода.

28.7.19 Регистр запрещения Multidrive

Название: PIO_MDDR

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Запрещение Multidrive

0 = Не влияет.

1 = Запрещает функцию Multidrive для соответствующей линии ввода - вывода.

28.7.20 Регистр состояния Multidrive

Название: PIO_MDSR

Вид доступа: только чтение

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние Multidrive

0 = Multidrive для соответствующей линии ввода - вывода запрещен. Вывод может быть установлен в низкий и высокий уровень.

1 = Multidrive для соответствующей линии ввода - вывода разрешен. Вывод может устанавливаться только в низкий уровень.

28.7.21 Запрещение подтягивающих резисторов

Название: PIO_PUDR

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Запрещение встроенных подтягивающих резисторов

0 = Не влияет.

1 = Запрещает встроенный подтягивающий резистор соответствующей линии ввода - вывода.

28.7.22 Запрещение подтягивающих резисторов

Название: PIO_PUER

Вид доступа: только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Разрешение встроенных подтягивающих резисторов

0 = Не влияет.

1 = Разрешает встроенный подтягивающий резистор соответствующей линии ввода - вывода.

28.7.23 Состояние подтягивающих резисторов

Название: PIO_PUSR

Вид доступа: только чтение

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние встроенных подтягивающих резисторов

0 = Встроенный подтягивающий резистор соответствующей линии ввода - вывода разрешен.

1 = Встроенный подтягивающий резистор соответствующей линии ввода - вывода запрещен.

28.7.24 Регистр выбора периферии А контроллера параллельного ввода -вывода

Название: PIO_ASR

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Выбор группы периферийных устройств A.

0 = Не влияет.

1 = Передает управление линией ввода - вывода периферийному устройству A.

28.7.25 Регистр выбора периферии B контроллера параллельного ввода -вывода

Название: PIO_BSR

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Выбор группы периферийных устройств B.

0 = Не влияет.

1 = Передает управление линией ввода - вывода периферийному устройству B.

28.7.26 Регистр состояния выбора группы периферии контроллера параллельного ввода -вывода

Название: PIO_ABSR

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние группы периферийных устройств A.

0 = Управление линией ввода - вывода передано периферийному устройству группы A.

1 = Управление линией ввода - вывода передано периферийному устройству группы B.

28.7.27 Регистр разрешения вывода контроллера параллельного ввода - вывода

Название: PIO_OWER

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Разрешение вывода.

0 = Не влияет.

1 = Разрешает установку из значения PIO_ODSR на соответствующей линии.

28.7.28 Регистр запрещения вывода контроллера параллельного ввода - вывода

Название: PIO_OWDR

Вид доступа: Только запись

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Запрещение вывода.

0 = Не влияет.

1 = Запрещает установку из значения PIO_ODSR на соответствующей линии.

28.7.29 Регистр состояния разрешения вывода контроллера параллельного ввода - вывода

Название: PIO_OWSR

Вид доступа: Только чтение

31

30

29

28

27

26

25

24

P31

P30

P29

P28

P27

P26

P25

P24

23

22

21

20

19

18

17

16

P23

P22

P21

P20

P19

P18

P17

P16

15

14

13

12

11

10

9

8

P15

P14

P13

P12

P11

P10

P9

P8

7

6

5

4

3

2

1

0

P7

P6

P5

P4

P3

P2

P1

P0

P0-P31: Состояние разрешение вывода.

0 = Вывод значения PIO_ODSR по соответствующей линии запрещен.

1 = Вывод значения PIO_ODSR по соответствующей линии разрешен.

Соседние файлы в папке ПЦиПУ. материалы для Курсового проекта Тютякин А.В.