Мегаобучалка Главная | О нас | Обратная связь


АРХИТЕКТУРА ARM И 32-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА STM32



2020-02-04 548 Обсуждений (0)
АРХИТЕКТУРА ARM И 32-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА STM32 0.00 из 5.00 0 оценок




Лабораторный практикум

по освоению микроконтроллеров на ядре ARM Cortex-M3 и архитектуры ARM Cortex-M4

на базе отладочных модулей STM32F4 Discovery и на базе микроконтроллера STM32f103c8t6

 

 

 

   Лабораторный семинар поможет при изучении курса по микроконтроллерам архитектуры ARM Cortex-M4. В практикуме описана архитектура ARM и 32-разрядных микроконтроллеров STM, а также дана полная информация, которая необходима для работы с отладочной платой STM32F4Discovery и платой с микроконтроллером STM32f103c8t6. Описаны лабораторные практики для освоения основных функций, устройств и характеристик платы: ШИМ (PWM), АЦП, USART, SPI, таймеры. Вышеописанные работы могут применены студентами, связанными с изучением электроники, компьютеров и информационным направлением, которые занимаются изучением микроконтроллеров архитектуры ARM.

 

 

Оглавление

ВВЕДЕНИЕ.. 3

АРХИТЕКТУРА ARM И 32-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА STM32. 3

Описание платы STM32F4 Discovery. 6

Описание платы микроконтроллера STM 32 F 103 c 8 t 6. 7

РАБОТА С ОТЛАДОЧНОЙ ПЛАТОЙ STM32 DISCOVERY.. 8

ЛАБОРАТОРНЫЕ РАБОТЫ... 9

Лабораторная работа № 1: Создание проекта в среде разработки CubeMX и Keil . 9

Лабораторная работа № 2: Прерывания и их применение. Использование таймеров. 13

Лабораторная работа № 3: Генерация сигнала ШИМ( PWM ). 19

Лабораторная работа № 4: Использование АЦП.. 23

Лабораторная работа № 5: Использование USART.. 29

Лабораторная работа № 6: Работа с SPI. 31

Лабораторная работа № 7: Генерация сигналов и управление их характеристиками.. 33

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 42

 


 

 

ВВЕДЕНИЕ

 

   Цель лабораторной работы - помочь студентам изучить 32-битные микроконтроллеры и их применение в информационных системах, в согласовании работы нескольких устройств, для отображения принятой и переданной информации в компьютерных системах, обучить написанию программного кода в средах разработки Keil uVision и CubeMX, подключению программатора через утилиту ST-Link.

В процессе выполнения практических работ изучаются принципы работы микроконтроллеров, их периферии, организации передачи данных с их использованием, управление другими устройствами для измерения внешних воздействий, редактирование получения информации, принятой от внешних устройств. Студенты практически самостоятельно выполняют задания и разрабатывают собственные примеры в соответствии с индивидуальным заданием. Работа проводится в три этапа:

- изучении архитектуры ARM и 32-разрядных микроконтроллеров STM;

- изучение характеристик работы отладочной платы STM32F4Discovery и платы на базе микроконтроллера STM32F103C8T6;

- семь лабораторных работ по изучению возможностей, устройства и характеристики платы:

ШИМ (PWM), АЦП, USART, SPI, таймеры.

Приводится информация о возможности подключения к отладочной плате внешнего дисплея.

Для выполнения лабораторных работ необходимо знание основ цифровой схемотехники, разработки программного обеспечения и алгоритмов, а также знание языка программирования СИ.

 

АРХИТЕКТУРА ARM И 32-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА STM32

 

Архитектура ARM (расшифровывается как Advanced RISC Machine — в переводе усовершенствованная RISC-машина). Под этой аббревиатурой выступает британская компания ARM Limited. 32 разрядные процессоры ARM широко используются в цифровых гаджетах. Эти процессоры имеют низкое энергопотребление, поэтому находят широкое применение во встраиваемых системах и преобладают на рынке мобильных устройств, для которых данный фактор важен. ARM основаны на RISC-архитектуре, которая содержит сокращенный набор команд. Для того, чтобы сделать ARM более приспособленными к использованию во встраиваемых системах, пришлось пойти на следующие отклонения:

1. Переменное количество циклов выполнения для простых инструкций. Простые инструкции ARM могут потребовать на выполнение более одного цикла. Например, выполнение инструкций Load и Save зависит от количества регистров, которые им переданы.

2. Возможность соединять команды сдвига и вращения с командами обработки информации.

3. Условное выполнение – инструкция выполняется только в том случае, если выполняется конкретное условие. Это увеличивает производительность и позволяет избавиться от операторов ветвления.

4. Улучшенные инструкции – процессоры ARM поддерживают улучшенные DSP-инструкции для операций с цифровыми сигналами.

Рассмотрим следующие семейства процессоров ARM:

· Cortex M — новое семейство процессоров, призванное работать в устройствах с низкой производительностью. В семействе присутствуют четыре направления с системой команд Thumb :

· Cortex-M0 с ядром ARMv6-M;

· Cortex-M3 с ядром ARMv7-M;

· Cortex-M4 с ядром ARMv7E-M;

Существует три профиля архитектуры ARM:

· A (application) — устройства, требующие высокую производительность;

· R (real time) — для приложений, работающих в реальном времени;

· M (microcontroller) — для микроконтроллеров.

 

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

Процессоры ARM содержат до 18 регистров: 16 32-разрядных регистров, регистров общего назначения R0-R12, R13 – указатель стека SP, R14 – регистр связи LR, R15 – счетчик команд PC  и два регистра процессов. Все регистры содержат 32 бита.

В зависимости от контекста эти регистры могут использоваться как регистры общего назначения. Также имеется два программных регистра, которые называются CPSR (Current Program Status Register) и SPSR (Saved Program Status Register), которые используются для сохранения состояния процессора и программы. Процессоры, основанные на архитектуре ARM Cortex-M4, предназначены для использования в цифровой обработке сигналов (Digital Signal Processing, DSP). Эти микроконтроллеры, имеют следующие внутренние модули (рис. 1). Микроконтроллер платы, STM32F407VG, использует архитектуру ARM Cortex-M4.

                                            Рис. 1. Архитектура ARM Cortex-M4

Семейство микроконтроллеров STM32 построено с использованием 32-рязрядного ядра Cortex различных версий (в микроконтроллере, установленном на плате используется ядро Cortex-M4). Основные характеристики микроконтроллера STM32 представлены в табл. 1.

Таблица 1. Характеристики микроконтроллера STM32

Наименование параметра определение
Разрядность данных 32
Построение архитектуры Гарвардская
Способ оптимизации 3-ступенчатый
Архитектура микроконтроллера RISC
Разрядность адресного пространства памяти 32
Буфер предвыборки, разряд 2х64
Размерность, байт 2
Особенности обработки прерываний   Векторизованные
Задержка реагирования на прерывания 12 циклов
Режимы энергопотребления Режим Sleep, остановка STOP
Программатор ST-LINK

Микроконтроллеры STM32 построены по гарвардской архитектуре и имеют 3-ступенчатый конвейер, который минимизирует время выполнения команд. STM32 имеют низкое энергопотребление. В микроконтроллерах используется набор команд Thumb переменной длины, что улучшает плотность кода. В STM32 используются внутренние интерфейсы памяти шириной больше, чем средняя длина инструкции, следовательно, минимизируется число доступов к шине памяти, а, это ведет к снижению потребления электроэнергии, связанное с операциями по шине и чтением энергонезависимой памяти. Для уменьшения требований к программному коду обработки исключительных ситуации было введен контроллер векторизованных прерываний NVIC.

Рис. 2. Система прерываний в STM32.

 

На рис. 3 представлено цифровое периферийное устройство. Периферийный блок может иметь два блока. Первый блок – это ядро, которое содержит конечные датчики, счетчики и любые логические элементы. Ядро предназначено для выполнения таких задач, как передача данных, управление аналоговыми входами или выполнение функций, привязанных к синхросигналам, не требующих участия процессора. Ядро периферийного узла взаимодействует с внешним интерфейсом через порты ввода/вывода STM32. Внешние соединения могут состоять из нескольких сигналов или сложных шин. Второй блок – настройка и управление периферией, которые осуществляются приложением через регистры, соединенные с внутренней шиной, разделяемой с другими ресурсами МК.

 

Рис. 3. Вид цифровой периферийной конструкции

 



2020-02-04 548 Обсуждений (0)
АРХИТЕКТУРА ARM И 32-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА STM32 0.00 из 5.00 0 оценок









Обсуждение в статье: АРХИТЕКТУРА ARM И 32-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА STM32

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (548)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)