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

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

33.6.1 Расположение в памяти глобального регистра

Таблица 33.3. Расположение в памяти глобального регистра таймера-счетчика (ТС)

Смещение

Канал/регистр

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

Доступ

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

0x00

Канал 0 ТС

См. таблицу 33.4

0x40

Канал 1 ТС

См. таблицу 33.4

0x80

Канал 2 ТС1

См. таблицу 33.4

0xC0

Регистр управления блоком ТС

TC_BCR

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

 

0xC4

Регистр режима блока ТС

TC_BMR

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

 

Прим.:

  1. канал 2 ТС не входит в состав AT91SAM7S32.

TC_BCR (регистр управления блокомr) и TC_BMR (регистр режима блока) управляют всем блоком ТС. Каналы ТС управляются через регистры, приведенные в таблице 33.4. Смещение каждого канального регистра в таблице 33.4 показано по отношению к смещению соответствующего канала.

33.6.2 Расположение регистров канала в памяти

Таблица 33.4. Расположение регистров канала таймера-счетчика (ТС) в памяти

Смещение

Регистр

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

Доступ

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

0x00

Регистр управления каналом

TC_CCR

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

-

0x04

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

TC_CMR

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

0

0x08

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

-

-

-

0x0C

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

-

-

-

0x10

Значение счетчика

TC_CV

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

0

0x14

Регистр А

TC_RA

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

0

0x18

Регистр В

TC_RB

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

0

0x1C

Регистр С

TC_RC

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

0

0x20

Регистр статуса

TC_SR

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

0

0x24

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

TC_IER

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

-

0x28

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

TC_IDR

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

-

0x2C

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

TC_IMR

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

0

0x30-0xFC

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

-

-

-

Прим.:

  1. Только чтение, если WAVE = 0

33.6.3 Регистр управления блоком ТС

Имя регистра: TC_BCR

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

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

-

-

-

-

-

-

-

SYNC

  • SYNC: синхронизирующая команда:

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

1 - устанавливает сигнал SYNC, который генерирует программный перезапуск одновременно для каждого из каналов.

33.6.4 Регистр режима блока ТС

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

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

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

-

-

TC2XC2S

TCXC1S

TC0XC0S

  • TC0XC0S: выбор сигнала 0 внешней синхронизации

TC0XC0S

Сигнал, подключенный к XC0

0

0

TCLK0

0

1

нет

1

0

TIOA1

1

1

TIOA2 (не поддерживается в AT91SAM7S32)

  • TC1XC1S: выбор сигнала 1 внешней синхронизации

TC0XC1S

Сигнал, подключенный к XC1

0

0

TCLK1

0

1

нет

1

0

TIOA1

1

1

TIOA2 (не поддерживается в AT91SAM7S32)

  • TC2XC2S: выбор сигнала 2 внешней синхронизации

TC0XC2S

Сигнал, подключенный к XC2

0

0

TCLK2

0

1

нет

1

0

TIOA1

1

1

TIOA2 (не поддерживается в AT91SAM7S32)

33.6.5 Регистр управления каналом ТС

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

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

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

-

-

-

-

-

SWTRG

CLKDIS

CLKEN

  • CLKEN: команда разрешения синхронизации счетчика

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

1 = разрешает синхронизацию, если CLKDIS неравен 1.

  • CLKDIS: команда отключения синхронизации счетчика:

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

1 - отключает синхронизацию.

  • SWTRG: команда программного перезапуска:

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

1 - выполняется программный перезапуск: сброс счетчика и запуск синхронизации.

33.6.6 Регистр режима канала TC: режим захвата

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

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

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

LDRB

LDRA

15

14

13

12

11

10

9

8

WAVE = 0

CPCTRG

-

-

-

ABETRG

ETRGEDG

7

6

5

4

3

2

1

0

LDBDIS

LDBSTOP

BURST

CLKI

TCCLKS

  • TCCLKS: выбор синхронизации

TCCLKS

Выбранная синхронизация

0

0

0

TIMER_CLOCK1

0

0

1

TIMER_CLOCK2

0

1

0

TIMER_CLOCK3

0

1

1

TIMER_CLOCK4

1

0

0

TIMER_CLOCK5

1

0

1

XC0

1

1

0

XC1

1

1

1

XC2

  • CLKI: инвертирование синхронизации:

0 - состояние счетчика изменяется по нарастающему фронту синхронизации.

1 - состояние счетчика изменяется по падающему фронту синхронизации.

  • BURST: выбор сигнала для функции BURST:

BURST

 

0

0

лог. операция с внешним сигналом не выполняется

0

1

операция лог. И над XC0 и выбранным сигналом синхронизации.

1

0

операция лог. И над XC1 и выбранным сигналом синхронизации.

1

1

операция лог. И над XC2 и выбранным сигналом синхронизации.

  • LDBSTOP: синхронизация счетчика останавливается при загрузке RB:

0 - если возникает загрузка RB, то синхронизация счетчика не останавливается.

1 - синхронизация счетчика останавливается, когда возникает загрузка RB.

  • LDBDIS: синхронизация счетчика останавливается при загрузке RB:

0 - если возникает загрузка RB, то синхронизация счетчика не отключается.

1 - синхронизация счетчика отключается, когда возникает загрузка RB.

  • ETRGEDG: выбор фронта внешнего перезапуска:

ETRGEDG

Фронт

0

0

нет

0

1

нарастающий

1

0

падающий

1

1

оба фронта

  • ABETRG: выбор TIOA или TIOB в качестве источника внешнего перезапуска:

0 - TIOB используется в качестве источника внешнего перезапуска.

1 - TIOA используется в качестве источника внешнего перезапуска.

  • CPCTRG: разрешение перезапуска при совпадении с RC:

0 - совпадение с RC не оказывает влияния на счетчик и его синхронизацию.

1 - совпадение с RC сбрасывает счетчик и запускает синхронизацию счетчика.

  • WAVE:

0 -режим захвата разрешен.

1 - режим захвата отключен (разрешен режим генератора).

  • LDRA: выбор фронта, по которому значение счетчика загружается в RA:

LDRA

Фронт

0

0

нет

0

1

нарастающий фронт на TIOA

1

0

падающий фронт на TIOA

1

1

любой фронт на TIOA

  • LDRB: выбор фронта, по которому значение счетчика загружается в RВ:

LDRB

Фронт

0

0

нет

0

1

нарастающий фронт на TIOB

1

0

падающий фронт на TIOB

1

1

любой фронт на TIOB

33.6.7 Регистр режима канала ТС: режим генератора

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

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

31

30

29

28

27

26

25

24

BSWTRG

BEEVT

BCPC

BCPB

23

22

21

20

19

18

17

16

ASWTRG

AEEVT

ACPC

ACPA

15

14

13

12

11

10

9

8

WAVE = 1

WAVSEL

ENETRG

EEVT

EEVTEDG

7

6

5

4

3

2

1

0

CPCDIS

CPCSTOP

BURST

CLKI

TCCLKS

  • TCCLKS: выбор синхронизации

TCCLKS

Выбранная синхронизация

0

0

0

TIMER_CLOCK1

0

0

1

TIMER_CLOCK2

0

1

0

TIMER_CLOCK3

0

1

1

TIMER_CLOCK4

1

0

0

TIMER_CLOCK5

1

0

1

XC0

1

1

0

XC1

1

1

1

XC2

  • CLKI: инвертирование синхронизации:

0 - состояние счетчика изменяется по нарастающему фронту синхронизации.

1 - состояние счетчика изменяется по падающему фронту синхронизации.

  • BURST: выбор сигнала для функции BURST

BURST

 

0

0

лог. операция с внешним сигналом не выполняется

0

1

операция лог. И над XC0 и выбранным сигналом синхронизации

1

0

операция лог. И над XC1 и выбранным сигналом синхронизаци

1

1

операция лог. И над XC2 и выбранным сигналом синхронизации

  • CPCSTOP: остановка синхронизации счетчика при совпадении с RC:

0 - по достижении RC синхронизация счетчика не останавливается.

1 - по достижении RC синхронизация счетчика останавливается.

  • CPCDIS: отключение синхронизации счетчика при совпадении с RC:

0 - по достижении RC синхронизация счетчика не отключается.

1 - по достижении RC синхронизация счетчика отключается.

  • EEVTEDG: выбор фронта внешнего события:

EEVTEDG

Фронт

0

0

нет

0

1

нарастающий

1

0

падающий

1

1

оба фронта

  • EEVT: Выбор внешнего события:

EEVT

Сигнал, выступающий в роли внешнего события

Направление TIOB

0

0

TIOB

вход1

0

1

XC0

выход

1

0

XC1

выход

1

1

XC2

выход

Прим. 1: если TIOB выбран в качестве сигнала внешнего события, то он настраивается на ввод и больше не генерирует импульсы.
  • ENETRG: разрешение перезапуска по внешнему событию:

0 - внешнее событие не оказывает влияния на счетчик и его синхронизацию. В этом случае выбранное внешнее событие управляет только выходом TIOA.

1 - внешнее событие сбрасывает счетчик и запускает его синхронизацию.

  • WAVSEL: выбор способа генерации сигнала

WAVSEL

Влияние

0

0

Режим нарастающего счета без автоматического перезапуска при совпадении с RC

0

1

Режим нарастающего счета с автоматическим перезапуском при совпадении с RC

1

0

Режим двунаправленного счета без автоматического перезапуска при совпадении с RC

1

1

Режим двунаправленного счета с автоматическим перезапуском при совпадении с RC

  • WAVE = 1:

0 - режим генератора отключен (включен режим захвата).

1 - режим генератора включен.

  • ACPA: влияние совпадения с RA на TIOA

ACPA

Влияние

0

0

нет

0

1

установка

1

0

сброс

1

1

переключение (инвертирование)

  • ACPC: влияние совпадения с RC на TIOA

ACPC

Влияние

0

0

нет

0

1

установка

1

0

сброс

1

1

переключение (инвертирование)

  • AEEVT: влияние внешнего события на TIOA

AEEVT

Влияние

0

0

нет

0

1

установка

1

0

сброс

1

1

переключение (инвертирование)

  • ASWTRG: влияние программного перезапуска на TIOA

ASWTRG

Влияние

0

0

нет

0

1

установка

1

0

сброс

1

1

переключение (инвертирование)

  • BCPB: влияние совпадения с RB на TIOB

BCPB

Влияние

0

0

нет

0

1

установка

1

0

сброс

1

1

переключение (инвертирование)

  • BCPC: влияние совпадения с RC на TIOB

BCPC

Влияние

0

0

нет

0

1

установка

1

0

сброс

1

1

переключение (инвертирование)

  • BEEVT: влияние внешнего события на TIOB

BEEVT

Влияние

0

0

нет

0

1

установка

1

0

сброс

1

1

переключение (инвертирование)

  • BSWTRG: влияние программного перезапуска на TIOB

BSWTRG

Влияние

0

0

нет

0

1

установка

1

0

сброс

1

1

переключение (инвертирование)

33.6.8 Регистр значения счетчика ТС

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

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

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

CV

7

6

5

4

3

2

1

0

CV

  • CV: значение счетчика

CV содержит значение счетчика в реальном времени.

33.6.9 Регистр А таймера-счетчика

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

Тип доступа: только чтение, если WAVE = 0; чтение/запись, если WAVE = 1

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

RA

7

6

5

4

3

2

1

0

RA

  • RA: регистр А

RA содержит значение регистра А в реальном времени.

33.6.10 Регистр В таймера-счетчика

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

Тип доступа: только чтение, если WAVE = 0; чтение/запись, если WAVE = 1

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

RB

7

6

5

4

3

2

1

0

RB

  • RB: регистр B

RB содержит значение регистра В в реальном времени.

33.6.11 Регистр С таймера-счетчика

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

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

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

-

-

-

15

14

13

12

11

10

9

8

RC

7

6

5

4

3

2

1

0

RC

  • RC: регистр C

RC содержит значение регистра C в реальном времени.

33.6.12 Регистр статуса ТС

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

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

31

30

29

28

27

26

25

24

-

-

-

-

-

-

-

-

23

22

21

20

19

18

17

16

-

-

-

-

-

MTIOB

MTIOA

CLKSTA

15

14

13

12

11

10

9

8

-

-

-

-

-

-

-

-

7

6

5

4

3

2

1

0

ETRGS

LDRBS

LDRAS

CPCS

CPBS

CPAS

LOVRS

COVFS

  • COVFS: статус переполнения счетчика:

0 - переполнение счетчика не происходило с момента последнего чтения регистра статуса.

1 - с момента последнего чтения регистра статуса произошло переполнение счетчика.

  • LOVRS: статус повторного заполнения:

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

1 - если WAVE = 0 и с момента последнего чтения регистра статуса регистр RA или RB был загружен 2 и более раз.

  • CPAS: статус совпадения с RA:

0 - совпадение с RA не происходило с момента последнего чтения регистра статуса или WAVE = 0.

1 - если WAVE = 1 и с момента последнего чтения регистра статуса произошло совпадение с RA.

  • CPBS: статус совпадения с RB:

0 - совпадение с RB не происходило с момента последнего чтения регистра статуса или WAVE = 0.

1 - если WAVE = 1 и с момента последнего чтения регистра статуса произошло совпадение с RB.

  • CPCS: статус совпадения с RC:

0 - совпадение с RC не происходило с момента последнего чтения регистра статуса или WAVE = 0.

1 - если WAVE = 1 и с момента последнего чтения регистра статуса произошло совпадение с RC.

  • LDRAS: статус загрузки RA:

0 - с момента последнего чтения регистра статуса не было загрузки RA или WAVE = 1.

1 - с момента последнего чтения регистра статуса была выполнена загрузка RA, если WAVE = 0.

  • LDRBS: статус загрузки RB:

0 - с момента последнего чтения регистра статуса не было загрузки RB или WAVE = 1.

1 - с момента последнего чтения регистра статуса была выполнена загрузка RB, если WAVE = 0.

  • ETRGS: статус внешнего перезапуска:

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

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

  • CLKSTA: статус разрешения синхронизации:

0 - синхронизация отключена.

1 - синхронизация включена.

  • MTIOA: состояние вывода TIOA:

0 - TIOA имеет низкий уровень. Если WAVE = 0, то это означает, что вывод TIOA в низком состоянии. Если WAVE = 1, то это означает, что на вывод TIOA подан низкий уровень.

1 - TIOB имеет высокий уровень. Если WAVE = 0, то это означает, что вывод TIOB в высоком состоянии. Если WAVE = 1, то это означает, что на вывод TIOB подан высокий уровень.

  • MTIOB: состояние вывода TIOB:

0 - TIOB имеет низкий уровень. Если WAVE = 0, то это означает, что вывод TIOB в низком состоянии. Если WAVE = 1, то это означает, что на вывод TIOB подан низкий уровень.

1 - TIOB имеет высокий уровень. Если WAVE = 0, то это означает, что вывод TIOB в высоком состоянии. Если WAVE = 1, то это означает, что на вывод TIOB подан высокий уровень.

33.6.13 Регистр разрешения прерывания ТС

Наименование регистра: TC_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

ETRGS

LDRBS

LDRAS

CPCS

CPBS

CPAS

LOVRS

COVFS

  • COVFS: переполнение счетчика:

0 - не оказывает действия.

1 - разрешает прерывание по переполнению счетчика.

  • LOVRS: повторное заполнение:

0 - не оказывает действия.

1 - разрешает прерывание по повторному заполнению (если WAVE = 0).

  • CPAS: статус совпадения с RA:

0 - не оказывает действия.

1 - разрешает прерывание по совпадению с RA.

  • CPBS: совпадения с RB:

0 - не оказывает действия.

1 - разрешает прерывание по совпадению с RB.

  • CPCS: совпадение с RC:

0 - не оказывает действия.

1 - разрешает прерывание по совпадению с RC.

  • LDRAS: загрузка RA:

0 - не оказывает действия.

1 - разрешает прерывание по загрузке RA.

  • LDRBS: загрузка RB:

0 - не оказывает действия.

1 - разрешает прерывание по загрузке RВ.

  • ETRGS: внешний перезапуск:

0 - не оказывает действия.

1 - разрешает прерывание по внешнему перезапуску.

33.6.14 Регистр отключения прерывания ТС

Наименование регистра: TC_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

ETRGS

LDRBS

LDRAS

CPCS

CPBS

CPAS

LOVRS

COVFS

  • COVFS: переполнение счетчика:

0 - не оказывает действия.

1 - отключает прерывание по переполнению счетчика.

  • LOVRS: повторное заполнение:

0 - не оказывает действия.

1 - отключает прерывание по повторному заполнению (если WAVE = 0).

  • CPAS: совпадения с RA:

0 - не оказывает действия.

1 - отключает прерывание по совпадению с RA (если WAVE = 1).

  • CPBS: совпадения с RB:

0 - не оказывает действия.

1 - отключает прерывание по совпадению с RB (если WAVE = 1).

  • CPCS: совпадение с RC:

0 - не оказывает действия.

1 - отключает прерывание по совпадению с RC.

  • LDRAS: загрузка RA:

0 - не оказывает действия.

1 - отключает прерывание по загрузке RA (если WAVE = 0).

  • LDRBS: загрузка RB:

0 - не оказывает действия.

1 - отключает прерывание по загрузке RВ (если WAVE = 0).

  • ETRGS: внешний перезапуск:

0 - не оказывает действия.

1 - отключает прерывание по внешнему перезапуску.

33.6.15 Регистр маски прерывания таймера-счетчика:

Наименование регистра: TC_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

ETRGS

LDRBS

LDRAS

CPCS

CPBS

CPAS

LOVRS

COVFS

  • COVFS: переполнение счетчика:

0 - прерывание по переполнению счетчика отключено.

1 - прерывание по переполнению счетчика включено.

  • LOVRS: повторное заполнение:

0 - прерывание по повторному заполнению отключено.

1 - прерывание по повторному заполнению включено.

  • CPAS: совпадения с RA:

0 - прерывание по совпадению с RA отключено.

1 - прерывание по совпадению с RA включено.

  • CPBS: совпадения с RB:

0 - прерывание по совпадению с RB отключено.

1 - прерывание по совпадению с RB включено.

  • CPCS: совпадение с RC:

0 - прерывание по совпадению с RC отключено.

1 - прерывание по совпадению с RC включено.

  • LDRAS: загрузка RA:

0 - прерывание по загрузке RA отключено.

1 - прерывание по загрузке RA включено.

  • LDRBS: загрузка RB:

0 - прерывание по загрузке RВ отключено.

1 - прерывание по загрузке RВ включено.

  • ETRGS: внешний перезапуск:

0 - прерывание по внешнему перезапуску отключено.

1 - прерывание по внешнему перезапуску включено.

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