Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч. пос. МПТ (2.04.12).pdf
Скачиваний:
403
Добавлен:
22.03.2015
Размер:
10.95 Mб
Скачать

Рисунок 1.8.1 – Настройка модуля ускорения памяти (MAM)

спомощью инструмента Configuration Wizard

Втехническом описании производителя утверждается, что длительность цикла обращения к памяти не должна быть меньше 50 нс. Соответственно при тактовых частотах до 20 МГц для обращения к памяти программ рекомендуется выделять 1 такт; при тактовой частоте 20–40 МГц — 2 такта; 40–60 МГц — 3 такта. Однако авторы считают, что в большинстве случаев следует выделять один такт при тактовых частотах до 40 МГц и два такта при тактовых частотах 40 МГц и выше.

Можно рекомендовать подбирать настройку модуля MAM, опираясь на экспериментально измеренное время выполнения фрагмента программы. Для этого в начале и конце фрагмента следует включить отладочные команды, формирующие логический сигнал на одном из свободных выводов МК. Для измерений необходим цифровой осциллограф.

Взаключение отметим, что возможно выполнение фрагмента программы абсолютно без потерь производительности, если его разместить в оперативной памяти (см. раздел 2.3.8).

1.9 Внешние выводы микроконтроллера

1.9.1 Служебные контакты

Микроконтроллер LPC2148 выпускается в корпусе LQFP размером 10×10 мм с 64 контактами (шаг 0,5 мм). Контакты микроконтроллера можно разделить на две группы: служебного назначения, например, для подключения источника питания, и программно-управляемые линии ввода-вывода, предназначенные для обмена цифровыми и аналоговыми сигналами с внешней средой. Краткое описание служебных контактов микроконтроллера LPC214x приведено в таблице 1.9.1.

1.9.2 Программно-управляемые линии ввода-вывода

Контакты, не включенные в таблицу 1.9.1, предназначены для ввода и вывода цифровых и аналоговых сигналов. Каждый из них может работать в режиме двунаправленного цифрового входа-выхода. В связи с этим контакты сгруппированы в два 32-разрядных параллельных порта, называемых

30

«порт 0» и «порт 1». В них не все разряды реализованы физически. Принято порты обозначать «P0» и «P1», а номера линий порта указывать через точку, например «P0.14» или «P1.23». Цифровые сигналы могут формироваться или считываться с портов под управлением программы (раздел 1.10). Основные электрические характеристики портовых линий приведены в таблице 1.9.2.

Таблица 1.9.1 – Назначение служебных контактов МК LPC2148

Обознач.

Контакт

Назначение

Vdd

23, 43, 51

Питание цифровой части (3,0–3,6 В)

Vdda

7

Питание аналоговой части (3,0–3,6 В)

Vss

6, 18, 25, 42, 50

Общая точка цифровой части

Vssa

59

Общая точка аналоговой части

 

 

Вход сброса. Низкий лог. уровень переводит

 

57

микроконтроллер в режим сброса. В рабочем

 

 

режиме должен быть подан высокий уровень

XTAL1

62

Контакты для подключения основного кварцево-

го резонатора. На контакт XTAL1 может быть

 

 

XTAL2

61

подан внешний тактовый сигнал

 

 

RTCX1

3

Контакты для подключения кварцевого резона-

RTCX2

5

тора для тактирования часов реального времени

D+

10

Двунаправленная линия передачи данных ин-

D–

11

терфейса USB

Vref

63

Опорное напряжение АЦП и ЦАП (2,5–3,6 В)

Vbat

49

Питание часов реального времени (2,0–3,6 В)

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

Таблица 1.9.2 – Электрические параметры цифровых портовых линий

Параметр

Значение

Предельно допустимое напряжение в режиме входа, В

 

Выходной уровень логической единицы, В, не менее

 

Выходной уровень логического нуля, В, не более

0,4

Входной уровень логической единицы, В, не менее

2,0

Входной уровень логического нуля, В, не более

0,8

Ток в режиме входа, мкА, не более

3

Предельный выходной ток, мА

50

Предельный ток через каждый контакт Vdd и Vss, мА

100

1.9.3 Альтернативные функции линий ввода вывода

Портовые линии совмещают основную функцию (цифровой вводвывод) с несколькими альтернативными функциями. Они служат входами или выходами многочисленных периферийных устройств, встроенных в микроконтроллер, таких как счетчики, АЦП и ЦАП.

31

32

PINSEL1 – настройка входов внешних прерыыаний

31 P0.30 27 24 23 20 19 16 15 12 11 P0.20 7 4 3 P0.16

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

 

 

 

 

 

0

1

 

 

EINT3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EINT3

 

 

 

 

 

 

EINT0

PINSEL0 – настройка входов внешних прерыыаний

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P0.15

P0.14

27

 

 

24

23

 

 

20

P0.9

 

16

P0.7

 

12

11

 

 

8

P0.3

 

4

P0.1

 

0

1

0

1

0

 

 

 

 

 

 

 

 

1

1

 

 

1

1

 

 

 

 

 

 

1

1

 

 

1

1

 

 

EINT2

EINT1

 

 

 

 

 

 

 

 

EINT2

 

 

EINT2

 

 

 

 

 

 

EINT1

 

 

EINT0

 

 

PINSEL1 – настройка входов таймеров-счетчиков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

P0.30

P0.29

P0.28

23

 

 

20

19

 

 

16

15

 

P0.22

P0.21

P0.20

P0.19

P0.18

P0.17

P0.16

 

 

1

1

1

0

1

0

 

 

 

 

 

 

 

 

 

 

1

0

1

1

0

1

0

1

0

1

0

1

1

0

 

 

1

1

1

1

 

 

 

 

 

 

 

 

 

 

1

1

1

1

1

1

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CAP0.0

CAP0.3

CAP0.2

 

 

 

 

 

 

 

 

 

 

CAP0.0

CAP1.3

MAT1.3

MAT1.2

CAP1.3

CAP1.2

MAT0.2

 

 

 

 

MAT0.3

MAT0.2

 

 

 

 

 

 

 

 

 

 

MAT0.0

 

 

 

 

CAP1.2

MAT1.3

MAT1.2

CAP0.2

PINSEL0 – настройка входов таймеров-счетчиков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

28

P0.13

P0.12

P0.11

P0.10

19

 

 

16

15

 

P0.6

P0.5

P0.4

P0.3

P0.2

3

 

 

0

 

 

 

 

1

0

1

0

1

0

1

0

 

 

 

 

 

 

1

0

1

0

1

0

1

0

1

0

 

 

 

 

 

 

 

 

MAT1.1

MAT1.0

CAP1.1

CAP1.0

 

 

 

 

 

 

CAP0.2

MAT0.1

CAP0.1

MAT0.0

CAP0.0

 

 

 

 

PINSEL1 – настройка выходов ШИМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

28

27

 

 

24

23

 

 

20

19

 

 

16

15

 

 

12

P0.21

 

8

7

 

 

4

3

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PWM5

 

 

 

 

 

 

 

 

 

 

PINSEL0 – настройка выходов ШИМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

28

27

 

 

24

23

 

 

20

P0.9

P0.8

P0.7

 

12

11

 

 

8

7

 

 

4

P0.1

P0.0

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

0

1

0

 

 

 

 

 

 

 

 

 

 

1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

PWM6

PWM4

PWM2

 

 

 

 

 

 

 

 

 

 

PWM3

PWM1

Рисуноук1.9.1 – Схема регистров управления альтернативными функциями портов ввода-вывода

33

PINSEL1 – настройка входов АЦП

31 P0.30 P0.29 P0.28 23 20 P0.25 16 15 P0.22 P0.21 8 7 4 3 0

 

 

0

1

0

1

0

1

 

 

 

 

0

1

 

 

 

 

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

AD0.3

AD0.2

AD0.1

 

 

 

 

AD0.4

 

 

 

 

AD1.7

AD1.6

 

 

 

 

 

 

 

 

 

 

PINSEL0 – настройка входов АЦП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P0.15

 

28

P0.13

P0.12

23

 

P0.10

19

 

P0.8

15

 

P0.6

P0.5

P0.4

7

 

 

4

3

 

 

0

1

1

 

 

1

1

1

1

 

 

1

1

 

 

1

1

 

 

1

1

1

1

1

1

 

 

 

 

 

 

 

 

AD1.5

 

 

AD1.4

AD1.3

 

 

AD1.2

 

 

AD1.1

 

 

AD1.0

AD0.7

AD0.6

 

 

 

 

 

 

 

 

PINSEL1 – настройка линий SPI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

28

27

 

 

24

23

 

 

20

19

 

 

16

15

 

 

12

11

 

P0.20

P0.19

P0.18

P0.17

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

0

1

0

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SSEL1

MOSI1

MISO1

SCK1

 

 

PINSEL0 – настройка линий SPI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

 

28

27

 

 

24

23

 

 

20

19

 

 

16

P0.7

P0.6

P0.5

P0.4

7

 

 

4

3

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SSEL0

MOSI0

MISO0

SCK0

 

 

 

 

 

 

 

 

PINSEL0 – настройка линий UART

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P0.15

P0.14

P0.13

P0.12

P0.11

P0.10

P0.9

P0.8

15

 

 

12

11

 

 

8

7

 

 

4

P0.1

P0.0

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

 

RI

DCD

DTR

DSR

CTS

RTS

RxD1

TxD1

 

 

 

 

 

 

 

 

 

 

 

 

RxD0

TxD0

PINSEL0 – настройка линий I2С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

 

P0.11

27

 

 

24

P0.11

 

20

19

 

 

16

15

 

 

12

11

 

 

8

P0.3

P0.2

3

 

 

0

 

 

1

1

 

 

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

1

 

 

 

 

 

 

SDA1

 

 

 

 

SCL1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SDA0

SCL0

 

 

 

 

Рисунок 1.9.2 – Схема регистров управления альтернативными функциями портов ввода-вывода

Выбор основной или альтернативной функции линий порта 0 осуществляется путем записи управляющего кода в регистры PINSEL0 и PINSEL1. Имеется также регистр PINSEL2, предназначенный для переключения линий порта 1 в отладочный режим, который здесь не рассматривается.

Управляющие коды и соответствующие им альтернативные функции портовых линий приведены в таблицах 1.9.3, 1.9.4. На рисунках 1.9.1 и 1.9.2 показаны схемы регистров PINSEL0 и PINSEL1, сгруппированы по периферийным устройствам.

Прежде чем использовать какое-либо встроенное периферийное устройство, требующее взаимодействия с внешней средой, необходимо с помощью таблиц 1.9.3, 1.9.4 или рисунков 1.9.1, 1.9.2 определить, какие контакты МК могут использоваться для обмена сигналами с данным устройством и внедрить в программу команды перевода выбранных линий в альтернативный режим.

Таблица 1.9.3 – Управление функциями внешних выводов через PINSEL0

Биты

Конт.

Код

Функция

Описание

0–1

19

00

Port 0.0

 

 

 

01

TxD0 (UART0)

Выход передатчика UART0

 

 

10

PWM1

Выход 1 ШИМ

 

 

11

 

2–3

21

00

Port 0.1

 

 

 

01

RxD0 (UART0)

Вход приемника UART0

 

 

10

PWM3

Выход 3 ШИМ

 

 

11

EINT0

Вход 0 внешнего прерывания

4–5

22

00

Port 0.2

 

 

 

01

SCL0 (I2C0)

Тактовый сигнал I2C0

 

 

10

CAP0.0 (Timer 0)

Вход 0 устр. захвата таймера 0

 

 

11

 

6–7

26

00

Port 0.3

 

 

 

01

SDA0 (I2C0)

Линия передачи данных I2C0

 

 

10

MAT0.0 (Timer 0)

Выход 0 устр. сравнения таймера 0

 

 

11

EINT1

Вход 1 внешнего прерывания

8–9

27

00

Port 0.4

 

 

 

01

SCK0 (SPI0)

Тактовый сигнал SPI0

 

 

10

CAP0.1 (Timer 0)

Выход 1 устр. сравнения таймера 0

 

 

11

AD0.6

Вход 6 АЦП 0

10–11

29

00

Port 0.5

 

 

 

01

MISO0 (SPI0)

Вход ведущего, выход ведомого SPI0

 

 

10

MAT0.1 (Timer 0)

Выход 1 устр. сравнения таймера 0

 

 

11

AD0.7

Вход 7 АЦП 0

34

Таблица 1.9.3 – Продолжение

Биты

Конт.

Код

Функция

Описание

12–13

30

00

Port 0.6

 

 

 

01

MOSI0 (SPI0)

Выход ведущего, вход ведомого SPI0

 

 

10

CAP0.2 (Timer 0)

Выход 2 устр. сравнения таймера 0

 

 

11

AD1.0

Вход 0 АЦП 1

14–15

31

00

Port 0.7

 

 

 

01

SSEL0 (SPI0)

Выбор режима ведущий/ведомый SPI0

 

 

10

PWM2

Выход 2 ШИМ

 

 

11

EINT2

Вход 2 внешнего прерывания

16–17

33

00

Port 0.8

 

 

 

01

TxD1 (UART1)

Выход передатчика UART1

 

 

10

PWM4

Выход 4 ШИМ

 

 

11

AD1.1

Вход 1 АЦП 1

18–19

34

00

Port 0.9

 

 

 

01

RxD1 (UART1)

Вход приемника UART1

 

 

10

PWM6

Выход 6 ШИМ

 

 

11

EINT3

Вход 3 внешнего прерывания

20–21

35

00

Port 0.10

 

 

 

01

RTS (UART1)

Выход запроса передачу (UART1)

 

 

10

CAP1.0 (Timer 1)

Вход 0 устр. сравнения таймера 1

 

 

11

AD1.2

Вход 2 АЦП 1

22–23

37

00

Port 0.11

 

 

 

01

CTS (UART1)

Вход готовности к передаче UART1

 

 

10

CAP1.1 (Timer 1)

Выход 1 устр. сравнения таймера 1

 

 

11

SCL1 (I2C1)

Тактовый сигнал I2C1

24–25

38

00

Port 0.12

 

 

 

01

DSR (UART1)

Вход готовности к обмену UART1

 

 

10

MAT1.0 (Timer 1)

Выход 0 устр. сравнения таймера 1

 

 

11

AD1.3

Вход 3 АЦП 1

26–27

39

00

Port 0.13

 

 

 

01

DTR (UART1)

Выход готовности к обмену UART1

 

 

10

MAT1.1 (Timer 1)

Выход 1 устр. сравнения таймера 1

 

 

11

AD1.4

Вход 4 АЦП 1

28–29

41

00

Port 0.14

 

 

 

01

DCD (UART1)

Вход «связь установлена» UART1

 

 

10

EINT1

Вход 1 внешнего прерывания

 

 

11

SDA1 (I2C1)

Линия данных (I2C1)

30–31

45

00

Port 0.15

 

 

 

01

RI (UART1)

Вход входящего вызова UART1

 

 

10

EINT2

Вход 2 внешнего прерывания

 

 

11

AD1.5

Вход 5 АЦП 1

35

Таблица 1.9.4 – Управление функциями внешних выводов через PINSEL1

Биты

Конт.

Код

Функция

Описание

0–1

46

00

Port 0.16

 

 

 

01

EINT0

Вход 0 внешнего прерывания

 

 

10

MAT0.2 (Timer 0)

Выход 2 устр. совпадения таймера 0

 

 

11

CAP0.2 (Timer 0)

Вход 2 устр. захвата таймера 0

2–3

47

00

Port 0.17

 

 

 

01

CAP1.2 (Timer 1)

Вход 2 устр. захвата таймера 1

 

 

10

SCK1 (SSP)

Тактовый синел интерфейса SSP

 

 

11

MAT1.2 (Timer 1)

Выход 2 устр. совпадения таймера 1

4–5

53

00

Port 0.18

 

 

 

01

CAP1.3 (Timer 1)

Вход 3 устр. захвата таймера 1

 

 

10

MISO1 (SSP)

Вход ведущего, выход ведомого SSP

 

 

11

MAT1.3

Выход 2 устр. совпадения таймера 3

6–7

54

00

Port 0.19

 

 

 

01

MAT1.2

Выход 2 устр. совпадения таймера 1

 

 

10

MOSI1 (SSP)

Выход ведущего, вход ведомого SSP

 

 

11

CAP1.2 (Timer 1)

Вход 2 устр. захвата таймера 1

8–9

55

00

Port 0.20

 

 

 

01

MAT1.3 (Timer 1)

Выход 2 устр. совпадения таймера 3

 

 

10

SSEL1 (SSP)

Выбор режима ведущий/ведомый SSP

 

 

11

EINT3

Вход 3 внешнего прерывания

10–11

1

00

Port 0.21

 

 

 

01

PWM5

Выход 5 ШИМ0

 

 

10

AD1.6

Вход 6 АЦП 1

 

 

11

CAP1.3 (Timer 1)

Вход 3 устр. захвата таймера 1

12–13

2

00

Port 0.22

 

 

 

01

AD1.7

Вход 7 АЦП 1

 

 

10

CAP0.0 (Timer 0)

Вход 0 устр. захвата таймера 0

 

 

11

MAT0.0 (Timer 0)

Выход 0 устр. совпадения таймера 0

14–15

58

00

Port 0.23

 

 

 

01

Vbus

Вход обнаружения питания USB

 

 

10,11

 

16–17

 

18–19

9

00

Port 0.25

 

 

 

01

AD0.4

Вход 4 АЦП 0

 

 

10

Aout (DAC)

Выход ЦАП

 

 

11

 

20–23

 

24–25

13

00

Port 0.28

 

 

 

01

AD0.1

Вход 1 АЦП 0

 

 

10

CAP0.2 (Timer 0)

Вход 2 устр. захвата таймера 0

 

 

11

MAT0.2 (Timer 0)

Выход 2 устр. совпадения таймера 0

36