- •Введение
- •Теоретическая часть
- •Общая характеристика 32-разрядных arm-микроконтроллеров
- •Архитектура, принцип работы и возможности 32-разрядных arm-микроконтроллеров серии stm 32 f100 c4
- •Порты общего назначения gpio
- •Организация памяти в микроконтроллерах stm32
- •Универсальный последовательный порт usart
- •Микропроцессорная система на базе 32-разрядного avr-микроконтроллера серии stm32
- •Рекомендации по включению микроконтроллера pic16f84a
- •Расчетная часть
- •Расчет принципиальной схемы устройства на базе микроконтроллера pic16f84a
- •Разработка блок схемы алгоритма работы микроконтроллера
- •Разработка программы и hex-файла программы
- •Разработка печатной платы устройства
- •Заключение
- •Список используемых источников
Архитектура, принцип работы и возможности 32-разрядных arm-микроконтроллеров серии stm 32 f100 c4
STM32 – это микроконтроллер, построенный на ядре ARM Cortex-M3. Данное ядро имеет много преимуществ, которые будут перечислены ниже, но его основное преимущество на сегодняшний день – универсальность. За два года Cortex-M3 стал индустриальным стандартом. Об этом говорит количество производителей, присоединившихся к данной архитектуре. Все основные производители микроконтроллеров, которые присутствуют в России, кроме Microchip, имеют или развивают решения на основе этой архитектуры: STMicroelectronics, Texas Instrument, NXP, ATMEL, Analog Devices, Renesas и т.д. Компания ST одна из первых выпустила свои микроконтроллеры Cortex-M3 (2007 г.) и быстро стала доминирующим игроком на этом рынке.
В 32-битном сегменте разработчики редко работают с ассемблером, они в основном используют языки высокого уровня, например, язык C. Поэтому если вдруг понадобится переход с одного производителя на другой (срыв поставок, отсутствие нужных библиотек, новые функциональные требования, увеличения цен, и т.д.), то часть программного кода, связанная с ядром, даже не потребует изменения. Необходима будет только работа на уровне драйверов периферии. В итоге получается, что если писать программный код с четким делением между ядром и периферией, то можно обеспечить условия для очень быстрого перехода с одного производителя на другой.
Семейство STM32 - это не только микроконтроллеры на ядре Cortex-M3. Архитектура Сortex-M включает в себя также ядра Сortex-M0 и Cortex-M4.
Одна из причин мировой популярности семейства STM32 – максимальный комфорт разработчика. Если универсальность ядра STM32 позволяет менять производителя c минимальными затратами на программный код, то pin-to-pin совместимость внутри семейства STM32 позволяет менять объем памяти (флэш-память и ОЗУ) и периферию (Ethernet, USB, CAN, и т.д.), не трогая печатную плату. «Pin-to-pin совместимость» означает, что для одного размера корпуса все сигналы сохраняются на тех же самых вводах/выводах для разных вариантов микроконтроллеров семейства.
Основные характеристики линейки STM32F100х:
Максимальная тактовая частота 24 МГц (30 DMIPS)
Умножение и деление за 1 такт
Напряжения питания 2.0 – 3.6 В
От 4 до 8 Кб ОЗУ
От 16 до 128 Кб флэш-памяти
Два встроенных и откалиброванных тактовых генератора на 40 КГц и 8 МГц
7-канальный DMA контроллер
16-канальный 12-битный АЦП (1.2 мкс) с датчиком температуры
Два 12–битных ЦАП
До 80 быстрых портов ввода – вывода (есть совместимость с 5 В)
16 внешних прерываний
Два сторожевых таймера (IWDG и WWDG)
До 10 таймеров общего и расширенного назначений
До 2х I2C(SMBus/PMBus), до 3х USART (Lin, IrDa, modem control), до 2 SPI(2 Мбит/с), HDMI (CEC), RTC
Управление питанием и сбросом (3 режима низкого потребления, PVD, BOR)
Аппаратный расчет CRC
96–битный уникальный идентификатор (ID)
На рисунке 1.2.1 показана архитектура контроллера STM32F100 в области GPIO и RCC
Рисунок 1.2.1 - архитектура контроллера STM32F100 в области GPIO и RCC
Схема включения STM32 F100 C4
В момент подачи питания на микроконтроллер или после сигнала сброса, независимо от других обстоятельств, ядро тактируется от внутреннего RC-генератора частотой 8 мГц. При этом PLL (умножитель частоты) отключен, а время задержки чтения из FLASH (latency time) равно нулю.
Такая схема включения гарантирует, что микроконтроллер запустится и начнёт работать всегда, даже если внешний кварц неисправен. Запуск кварца осуществляется вручную, программным способом. Запуск можно проконтролировать и в случае неисправности кварца, обработать ошибку и оставаться затактированным от внутреннего RC.
Микроконтроллер STM32 имеет в своём составе ещё одну схему защиты, когда при сбое внешнего кварца он может автоматически переключиться на внутренний RC и продолжить работу, сигнализируя об ошибке. По умолчанию эта возможность отключена.
Чтобы вывести микроконтроллер на проектную мощность - одноцикловый режим на частоте 72 мГц, нужно выполнить три простых шага. Включить усилители кварцев и дождаться их стабилизации. Включить умножитель PLL и дождаться его стабилизации. Затем переключить тактирование с внутреннего RC на PLL. В случае, если вы используете кварц на 8 мГц, PLL должен быть настроен на 9-кратное умножение частоты. Когда питание на усилитель кварца подано, нужно дождаться стабилизации частоты.
