Начало работы с микроконтроллерами STM8
Покупка
Основная коллекция
Тематика:
Микроэлектроника. Наноэлектроника
Издательство:
СОЛОН-Пресс
Автор:
Матюшов Николай Викторович
Год издания: 2024
Кол-во страниц: 208
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Профессиональное образование
ISBN: 978-5-91359-172-2
Артикул: 643191.04.99
Эта книга предназначена для разработчиков электронной аппаратуры, планирующих начать работать с микроконтроллерами серии STM8 и любителей, увлекающихся созданием устройств на микроконтроллерах.
Книга содержит описание микроконтроллера серии STM8: описание работы периферийных модулей и их регистров, описание видов памяти, битов конфигурации, систем прерываний, энергосбережения, тактирования и других.
Тематика:
ББК:
УДК:
ОКСО:
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Матюшов Н. В. Начало работы с микроконтроллерами STM8 СОЛОН-Пресс Москва 202
УДК 681.5 ББК 32.96 М 35 Матюшов Н. В. Начало работы с микроконтроллерами STM8. — М.: СОЛОН-Пресс, 20. — 208 с.: илл. Эта книга предназначена для разработчиков электронной аппаратуры, планирующих начать работать с микроконтроллерами серии STM8S и любителей, увлекающихся созданием устройств на микроконтроллерах. Книга содержит описание микроконтроллера серии STM8S: описание работы периферийных модулей и их регистров, описание видов памяти, битов конфигурации, систем прерываний, энергосбережения, тактирования и других. Сайт журнала «Ремонт & Сервис»: www.remserv.ru Сайт издательства «СОЛОН-Пресс»: www.solon-press.ru КНИГА — ПОЧТОЙ Книги издательства «СОЛОН-Пресс» можно заказать и оплатить в издательстве с пересылкой Почтой РФ. Заказ можно оформить одним из перечисленных способов: 1. Оформить заказ на сайте www.solon-press.ru в разделе «Книга — почтой». 2. Заказать книгу по тел. (495) 617-39-64, (495) 617-39-65. 3. Отправив заявку на e-mail: kniga@solon-press.ru (указать наименование издания, обратный адрес и ФИО получателя). 4. Послать открытку или письмо по адресу: 123001, Москва, а/я 82. При оформлении заказа следует правильно и полностью указать адрес, по которому должны быть высланы книги, а также фамилию, имя и отчество получателя. Желательно указать дополнительно свой телефон и адрес электронной почты. Через Интернет вы можете в любое время получить свежий каталог издательства «СОЛОН-Пресс», считав его с адреса http://www.solon-press.ru/katalog. Интернет-магазин размещен на сайте www.solon-press.ru По вопросам приобретения обращаться: ООО «СОЛОН-Пресс» Тел: (495) 617-39-64, (495) 617-39-65 E-mail: kniga@solon-press.ru, www.solon-press.ru ISBN 978-5-91359-172-2 © Матюшев Н. В., 20 © «СОЛОН-Пресс», 20
Оглавление Глава 1. Общая информация о микроконтроллерах STM8. . . . . . . . . . . . . . . . . . .5 Обозначение микроконтроллеров. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 Документация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 Отладочная плата STM8S-Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Характеристики микроконтроллера STM8S105C6T6. . . . . . . . . . . . . . . . . . .12 Глава 2. Порты ввода — вывода STM8S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 Основные возможности портов ввода-вывода:. . . . . . . . . . . . . . . . . . . . . . . .15 Структурная схема линии порта ввода — вывода . . . . . . . . . . . . . . . . . . . . . .15 Особенности работы портов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Работа линии порта с аналоговыми сигналами. . . . . . . . . . . . . . . . . . . . . . . .18 Регистры портов ввода — вывода. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 Глава 3. Контроллер прерываний. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 Таблица векторов прерываний. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20 Обработка прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Программный и аппаратный приоритет прерываний . . . . . . . . . . . . . . . . . .23 Последовательность обработки прерываний. . . . . . . . . . . . . . . . . . . . . . . . . .24 Режимы управления прерываниями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 Внешние прерывания . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28 Регистры контроллера прерываний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 Глава 4. Система энергосбережения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 Режим энергосбережения WAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 Режим энергосбережения HALT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 Режим энергосбережения Active HALT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 Глава 5. Система тактирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33 Источники тактовой частоты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 Переключение основного источника тактового сигнала . . . . . . . . . . . . . . .36 Управление тактированием периферийных модулей. . . . . . . . . . . . . . . . . . .39 Система защиты тактирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40 Вывод тактового сигнала. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41 Регистры модуля тактирования: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 Глава 6 Независимый сторожевой таймер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50 Регистры IWDG:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51 Глава 7 Оконный сторожевой таймер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53 Регистры модуля WWDG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 Глава 8. Система сброса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58 Регистры модуля сброса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59
Оглавление Глава 9. Модуль автоматического пробуждения (AWU) . . . . . . . . . . . . . . . . . . . .61 Регистры модуля AWU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 Глава 10. Таймеры. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 Обзор таймеров STM8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66 Основные возможности таймера 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69 Функциональная схема таймера 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Формирователь временных интервалов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70 Режимы счета . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71 Счетчик повторений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76 Взаимодействие между таймерами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84 Каналы захвата/сравнения таймера 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88 Режимы работы таймера 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 Регистры таймера 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97 Глава 11. Таймер 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .114 Регистры таймера 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .118 Глава 12. Таймер 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127 Глава 13. Модуль SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131 Описание регистров модуля SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136 Глава 14. Модуль UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143 Структурная схема модуля UART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145 Регистры модуля UART. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148 Глава 15. Интерфейс IIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158 Регистры интерфейса IIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169 Глава 16. Аналого-цифровой преобразователь stm8 . . . . . . . . . . . . . . . . . . . . . .172 Структурная схема модуля АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173 Описание работы АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .174 Тактирование АЦП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Выбор каналов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Режимы преобразования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175 Прерывания АЦП. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 Аналоговый компаратор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 Глава 17. Модуль звукового излучателя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192 Глава 18. Электрические характеристики stm8 . . . . . . . . . . . . . . . . . . . . . . . . . .194 Глава 19. Память . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196 Глава 20. Список использованных источников . . . . . . . . . . . . . . . . . . . . . . . . . .208
Глава 1. Общая информация о микроконтроллерах STM8 Компания STMicroelectronics является одним из лидеров в области создания электронных компонентов — усилителей, аудио, микроконтроллеров, АЦП и ЦАП, микросхем интерфейсов, фильтров, переключателей, мультиплексоров и многих других. Одной из основных направлений продукции компании — восьмиразрядные микроконтроллеры с архитектурой STM8. На основе архитектуры STM8 основаны четыре серии микроконтроллеров: — STM8S — микроконтроллеры для общего применения; — STM8L — микроконтроллеры для устройств с низким потреблением и батарейным питанием; — STM8AF — микроконтроллеры для автомобильной электроники; — STM8AL — микроконтроллеры для автомобильной электроники в энергосберегающих приложениях. Серия STM8S является основной, так как она «перекрывает» большинство применений восьмиразрядных микроконтроллеров. Микроконтроллеры серии STM8S основаны на архитектуре STM8, построены по технологии 130 нм, что позволяет им работать на частотах до 24 МГц. Наличие встроенной памяти EEPROM, внутренних источников тактового сигнала и большого набора периферийных модулей позволяют использовать эти микроконтроллеры во многих встраиваемых приложениях. Серия STM8S состоит из четырех линеек: — STM8S003/005/007 — линейка «Value line» — микроконтроллеры «начального» уровня с базовым набором функций — имеют малое допустимое количество перезаписи памяти программ; — STM8S103/105 — линейка « Access line» — имеют больше функций, памяти, большее количество циклов перезаписи памяти; — STM8S207/208 — линейка «Performance line» — имеют полный набор функций; — STM8S903 — линейка микроконтроллеров специального назначения. Линейки обладают различными функциями, но, тем не менее, между ними сохранена совместимость «Корпус в корпус», что позволяет при необходимости переходить на более производительные микроконтроллеры простой заменой.
Глава 1. Общая информация о микроконтроллерах STM8 Обозначение микроконтроллеров Микроконтроллеры STM обозначаются буквенно-цифровым индексом, в котором содержится обозначение архитектуры, тип корпуса, назначение, объем памяти и т.д. Таблица 1.1. Обозначение микроконтроллеров STM8 Позиция в обозначении 1 2 3 4 5 6 7 Пример STM8 S 105 C 6 T 6 Таблица 1.2. Расшифровка обозначений микроконтроллеров STM8 Позиция в обозначении Значение Варианты 1 Семейство микроконтроллеров STM32 — 32-битовые ARM-микроконтроллеры STM8 — восьмибитные микроконтроллеры на архитектуре STM8 2 Тип продукта F — основной; L — для низкопотребляющих применений; P — предварительно запрограммированный; S — стандарный; T — для сенсорных клавиш; W — для беспроводной передачи данных; 3 Линейка 003/005/007 — Value line 103/105 — Access line 207/208 — Performance line 4 Количество выводов Y-16 F — 20 E — 24 G — 28 K — 32 T — 36 D — 38 H — 40 J — 42 S — 44 C — 48 N — 56
Глава 1. Общая информация о микроконтроллерах STM8 Позиция в обозначении Значение Варианты 5 Объем FLASH памяти 0 — 1 Кбайт 1 — 2 Кбайт 2 — 4 Кбайт 3 — 8 Кбайт 4 — 16 Кбайт 5 — 24 Кбайт 6 — 32 Кбайт 7 — 48 Кбайт 8 — 64 Кбайт 9 — 72 Кбайт 6 Тип корпуса B — Plastic DIP D — Ceramic DIP G — Ceramic QFP H — UFBGA / TFBGA I — UFBGA M — Plastic SO P — TSSOP Q — Plastic QFP T — Plastic TQFP U — UQFN Y — CSP 7 Диапазон температур 3 — (-40…+125)°с 6 — (-40…+85)°с 7 — (-40…+105)°с Документация Документация от производителя STM8 имеет оригинальную структуру. Разработчику дается руководство пользователя (User Manual — UM) на одно семейство микроконтроллеров. В нем описаны организация; периферийные узлы. На конкретный микроконтроллер есть «Datasheet». В нем перечислено, что из периферийных узлов есть в каждой конкретной модели МК, диапазон адресов, таблицы векторов прерываний. Таблица 1.3. Перечень документации на микроконтроллеры STM8S Основное руководство CD00190271 (RM0016 STM8S and STM8A microcontroller families).pdf — содержит описание периферийных модулей микроконтроллеров STM8S и STM8A
Глава 1. Общая информация о микроконтроллерах STM8 Руководство по программированию CD00161709 (PM0044 STM8 CPU programming manual).pdf — описание архитектуры, регистров процессора, видов памяти, адресации, работы конвейера, ассемблерных команд CD00191343 (PM0051 STM8S and STM8A Flash program and data EEPROM).pdf Документация на линейки микроконтроллеров CD00197787 (STM8S207xx STM8S208xx).pdf — содержит описание микроконтроллера, структурную схему, описание и назначение выводов в различных корпусах, карты памяти, таблицу векторов прерываний, электрические характеристики, кратко — работу центрального процессора, его программирование, тактирование, энергосбережение и т.д. CD00200092 (STM8S105xx).pdf CD00226640 (STM8S103K3 STM8S103F3 STM8S103F2).pdf CD00231332 (STM8S903K3 STM8S903F3).pdf DM00024550 (STM8S003K3 STM8S003F3).pdf DM00037613 (STM8S005K6 STM8S005C6).pdf Руководства по применению CD00174392 (AN2645 Migration and compatibility for STM8S MCU).pdf — описывает особенности каждой линейки микроконтроллеров, полностью совместимые периферийные модули, рекомендации (по каждому периферийному модулю) по переходу с одной линейки на другую CD00174533 (AN2646 Smartcard interface with the STM8S microcontroller).pdf — описывает реализацию интерфейса «Smartcard» и настройку модуля UART для работы в качестве этого интерфейса CD00176594 (AN2658 Using the analog to digital converter of the STM8S microcontroller).pdf — описывает работу модуля АЦП, характеристики (программные и аппаратные), методы повышения точности, запуск от таймера 1 CD00181299 (AN2687 STM8S20x LCD software driver).pdf — программная реализация контроллера управления LCD-дисплеем, содержит описание и пример кода для управления LCD-дисплеем CD00190266 (AN2737 Basic IAP example using the STM8 I2C and SPI peripherals).pdf — содержит описание внутрисхемного программирования по интерфейсам I2C и SPI — аппаратную реализацию и протокол CD00194637 (AN2752 Getting started with the STM8S and STM8A).pdf — описывает микроконтроллеры STM8S, STM8A, их характеристики, типовые схемы включения, описание программных и аппаратных средств для работы с ними CD00208721 (AN2822 STM8S and STM8A high speed internal oscillator calibration).pdf — измерение поправок к частоте генератора HSI и их учет, временные характеристики подстройки частоты, примеры кода для проведения этой процедуры CD00219011 (AN2857 STM8S and STM8A family power management).pdf — содержит полную информацию об энергопотреблении — режимы энергосбережения, тактирование, описание внутренних узлов питания, рекомендации по снижению энергопотребления
Глава 1. Общая информация о микроконтроллерах STM8 Руководства по применению CD00219924 (AN2860 EMC guidelines for STM8 microcontrollers).pdf — содержит информацию об электромагнитной совместимости STM8 и ее повышении — рекомендации по подключению источников питания, проектированию печатной платы, программированию CD00221665 (AN2867 Oscillator design guide for STM8S STM8A microcontrollers).pdf — рекомендации по подключению внешнего кварцевого генератора (общее описание, выбор и расчет параметров элементов) Также стоит отметить, что производитель микроконтроллеров предоставляет не только документацию по микроконтроллерам, но и среду разработки, бесплатный компилятор (правда, только для ассемблера) и библиотеки (на языке Си) для работы с периферийными модулями (Standart Peripheral Library — SPL — содержат заголовки, исходные коды функций и примеры работы для всех периферийных узлов микроконтроллера). Отладочная плата STM8S-Discovery В данной книге описывается начало работы с восьмиразрядными микроконтроллерами семейства STM8S на примере демонстрационной платы STM8S-Discovery. Плата представляет комплексное устройство, состоящее из двух частей — программатор-отладчик и отладочная (демонстрационная) часть. В программаторе-отладчике находится интерфейс для связи с компьютером, стабилизаторы питания, разъем SWIM (однопроходный отладочный интерфейс). На оставшейся части расположен микроконтроллер STM8S105C6T6. Все его выводы распаяны на разъемы. Также на плате расположены: — сенсорная кнопка TS1 и пользовательский светодиод LD1; — разъемы расширения, в которые выведены все доступные линии ввода/ вывода МК; — монтажное поле для макетирования пользовательских схем; — встроенный внутрисхемный программатор/отладчик ST-LINK (предусмотрена отладка и программирование только МК семейства STM8S); — микроконтроллер STM8S105C6T6. Между этими модулями на плате расположен конструктивный пропил (см. Рисунок 1.1), надломив который, возможно разделить эти модули и использовать их отдельно. Таким образом у пользователя появляется программатор, которым можно программировать любые микроконтроллеры семейства STM8, и микроконтроллерный модуль с выведенными на разъемы выводами, который может быть непосредственно встроен в какое-либо устройство.
Глава 1. Общая информация о микроконтроллерах STM8 Рисунок 1.1. Плата STM8S-Discovery Таблица 1.4. Обозначение выводов разъема CN1 платы STM8S-Discovery Номер вывода (разъем Cn1) Номер вывода (МК) Название вывода Тип Функция Альтернативная функция 1 1 NRST IO Reset 2 2 OSCIN/PA1 IO Port A1 3 3 OSCOUT/PA2 IO Port A2 4 4 Vssio_1 s I/O ground 5 5 Vss s Digital ground 6 6 VCAP s 1.8V regulator capacitor 7 7 Vdd s Digital power supply 8 8 Vddio_1 s I/O power supply 9 9 РАЗ IO Port A3 10 10 PA4 IO Port A4 11 11 PA5 IO Port A5 12 12 PA6 IO Port A6