Микропроцессорные устройства и системы (вводная лекция)

Содержание

Слайд 2

Микропроцессорные устройства и системы (МПУиС)

Архитектура микроконтроллеров
Компиляторы
Программаторы
Программирование и отладка контроллеров
Порты ввода-вывода
Таймеры/счетчики и ШИМ

Микропроцессорные устройства и системы (МПУиС) Архитектура микроконтроллеров Компиляторы Программаторы Программирование и отладка
сигнал
АЦП преобразователи
UART и RS-232/RS-485

Слайд 3

Микропроцессорные устройства и системы Архитектура микроконтроллера

CISC (Complex Instruction Set Computer) - выполняют более

Микропроцессорные устройства и системы Архитектура микроконтроллера CISC (Complex Instruction Set Computer) -
200 команд разной степени сложности, которые имеют размер от 1 до 15 байт и обеспечивают более 10 различных способов адресации.
нефиксированное значение длины команды и инструкций;
арифметические действия кодируются в одной команде;
небольшое число регистров, каждый из которых выполняет строго определённую функцию.
ориентация на процессор
RISC (Reduced Instruction Set Computer) - использование ограниченного набора команд фиксированного формата.
реализуют не более 100 команд, имеющих фиксированный формат длиной 4 байта.
фиксированная длина инструкций
значительно сокращено число используемых способов адресации
быстродействие увеличивается за счёт упрощения инструкций, но глубокого использования компилятора
VLIW (Very Large Instruction Word) - архитектура с очень длинными командами (128 бит и более), отдельные поля которых содержат коды, обеспечивающие выполнение различных операций

Слайд 4

Микропроцессорные устройства и системы Архитектура микроконтроллера

RISC – много отдельных коротких команд центральному процессору,

Микропроцессорные устройства и системы Архитектура микроконтроллера RISC – много отдельных коротких команд
которые сразу быстро выполняются

CISC – большие команды центральному процессору, которые разбиваются внутри на микроинструкции и в последствии выполняются разом

Одна большая или много маленьких команд выполнятся быстрее?

Слайд 5

Микропроцессорные устройства и системы Архитектура микроконтроллера

Микропроцессорные устройства и системы Архитектура микроконтроллера

Слайд 6

Принстонская архитектура (архитектура Фон-Неймана) - характеризуется использованием общей оперативной памяти для хранения

Принстонская архитектура (архитектура Фон-Неймана) - характеризуется использованием общей оперативной памяти для хранения
команд (программ) и памяти данных, а также для организации стека. Для обращения к этой памяти используется общая системная шина, по которой в процессор поступают и команды, и данные
Достоинство:
наличие общей памяти
общая шина данных для передачи команд и данных значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность
Недостаток:
необходимость последовательной выборки команд и обрабатываемых данных по общей системной шине, что ограничивает наращивание производительности цифровой системы

Микропроцессорные устройства и системы Архитектура микроконтроллера

Слайд 7

Гарвардская архитектура - физическое разделение памяти команд (программ) и памяти данных.
Достоинство:
Каждый

Гарвардская архитектура - физическое разделение памяти команд (программ) и памяти данных. Достоинство:
внутренний блок памяти соединяется с процессорным ядром отдельной шиной, что позволяет одновременно с чтением-записью данных при выполнении текущей команды производить выборку и декодирование следующей команды
более высокая производительность, чем при использовании Принстонской архитектуры
Недостаток:
сложность изготовления кристалла с большим количеством шин
фиксированным объемом памяти, выделенной для команд и данных, значение которой не может оперативно перераспределяться в соответствии с требованиями решаемой задачи

Микропроцессорные устройства и системы Архитектура микроконтроллера

Слайд 8

Типовая модульная внутренняя структура 8-разрядного микроконтроллера

Микропроцессорные устройства и системы Архитектура микроконтроллера

Типовая модульная внутренняя структура 8-разрядного микроконтроллера Микропроцессорные устройства и системы Архитектура микроконтроллера

Слайд 9

Микропроцессорные устройства и системы Архитектура микроконтроллера AT Mega16

На схеме показываются внутренние взаимосвязи модулей
Общая

Микропроцессорные устройства и системы Архитектура микроконтроллера AT Mega16 На схеме показываются внутренние
шина данных объединяет все внутренние модули микроконтроллера
На схеме явно обозначено 4 порта ввода-вывода (два сверху и два снизу), один АЦП, один USART и т.д.

Слайд 10

Микропроцессорные устройства и системы Архитектура микроконтроллера AT Mega16

Варианты корпусного исполнения:
Прошивка контроллера обычно не

Микропроцессорные устройства и системы Архитектура микроконтроллера AT Mega16 Варианты корпусного исполнения: Прошивка
зависит от корпуса – один и тот же код для разных вариантов расположения выводов.
Для изучения и отладки обычно выбирают корпус большего размера – удобно паять, подключать приборы, осциллографы..
Для финального варианта выбираю корпус меньшего габарита

Слайд 11

Микропроцессорные устройства и системы. Программирование и отладка микроконтроллеров

USB

SPI / UART

программирование

USB

JTAG

Отладка через jtag-программатор

5..10$

50..1000$

Микропроцессорные устройства и системы. Программирование и отладка микроконтроллеров USB SPI / UART

Слайд 12

Микропроцессорные устройства и системы. Компиляторы для микроконтроллеров - Atmel Studio7 (бесплатная)

Интегрированный компилятор C/C++;
Интегрированный

Микропроцессорные устройства и системы. Компиляторы для микроконтроллеров - Atmel Studio7 (бесплатная) Интегрированный
симулятор;
При помощи плагина возможна поддержка компилятора GCC в виде сборки WinAVR;
Поддержка инструментов Atmel, совместимых с 8-разрядной AVR архитектурой0;
Поддержка плагина AVR RTOS;
Интерфейс командной строки с поддержкой TPI.

Программный
код

Значения
переменных

сообщения

Настройки
проекта

Слайд 13

Микропроцессорные устройства и системы. Компиляторы для микроконтроллеров - IAR Embedded Workbench (платная)

Многофункциональная среда

Микропроцессорные устройства и системы. Компиляторы для микроконтроллеров - IAR Embedded Workbench (платная)
разработки приложений на языках C, C++ и ассемблере для целого ряда микроконтроллеров от различных производителей.
Интегрированный компилятор C/C++;
Поддерживает работу с 8-, 16-, 32-разрядными микроконтроллерами от Atmel, ARM, NEC, Infineon, Analog Devices, Cypress, Microchip Technologies, Micronas, Dallas Semiconductor/Maxim, Ember, Luminary, NXP, OKI, Samsung, National Semiconductor, Texas Instruments, STMicroelectronics, TI/Chipcon, Silicon Labs…

Слайд 14

Микропроцессорные устройства и системы. Компиляторы для микроконтроллеров -  Keil uVision  (платная)

Среда программирования разработана

Микропроцессорные устройства и системы. Компиляторы для микроконтроллеров - Keil uVision (платная) Среда
компанией Keil, которая была основана в Мюнхене в 1982 году братьями Гюнтером и Рейнхардом. В октябре 2005 года Keil вошла в состав американской корпорации ARM.
Интегрированный компилятор C/C++;
Макроассемблер,
Отладчики, симуляторы, линкеры, IDE-приложения

Слайд 15

Микропроцессорные устройства и системы. Программаторы для микроконтроллеров AVR

 AVR ONE!

JTAG ICE mkII

AVR ISP

AVR ISP

Микропроцессорные устройства и системы. Программаторы для микроконтроллеров AVR AVR ONE! JTAG ICE
mkII

Программирование и отладка

Программирование

Простейший AVR USB
Программатор USBASP

Слайд 16

Микропроцессорные устройства и системы. Загрузка программы в микроконтроллер используя внутрисхемное программирование (ISP)

Программатор AVR

Микропроцессорные устройства и системы. Загрузка программы в микроконтроллер используя внутрисхемное программирование (ISP)
ISP mkII
USB AVR программатор (USBASP)

SPI

USB

“ISP разъем”

Слайд 17

Микропроцессорные устройства и системы.

Общие сведения о портах ввода/вывода atmaga 16

DDRx – Настройка разрядов

Микропроцессорные устройства и системы. Общие сведения о портах ввода/вывода atmaga 16 DDRx
порта x на вход или выход.
Весь порт настроен на выход=1
Весь порт настроен на вход =0
PORTx – Управление состоянием выходов порта x
PINx –Чтение логических уровней разрядов порта x.
На вывод 0,1,7 порта подана 1

DDRB = 0b10000001; или DDRB |= 0x01;
PORTB |= (1<

MyKeyBoard = PINB; // читаем состояние порта B

Слайд 18

Микропроцессорные устройства и системы. Общие сведения о Таймерах-счетчиках atmaga 16

Общие регистры, относящиеся ко

Микропроцессорные устройства и системы. Общие сведения о Таймерах-счетчиках atmaga 16 Общие регистры,
всем трем таймерам ATmega16: TIMSK - конфигурационный регистр TIFR - статусный регистр флагов SFIOR - регистр специальных функций
Для таймера 0 (8бит)
1.TCNT0 - счетный регистр 2.OCR0 - регистр сравнения  3.TCCR0 - конфигурационный регистр. Для таймера 1 (16бит)
1. TCNT1 Timer/Counter1 – регистр, содержащий текущее значение таймера счетчика 1
2. TCCR1A Timer/Counter1 Control Register A – регистр задания режимов таймера/счетчика 1
3. TCCR1B Timer/Counter1 Control Register B – регистр задания режимов таймера/счетчика 1
4. OCR1A Timer/Counter Output1 Compare Register A – выходной регистр компаратора A
5. OCR1B Timer/Counter Output1 Compare Register B – выходной регистр компаратора B
6. ICR1 Timer/Counter1 Input Capture Register1 – входной регистр защелки 1-го таймера

Считающий в “фоне” Таймер не нагружает ЦПУ и не сказывается на свободном процессорном времени

Слайд 19

Микропроцессорные устройства и системы. Общие сведения о Таймерах-счетчиках atmaga 16

Функциональная блок схема Таймера

Микропроцессорные устройства и системы. Общие сведения о Таймерах-счетчиках atmaga 16 Функциональная блок схема Таймера 0,2 (8-бит)
0,2 (8-бит)

Слайд 20

Микропроцессорные устройства и системы. Общие сведения о Таймерах-счетчиках atmaga 16

Функциональная блок схема Таймера

Микропроцессорные устройства и системы. Общие сведения о Таймерах-счетчиках atmaga 16 Функциональная блок схема Таймера 1 (16-бит)
1 (16-бит)

Слайд 21

Микропроцессорные устройства и системы. Таймеры счетчики

TCNT0

Это 8-ми разрядный счетный регистр. Когда таймер

Микропроцессорные устройства и системы. Таймеры счетчики TCNT0 Это 8-ми разрядный счетный регистр.
работает, по каждому импульсу тактового сигнала значение TCNT0 изменяется на единицу. 

OCR0  

Это 8-ми разрядный регистр сравнения. Его значение постоянно сравнивается со счетным регистром TCNT0, и в случае совпадения таймер может выполнять какие-то действия

TCCR0
(Timer/Counter Control Register)

Это конфигурационный регистр таймера-счетчика Т0

Слайд 22

Микропроцессорные устройства и системы. Таймеры счетчики

TCNT0, TCNT1, TCNT2 - При работающем таймере

Микропроцессорные устройства и системы. Таймеры счетчики TCNT0, TCNT1, TCNT2 - При работающем
T0 в TCNT0 будет прибавляться/вычитаться 1 (единица) TCNT0 = 0…255 (1111 1111 b)
OCR0 Регистр сравнения. Число, записанное в OCR0 постоянно сравнивается с TCNT0.

Нормальный режим,
Режим быстрой широтно-импульсной модуляции

Счет в TCNT0,1,2 происходит от мин. 0 до макс. 255 (для 8бит ) или 65 535(для 16бит таймеров).
Происходит сброс TCNT0,1,2 при достижении макс.значений + установка флага.
При равенстве TCNT0 = OCR0 выставляется флаг и/или прерывание.
На ножку OC0 можно назначить авто.вывод 1 или 0 если TCNT0 > OCR0 или TCNT0 < OCR0 (решим ШИМ).
С ножки OC0 можно считывать импульсы 1/0, которые будут увеличивать TCNT0.

Слайд 23

Микропроцессорные устройства и системы. Таймеры счетчики

Режим ШИМ с фазовой коррекцией

Счет в TCNT0

Микропроцессорные устройства и системы. Таймеры счетчики Режим ШИМ с фазовой коррекцией Счет
происходит от мин. 0 до макс. 255 (для 8бит ) или 65 535(для 16бит таймеров).
Происходит изменение счета TCNT0 при достижении макс.значений + установка флага.
При равенстве TCNT0 = OCR0 выставляется флаг и/или прерывание.
На ножку OC0 можно назначить авто.вывод 1 или 0 если TCNT0 > OCR0 или TCNT0 < OCR0 (решим ШИМ).
С ножки OC0 можно считывать импульсы 1/0, которые будут увеличивать TCNT0.

Слайд 24

Микропроцессорные устройства и системы. Таймеры счетчики

Счет в TCNT0 происходит от мин. 0 до

Микропроцессорные устройства и системы. Таймеры счетчики Счет в TCNT0 происходит от мин.
значения записанного в регистр OCR .
Происходит сброс счета TCNT0 при достижении значения OCR + установка флага.
При равенстве TCNT0 = OCR0 выставляется флаг и/или прерывание.
На ножку OC0 можно назначить авто.вывод 1 или 0 если TCNT0 > OCR0 или TCNT0 < OCR0 (решим ШИМ).
С ножки OC0 можно считывать импульсы 1/0, которые будут увеличивать TCNT0.

Режим сброса таймера при совпадении (СТС)

Слайд 25

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital Converter) AT

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital
mega16

В процессоре 1 АЦП модуль позволяет мультиплексировать 8 выводов
Последовательное измерение 1 сигнала с выводов ADC0-ADC7

Слайд 26

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital Converter) AT

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital
mega16

Основные характеристики:
• 10-разрядное разрешение.
• Интегральная нелинейность 0.5 мл. разр.
• Абсолютная погрешность ±2 мл. разр.
• Время преобразования 13–260 мкс.
• Частота преобразования до 15 тыс. преобразований в секунду при
максимальном разрешении.
• 8 мультиплексированных однополярных каналов (входов).
• 7 дифференциальных каналов (входов).
• 2 дифференциальных канала (входа) с подключаемым усилением на
10 и 200.
• Представление результата с левосторонним или правосторонним выравниванием в 16-разрядном слове.
• Диапазон входного напряжения ADC 0…VCC.
• Выборочный внутренний ИОН (Reference Voltage) на 2,56 В.
• Режимы одиночного преобразования и автоматического перезапуска.
• Прерывание по завершении преобразования ADC.
• Механизм подавления шумов в режиме сна.

Слайд 27

ADC 16бит (ADCL и ADCH по 8 бит каждый) – регистры данных

ADC 16бит (ADCL и ADCH по 8 бит каждый) – регистры данных
ADC

ADMUX (ADC Multiplexer Select Register)

ADCSRA (ADC Control and Status Register)

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital Converter) AT mega16

Слайд 28

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital Converter) AT

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital
mega16

Узел тактового делителя АЦП позволяет изменить скорость/частоту работы АЦП

ADCSRA (ADC Control and Status Register)

Обычно, при более низкой скорости работы АЦП повышается точность измерений

Изменение скорости работы АЦП

Слайд 29

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital Converter) AT

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital
mega16

Узел внутреннего усиления АЦП позволяет программно усилить аналоговый сигнал Узел дифференциального измерения позволяет анализировать разностный сигнал

ADMUX (ADC Multiplexer Select Register)

Усиление сигнала в АЦП и измерение диф.сигнал

Слайд 30

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital Converter) AT

Микропроцессорные устройства и системы. Модуль АЦП – аналого-цифровой преобразователь (Analog to Digital
mega16

Узел опорного напряжения АЦП позволяет выбрать опорный аналоговый сигнал

ADMUX (ADC Multiplexer Select Register)

Источники опорного напряжения:
Питание АЦП – самое «шумное»
Внутреннее опорное = 2,56В. – стабильнее AVCC
Внешнее опорное, поданное на ножку AREF. – самое точное

Выбор опорного напряжения АЦП

Слайд 31

Микропроцессорные устройства и системы. Модуль UART ATmega16

Современные примеры использования

GSM/GPRS чип

Микроконтроллер с UART (AtMega,

Микропроцессорные устройства и системы. Модуль UART ATmega16 Современные примеры использования GSM/GPRS чип
Pic, STM…)

Купюроприемники

Считыватели магнитных карт

Банковские терминалы

Контроль доступа

Слайд 32

Микропроцессорные устройства и системы. Модуль UART ATmega16

Отвечающие за работу регистры:
UDR - Регистр данных
UCSRA

Микропроцессорные устройства и системы. Модуль UART ATmega16 Отвечающие за работу регистры: UDR
- Управляющий регистр
UCSRB - Управляющий регистр
UCSRC - Управляющий регистр
UBRRL и UBRRH - Регистры скорости передачи

Слайд 33

Микропроцессорные устройства и системы. Модуль UART ATmega16

Общий формат пакета данных

1 Старт бит
0,1,2,3,4 –

Микропроцессорные устройства и системы. Модуль UART ATmega16 Общий формат пакета данных 1
обязательные биты данных
[5],[6],[7],[8],[9] – не обязательные биты данных
[SP2] – стоп бит может быть, либо нет

St - Старт бит, всегда 0
Sp - Стоп бит, всегда 1
P – Бит четности данных может быть либо нет

Типовой (стандартный) формат пакета данных

Слайд 34

Микропроцессорные устройства и системы. Модуль UART ATmega16

Настройка UART

Передача 8 бит данных

Прием 8 бит

Микропроцессорные устройства и системы. Модуль UART ATmega16 Настройка UART Передача 8 бит
данных

Слайд 35

UDR = MyDataByte; // отправить 1байт данных, записав их в регистр UDR
MyDataByte

UDR = MyDataByte; // отправить 1байт данных, записав их в регистр UDR
= UDR ; // получить 1байт данных, прочитав их из регистра UDR

Микропроцессорные устройства и системы. Модуль UART ATmega16

Интерфейс RS-232 (Com Port)

Скорость (Бод) / Длина неэкран. кабеля/ 110 — 914,4 м 300 — 914,4 м 1200 — 914,4 м 2400 — 152,4 м 4800 — 76,2 м 9600 — 76, 2 м

Слайд 36

Микропроцессорные устройства и системы.

Интерфейс RS-485/422. Прототип Ethernet

Среда передачи – витая пара

62,5 кбит/с

Микропроцессорные устройства и системы. Интерфейс RS-485/422. Прототип Ethernet Среда передачи – витая
1200 м (одна витая пара),
375 кбит/с 500 м (одна витая пара),
500 кбит/с,
1000 кбит/с,
2400 кбит/с 100 м (две витых пары),
10000 кбит/с 10 м

Слайд 37

Микропроцессорные устройства и системы.

Интерфейс RS-485/422. Прототип Ethernet

Микропроцессорные устройства и системы. Интерфейс RS-485/422. Прототип Ethernet

Слайд 38

Микропроцессорные устройства и системы.

Многозадачность. Особенности. Рекомендации

На примере управления квадрокоптера.
Особенности работы:
Непрерывная выдача сигналов

Микропроцессорные устройства и системы. Многозадачность. Особенности. Рекомендации На примере управления квадрокоптера. Особенности
на двигатели . При сбое – падение аппарата.
Непрерывный прием данных с пульта оператора. При сбое – потеря управления.
Мониторинг напряжения аккумулятора. При сбое – разряд.

Слайд 39

Микропроцессорные устройства и системы.

Многозадачность. Особенности. Рекомендации

Радиопередатчик
(GPRS,2,4ГГц,868МГц…)

UART

Токи/напряжения
диагностика

ADC

SPI

Flash память

GPIO
Timer0

Индикатор 7сегментный LED

GPIO
Timer1

GPIO
Timer2

ШИМ сигнал на

Микропроцессорные устройства и системы. Многозадачность. Особенности. Рекомендации Радиопередатчик (GPRS,2,4ГГц,868МГц…) UART Токи/напряжения диагностика
драйверы двигателей 2шт

ШИМ сигнал на драйверы двигателей 2шт

МК

ЦПУ

Работа с таймерами, UART, ADC.. на прерываниях. Максимальное задействие возможностей встроенных модулей.
Избегать программной реализации Таймеров, ШИМ, UART..
Избегать длительного ожидания флагов/данных, блокирующих работу основной программы
Уменьшать время выполнения в процедурах прерываний

Слайд 40

Микропроцессорные устройства и системы.

Многозадачность. Особенности. Рекомендации

Радиопередатчик
(GPRS,2,4ГГц,868МГц…)

UART

Токи/напряжения
диагностика

ADC

SPI

Flash память

GPIO
Timer0

Индикатор 7сегментный LED

GPIO
Timer1

GPIO
Timer2

ШИМ сигнал на

Микропроцессорные устройства и системы. Многозадачность. Особенности. Рекомендации Радиопередатчик (GPRS,2,4ГГц,868МГц…) UART Токи/напряжения диагностика
драйверы двигателей 2шт

ШИМ сигнал на драйверы двигателей 2шт

МК

ЦПУ

Таймер 0,2 формирует ШИМ сигнал управления двигателями, в прерывании
UART при приеме данных управления переходит на свое прерывание
ADC при окончании измерений в своем прерывании хранит результаты
Таймер1, по окончании счета, в своем прерывании обновляет данные на LED
SPI в прерывании отправляет данные во Flash

Прерывания – спасение в нагруженных задачах.

Слайд 41

Микропроцессорные устройства и системы.

Многозадачность. Особенности. Рекомендации

Прерывания - получение информации, основная программа -

Микропроцессорные устройства и системы. Многозадачность. Особенности. Рекомендации Прерывания - получение информации, основная
обработка

//программа обработки прерывания по переполнению таймера
ISR(TIMER2_OVF_vect)
{ …… // свой код
}

 //подпрограмма обработки прерывания от АЦП
ISR(ADC_vect)
{
…… // свой код
}
………. Другие прерывания …

//программа обработки прерывания по переполнению таймера
ISR(TIMER1_OVF_vect)
{ …… // свой код
}

//программа обработки по приему данных
ISR( USART_RXC_vect )
{ …… // свой код
}

//основная программа
int Main (void)
{
//если измеренные параметры правильные, то if {****}
// если НЕ правильные значения курсов, токов, …,
else
{ корректируем и обрабатываем настройки, чтобы добиться требуемого
}
}

бесконечный цикл

Слайд 42

Микропроцессорные устройства и системы.

Заключение

Программирование микроконтроллеров сводится к настройке внутренних модулей через индивидуальные

Микропроцессорные устройства и системы. Заключение Программирование микроконтроллеров сводится к настройке внутренних модулей
регистры:
Портов ввода/вывода (PORTA, PORTB…)
Таймеров/счетчиков (T0,T1,T2…)
Шин ввода вывода (UART, SPI, i2C, USB…)
Преобразователей сигнала (АЦП, ЦАП, Компаратор..)
Внутренней памяти (EEPROM, Flash..)

и обмена информацией между модулями по различным условиям
Имя файла: Микропроцессорные-устройства-и-системы-(вводная-лекция).pptx
Количество просмотров: 28
Количество скачиваний: 0