Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

32-битные микроконтроллеры NXP с ядром CORTEX-M3 семейства LPC17XX

Покупка
Артикул: 634661.02.99
К покупке доступен более свежий выпуск Перейти
В книге содержится подробная справочная информация по МК семейства LPCijxx, рекомендации производителя по программированию и применению отдельных узлов МК, информация по существующим аппаратным и программным инструментальным средствам разработки-отладки-программирования приложений для LPC17XX: программным пакетам IDE IAR EWARM от фирмы IAR, IDE MDK от фирмы Keil Software, а также отладочным платам и аппаратным отладчикам-программаторам от IAR и Keil, приведены описания примеров приложений для МК LPCijxx. Все эти приложения были протестированы автором. Важной особенностью книги является то, что она не только содержит сведения справочного характера, но и охватывает все этапы проектирования приложений на основе МК LPC17XX, что позволяет в короткие сроки овладеть навыками работы с этими устройствами даже начинающим разработчикам. На сайте издательства томадмк.рф выложены бесплатные демоверсии описанного в ней инструментального программного обеспечения, исходные коды свободно распространяемых примеров проектов для LPC17XX, оригинальную справочную информацию производителя и другие информационные и справочные материалы. Книга предназначена для специалистов в области разработки электронной аппаратуры, студентов технических ВУЗов и других лиц, интересующихся электроникой. Необходимый уровень подготовки читателей предполагает знание основ цифровой и аналоговой схемотехники, а также основ программирования на языке С.
Редькин, П.П. 32-битные микроконтроллеры NXP с ядром CORTEX-M3 семейства LPC17XX : полное руководство / П.П. Редькин. - Москва : Додэка-XXI, 2015. — 766 с. — (Мировая электроника). — ISBN 978-5-97060-306-2. - Текст : электронный. - URL: https://znanium.com/catalog/product/1027495 (дата обращения: 29.03.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Редькин П. П.

32-битные микроконтроллеры NXP 
с ядром Cortex-M3 семейства LPC 17XX. 
  Полное руководство  

Интернет-магазин:
www.dmkpress.com
Книга - почтой:
orders@alians-kniga.ru
Оптовая продажа:
“Альянс-книга”
Тел.: (499)725-5409
books@alians-kniga.ru
www.дмк.рф
9 785970 603062

ISBN 978-5-97060-306-2

В 
книге 
содержится 
полная 
справочная 
информация 
по 

микроконтроллерам семейства LPC17xx, рекомендации производителя по программированию и применению отдельных узлов, 
информация по существующим аппаратным и программных инструментальным 
средствам 
разработки-отладки-программирования 
приложений для LPC17xx: программным пакетам IDE IAR EWARM 
от фирмы IAR, IDE MDK от фирмы Keil Software, а также отладочным 
платам и аппаратным отладчикам-программаторам от IAR и Keil, 
приведены описания примеров приложений для микроконтроллеров 
LPC17xx. Все эти приложения были протестированы автором.
Важной особенностью книги является то, что она не только содержит 
сведения справочного характера, но и охватывает все этапы проектирования приложений на основе микроконтроллеров LPC17xx, 
что позволяет в короткие сроки овладеть навыками работы с этими 
устройствами даже начинающим разработчикам.
Книга предназначена для специалистов в области разработки 
электронной аппаратуры, студентов технических вузов и других лиц, 
интересующихся электроникой. Необходимый уровень подготовки 
читателей предполагает знание основ цифровой и аналоговой 
схемотехники, а также основ программирования на языке С.

На сайте издательства www.дмк.рф выложены бесплатные демоверсии описанного в книге инструментального 
программного обеспечения, исходные коды свободно 
распространяемых 
примеров 
проектов 
для 
LPC17хх, 
оригинальная справочная информация производителя и 
другие информационные и справочные материалы.

СЕРИЯ

ПРОГРАММИРУЕМЫЕ СИСТЕМЫ

П. П. Редькин

32-БИТНЫЕ МИКРОКОНТРОЛЛЕРЫ

NXP С ЯДРОМ CORTEX-M3

СЕМЕЙСТВА LPC17XX

Полное руководство

Москва

2015
ДМК Пресс, ДодэкаXXI

УДК 004.31(035.3)
ББК 32.973-04я81

Р33

Редькин, П. П.

Р33
32-битные микроконтроллеры NXP с ядром CORTEX-M3 семейства LPC17XX.
Полное руководство  / П. П. Редькин ; М. : Додэка-XXI, 2015. — 766 c. :  
(Мировая электроника). — ISBN 978-5-97060-306-2.

рекомендации производителя по программированию и применению отдельных узлов МК, 
информация по существующим аппаратным и программным инструментальным средствам 

Важной особенностью книги является то, что она не только содержит сведения справочного 

что позволяет в короткие сроки овладеть навыками работы с этими устройствами даже 
начинающим разработчикам. 

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

другие информационные и справочные материалы. 

Книга предназначена для специалистов в области разработки электронной аппаратуры, 

студентов технических ВУЗов и других лиц, интересующихся электроникой. Необходимый 
уровень подготовки читателей предполагает знание основ цифровой и аналоговой схемотехники, а также основ программирования на языке C.

бесплатные демоверсии описанного в ней

Гарнитура «NewtonC». Печать офсетная.

Усл. печ. л. 71,81. 

ISBN 9785970603062 (ДМК Пресс)

© Издательский дом «ДодэкаXXI»

                               Формат 70х100/16. Бумага офсетная.

© Издание, ДМК Пресс, 2015

ISBN 9785941202591 (Додэка)

 
Главный редактор  
Мовчан Д. А.

dmkpress@gmail.com

Веб-сайт издательства: www.дмк.рф

32-битные микроконтроллеры NXP с ядром CORTEX-M3 семейства LPC17XX.

Полное руководство 

ил. —

На сайте издательства w w w .дмк.рф выложены

Редькин Павел Павлович 

Содержание  ■  III

СОДЕРЖАНИЕ

Предисловие автора ..................................................................... 1

Глава 1. Общее описание LPC17xx ............................................. 3

1.1.  Номенклатура и типовые характеристики ............................................................3
1.2.  Архитектура и программная модель процессорного ядра Cortex-M3 
микроконтроллера LPC17xx .....................................................................................8
1.3.  Встроенная флэш-память и RAM ...........................................................................9
1.4.  Карта памяти и адресация периферии ..................................................................9
1.5.  Исключение отказа шины ...................................................................................... 14

Глава 2. Процессор ARM Cortex-M3 .........................................15

2.1.  Классификация ........................................................................................................ 15
2.2.  Сравнение процессоров ARM7TDMI-S и Cortex-M3 ......................................... 17
2.3.  Особенности архитектуры Cortex-M3 .................................................................. 17
2.4.  Энергопотребление процессора Cortex-M3 .........................................................29

Глава 3. Управление системой ..................................................31

3.1.  Общее описание ....................................................................................................... 31
3.2.  Пользовательский интерфейс ............................................................................... 31
3.3.  Сброс .......................................................................................................................... 32
3.4.  Обнаружение кратковременных провалов напряжения питания .................34
3.5.  Входы внешних прерываний .................................................................................34
3.6.  Прочие функции управления системой и флаги состояния ............................38

Глава 4. Управление тактовыми сигналами и питанием ....... 40

4.1.  Общее описание .......................................................................................................40
4.2.  Генераторы ................................................................................................................40
4.3.  Пользовательский интерфейс ...............................................................................43
4.4.  Мультиплексор выбора источника тактового сигнала .....................................45
4.5.  Модуль PLL0 .............................................................................................................45
4.6.  Модуль PLL1 .............................................................................................................56
4.7.  Делители тактовой частоты ................................................................................... 62

ПРЕДИСЛОВИЕ

IV  ■  Содержание

4.8.  Управление питанием .............................................................................................66
4.9.  Таймер «пробуждения» .......................................................................................... 71
4.10.  Выход тактовой частоты ....................................................................................... 73

Глава 5. Акселератор флэш-памяти .........................................75

5.1.  Общее описание ....................................................................................................... 75
5.2.  Аппаратное построение флэш-акселератора ......................................................77
5.3.  Конфигурирование флэш-акселератора ..............................................................77

Глава 6. Контроллер векторных вложенных прерываний 
(NVIC) ..........................................................................79

6.1.  Общее описание .......................................................................................................79
6.2.  Источники прерываний .........................................................................................79
6.3.  Переотображение таблицы векторов прерываний ...........................................82
6.4.  Пользовательский интерфейс ...............................................................................82

Глава 7. Типы корпусов и конфигурация выводов ................ 92

7.1.  Типы корпусов ..........................................................................................................92
7.2.  Конфигурация выводов .........................................................................................92

Глава 8. Блок коммутации выводов .......................................107

8.1.  Общее описание ..................................................................................................... 107
8.2.  Регистр выбора функции вывода ....................................................................... 107
8.3.  Регистр выбора режима работы вывода ............................................................ 108
8.4.  Пользовательский интерфейс ............................................................................. 109

Глава 9. Блок ввода/вывода общего назначения (GPIO) .......126

9.1.  Общее описание ..................................................................................................... 126
9.2.  Прерывания от цифровых портов ввода/вывода ............................................ 127
9.3.  Пользовательский интерфейс ............................................................................. 127
9.4.  Примеры использования GPIO ........................................................................... 146
9.5.  Особенности записи данных в порты GPIO ...................................................... 147
9.6.  Базовая конфигурация ......................................................................................... 147

Глава 10. Модуль Ethernet MAC ................................................148

10.1.  Общее описание ................................................................................................... 148
10.2.  Основные особенности модуля Ethernet .......................................................... 150
10.3.  Архитектура и операции модуля Ethernet ....................................................... 151
10.4.  Функции механизма DMA .................................................................................. 152
10.5.  Краткий обзор операций DMA .......................................................................... 152
10.6.  Пакет Ethernet ....................................................................................................... 153
10.7.  Особенности работы ............................................................................................ 154

Содержание  ■  V

10.8.  Описание выводов ............................................................................................... 155
10.9.  Пользовательский интерфейс ............................................................................ 155
10.10.  Форматы дескриптора и элемента состояния ................................................ 182
10.11.  Функциональное описание модуля Ethernet ................................................. 188
10.12.  Прерывания от модуля Ethernet ...................................................................... 189
10.13.  Пропускная способность шины AHB ............................................................. 217
10.14.  Методика вычисления CRC .............................................................................. 219
10.15.  Базовая конфигурация .....................................................................................220

Глава 11. Контроллер USB-устройства .....................................221

11.1.  Общее описание .................................................................................................... 221
11.2.  Основные особенности контроллера USB-устройства...................................222
11.3.  Конфигурация фиксированных конечных точек ..........................................223
11.4.  Архитектура и состав контроллера USB-устройства ......................................224
11.5.  Краткий обзор операций ....................................................................................225
11.6.  Описание выводов ...............................................................................................226
11.7.  Управление синхронизацией и питанием ........................................................226
11.8.  Пользовательский интерфейс............................................................................228
11.9.  Обработка прерываний ...................................................................................... 253
11.10.  Описание команд механизма последовательного интерфейса (SIE) .......... 255
11.11.  Инициализация контроллера USB-устройства .............................................267
11.12.  Операции режима Slave .....................................................................................268
11.13.  Операции DMA ...................................................................................................269
11.14.  Операции конечных точек с двойной буферизацией .................................. 279
11.15.  Базовая конфигурация ..................................................................................... 281

Глава 12. Контроллер USB-хоста ..............................................282

12.1.  Общее описание ...................................................................................................282
12.2.  Архитектура .........................................................................................................282
12.3.  Описание выводов ...............................................................................................283
12.4.  Пользовательский интерфейс ...........................................................................283
12.5.  Базовая конфигурация .......................................................................................286

Глава 13. Контроллер USB-OTG ................................................287

13.1.  Общее описание ...................................................................................................287
13.2.  Архитектура ..........................................................................................................287
13.3.  Режимы работы ....................................................................................................288
13.4.  Описание выводов ...............................................................................................289
13.5.  Пользовательский интерфейс ...........................................................................290
13.6.  Обработка прерываний ...................................................................................... 301
13.7.  Поддержка HNP .................................................................................................... 301
13.8.  Управление питанием и синхронизацией .......................................................309
13.9.  Инициализация контроллера USB-OTG ...........................................................311
13.10.  Базовая конфигурация ..................................................................................... 312

VI  ■  Содержание

Глава 14. Модули UART0/2/3 .....................................................313

14.1.  Общее описание ................................................................................................... 313
14.2.  Описание выводов ............................................................................................... 313
14.3.  Пользовательский интерфейс ........................................................................... 313
14.4.  Архитектура UART0/2/3 ...................................................................................... 334
14.5.  Базовая конфигурация ....................................................................................... 336

Глава 15. Модуль UART1 ...........................................................337

15.1.  Общее описание ................................................................................................... 337
15.2.  Описание выводов ............................................................................................... 337
15.3.  Пользовательский интерфейс ........................................................................... 337
15.4.  Архитектура UART1 ............................................................................................ 338

Глава 16. Контроллеры CAN1/2 ................................................340

16.1.  Общее описание ...................................................................................................340
16.2.  Описание выводов ...............................................................................................342
16.3.  Архитектура ..........................................................................................................342
16.4.  Самотестирование CAN-контроллера ..............................................................345
16.5.  Карта памяти модуля CAN .................................................................................346
16.6.  Пользовательский интерфейс ...........................................................................346
16.7.  Операции CAN-контроллера .............................................................................. 374
16.8.  Центральные регистры CAN ............................................................................. 376
16.9.  Глобальный приемный фильтр ......................................................................... 378
16.10.  Примеры таблиц приемного фильтра и значений индексов ID ................. 395
16.11.  Программирование Lookup-таблицы ID ........................................................399
16.12.  Базовая конфигурация .....................................................................................400

Глава 17. Модуль SPI .................................................................401

17.1.  Общее описание .................................................................................................... 401
17.2.  Описание выводов ............................................................................................... 401
17.3.  Архитектура ..........................................................................................................402
17.4.  Передача данных через SPI .................................................................................403
17.5.  Операции ведущего .............................................................................................405
17.6.  Операции ведомого..............................................................................................406
17.7.  Исключения, связанные с SPI .............................................................................406
17.8.  Пользовательский интерфейс ............................................................................407
17.9.  Базовая конфигурация .......................................................................................408

Глава 18. Интерфейсы SSP0/1 ...................................................409

18.1.  Общее описание ...................................................................................................409
18.2.  Описание выводов ...............................................................................................409
18.3.  Пользовательский интерфейс ........................................................................... 410
18.4.  Базовая конфигурация ....................................................................................... 411

Содержание  ■  VII

Глава 19. Интерфейсы I²C0/1/2 .................................................412

19.1.  Общее описание .................................................................................................... 412
19.2.  Описание выводов ............................................................................................... 413
19.3.  Архитектура и функционирование .................................................................. 414
19.4.  Пользовательский интерфейс............................................................................ 417
19.5.  Базовая конфигурация .......................................................................................420

Глава 20. Интерфейс I²S ............................................................421

20.1.  Общее описание ................................................................................................... 421
20.2.  Особенности функционирования .................................................................... 421
20.3.  Описание сигналов ..............................................................................................423
20.4.  Пользовательский интерфейс ...........................................................................423
20.5.  Приемный и передающий интерфейсы I²S ..................................................... 433
20.6.  Операционные режимы I²S ...............................................................................434
20.7.  Контроллер FIFO-буферов .................................................................................439
20.8.  Базовая конфигурация.......................................................................................439

Глава 21. Универсальные таймеры/счетчики 0/1/2/3 ..............441

21.1.  Общее описание ....................................................................................................441
21.2.  Описание сигналов ..............................................................................................442
21.3.  Пользовательский интерфейс............................................................................442
21.4.  Примеры операций таймера/счетчика .............................................................450
21.5.  Операции DMA .................................................................................................... 451
21.6.  Архитектура .......................................................................................................... 451
21.7.  Базовая конфигурация ....................................................................................... 451

Глава 22. Таймер периодических прерываний (RIT) ..............453

22.1.  Общее описание ................................................................................................... 453
22.2.  Пользовательский интерфейс ........................................................................... 453
22.3.  Архитектура и операции RIT ............................................................................455

Глава 23. Системный таймер SysTick ........................................457

23.1.  Общее описание ................................................................................................... 457
23.2.  Архитектура и операции SysTick ....................................................................... 457
23.3.  Пользовательский интерфейс ...........................................................................458
23.4.  Конфигурирование SysTick ................................................................................460
23.5.  Базовая конфигурация ....................................................................................... 461

Глава 24. Широтно-импульсный модулятор (PWM) ..............462

24.1.  Общее описание ...................................................................................................462
24.2.  Архитектура и операции ....................................................................................463
24.3.  Описание сигналов ..............................................................................................466

VIII  ■  Содержание

24.4.  Пользовательский интерфейс ...........................................................................466
24.5.  Базовая конфигурация....................................................................................... 476

Глава 25. Модуль ШИМ для управления двигателями 
(MCPWM) ...................................................................477

25.1.  Общее описание ................................................................................................... 477
25.2.  Архитектура ......................................................................................................... 477
25.3.  Описание сигналов .............................................................................................. 479
25.4.  Пользовательский интерфейс ........................................................................... 479
25.5.  Операции MCPWM ..............................................................................................493
25.6.  Базовая конфигурация .......................................................................................499

Глава 26. Интерфейс квадратурного энкодера (QEI) ..............500

26.1.  Общее описание ...................................................................................................500
26.2.  Описание сигналов..............................................................................................502
26.3.  Захват значения положения ..............................................................................503
26.4.  Захват значения скорости вращения ...............................................................504
26.5.  Сравнение значения скорости вращения ........................................................505
26.6.  Пользовательский интерфейс ...........................................................................505
26.7.  Базовая конфигурация ....................................................................................... 510

Глава 27. Часы реального времени (RTC) с резервными 
регистрами .................................................................511

27.1.  Общее описание .................................................................................................... 511
27.2.  Описание сигналов .............................................................................................. 512
27.3.  Пользовательский интерфейс ............................................................................ 514
27.4.  Прерывания от RTC ............................................................................................ 514
27.5.  Группа регистров различного назначения ...................................................... 514
27.6.  Регистры консолидированного времени ......................................................... 518
27.7.  Регистры счетчиков времени ............................................................................. 520
27.8.  Определение високосного года .......................................................................... 521
27.9.  Калибровка модуля RTC ..................................................................................... 521
27.10.  Регистры общего назначения ........................................................................... 522
27.11.  Группа сигнальных регистров ......................................................................... 522
27.12.  Замечания по использованию модуля RTC ................................................... 523
27.13.  Базовая конфигурация ..................................................................................... 523

Глава 28. Сторожевой таймер (WDT) .......................................524

28.1.  Общее описание ...................................................................................................524
28.2.  Пользовательский интерфейс ........................................................................... 526

Содержание  ■  IX

Глава 29. Аналого-цифровой преобразователь (ADC) ............530

29.1.  Общее описание ................................................................................................... 530
29.2.  Описание сигналов .............................................................................................. 531
29.3.  Пользовательский интерфейс ........................................................................... 532
29.4.  Операции модуля ADC ....................................................................................... 539
29.5.  Базовая конфигурация .......................................................................................540

Глава 30. Цифро-аналоговый преобразователь (DAC) ...........541

30.1.  Общее описание ................................................................................................... 541
30.2.  Описание сигналов .............................................................................................. 541
30.3.  Пользовательский интерфейс ........................................................................... 541
30.4.  Операции DAC .....................................................................................................543
30.5.  Базовая конфигурация .......................................................................................544

Глава 31. Контроллер DMA общего назначения (GPDMA) .....545

31.1.  Общее описание ....................................................................................................545
31.2.  Архитектура и функционирование ..................................................................546
31.3.  Пользовательский интерфейс ............................................................................550
31.4.  Функционирование контроллера DMA ...........................................................564
31.5.  Базовая конфигурация ....................................................................................... 570

Глава 32. Инструментальные средства разработки от компании 
Keil ..............................................................................572

32.1.  Аппаратные инструментальные средства ....................................................... 572
32.2.  Программные инструментальные средства .................................................... 577

Глава 33. Примеры пользовательских проектов от Keil  ........625

33.1.  Пример использования SysTick, ADC, UART — проект Blinky ..................... 625
33.2.  Пример использования LCD — проект LCD_Blinky ......................................630
33.3.  Проект RTX_Blinky.............................................................................................. 631
33.4.  Пример использования внешнего прерывания INT — проект Exti ............ 632
33.5.  Пример использования ADC, CAN — проект CAN ........................................ 632
33.6.  Пример использования Ethernet MAC — проект EasyWEB ..........................634
33.7.  Пример использования USB HID-устройства — проект USBHID ................ 635
33.8.  Пример использования USB-устройства памяти — проект USBMem ......... 637

Глава 34. Инструментальные средства разработки от компании 
IAR..............................................................................639

34.1.  Аппаратные инструментальные средства ....................................................... 639
34.2.  Программные инструментальные средства ....................................................643

X  ■  Содержание

Глава 35. Инструментальные средства разработки от компании 
NXP ............................................................................689

35.1.  Общее описание ...................................................................................................689
35.2.  Аппаратные инструментальные средства .......................................................690
35.3.  Программные инструментальные средства .................................................... 691

Приложение 1. Предельно допустимые параметры МК .........741

Приложение 2. Статические характеристики МК ..................743

Приложение 3. Статические характеристики МК ..................747

Приложение 4. Характеристики энергопотребления 
встроенной периферии МК  ...........................751

Приложение 5. Чертежи корпусов ..........................................753

Список литературы ...................................................................756

Структура диска ........................................................................757

  ■  1

ПРЕДИСЛОВИЕ АВТОРА

Предлагаемая вниманию читателей книга посвящена описанию недавно появившегося на рынке семейства встраиваемых микроконтроллеров (МК) LPC17xx компании NXP 
Semiconductors, построенных на базе 32-битного процессорного ядра ARM Cortex-M3. 
Благодаря своим выдающимся характеристикам и, прежде всего, быстродействию семейство LPC17xx, несомненно, выделяется среди конкурирующих линеек продуктов других 
производителей. Тактовая частота микроконтроллеров семейства LPC17xx достигает 
120 МГц и по быстродействию они на 30…60% опережают конкурентные решения на базе ядра Cortex-M3. По словам Джоффа Лиза (Geoff Lees), вице-президента и генерального 
директора линии микроконтроллеров компании NXP Semiconductors, «LPC1700 — самое 
быстрое семейство микроконтроллеров на базе ядра Cortex-M3 из существующих на сегодняшний день и предназначено для одновременной обработки высокоскоростных потоков с интерфейсов Ethernet, USB и CAN». И это действительно так.
В МК семейства LPC17xx используется последняя ревизия (ревизия 2) ядра Cortex-M3 
с интегрированным блоком управления питанием, включая контроллер «пробуждающих» прерываний (WIC), реализующий эффективное переключение между режимами 
пониженного энергопотребления и активным режимом. Семейство LPC17xx предназначено для встраиваемых приложений, требующих высокого уровня интеграции и одновременно критичных к потребляемой мощности. Производитель позиционирует LPC17xx 
для таких приложений, как счетчики электроэнергии, системы освещения, индустриальные сети, системы сигнализации и пожаротушения, бытовую технику и управление двигателями.
МК семейства LPC17хх совместимы по выводам с МК популярного семейства на базе 
ядра ARM7 — LPC23xx и LPC24xx. Эта совместимость позволяет разрабатывать системы, 
в которые можно закладывать микроконтроллеры как с ядром ARM7, так и с ядром 
Cortex-M3, а также облегчает обновление платформы в уже существующих системах.
Микроконтроллеры семейства LPC17xx содержат до 512 Кбайт флэш-памяти и до 
96 Кбайт SRAM. В составе периферии МК LPC17xx имеются интерфейсы Ethernet MAC, 
USB On-The-Go/Host/Device, LCD-контроллер, контроллер внешней шины памяти, 2 канала CAN, 8-канальный контроллер DMA, модули 8-канального 12-битного АЦП 
и 10-битного ЦАП, 3 интерфейса I²C, 4 модуля UART, 2 контроллера SSP, интерфейс SPI 
с двумя входами и двумя выходами, интерфейс I²S, 4 таймера общего назначения и до 70 
линий ввода/вывода общего назначения.
Помимо перечисленной периферии, МК LPC17xx содержат часы-календарь реального 
времени (RTC) с током потребления менее 1 мкА, модуль защиты памяти (MPU), выделяющий области памяти только для чтения и предохраняющий их содержимое от разрушения, интерфейс квадратурного энкодера (QEI), контроллер ШИМ общего назначения, а 
также специализированный контроллер ШИМ, предназначенный для управления двигателями.
В первой части книги содержится подробная справочная информация по МК семейства LPC17xx. Сюда входят: перечень типовых технических характеристик микроконтроллеров LPC17xx, описание их архитектуры и программной модели, описание аппаратного построения и интерфейсов большинства периферийных модулей LPC17xx, рекомендации производителя по программированию и применению отдельных узлов МК. При
ПРЕДИСЛОВИЕ

■  Предисловие 

веденные сведения основаны на переводе оригинальной документации производителя —
User manual (Руководство пользователя) и Datasheet (Спецификация).

В дополнение к справочной информации, взятой из документации производителя 

МК, в первой части книги содержится подробное описание архитектурного построения, 
сравнительных характеристик и функциональных возможностей процессорного ядра 
Cortex-M3, подчерпнутое, в частности, из материалов источника [4].

Автор считает важным подчеркнуть, что предлагаемая книга является полноценным 

справочным руководством по всему семейству МК LPC17xx, однако описание нескольких 
периферийных интерфейсов МК (SPI, SSP, I²C и UART1) дано в книге в объеме, несколько 
сокращенном по сравнению с User manual [3]. Автор полагает, что данные интерфейсы 
традиционно хорошо известны разработчикам и их освоение путем использования только User manual не вызовет существенных проблем. Вместе с тем, их полное русскоязычное 
описание существенно увеличило бы объем данной книги, и так весьма значительный.

Вторая часть содержит информацию по трем наиболее популярным интегрирован
ным средам разработки (ИСР, Integrated Development Environment — IDE) приложений 
для LPC17xx: LPCXpresso от производителя — компании NXP Semiconductors, IAR 
EWARM от компании IAR SYSTEMS и MDK-ARM (μVision4) от компании Keil Software. 
Помимо довольно подробного описания этих программных инструментальных средств, 
во второй части книги также приведены сведения об аппаратных инструментальных 
средствах поддержки LPC17xx, предлагаемых перечисленными компаниями. Кроме того, 
данная часть книги содержит описания нескольких примеров проектов для МК LPC1768, 
выполненных в ИСР μVision4. Все указанные примеры были протестированы автором.

В Приложениях содержатся сведения о предельно допустимых параметрах, статиче
ских характеристиках и энергопотреблении встроенной периферии МК LPC17xx, а также 
размеры и назначение выводов корпусов МК. В Приложения не вошли динамические характеристики встроенной флэш-памяти, системы синхронизации, периферийных интерфейсов, а также электрические характеристики модулей АЦП и ЦАП МК LPC17xx. 
Указанные сведения можно найти в фирменной документации ([1], [2]).

Автор выражает благодарность директору по развитию рынка региона стран СНГ 

и Балтии компании NXP Semiconductors Анне Филипповой и менеджеру по развитию 
бизнеса стран СНГ и Балтии компании NXP Semiconductors Алексею Архипову за помощь, оказанную при написании данной книги. Они любезно предоставили автору инструментальные средства, информационные материалы и технические консультации по 
продукции NXP Semiconductors.

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

К книге прилагается DVD-диск, содержащий бесплатные демоверсии описанного 

в ней инструментального программного обеспечения, исходные коды и готовые проекты 
свободно распространяемых примеров приложений для LPC17xx, подготовленные в средах разработки LPCXpresso, IAR EWARM и Keil μVision4, оригинальную справочную информацию производителя и другие информационные и справочные материалы.

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

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

Для обратной связи с читателями у автора имеется электронный почтовый ящик 

ppr1@rambler.ru. По этому адресу можно направлять замечания и предложения по содержанию данной книги.

1.1. Номенклатура и типовые характеристики  ■  3

 
 
 

 ГЛАВА 1
ОБЩЕЕ ОПИСАНИЕ LPC17XX

1.1.  Номенклатура и типовые характеристики

В Табл. 1.1 приведен перечень всех МК семейства LPC17xx. Семейство состоит из следующих подсемейств: LPC175x, LPC176x, LPC177x и LPC178x, предназначенных соответственно для более простых и для более сложных приложений.
МК семейства LPC17xx имеют следующие особенности:
 Процессор ARM Cortex-M3, работающий на тактовой частоте до 100 МГц (LPC1769, 
LPC1759 и LPC177x/LPC178x — на тактовой частоте до 120 МГц). Встроенный модуль 
защиты памяти (MPU) поддерживает обслуживание до восьми областей памяти 
включительно.
 Встроенный в ARM Cortex-M3 контроллер вложенных векторных прерываний 
(NVIC).
 Встроенная флэш-память программ размером до 512 Кбайт с возможностью внутрисистемного программирования (ISP) и программирования средствами самого приложения (IAP). Встроенная память SRAM размером до 96 Кбайт, которая включает:
 •
массив памяти SRAM размером до 32 Кбайт, связанный с ЦПУ при помощи локальной шины кода/данных для обеспечения высокоэффективного доступа со 
стороны ЦПУ;.
 •
до двух блоков памяти SRAM размерами по 16 Кбайт с отдельными каналами доступа для обеспечения более высокой производительности. Эти блоки могут использоваться для нужд модулей Ethernet, USB, памяти DMA, LCD-контроллера, а 
также для хранения процессорных команд общего назначения (кода) и данных.
 Контроллер внешней памяти для работы с асинхронной статической памятью, такой 
как RAM, ROM, флэш-память размером до 64 Мбайт, и динамической памятью 
SDRAM.
 Восьмиканальный контроллер прямого доступа к памяти общего назначения 
(GPDMA), который может использоваться периферийными модулями SSP, I²S, UART, 
LCD-контроллера, АЦП и ЦАП, GPIO, при пересылках «память—память», а также может запускаться по сигналам совпадения таймеров.
 Многослойная AHB-матрица предоставляет отдельную шину для каждого ведущего 
устройства AHB. К ведущим устройствам AHB относятся: ядро Cortex-M3, контроллер DMA общего назначения, Ethernet MAC и интерфейс USB. AHB-матрица обеспечивает связь между устройствами без задержек арбитража, если два ведущих не пытаются обращаться к одному и тому же ведомому одновременно.
 Раздельная APB-шина, обеспечивающая обмен с большей производительностью 
и меньшим количеством остановов между ЦПУ и контроллером DMA.

ЧАСТЬ 1.
СПРАВОЧНАЯ ИНФОРМАЦИЯ 
ПО СЕМЕЙСТВУ МК LPC17XX

■  Глава 1. Общее описание LPC17xx

Таблица 1.1.  Номенклатура МК семейств LPC175x...LPC178x

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

fmax [МГц]

Флэш-память [Кбайт]

RAM [Кбайт]

USB¹)

CAN

UART

I²C

SPI

I²S

Ethernet

ADC

DAC

LCD

Внешняя шина памяти

Таймеры

PWM

Корпус

LPC1751FBD80
100
32
8
D
1
4
2
3
 
 
6
 
 
 
6
6
LQFP80

LPC1752FBD80
100
64
16
D
1
4
2
3
 
 
6
 
 
 
4
6
LQFP80

LPC1754FBD80
100
128
32
D/H/O
1
4
2
3
 
 
6
1
 
 
4
6
LQFP80

LPC1756FBD80
100
256
32
D/H/O
2
4
2
3
1
 
6
1
 
 
4
6
LQFP80

LPC1758FBD80
100
512
64
D/H/O
2
4
2
3
1
1
6
1
 
 
4
6
LQFP80

LPC1759FBD80
120
512
64
D/H/O
2
4
2
3
1
 
6
1
 
 
4
6
LQFP80

LPC1763FBD100
100
256
64
—
 
4
3
3
1
 
8
1
 
 
4
6
LQFP100

LPC1764FBD100
100
128
32
D
2
4
3
3
 
1
8
1
 
 
4
6
LQFP100

LPC1765FBD100
100
256
64
D/H/O
2
4
3
3
1
 
8
1
 
 
4
6
LQFP100

LPC1765FET100
100
256
64
D/H/O
2
4
3
3
1
 
8
1
 
 
4
6
TFBGA100

LPC1766FBD100
100
256
64
D/H/O
2
4
3
3
1
1
8
1
 
 
4
6
LQFP100

LPC1767FBD100
100
512
64
—
 
4
3
3
1
1
8
1
 
 
4
6
LQFP100

LPC1768FBD100
100
512
64
D/H/O
2
4
3
3
1
1
8
1
 
 
4
6
LQFP100

LPC1768FET100
100
512
64
D/H/O
2
4
3
3
1
1
8
1
 
 
4
6
TFBGA100

LPC1769FBD100
120
512
64
D/H/O
2
4
3
3
1
1
8
1
 
 
4
6
LQFP100

LPC1774FBD144
120
128
40
D
2
4
3
3
1
 
8
1
 
1
4
6
LQFP144

LPC1774FBD208
120
128
40
D
2
5
3
3
1
 
8
1
 
1
4
6
LQFP208

LPC1776FBD208
120
256
80
D/H/O
2
5
3
3
1
1
8
1
 
1
4
6
LQFP208

LPC1776FET180
120
256
80
D/H/O
2
5
3
3
1
1
8
1
 
1
4
6
TFBGA180

LPC1777FBD208 120
512
96
D/H/O
2
5
3
3
1
 
8
1
 
1
4
6
LQFP208

LPC1778FBD144
120
512
96
D/H/O
2
5
3
3
1
1
8
1
 
1
4
6
LQFP144

LPC1778FBD208
120
512
96
D/H/O
2
5
3
3
1
1
8
1
 
1
4
6
LQFP208

LPC1778FET180
120
512
96
D/H/O
2
5
3
3
1
1
8
1
 
1
4
6
TFBGA180

LPC1778FET208
120
512
96
D/H/O
2
5
3
3
1
1
8
1
 
1
4
6
TFBGA208

LPC1785FBD208
120
256
80
D/H/O
2
5
3
3
1
 
8
1
1
1
4
6
LQFP208

LPC1786FBD208
120
256
80
D/H/O
2
5
3
3
1
1
8
1
1
1
4
6
LQFP208

LPC1787FBD208
120
512
96
D/H/O
2
5
3
3
1
 
8
1
1
1
4
6
LQFP208

LPC1788FBD144
120
512
96
D/H/O
2
5
3
3
1
1
8
1
1
1
4
6
LQFP144

LPC1788FBD208
120
512
96
D/H/O
2
5
3
3
1
1
8
1
1
1
4
6
LQFP208

LPC1788FET180
120
512
96
D/H/O
2
5
3
3
1
1
8
1
1
1
4
6
TFBGA180

LPC1788FET208
120
512
96
D/H/O
2
5
3
3
1
1
8
1
1
1
4
6
TFBGA208

¹) D — Device, H — Host, O — On-the-Go.

1.1. Номенклатура и типовые характеристики  ■  5

 LCD-контроллер с поддержкой STN- и TFT-дисплеев:
 •
собственный DMA-контроллер;
 •
разрешение экрана до 1024×768 точки;
 •
поддрежка 24-бит режима true-color.
 Последовательные интерфейсы:
 •
контроллер Ethernet MAC с MII/RMII с выделенным интерфейсом контроллера DMA;
 •
контроллер полноскоростного USB 2.0-Device//Host/OTG с встроенным PHY для 
функций Device и Host, имеющий выделенный интерфейс с контроллером DMA;
 •
четыре модуля UART с возможностью задания целой и дробной частей скорости 
обмена, встроенным буфером FIFO, поддержкой DMA и поддержкой спецификации RS-485. Один из модулей UART имеет набор линий ввода/вывода для управления модемом, а остальные модули UART поддерживают спецификацию IrDA;
 •
двухканальный CAN-контроллер;
 •
SPI-контроллер, обеспечивающий синхронный последовательный дуплексный 
обмен данными с возможностью программирования длины данных;
 •
два SSP-контроллера с встроенными буферами FIFO и обеспечением мультипротокольной поддержки. Интерфейсы SSP могут использоваться совместно с контроллером DMA;
 •
три расширенных интерфейса шины I²C, два из которых — стандартные, а третий 
поддерживает полную спецификацию I²C и режим Fast Mode Plus со скоростью передачи данных 1 Мбит/с. Расширения всех интерфейсов включают возможность 
распознавания нескольких адресов и режим монитора;
 •
интерфейс I²S (Inter-IC Sound), предназначенный для ввода/вывода звуковых сигналов в цифровом виде. Поддерживает возможность задания дробных значений скоростей обмена. Может использоваться совместно с GPDMA. Интерфейс I²S поддерживает трёхпроводное или четырёхпроводное (с раздельными линиями приёма и передачи 
данных) подключения, а также формирование задающего синхросигнала.
 Другие периферийные устройства:
 •
70 (для исполнения в 100-выводном корпусе) или 52 (для исполнения в 80-выводном корпусе) линий ввода/вывода общего назначения (GPIO) с конфигурируемыми встроенными подтягивающими резисторами. Все линии GPIO поддерживают 
режим выхода с открытым стоком, а также оригинальный режим повторителя 
(repeater). Регистры всех портов GPIO отображены на шину AHB для обеспечения 
максимально быстрого доступа к ним, а также поддерживают битовые манипуляции по методу bit-banding архитектуры Cortex-M3. К портам GPIO можно обращаться через контроллер GPDMA. Любая линия портов 0 и 2 GPIO может использоваться для генерации прерывания;
 •
модуль 12-битного АЦП с возможностью мультиплексирования входа на восемь 
линий, частотой преобразования до 200 кГц и с несколькими регистрами результата. Модуль АЦП может быть использован совместно с контроллером GPDMA;
 •
модуль 10-битного ЦАП с выделенным конверсионным таймером и поддержкой DMA;
 •
четыре таймера/счетчика общего назначения, имеющие в общей сложности восемь входов захвата и десять выходов совпадения. Каждый таймер имеет внешний 
счетный вход. При наступлении определённых событий, связанных с таймерами, 
могут генерироваться запросы к DMA;
 •
специализированный модуль ШИМ для управления электроприводом, поддерживающий управление трёхфазными двигателями;
 •
интерфейс квадратурного энкодера, который может управлять одним внешним 
квадратурным энкодером, подключаемым к МК;
 •
модуль стандартного ШИМ/таймера с внешним счетным входом;

■  Глава 1. Общее описание LPC17xx

 •
модуль часов-календаря реального времени (RTC) с отдельными цепями питания, 
что позволяет питать его от резервной батареи. Модуль RTC тактируется от отдельного генератора и содержит 20 байт резервных регистров, также питающихся 
от батареи, что обеспечивает сохранение текущего состояния системы при отключении основного источника питания МК. В качестве батареи может быть использована стандартная литиевая «таблетка» напряжением 3 В. Модуль RTC сохраняет работоспособность при уменьшении питающего напряжения до 2.1 В;
 •
сторожевой таймер (WDT), который может быть запитан от внутреннего RCгенератора или APB;
 •
системный таймер ядра ARM Cortex-M3 с поддержкой внешнего тактирования;
 •
таймер периодических прерываний, обеспечивающий генерацию программируемых и повторяющихся прерываний.
 Наличие интерфейса тестирования/отладки JTAG, совместимого с существующими 
инструментальными средствами. Поддержка опций портов отладки (Serial Wire 
Debug — SWD) и трассировки (Serial Wire Trace — SWT).
 Встроенный модуль (макроячейка) трассировки ETM, поддерживающий трассировку 
в реальном времени.
 Четыре режима пониженного энергопотребления: «спящий» (Sleep), «глубоко спящий» 
(Deep-sleep), «отключение» (Power-down) и «глубокое отключение» (Deep Power-down).
 Одно напряжение питания с номинальным значением 3.3 В и диапазоном допустимых значений от 2.4 до 3.6 В. Диапазон рабочих температур МК составляет от –40 до 
+85°C.
 Четыре входа внешних прерываний с перестраиваемой конфигурацией на чувствительность к фронту/уровню. Все линии портов PORT0 и PORT2 могут использоваться 
в качестве источников прерывания, чувствительных к фронту.
 Вход немаскируемого прерывания (NMI).
 Возможность выдачи на вывод МК внутренних тактовых сигналов (от основного задающего генератора, от IRC-генератора, от генератора RTC. тактового сигнала ЦПУ 
или тактового сигнала USB).
 «Пробуждение» процессора из режима Power-down от любого прерывания, способного функционировать в режиме Power-down (внешние прерывания, прерывание от 
RTC, прерывание от активности USB, прерывание от «пробуждения» Ethernet, прерывание от активности на шине CAN, прерывание на линиях PORT0/2, прерывание 
NMI).
 Обнаружение кратковременных провалов напряжения питания с раздельно задаваемыми значениями порога питающего напряжения для генерации прерывания и выполнения принудительного сброса.
 Встроенный модуль сброса по включению питания (POR).
 Встроенный кварцевый генератор с диапазоном частот генерируемого тактового сигнала от 1 до 25 МГц.
 Встроенный RC-генератор частотой 4 МГц с заводской калибровкой, обеспечивающей точность установки частоты 1%, который может использоваться в качестве источника системного тактового сигнала.
 Встроенная схема ФАПЧ (PLL), обеспечивающая тактирование процессора на максимально возможной частоте без необходимости использования высокочастотного 
кварцевого резонатора. Схема ФАПЧ может тактироваться от основного генератора, 
внутреннего RC-генератора или генератора RTC.
 Дополнительная (вторая) схема ФАПЧ, которая может использоваться для тактирования интерфейса USB, чтобы не ограничивать разработчика в выборе параметров 
основной схемы ФАПЧ.

1.1. Номенклатура и типовые характеристики  ■  7

 Возможность многовариантного задания функции каждого вывода микроконтроллера, позволяющая различным образом использовать встроенные периферийные функции.
Блок-схема МК семейства LPC17xx (на примере LPC1766) показана на Рис. 1.1.

Рис. 1.1. Блок-схема МК семейства LPC17xx (на примере LPC1766).

К покупке доступен более свежий выпуск Перейти