Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ADuC70xx_K02.docx
Скачиваний:
20
Добавлен:
18.09.2019
Размер:
1.68 Mб
Скачать

Отключение блока шим

В случае неисправности в системе очень важно мгновенно отключить генератор ШИМ с целью безопасности. Подача сигнала низкого уровня на вход PWMTRIP обеспечивает мгновенное, асинхронное (т.е. не связанное с тактированием процессора) отключение ШИМ контроллера. Все шесть выходов будут переведены в отключенное, т.е. в состояние "высокого" логического уровня. Кроме того, импульсы PWMSYNC будут запрещены. На входе PWMTRIP имеется внутренний притягивающий к "земле" резистор, так что если этот вход оказывается отключенным, блок ШИМ отключается. Состояние входа PWMTRIP может быть считано процессором с помощью разряда 3 регистра PWMSTA.

При появлении сигнала отключения ШИМ генерируется прерывание PWMTRIP, а внутреннее тактирование блока генерации ШИМ будет остановлено. После отключения ШИМ генерация может быть снова запущена (например, в подпрограмме обработки прерывания PWMTRIP) путем программирования всех регистров PWMDAT0, PWMCH0, PWMCH1 и PWMCH2. Если причина сбоя устранена, и вход PWMTRIP переведен в высокий логический уровень, внутреннее тактирование генератора ШИМ восстанавливается и новые величины длительности импульсов принимаются блоком генерации со следующим импульсом PWMSYNC.

Следует отметить, что прерывание PWMTRIP доступно только в IRQ, а прерывание PWMSYNC доступно только в FIQ. Оба прерывания используют один и тот же бит в контроллере прерываний. Поэтому, только одно из прерываний может обрабатываться в данный момент. Смотри раздел Системы Прерываний для рассмотрения деталей.

Портыдискретного параллельного ввода/вывода

(Описание в ТО, стр.63)

Микроконтроллеры ADuC7019/.../7029 имеют до 40 двунаправленных выводов (в англоязычной терминологии – GPIO, GeneralPurposeInput/Output). Выводы объединены в пять байтовых (8‑битных) портов: P0...P4. В микросхемах семейства количество линий ввода/вывода для различных моделей семейства 70xx различно, может составлять от 13 до 40 линий и указано в ТО, стр.95, табл. ORDERING GUIDE

Поскольку младшие модели семейства упакованы в корпуса с 40 либо 64 выводами, некоторые порты в этих моделях содержат менее чем 8 выводов.

Следует заметить, чтофактическое количество выводов, которые можно использовать для параллельного дискретного ввода-вывода, в реальных микросхемахотличается от указанного в ТО, стр.95, и в таблице приведено в отдельном столбце. Причины, по которым некоторые выводы не учтены в оригинальных описаниях, автору пока неизвестны.

Некоторые выводы параллельных портов задействованы для специальных целей на стартовом этапе: во время формирования сигнала Reset, а также при использовании отладочного интерфейса JTAG. Эти выводы в табл. ??? отмечены в отдельном столбце.

Все выводы параллельных портов допускают подачу входных сигналов от логических микросхем с 5-вольтовым питанием.

Все выводыпараллельных портов мультиплексированы, т.е.помимо ввода-вывода дискретных сигналовмогут использоваться другими внутрикристальными подсистемами (см. табл. ??? описания функций выводов параллельных портов).

С каждым (байтовым) портом ввода-вывода связан внутренний (байтовый) регистр данных

Все выводы GPIO имеют внутренний, подтягивающий к уровню «1» pull-up резистор.В фирменном техническом описании указывается, что величина этого резистора составляет около 100кОм. Реально этот «резистор» ведет себя как неидеальный генератор тока, величина которого при нулевом напряжении на входе порта составляет около 30 мА, слабо уменьшается при возрастании входного напряжения до 1,5...2 В, а при дальнейшем возрастании напряжения ток быстро уменьшается до нуля. Так что в качестве резистора там, скорее всего используется «полуоткрытый» полевой транзистор. Подтягивающие резисторы выводов P0[7:0] и P1[7:0] могут быть программно отключены (см. далее), в остальных портах подтягивающие резисторы отключить нельзя.

Каждый порт управляется четырьмя периферийными регистрами:GPxCON, GPxDAT, GPxSET, GPxCLR, для отключения pull-up резисторов порты P0 и P1 имеют пятый периферийный регистр PxPAR.(Здесь и далее x представляет номер порта от 0 до 4)

1) GPxCON: 32-битовый регистр управления порта х. управляет функцией каждого вывода порта х. В этом регистре восемь двухбитовых полей (два младших бита каждой тетрады) по отдельности задают функцию каждого вывода порта, т.е. биты 1:0 задают функцию вывода Px.0, биты 5:4 – функцию вывода Px.1 и т.д. Один из четырех кодов конфигурации 00, 01, 10, 11 может быть задан индивидуальнодля каждого вывода. Соответствие между кодом конфигурации и функцией вывода дано в табл.???. Код конфигурации 00 соответствует функции параллельного ввода

2) GPxDAT: 32-битовый регистр данных порта х. ‑конфигурирует направление выводов порта х, ‑устанавливает выходной уровень, если вывод GPIO сконфигурирован на выход, ‑принимает и сохраняет уровень входного сигнала, если вывод GPIO сконфигурирован на вход.

Регистр содержит четыре восьмибитовых поля, используемых независимо.

GPxDAT:

31 24

23 16

15 8

7 0

Функция:

Направление

Запись в регистр

Сост. после сброса

Сигналы на выводах

Выводы:

7 6 5 4 3 2 1 0

7 6 5 4 3 2 1 0

7 6 5 4 3 2 1 0

7 6 5 4 3 2 1 0

Направление (Direction)–8-битовое полеGPxDAT[31:24] задает направление передачи соответственно для выводов 7…0 порта с номеромx,запись «1» конфигурирует соответствующий вывод как выход, а запись «0» ‑ как вход. Это битовое поле доступно как по записи так и почтению.

Регистр данных(Output)–8-битовое полеGPxDAT[23:16]позволяет задать содержимое внутреннего регистра данных порта, а если некоторые из выводов порта сконфигурированы на выход, то и выходные сигналы на соответствующих контактах. Поле доступно как по записи, так и по чтению. Заметим, что если выводы сконфигурированы в режиме GPIOкак входы, либо выбран не режим GPIO, то содержимое внутреннего регистра порта не влияет на состояние внешних выводов.

Состояние после сброса (Reset): биты GPxDAT[15:8] отражают состояние сигналов на выводах порта после сброса, это поле доступно только по чтению.

Сигналы на выводах (Input)биты GPxDAT[7:0], доступны только по чтению и отражают логические уровни на внешних выводах, ассоциированных с портом; эти сигналы зависят от следующих факторов: от режима порта, от наличия/активации внутренних pull-upрезисторов, от состояния внешних цепей, подключённых к выводам.Следует принимать во внимание, что состояния, возвращаемые при чтении поля GPxDAT[07:00] возвращают состояние на внешнем выводе и в случае, когда вывод сконфигурирован не для параллельного ввода-вывода, а используется другой внутрикристальной подсистемой.??? проверить

3) GPxSET: запись в этот регистр константы, содержащей единицы в отдельных позициях поля [23:16] приводит к установке в 1 соответствующих битов внутреннего регистра порта, оставляя прочие биты внутреннего регистра неизменными. Т.е.это эквивалентно операции логического ИЛИ записываемой константы на содержимое внутреннего регистра с последующей записью результата назад во внутренний регистр.

4) GPxCLR: запись в этот регистр константы, содержащей единицы в отдельных позициях поля [23:16] приводит к сбросу в 0 соответствующих битов внутреннего регистра порта, оставляя прочие биты внутреннего регистра неизменными.

Подтягивающие резисторы для выводов P0.0, P0.(4:7) а также для всех выводов P1 можно отключить программно, для этого служат два периферийных регистраGP0PARи GP1PAR.Запись единиц в битыGP0PAR[0], GP0PAR[4], GP0PAR[8],... GP0PAR[28] отключает pull-upрезисторы соответственно в 0, 1,...7 выводах порта.

(см. ??? в описании Rev.0 еще и GP3PAR). Изменение содержимого регистров GPxDAT следует выполнять только после изменений в GPxPAR. (а что будет, если изменить PAR, а DATне подтверждать???)

Нагрузочная способность выводов параллельных портовсоставляет 1.6 мА,при этом указанное значение тока допустимо одновременно не более чем для 20 выводов.(???непонятно, что остальные, обычно приводят суммарный ток всех выводов???)

Следует учитывать, что во время процедуры начального сброса состояние вывода P0.6 отличается от состояния по

Note that the kernel changes P0.6 from its default configuration at reset (MRST) to GPIO mode. If MRST is used for external circuitry, an external pull-up resistor should be used to ensurethat the level on P0.6 does not drop when the kernel switches mode. Otherwise, P0.6 goes low for the reset period. For example, if MRST is required for power down, it can be reconfigured in GP0CON MMR.

В ТО в табл.стр.61 и в табл.стр.37 для GP0CON дано значение после RESET 0x00000000, что не соответствует предыдущему абзацу. Симулятор показывает после RESET состояние GP0CON=0x01001000 – вывод P0.3-TRST, P0.6-MRST. Как на реальном устройстве, еще не смотрел.)

Когда микроконтроллер ADuC7019-29 входит в энергосберегающий режим (power-saving), то выводы портов сохраняют своё состояние.

В таблице приведены альтернативные функции выводов параллельных портов, указаны для некоторых контактов особые функции, они описаны далее(проверить!!!), указано, какие выводы каких портов присутствуют в различных моделях МК,

Таблица

Порт

Конт

Код конфигурации

Особые функции

7019, 7020

7021

7022

7024, 7025

7026, 7027

7028

00

01

10

11

0

P0.0

GPIO

CMP

MS0

PLAI[7]

Boot Mode1)

10

10

09

15

20

G1

P0.1

GPIO

PWM2H

BLE

16

P0.2

GPIO

PWM2L

BHE

24

P0.3

GPIO

TRST

A16

ADCBUSY

18

18

17

27

34

G5

P0.4

GPIO/IRQ0

PWMTRIP

MS1

PLAO[1]

IRQ02)

20

20

19

31

40

H7

P0.5

GPIO/IRQ1

ADCBUSY

MS2

PLAO[2]

IRQ12)

21

21

20

32

41

H8

P0.6

GPIO/T1

MRST

PLAO[3]

Вход T13)

11

11

10

16

21

H1

P0.7

GPIO

ECLK/XCLK1

SIN

PLAO[4]

Int/ExtClck4)

23

23

22

34

43

F7

1

P1.0

GPIO/T1

SIN

SCL0

PLAI[0]

Вход T13)

33

33

32

50

62

B6

P1.1

GPIO

SOUT

SDA0

PLAI[1]

32

32

31

49

61

A7

P1.2

GPIO

RTS

SCL1

PLAI[2]

31

31

30

48

60

A8

P1.3

GPIO

CTS

SDA1

PLAI[3]

30

30

29

47

59

B8

P1.4

GPIO/IRQ2

RI

CLK

PLAI[4]

IRQ22)

29

29

28

46

58

B7

P1.5

GPIO/IRQ3

DCD

MISO

PLAI[5]

IRQ32)

28

28

27

45

57

E6

P1.6

GPIO

DSR

MOSI

PLAI[6]

27

27

26

40

52

D7

P1.7

GPIO

DTR

CSL

PLAO[0]

26

26

25

39

51

D6

2

P2.0

GPIO

#CONVSTART

SOUT

PLAO[5]

Пуск АЦП5)

22

22

21

33

42

G8

P2.1

GPIO

PWM0H

#WS

PLAO[6]

49

P2.2

GPIO

PWM0L

#RS

PLAO[7]

50

P2.3

GPIO

AE

17

P2.4

GPIO

PWM0H

MS0

33

P2.5

GPIO

PWM0L

MS1

35

P2.6

GPIO

PWM1H

MS2

36

P2.7

GPIO

PWM1L

MS3

48

3

P3.0

GPIO

PWM0H

AD0

PLAI[8]

23

29

E4

P3.1

GPIO

PWM0L

AD1

PLAI[9]

24

30

F4

P3.2

GPIO

PWM1H

AD2

PLAI[10]

25

31

E5

P3.3

GPIO

PWM1L

AD3

PLAI[11]

26

32

F5

P3.4

GPIO

PWM2H

AD4

PLAI[12]

29

38

G6

P3.5

GPIO

PWM2L

AD5

PLAI[13]

30

39

G7

P3.6

GPIO

PWMTRIP

AD6

PLAI[14]

37

46

D5

P3.7

GPIO

PWMSINC

AD7

PLAI[15]

38

47

E7

4

P4.0

GPIO

AD8

PLAO[8]

43

55

C6

P4.1

GPIO

AD9

PLAO[9]

44

56

C7

P4.2

GPIO

AD10

PLAO[10]

34

51

63

A6

P4.3

GPIO

AD11

PLAO[11]

52

64

C5

P4.4

GPIO

AD12

PLAO[12]

53

65

D4

P4.5

GPIO

AD13

PLAO[13]

54

66

C4

P4.6

GPIO

AD14

PLAO[14]

13

18

F1

P4.7

GPIO

AD15

PLAO[15]

14

19

G2

Всего выводов параллельных портов:

16

15

15

31

40

31

1) Если при включении питания или при действии внешнего сигнала Reset на выводе P0.0 присутствует сигнал низкого уровня (логического нуля), то микросхема входит в режим загрузки программы через асинхронный последовательный интерфейс. Если же во время действия сигнала Reset на выводе P0.0 присутствует логическая 1, то начинается выполнение программы из внутрикристальнойFlash-памяти. Для задания уровня лог.1 производитель рекомендует использовать подтягивающий резистор величиной 1 кОм.

2)Входы запроса прерывания P0.4, P0.5, P1.4, P1.5 активны, если для этих выводов задан режим параллельного ввода-вывода. Следует учитывать, что активный уровень сигнала запроса прерывания – высокий, на выводе, сконфигурированном как вход, может возникнуть из-за наличия внутренних pull‑up резисторов, а также из-за того, что вывод сконфигурирован как выход, и в разряде внутреннего регистра записана 1.

3)Входы P0.6 или P1.0 могут быть использованы как источник счетных импульсов для Таймера1 только если вывод сконфигурирован ??? для параллельного ввода-вывода (???).

4)Вывод P0.7 может быть использован при коде конфигурации 01 либо для вывода внутренней тактовой частоты на внешние цифровые элементы, либо для подачи внешней тактовой частоты для тактирования ядра. Для переключения вывода в эти режимы следует использовать указания, данные на стр.???

5)Вывод P2.0 используется как вход запуска АЦП внешним логическим сигналом. В версиях кристаллов с идентификаторами I31 или I51 (третья строка маркировки микросхемы) этот вывод активен (низким уровнем вызывает запуск АЦП) при любых настройках как регистра конфигурации порта так и режима запуска АЦП, если только не запрещена работа АЦП битом ADCCON. Это указано в документе S05883-0-8/07(D) SiliconAnomalyList, ADuC7019/ADuC702x.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]