СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 4
1.1 Общая характеристика 32-разрядных ARM-микроконтроллеров 4
1.2 Архитектура, принцип работы и возможности 32-разрядных ARM-микроконтроллеров серии STM 32 F100 C4 6
1.3 Схема включения STM32 F100 C4 9
1.4 Порты общего назначения GPIO 10
1.5 Организация памяти в микроконтроллерах STM32 13
1.6 Универсальный последовательный порт USART 16
1.7 Микропроцессорная система на базе 32-разрядного AVR-микроконтроллера серии STM32 24
2. РАСЧЕТНАЯ ЧАСТЬ 28
2.1 Рекомендации по включению микроконтроллера pic16f84a 28
2.2 Расчет принципиальной схемы устройства на базе микроконтроллера PIC16F84A 31
2.3 Разработка блок схемы алгоритма работы микроконтроллера 35
2.4 Разработка программы и hex-файла программы 36
2.5 Разработка печатной платы устройства 37
ЗАКЛЮЧЕНИЕ 42
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 43
ВВЕДЕНИЕ
Целью данной курсовой работы является получение новых и закрепление ранее приобретенных теоретических знаний в области микроконтроллеров, программ на языке Assembler для этих микроконтроллеров, изучение их архитектуры, общих характеристик, организации памяти. Главной цель данной курсовой работы является разработка устройства на основе микроконтроллера PIC16F84A, а также написание программного обеспечения выполняющего попеременное мигание трех светодиодов с частотой в 3 Гц. Для данного устройства должна быть разработана принципиальная схема, написан листинг программы для микроконтроллера и составлена печатная плата.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Общая характеристика 32-разрядных ARM-микроконтроллеров
Микроконтроллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять относительно простые задачи. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства. При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В отличие от обычных компьютерных микропроцессоров, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно.
Как описывалось во введении, микроконтроллер -микросхема, предназначенная для управления электронными устройствами.В данном случае рассматриваются 32-разрядные ARM-микроконтроллеры.
Сокращение ARM происходит от названия английской компании Advanced RISC Machines, основанной в 1990 г. в результате сотрудничества компаний Acorn и Apple Computer's. Фирма поставляет свои разработки в электронном виде, на основе которых клиенты конструируют свои собственные микропроцессоры и микроконтроллеры. В настоящее время архитектура ARM занимает лидирующие позиции и охватывает 75% рынка 32-разрядных встраиваемых RISC микропроцессоров. Фактически можно говорить об архитектуре ARM как о промышленном стандарте. Распространённость ядра предоставляет возможность разработчику более гибко использовать свои и сторонние программные наработки как при переходе на новое процессорное ARM ядро, так и при «миграциях» между разными типами ARM микроконтроллеров.
Архитектура ARM отражает собственную философию компании, суть которой – максимальное удовлетворение требованиям встраиваемых систем. Для этого разработчики не стали замыкаться в формальных рамках RISC архитектуры, а в одном продукте реализовали идеи, ранее считавшиеся несовместимыми.
Хотя в своей основе ядро ARM отталкивается от идеологии RISC архитектуры (ограниченный набор команд, очередь выборки инструкций, активное использование регистров и ограниченный доступ к памяти), оно не является «чистым» представителем RISC.
Не все инструкции ARM выполняются за один цикл. Например, есть инструкции, позволяющие переслать между памятью и регистрами 16 слов по 32 разряда. Поскольку подобные операции активно используются компиляторами при каждом вызове и возврате из функций, введение таких инструкций существенно ускоряет работу программы, и минимизируют размер кода.В состав системы команд входят так же инструкции обращения к аппаратному сопроцессору. Это позволяет разработчикам микроконтроллеров на базе ARM расширять возможности базовой архитектуры, добавляя свои сопроцессоры в случае необходимости.
Дополнительно к ARM архитектуре могут интегрироваться несколько расширений:
- Thumb® – 16разрядный набор инструкций, улучшающий эффективность использования памяти программ;
- DSP – набор арифметических инструкций для цифровой обработки сигналов;
- Jazelle™ – расширение для аппаратного непосредственного исполнения Java инструкций;
- Media – расширение для 2-4 кратного увеличения скорости обработки аудио и видеосигналов.
РАСЧЕТНАЯ ЧАСТЬ
2.
Рекомендации по включению микроконтроллера PIC16F84A
Данная простейшая микропроцессорная система строится согласно задания на основе микроконтроллера PIC16F84A. Данный микроконтроллер является базовой моделью микроконтроллера среднего уровня фирмы Microchipи имеет корпус с 18 выводами, 14-ти разрядное процессорное ядро, 8-ми разрядную шину данных и 2 порта: portA и portB.
Серия PIC16F84 подходит для широкого спектра приложений от схем высокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемопередатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.).
Малые размеры корпусов, как для обычного, так и для поверхностного монтажа, делает эту серию микроконтроллеров пригодной для портативных приложений. Низкая цена, экономичность, быстродействие, простота использования и гибкость ввода/вывода делает PIC16F84 привлекательным даже в тех областях, где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткой логики в больших системах, сопроцессоры.
Следует добавить, что встроенный автомат программирования EEPROM кристалла PIC16F84 позволяет легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования.
Обзор характеристик микроконтроллера pic16f84a:
- 14- битовые команды;
- 8- битовые данные;
- 1024 х 14 электрически перепрограммируемой программной памяти на кристалле (EEPROM);
- 36 х 8 регистров общего использования;
- 15 специальных аппаратных регистров SFR;
- 64 x 8 электрически перепрограммируемой EEPROM памяти для данных;
- восьмиуровневый аппаратный стек;
- прямая, косвенная и относительная адресация данных и команд;
- четыре источника прерывания.
Данный микроконтроллер спроектирован в dip корпусе с 18-выводами и имеет следующий вид:
Обозначение выводов и их назначение указаны в таблице 1:
Таблица 1 - подключение микроконтроллера pic16f84a
№ | Обозначение | Нормальный режим |
RA0 - RA3 | Двунаправленные линии ввода/вывода. Входные уровни ТТЛ | |
RA4/RTCC | Вход через триггер Шмидта. Ножка порта ввода/вывода с открытым стоком или вход частоты для таймера/счетчика RTCC | |
RB0/INT | Двунаправленная линия порта ввода/ вывода или внешний вход прерывания. Уровни ТТЛ | |
RB1 - RB5 | Двунаправленные линии ввода/ вывода. Уровни ТТЛ | |
RB6 | Двунаправленные линии ввода/ вывода. Уровни ТТЛ. | |
RB7 | Двунаправленные линии ввода/ вывода. Уровни ТТЛ. | |
MCLR/Vрр | Низкий уровень на этом входе генерирует сигнал сброса для контроллера. Активный низкий. | |
OSC1/CLKIN | Для подключения кварца, RC или вход внешней тактовой частоты | |
OSC2/CLKOUT | Генератор, выход тактовой частоты в режиме RC генератора, в остальных случаях - для подкл. кварц | |
Vdd | Напряжение питания | |
Vss | Общий(земля) |
Pic микропроцессорной системы её необходимо запитать. МикроконтроллерыPic16f84aтребуют напряжения питания в основном в диапазоне от 4-6 В. Во многих приложениях используется батарейное питание. При подключении микроконтроллеровpic16f84a к источнику питания необходим сглаживающий фильтр емкостью 0.1mFмежду выводами «+»Vddи «-»Vssрекомендуется керамический или тонталовый конденсатор, имеющий малые потери. Этот конденсатор обеспечивает повышенный выход выходного тока.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 4
1.1 Общая характеристика 32-разрядных ARM-микроконтроллеров 4
1.2 Архитектура, принцип работы и возможности 32-разрядных ARM-микроконтроллеров серии STM 32 F100 C4 6
1.3 Схема включения STM32 F100 C4 9
1.4 Порты общего назначения GPIO 10
1.5 Организация памяти в микроконтроллерах STM32 13
1.6 Универсальный последовательный порт USART 16
1.7 Микропроцессорная система на базе 32-разрядного AVR-микроконтроллера серии STM32 24
2. РАСЧЕТНАЯ ЧАСТЬ 28
2.1 Рекомендации по включению микроконтроллера pic16f84a 28
2.2 Расчет принципиальной схемы устройства на базе микроконтроллера PIC16F84A 31
2.3 Разработка блок схемы алгоритма работы микроконтроллера 35
2.4 Разработка программы и hex-файла программы 36
2.5 Разработка печатной платы устройства 37
ЗАКЛЮЧЕНИЕ 42
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 43
ВВЕДЕНИЕ
Целью данной курсовой работы является получение новых и закрепление ранее приобретенных теоретических знаний в области микроконтроллеров, программ на языке Assembler для этих микроконтроллеров, изучение их архитектуры, общих характеристик, организации памяти. Главной цель данной курсовой работы является разработка устройства на основе микроконтроллера PIC16F84A, а также написание программного обеспечения выполняющего попеременное мигание трех светодиодов с частотой в 3 Гц. Для данного устройства должна быть разработана принципиальная схема, написан листинг программы для микроконтроллера и составлена печатная плата.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Общая характеристика 32-разрядных ARM-микроконтроллеров
Микроконтроллер (англ. Micro Controller Unit, MCU) — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает на одном кристалле функции процессора и периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это однокристальный компьютер, способный выполнять относительно простые задачи. Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также 32-битные микроконтроллеры, архитектуры ARM, которую разрабатывает фирма ARM Limited и продаёт лицензии другим фирмам для их производства. При проектировании микроконтроллеров приходится соблюдать баланс между размерами и стоимостью с одной стороны и гибкостью и производительностью с другой. Для разных приложений оптимальное соотношение этих и других параметров может различаться очень сильно. Поэтому существует огромное количество типов микроконтроллеров, отличающихся архитектурой процессорного модуля, размером и типом встроенной памяти, набором периферийных устройств, типом корпуса и т. д. В отличие от обычных компьютерных микропроцессоров, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно.
Как описывалось во введении, микроконтроллер -микросхема, предназначенная для управления электронными устройствами.В данном случае рассматриваются 32-разрядные ARM-микроконтроллеры.
Сокращение ARM происходит от названия английской компании Advanced RISC Machines, основанной в 1990 г. в результате сотрудничества компаний Acorn и Apple Computer's. Фирма поставляет свои разработки в электронном виде, на основе которых клиенты конструируют свои собственные микропроцессоры и микроконтроллеры. В настоящее время архитектура ARM занимает лидирующие позиции и охватывает 75% рынка 32-разрядных встраиваемых RISC микропроцессоров. Фактически можно говорить об архитектуре ARM как о промышленном стандарте. Распространённость ядра предоставляет возможность разработчику более гибко использовать свои и сторонние программные наработки как при переходе на новое процессорное ARM ядро, так и при «миграциях» между разными типами ARM микроконтроллеров.
Архитектура ARM отражает собственную философию компании, суть которой – максимальное удовлетворение требованиям встраиваемых систем. Для этого разработчики не стали замыкаться в формальных рамках RISC архитектуры, а в одном продукте реализовали идеи, ранее считавшиеся несовместимыми.
Хотя в своей основе ядро ARM отталкивается от идеологии RISC архитектуры (ограниченный набор команд, очередь выборки инструкций, активное использование регистров и ограниченный доступ к памяти), оно не является «чистым» представителем RISC.
Не все инструкции ARM выполняются за один цикл. Например, есть инструкции, позволяющие переслать между памятью и регистрами 16 слов по 32 разряда. Поскольку подобные операции активно используются компиляторами при каждом вызове и возврате из функций, введение таких инструкций существенно ускоряет работу программы, и минимизируют размер кода.В состав системы команд входят так же инструкции обращения к аппаратному сопроцессору. Это позволяет разработчикам микроконтроллеров на базе ARM расширять возможности базовой архитектуры, добавляя свои сопроцессоры в случае необходимости.
Дополнительно к ARM архитектуре могут интегрироваться несколько расширений:
- Thumb® – 16разрядный набор инструкций, улучшающий эффективность использования памяти программ;
- DSP – набор арифметических инструкций для цифровой обработки сигналов;
- Jazelle™ – расширение для аппаратного непосредственного исполнения Java инструкций;
- Media – расширение для 2-4 кратного увеличения скорости обработки аудио и видеосигналов.