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

34.6 Пользовательский интерфейс шим-контроллера (pwm)

Таблица 34.2. Расположение в памяти регистров контроллера широтно-импульсной модуляции

Смещение

Регистр

Наименование

Доступ

Значение после сброса

0x00

Регистр режима ШИМ

PWM_MR

чтение/запись

0

0x04

Регистр разрешения ШИМ

PWM_ENA

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

-

0x08

Регистр отключения ШИМ

PWM_DIS

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

-

0x0С

Регистр статуса ШИМ

PWM_SR

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

0

0x10

Регистр разрешения прерывания ШИМ

PWM_IER

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

0

0x14

Регистр отключения прерывания ШИМ

PWM_IDR

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

-

0x18

Регистр маски прерывания ШИМ

PWM_IMR

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

0

0x1С

Регистр статуса прерывания ШИМ

PWM_ISR

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

0

0x4C - 0xFC

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

-

-

-

0x100 - 0x1FC

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

-

-

-

0x200

Регистр режима канала 0

PWM_CMR0

чтение/запись

0х0

0x204

Регистр рабочего цикла канала 0

PWM_CDTY0

чтение/запись

0х0

0x208

Регистр периода канала 0

PWM_CPRD0

чтение/запись

0х0

0x20С

Регистр счетчика канала 0

PWM_CCNT0

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

0х0

0x210

Регистр обновления канала 0

PWM_CUPD0

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

-

...

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

-

-

-

0x220

Регистр режима канала 1

PWM_CMR1

чтение/запись

0х0

0x224

Регистр рабочего цикла канала 1

PWM_CDTY1

чтение/запись

0х0

0x228

Регистр периода канала 1

PWM_CPRD1

чтение/запись

0х0

0x22С

Регистр счетчика канала 1

PWM_CCNT1

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

0х0

0x230

Регистр обновления канала 1

PWM_CUPD1

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

-

34.6.1 Регистр режима ШИМ

Наименование регистра: PWM_MR

Тип доступа: чтение/запись

31

30

29

28

27

26

25

24

-

-

-

-

PREB

23

22

21

20

19

18

17

16

DIVB

15

14

13

12

11

10

9

8

-

-

-

-

PREA

7

6

5

4

3

2

1

0

DIVA

  • DIVA, DIVB - коэффициент деления CLKA, CLKB:

DIVA, DIVB

CLKA, CLKB

0

Синхронизация CLKA, CLKB отключена

1

Синхронизация CLKA, CLKB - синхронизация, выбранная значением PREA, PREB

2-255

Синхронизация CLKA, CLKB - синхронизация, выбранная значением PREA, PREB и поделенная на DIVA, DIVB.

  • PREA, PREB:

PREA, PREB

Синхронизация на входе делителя

0

0

0

0

MCK

0

0

0

1

MCK/2

0

0

1

0

MCK/4

0

0

1

1

MCK/8

0

1

0

0

MCK/16

0

1

0

1

MCK/32

0

1

1

0

MCK/64

0

1

1

1

MCK/128

1

0

0

0

MCK/256

1

0

0

1

MCK/512

1

0

1

0

MCK/1024

прочее

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

34.6.2 Регистр разрешения работы ШИМ

Наименование регистра: PWM_ENA

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

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

-

-

-

-

CHID3

CHID2

CHID1

CHID0

  • CHIDx - идентификатор канала:

0 - не оказывает влияния.

1 - разрешение ШИМ-выхода канала x.

34.6.3 Регистр отключения ШИМ

Наименование регистра: PWM_DIS

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

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

-

-

-

-

CHID3

CHID2

CHID1

CHID0

  • CHIDx - идентификатор канала:

0 - не оказывает влияния.

1 - отключение выхода ШИМ канала х.

34.6.4 Регистр статуса ШИМ

Наименование регистра: PWM_SR

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

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

-

-

-

-

CHID3

CHID2

CHID1

CHID0

  • CHIDx - идентификатор канала:

0 - ШИМ-выход канала х отключен.

1 - ШИМ-выход канала х включен.

34.6.5 Регистр разрешения прерывания ШИМ

Наименование регистра: PWM_IER

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

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

-

-

-

-

CHID3

CHID2

CHID1

CHID0

  • CHIDx - идентификатор канала:

0 - не оказывает влияния.

1 - разрешение прерывания для ШИМ-канала х.

34.6.6 Регистр отключения прерывания ШИМ

Наименование регистра: PWM_IDR

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

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

-

-

-

-

CHID3

CHID2

CHID1

CHID0

  • CHIDx - идентификатор канала:

0 - не оказывает влияния.

1 - отключает прерывание в ШИМ-канале х.

34.6.7 Регистр маски прерывания ШИМ

Наименование регистра: PWM_IMR

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

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

-

-

-

-

CHID3

CHID2

CHID1

CHID0

  • CHIDx - идентификатор канала:

0 - прерывание в ШИМ-канале x отключено.

1 - прерывание в ШИМ-канале х включено.

34.6.8 Регистр статуса прерывания ШИМ

Наименование регистра: PWM_ISR

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

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

-

-

-

-

CHID3

CHID2

CHID1

CHID0

  • CHIDx - идентификатор канала:

0 - с момента последнего чтения регистра PWM_ISR не было достигнуто нового периода.

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

Прим.: считывание PWM_ISR автоматически приводит к сбрасыванию флагов CHIDx.

34.6.9 Регистр режима канала ШИМ

Наименование регистра: PWM_CMRx

Тип доступа: чтение/запись

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

-

-

-

-

-

CPD

CPOL

CALG

7

6

5

4

3

2

1

0

-

-

-

-

CPRE

  • CPRE - предделитель канала:

PREA, PREB

Синхронизация на входе делителя

0

0

0

0

MCK

0

0

0

1

MCK/2

0

0

1

0

MCK/4

0

0

1

1

MCK/8

0

1

0

0

MCK/16

0

1

0

1

MCK/32

0

1

1

0

MCK/64

0

1

1

1

MCK/128

1

0

0

0

MCK/256

1

0

0

1

MCK/512

1

0

1

0

MCK/1024

1

0

1

1

CLKA

1

1

0

0

CLKB

прочее

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

  • CALG - выравнивание канала:

0 - период с левым выравниванием.

1 - период с выравниванием по центру.

  • CPOL - полярность канала:

0 - период начинается с низкого уровня.

1 - период начинается с высокого уровня.

  • CPD - период обновления канала:

0 - значение, записанное в PWM_CUPDx, изменит заполнение импульсов со следующего периода.

1 - значение, записанное в PWM_CUPDx, изменит период следования импульсов со следующего периода.

34.6.10 Регистр заполнения импульсов в канале ШИМ

Наименование регистра: PWM_CDTYx

Тип доступа: чтение/запись

31

30

29

28

27

26

25

24

CDTY

23

22

21

20

19

18

17

16

CDTY

15

14

13

12

11

10

9

8

CDTY

7

6

5

4

3

2

1

0

CDTY

Только первые 16 разрядов (размер счетчика внутреннего канала) являются значащими.

  • CDTY: заполнение импульсов в канале ШИМ

Определяет заполнение импульсов. Данное значение должно находится между 0 и CPRD (PWM_CPRx).

34.6.11 Регистр периода следования импульсов канала ШИМ

Наименование регистра: PWM_CPRDx

Тип доступа: чтение/запись

31

30

29

28

27

26

25

24

CPRD

23

22

21

20

19

18

17

16

CPRD

15

14

13

12

11

10

9

8

CPRD

7

6

5

4

3

2

1

0

CPRD

Только первые 16 разрядов (размер счетчика внутреннего канала) являются значащими.

  • CPRD: период следования импульсов в канале ШИМ

Если выбрана генерация импульсов с левым выравниванием, то период следования импульсов зависит от источника синхронизации счетчика и может быть вычислен следующим образом:

  1. (X * CPRD)/MCK, если используется сигнал главной синхронизации MCK, поделенный предделителем на величину X (1, 2, 4, 8, 16, 32, 64, 128, 256, 512 или 1024).

  2. (CPRD * DIVA)/MCK или (CPRD * DIVB)/MCK, если главная синхронизация поделена одним из делителей DIVA или DIVB.

Если выбрана генерация импульсов с выравниванием по центру, то период следования импульсов зависит источника синхронизации счетчика и вычисляется следующим образом:

  1. (2* X * CPRD)/MCK, если используется сигнал главной синхронизации MCK, поделенный предделителем на величину X (1, 2, 4, 8, 16, 32, 64, 128, 256, 512 или 1024).

  2. (2 * CPRD * DIVA)/MCK или (2 * CPRD * DIVB)/MCK , если главная синхронизация поделена одним из делителей DIVA или DIVB.

34.6.12 Регистр счетчика канала ШИМ

Наименование регистра: PWM_CCNTx

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

31

30

29

28

27

26

25

24

CNT

23

22

21

20

19

18

17

16

CNT

15

14

13

12

11

10

9

8

CNT

7

6

5

4

3

2

1

0

CNT

  • CNT - регистр счетчика канала

Значение внутреннего счетчика. Данный регистр сбрасывается в следующих случаях:

- разрешена работа канала (записью CHIDx в регистр PWM_ENA).

- счетчик достигает значения CPRD, определенного в регистре PWM_CPRDx, если задана генерация импульсов с левым выравниванием.

34.6.13 Регистр обновления канала ШИМ

Наименование регистра: PWM_CUPDx

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

31

30

29

28

27

26

25

24

CUPD

23

22

21

20

19

18

17

16

CUPD

15

14

13

12

11

10

9

8

CUPD

7

6

5

4

3

2

1

0

CUPD

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

Только первые 16 разрядов (размер счетчика внутреннего канала) являются значащими.

CPD (регистр PWM_CMRx)

 

0

Заполнение импульсов (CDTC в регистре PWM_CDRx) обновляется значением из CUPD в начале следующего периода.

1

В начале следующего периода обновляется период следования импульсов (параметр CPRD в регистре PWM_CPRx) значением из CUPD.

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