Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Микроконтроллеры с ядром Cortex-M3 в системах управления и автоматики. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
ВЫСШЕЕ ОБРАЗОВАНИЕ
Ю. Ю. Громов, И. А. Дьяков, А. В. Романенко
МИКРОКОНТРОЛЛЕРЫ
С ЯДРОМ CORTEX-M3
В СИСТЕМАХ УПРАВЛЕНИЯ
Учебное пособие
Рекомендовано Ученым советом ТГТУ
в качестве учебного пособия
Вузовское образование
Саратов • 2019
УДК 004 ББК 32.97
Г75
Авторы:
Громов Ю. Ю. — д-р техн. наук, профессор, директор
«Института автоматики и информационных технологий» ТГТУ;
Дьяков И. А. — канд. техн. наук, доцент
кафедры «Информационные процессы и управление» ТГТУ;
Романенко А. В. — канд. техн. наук, доцент
кафедры «Коммерция и бизнес-информатика» ТГТУ
Рецензенты:
Мещеряков Р. В. — д-р техн. наук, профессор,
главный научный сотрудник ИПУ РАН;
Коробова И. Л. — канд. техн. наук, доцент, зав. кафедрой
«Системы автоматизированной поддержки принятия решений» ТГТУ
Громов, Ю. Ю.
Г75 Микроконтроллеры с ядром Cortex-M3 в системах управления
и автоматики [Электронный ресурс] : учебное пособие / Ю. Ю. Громов, И. А. Дьяков, А. В. Романенко. — Электрон. дан. и прогр. (7 Мб). — Саратов : Вузовское образование, 2019. — 84 с. — (Высшее образование).
ISBN 978-5-4487-0522-9
Учебное пособие включает теоретический материал и руководство к выполнению
лабораторных работ по программированию микроконтроллеров на основе отладочной платы
для 32-разрядного микроконтроллера 1986ВЕ92У, разработанного и производимого
компанией ЗАО «ПКК Миландр» (г. Москва, Зеленоград). Пособие может быть использовано
для изучения архитектуры и методов программирования 32-разрядных микроконтроллеров.
Подготовлено с учетом требований Федерального государственного образовательного
стандарта высшего образования.
Предназначено для студентов, обучающихся по направлениям подготовки 09.03.01
«Информатика и вычислительная техника», 09.03.02 «Информационные системы и технологии», 27.03.03 «Системный анализ и управление», 27.03.04 «Управление в технических системах», 38.03.05 «Бизнес-информатика», изучающих программирование,
схемотехнику и применение микроконтроллеров в системах автоматизированного
управления и автоматизированных информационно-измерительных системах. Может быть
полезно при изучении дисциплин «Микроконтроллеры и микропроцессоры в системах
управления» и «Программируемые микроконтроллеры».
Учебное электронное издание
© Коллектив авторов, 2019 © ООО «Вузовское образование», 2019
Редактор Н.Г. Шиндина
Технический редактор, компьютерная верстка Е.В. Якубович
Корректор Е.А. Волкова
Обложка С.С. Сизиумовой
Для создания электронного издания использовано:
Приложение pdf2swf из ПО Swftools, ПО IPRbooks Reader,
разработанное на основе Adobe Air
Подписано к использованию 04.06.2019. Объем данных 7 Мб.
Издание представлено в электронно-библиотечных системах
IPR BOOKS (www.iprbookshop.ru),
Библиокомплектатор (www.bibliocomplectator.ru)
Бесплатный звонок по России: 8-800-555-22-35
Тел.: 8 (8452) 24-77-97, 8 (8452) 24-77-96
Отдел продаж и внедрения ЭБС:
доб. 206, 213, 144, 145
E-mail: sales@iprmedia.ru
Отдел комплектования ЭБС:
доб. 224, 227, 208
E-mail: mail@iprbookshop.ru
По вопросам приобретения издания обращаться:
доб. 208, 201, 222, 224
E-mail: izdat@iprmedia.ru, author@iprmedia.ru
СОДЕРЖАНИЕ
ВВЕДЕНИЕ ..................................................................................................................................................... 5
1. ОТЕЧЕСТВЕННЫЕ МИКРОКОНТРОЛЛЕРЫ С ЯДРОМ CORTEX-M3 .................................... 6
1.1. Архитектура микроконтроллеров 1986BE9x ..................................................................................... 6
1.2. Отладочный комплект для микроконтроллера ................................................................................ 14
1.3. Средства разработки .......................................................................................................................... 21
Контрольные вопросы и задания к главе 1 ............................................................................................. 23
2. ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРА ...................................................................... 25
2.1. Программирование портов ввода-вывода ........................................................................................ 25
2.2. Основы работы с аналого-цифровым преобразователем................................................................ 30
2.3. Основы работы с цифро-аналоговым преобразователем................................................................ 38
2.4. Организация вывода информации на графический дисплей .......................................................... 43
Контрольные вопросы и задания к главе 2 ............................................................................................. 50
3. ЛАБОРАТОРНЫЙ ПРАКТИКУМ ...................................................................................................... 51
3.1. Лабораторная работа № 1. Управление электродвигателем
по параллельному интерфейсу ................................................................................................................. 51
3.2. Лабораторная работа № 2. Управление электродвигателем
аналоговым сигналом ................................................................................................................................ 54
3.3. Лабораторная работа № 3. Индикация частоты вращения вала двигателя ................................... 57
3.4. Лабораторная работа № 4. Протокол управления преобразователями
частоты серии E2-8300 по последовательной линии связи Modbus ..................................................... 60
3.5. Лабораторная работа № 5. Контроллер 1986ВЕ92У как устройство
сбора и передачи данных в АИИСКУЭ ................................................................................................... 66
СПИСОК ЛИТЕРАТУРЫ ......................................................................................................................... 72
ПРИЛОЖЕНИЕ. Пример программы работы интерфейсов контроллера,
разработанный сотрудниками «Миландр» .................................................................................................. 74
4
ВВЕДЕНИЕ
Учебное пособие содержит теоретический материал, техническую информацию
и лабораторный практикум с заданиями и методическими указаниями. В первой главе
приведены необходимые сведения об организации микропроцессорного ядра Cortex-M3 отечественных микроконтроллеров серии 1986BE9x, архитектура микроконтроллера, режимы энергопотребления, цифровые интерфейсные узлы (параллельные порты ввода­вывода и последовательные интерфейсы UART, I2C, SPI, CAN, USB) и встроенные аналоговые блоки (аналого-цифровые и цифро-аналоговые преобразователи, аналоговый
компаратор), а также режимы работы микроконтроллера. На примере интегрированной
среды разработки Keil uVision продемонстрирована методика выбора и инсталляции среды
разработки, а также организация программного проекта. Уделено внимание характеристике
стандартных библиотек периферийных устройств. Вторая глава посвящена теоретическим
основам программирования портов ввода-вывода, АЦП, ЦАП и графического дисплея. Приведены схемотехнические и программные решения. Третья глава — лабораторный практикум, в котором рассмотрены примеры сопряжения и программирования современного оборудования, применяемого в автоматизированных системах управления.
Учебное пособие предназначено для студентов вузов, обучающихся по направлениям:
09.03.01 «Информатика и вычислительная техника», 09.03.02 «Информационные системы и технологии», 27.03.03 «Системный анализ и управление», 27.03.04 «Управление в технических системах», 38.03.05 «Бизнес-информатика».
Изучение пособия способствует получению знаний современных микропроцессоров
и микропроцессорных систем, освоению умений анализировать работу цифровых устройств
на интегральных микросхемах, в составе информационных и автоматизированных систем,
владению навыками настройки и наладки программно-аппаратных комплексов, выполненных на основе микропроцессорных систем.
5
1. ОТЕЧЕСТВЕННЫЕ МИКРОКОНТРОЛЛЕРЫ
а)
б)
в)
С ЯДРОМ CORTEX-M3
Микроконтроллеры серии 1986ВЕ9x, К1986ВЕ9х и К1986ВЕ92QI, К1986ВЕ92QC
(далее — 1986ВЕ9x), построенные на базе высокопроизводительного процессорного RISC ядра ARM Cortex-M3, содержат встроенную объемом 128 Кбайт флэш-память программ и 32 Кбайт ОЗУ. Микроконтроллеры работают на тактовой частоте до 80 МГц. Периферия
микроконтроллера включает контроллер USB интерфейса со встроенным аналоговым
приемопередатчиком со скоростями передачи 12 Мбит/с (Full Speed) и 1,5 Мбит/с (Low
Speed), стандартные интерфейсы UART, SPI и I2C, контроллер внешней системной шины,
что позволяет работать с внешними микросхемами статического ОЗУ и ПЗУ, NAND Flash­памятью и другими внешними устройствами. Микроконтроллеры содержат три 16-разрядных таймера с 4 каналами схем захвата и ШИМ с функциями формирования «мертвой зоны» и аппаратной блокировки, а также системный 24-разрядный таймер и два сторожевых таймера. Кроме того, в состав микроконтроллеров входят: два 12-разрядных высокоскоростных АЦП с возможностью оцифровки информации от 16 внешних каналов и от встроенных датчиков температуры и опорного напряжения; два 12-разрядных ЦАП; встроенный компаратор с тремя входами и внутренней шкалой напряжений [1, 2].
1.1. Архитектура микроконтроллеров 1986BE9x
Существует несколько основных модификаций корпусов микроконтроллеров серии
1986ВЕ9x, рассчитанных на 132, 64 или 48 внешних выводов. Основой контроллеров
1986ВЕ9х, К1986ВЕ9х, К1986ВЕ92QI, К1986ВЕ92QC, К1986ВЕ91Н4 является один и тот же
кристалл, помещенный в корпуса с различным количеством выводов (рис. 1.1), и контроллеры имеют единую спецификацию. Микроконтроллер 1986BE91Т, размещенный в корпусе со 132 выводами, обладает наибольшей функциональностью.
Рис. 1.1. Основные модификации корпусов микроконтроллеров 1986ВЕ9x
а — тип корпуса 4229.132-3; б — тип корпуса Н18.64-1В; в — тип корпуса Н16.48-1В
6
В корпусах с 64 и 48 выводами соответствующее количество контактных площадок
Элемент
1986BE91Т 1986BE94Т
1986BE92У
1986BE92QI
1986BE93У
Корпус
4229.132-3
H18.64-1B
H16.48-1B
Внешние выводы
132 вывода
64 вывода
48 выводов
Ядро
ARM Cortex-M3
ПЗУ
128 Кб флэш-память
ОЗУ
32 Кб
Питание
2,2–3,6 В
Частота
80 МГц
Температура
от 60 до +125 °C
USER I/O
96
43
30
USB
Device и Host (Full Speed и Low Speed) встроенный PHY
UART
2 2 2
CAN 2 2 2 SPI 2 2
2
I2C 1 1
1
RC генераторы
8 МГц и 40 кГц
8 МГц и 40 кГц
8 МГц и 40 кГц
Внешние
генераторы
2–16 МГц и
32 кГц
2–16 МГц и
32 кГц
2–16 МГц
ADC
16 каналов
8 каналов
4 канала
DAC 2 1
1
Компаратор
3 входа
2 входа
2 входа
Внешняя шина
32 разряда
8 разрядов
—
кристалла остаются неподключенными к внешним выводам. В табл. 1.1 обобщены сравнительные характеристики микроконтроллеров 1986BE91Т, 1986BE92У, 1986BE93У с количеством выводов 132, 64 и 48 соответственно [3–6].
Таблица 1.1
Серия микроконтроллеров 1986BE9x
Структурная схема микроконтроллеров 1986BExx показана на рис. 1.2. На схеме
выделены следующие структурные элементы [3–6]:
1. Core-M3 RISC CORE — микропроцессорное ядро Cortex-M3.
2. DMA — многоканальный контроллер прямого доступа к памяти.
3. Interrupt — контроллер векторизованных прерываний.
4. 1 × System Timer — системный таймер SysTick.
7
5. JTAG/SW debug— отладчик с интерфейсами JTAG и SW.
AMBA
AHB
Bus
Matrix
Cortex - M3
RISC CORE
DMA
Interrupt
1 × System
Timer
JTAG / SW
debug
AHB APB
Bridge
PROM (Flash)
4×8K×32
RAM 8K×32
ROM 256×32
External System
System Clock
Manager
2 × UART
2 × SPI
BKP Controller
Power Detector
I2C
GPIO 3 × 16 Timer
ADC Controller
External System
Bus
2 × CAN DAC Controller
WDT Controller
USB
BKP Controller
CPU
PLL
USB
PLL
HSI
LSI
HSE
LSE Real Time
Clock
BKP memory
LDO Cap Less 3,3 to 1,8
ADC1
ADC2
t°
ADC Mux
DAC1
DAC2 PHY USB
Comparator
IWDT
6. PROM (флэш-память) — резидентная флэш-память программ 128 Кб.
7. RAM — оперативное запоминающее устройство 32 Кб.
8. ROM — постоянное запоминающее устройство 512 б.
9. External System Bus — внешняя системная шина.
10. AMBA AHB Bus Matrix — матрица шин в стандарте AMBA (Advanced
Microcontroller Bus Architecture). AMBA является открытым протоколом для соединения
функциональных блоков и управления ими. Протокол AMBA был разработан фирмой ARM,
хорошо документирован и для 32-разрядных микроконтроллеров является стандартом. Шины AHB и APB являются частью протокола AMBA.
11. AHB–APB Bridge — мост между шинами AHB и APB.
Рис. 1.2. Структурная схема микроконтроллера 1986ВЕ9x
8
Периферийные устройства ядра:
1. System Clock Manager — контроллер системы тактирования.
2. Контроллеры последовательных интерфейсов 2 × UART, 2 × SPI, 1 × I2C, 2 × CAN,
1 × USB).
3. BKP Controller — контроллер регистров резервного копирования данных.
4. POWER detector — контроллер электропитания.
5. GPIO (General purpose I/O) — порты ввода-вывода общего назначения.
6. 3×16 Timer — три 16-битных таймера счетчика общего назначения.
7. Контроллеры АЦП (ADC), ЦАП (DAC), аналогового компаратора (Comparator)
и сторожевого таймера (WDT).
В зоне основного питания расположены:
1) умножители частоты с фазовой автоподстройкой (PLL — Phase Locked Loop) для
системы тактирования центрального процессора (CPU) и последовательного интерфейса (USB);
2) внутренние RC-генераторы системы тактирования: LSI — низкочастотный (Low
speed internal) и HSI — высокочастотный (High speed internal);
3) HSE — внешний высокочастотный тактовый генератор (High speed external);
4) LDO Cap Less 3.3 to 1.8 — безконденсаторный регулятор напряжения (Capacitor-
less low drop-out voltage);
5) PHY USB — чип PHY (Physical layer) интегрирован в большинстве контроллеров
USB в хостах или встраиваемых системах и обеспечивает мост между цифровыми и модулированными частями интерфейса;
6) Comparator — аналоговый компаратор;
7) IWDT — независимый (independent WDT) сторожевой таймер.
В зоне батарейного питания расположены:
1) LSE — внешний низкочастотный тактовый генератор (Low speed external);
2) RTC — часы реального времени (Real Time Clock);
3) BKP memory — регистры для резервного копирования данных.
В зоне питания аналоговых преобразователей расположены:
1) ADC и DAC — преобразователи АЦП и ЦАП;
2) ADC Mux — мультиплексор входных каналов АЦП;
3) t° — температурный сенсор.
Если включены все периферийные цифровые и аналоговые блоки, тактовая частота ядра и периферии составляет 80 МГц и тактовая частота USB 48 МГц, то достигается максимальное энергопотребление 120 мА.
Режим SLEEP, в котором включены все периферийные цифровые и аналоговые блоки, не тактируются ядро, флэш-память, ПДП (DMA) и тактовая частота USB 48 МГц; пробуждение от прерываний позволяет снизить энергопотребление до 40 мА.
Режим SLEEP DEEP в котором включены только АЦП, ЦАП, компаратор, PWD, NVIC с тактированием от LSI, не тактируются ядро, флэш-память, ПДП (DMA), ОЗУ и внешняя шина, а включение осуществляется от прерываний, позволяет снизить энергопотребление до 2 мА.
9
В режиме STANDBY энергопотребление не превышает 15 мкА. В этом режиме отключено питание DUcc, работают только LSI, LSE, RTC и BKP блоки, пробуждение от сигналов WAKEUP или ALARM RTC. Время запуска составляет не более 20 мкс.
Режим BATTERY ONLY имеет самое низкое энергопотребление — не более 5 мкА. При этом отключено питание DUcc и Ucc, работают только LSE, RTC и BKP блоки. Включение осуществляется по появлению питания Ucc, и время запуска не превышает 6 мс.
Цифровой интерфейс микроконтроллера выполнен по стандартной архитектуре и включает блоки передачи данных в параллельном и последовательном форматах [3–6]. Для побитовой передачи в параллельном формате контроллер имеет 6 программируемых портов ввода-вывода. Для последовательной передачи данных контроллер имеет:
– 2 стандартных порта UART со скоростью передачи до 5 Мбит/с;
– 2 порта SSP со скоростью передачи до 40 Мбит/с (master) и до 6 Мбит/c (slave);
– 1 порт I2C, работающий только в режиме master;
– 2 порта CAN со скоростью передачи до 1 Мбит/с;
– 1 стандартный порт USB со скоростью передачи до 12 Мбит/с;
– 3 четырехканальных таймера с функциями ШИМ;
– 1 порт DMA для работы с ОЗУ, периферией и внешней шиной.
Порты параллельного ввода-вывода [3–6]. В чипе размещено 6 индивидуально управляемых портов ввода-вывода, разрядность каждого порта — 16 бит. Логические уровни
дискретных сигналов соответствуют стандарту ТТЛ. Напряжение логического нуля на
выходе микросхемы — 0,4 В, уровень входного сигнала выше и составляет 0,8 В.
Напряжение логической единицы на выходе микросхемы 2,4 В, уровень входного сигнала
ниже и составляет 2,0 В. Входной ток не превышает 4 мА. Порты D и E могут работать в аналоговом режиме с выходным напряжением, достигающим напряжения питания Ucc.
Последовательный интерфейс UART включает два контроллера поддерживающих стандартные сигналы управления модемом CTS, DCD, DSR, RTS, DTR и RI. Формат кадра допускает размерность данных 5, 6, 7 и 8 бит, наличие бита четности, 1 или 2 стоп-бита. Скорость передачи составляет до 5 Мбит/c. Кроме того, интерфейс UART поддерживает IRDA канал, и его выводы переопределяемы [3–6].
Интерфейс SSP включает 2 контроллера SPI, поддерживающих FIFO 16 б × 8, режимы «младший бит вперед» или «старший бит вперед».
Интерфейс USB. Включает встроенный аналоговый приемопередатчик с линиями D+ и D–. Приемопередатчик базируется на контроллерах Function и Host со скоростями передачи Low Speed (1.5 Мбит/c) и Full Speed (12 Мбит/c).
Интерфейс CAN включает два контроллера. Каждый контроллер имеет 32 буфера сообщений, собственный фильтр каждого буфера и переопределяемые выводы. Скорость передачи достигает 1 Мбит/c.
Интерфейс I2C. Базируется на одном контроллере I2C, работающем только в Master- режиме.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]