Similar presentations:
Типы микроконтроллеров (часть 1)
1. Цифровые вычислительные устройства и микропроцессоры приборных комплексов
Тема 11.6 Типы микроконтроллеров – ЧАСТЬ 12. 1. Назначение микроконтроллеров
Микроконтроллер – это специализированный микропроцессор,предназначенный
для
построения
устройств
управления
техническими объектами и технологическими процессами.
Конструктивно микроконтроллер представляет собой большую
интегральную схему (БИС), на кристалле которой размещены все
составные
части
типовой
вычислительной
системы:
микропроцессор, память, а также периферийные устройства для
реализации дополнительных функций.
Так как все элементы микроконтроллера размещены на одном
кристалле,
их
также
называют
(однокорпусными)
микроЭВМ
или
микроконтроллерами.
однокристальными
однокристальными
Цель
применения микроконтроллеров – сокращение числа
компонентов, уменьшение размеров и снижение стоимости
приборов (систем).
2
3. Характерные черты микроконтроллеров
Характерные черты микроконтроллеров:RISC-архитектура (RISC – Reduced Instruction Set Computer –
вычислитель с сокращённым набором команд);
незначительная ёмкость памяти;
физическое и логическое разделение памяти программ и
памяти данных;
система команд ориентирована на решение задачи
управления.
Микроконтроллеры предназначены для решения задач
управления, контроля, регулирования и первичной обработки
информации и менее эффективны при реализации сложных
алгоритмов обработки данных.
Микроконтроллеры
составляют
наиболее
широкий
класс
микропроцессоров, используемых в приборах, устройствах и
системах различного назначения.
3
4. Состав типовой микроконтроллерной системы
В состав типовой микроконтроллерной системы управления входитмикроконтроллер и аппаратура его сопряжения с объектом
управления.
Панель
управления
Устройство
индикации
Обмен данными с внешними
устройствами
Микроконтроллер
Сигналы управления
Сигналы состояния
ФСУ
ИУ
ЦАП
Объект
управления или
регулируемый
процесс
ФСС
Д
АЦП
ФСУ – формирователи сигналов управления; ИУ – исполнительные
устройства; Д – датчики; ФСС – формирователи сигналов состояния
4
5. Функционирование типовой микроконтроллерной системы (1)
Микроконтроллер производит периодический опрос сигналовсостояния объекта и в соответствии с заложенным алгоритмом
генерирует последовательности сигналов управления.
Сигналы состояния характеризуют текущие параметры объекта
управления. Они формируются путём преобразования выходных
сигналов датчиков (Д) с помощью аналого-цифровых
преобразователей (АЦП) или формирователей сигналов состояния
(ФСС); последние чаще всего выполняют функции гальванической
развязки и формирования уровней.
Сигналы управления, выработанные микроконтроллером,
подвергаются преобразованию с помощью цифро-аналоговых
преобразователей (ЦАП) или формирователей сигналов
управления (ФСУ), в качестве которых применяются усилители
мощности, оптроны, транзисторные и тиристорные ключи и др.
Выходные сигналы ЦАП и ФСУ представляют собой
соответственно аналоговые и дискретные управляющие
воздействия, которые поступают на исполнительные устройства
(ИУ).
5
6. Функционирование типовой микроконтроллерной системы (2)
В системе могут быть также предусмотрены:панель управления,
устройство индикации;
интерфейс для обмена информацией с внешними
устройствами и другие устройства.
В зависимости от назначения и характеристик конкретной системы
некоторые из указанных элементов могут отсутствовать.
Разрядность выпускаемых микроконтроллеров варьируется от 4 до
64 бит.
Наибольшее распространение получили 8-разрядные
микроконтроллеры как пригодные для использования в различных
приложениях и имеющие низкую стоимость.
Характерными представителями таких устройств являются
микроконтроллеры семейства AVR фирмы Atmel
(http://www.atmel.com).
6
7. Семейства 8-разрядных микроконтроллеров
Семейства MCS51 (8051)-совместимых микроконтроллеров фирмPhilips, Dallas Semiconductor, Atmel, Cypress, Cygnal, Winbond и
многих других
Семейство PIC-контроллеров фирмы Microchip
Семейство AVR-микроконтроллеров фирмы Atmel
Семейство 68НС05/68НС08/68НС11 фирмы Motorola
Семейство Z8/Z80 фирмы Zilog
Семейство ST7 фирмы STMicroelectronics
…и огромное количество микроконтроллеров других фирм!
7
8. 2. Архитектура AVR-микроконтроллеров
AVR-микроконтроллеры – это 8-разрядные RISC-микроконтроллеры, отличительными особенностями которых
являются наличие FLASH-памяти программ, широкий спектр
периферийных устройств, высокая вычислительная
производительность, а также доступность средств разработки
программного обеспечения.
В состав семейства AVR в настоящее время входит более 50
различных устройств, которые подразделяются на несколько групп.
Универсальные AVR-микроконтроллеры входят в группы Tiny AVR и
Mega AVR.
Tiny AVR (ATtinyXХX) – дешёвые устройства с небольшим
количеством выводов.
Mega AVR (ATmegaXХX) – мощные AVR-микроконтроллеры,
имеющие наибольшие объёмы памяти и количество выводов, а
также максимально полный набор периферийных устройств.
Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
8
9. Архитектура AVR-микроконтроллеров (2)
Специализированные AVR-микроконтроллеры представлены следующимигруппами:
LCD AVR (ATmega169Х, ATmega329Х) – микроконтроллеры для работы с
жидкокристаллическими индикаторами;
USB AVR (AT43USBXХX, AT76C711) – микроконтроллеры с интерфейсом
USB;
Z-Link AVR (ATmegaXХRZX, ATXХRZX) – микроконтроллеры с интерфейсом
ZigBee;
CAN AVR (AT90CANXX, AT90CANXXX)– микроконтроллеры с интерфейсом
CAN;
DVD AVR (AT78CXХX) – контроллеры CD/DVD-приводов;
RF AVR (AT86RFХХХ) – микроконтроллеры для построения систем
беспроводной связи;
Secure AVR (AT90SCXХХX, AT97SCXХХX) – микроконтроллеры для смарткарт;
Smart Battery AVR (ATmega406) – микроконтроллер для управления
зарядом батарей;
Lighting AVR (AT90PWMXX) – микроконтроллеры для управления
электронным балластом люминесцентных ламп;
FPGA AVR (AT94KXХAL) – AVR-микроконтроллеры, выполненные на одном
кристалле с ПЛИС.
Кроме того, ранее выпускалась группа Classic AVR (AT90SXXХX) –
устройства,
занимающие
промежуточное
положение
между
микроконтроллерами групп Mega и Tiny (заменены совместимыми
усовершенствованными аналогами группы Mega).
Цифровые вычислительные устройства и микропроцессоры приборных комплексов - Лекция 7
9
10. Архитектура AVR-микроконтроллеров (3)
DevicesAT90CAN128 Automotive
AT90PWM1
Packages
UART
TWI
ISP
10-bit A/D
(channels)
Analog
Comparator
Brown
Out
Detector
Watchdog
On Chip
Oscillator
Hardware
Multiplier
Interrupts
Ext
Interrupts
Self
Program
Memory
Yes
2
--
Yes
8
Yes
Yes
Yes
Yes
Yes
34
8
Yes
MLF 64 LQFP 64
1
No
--
Yes
8
Yes
Yes
Yes
Yes
Yes
--
4
Yes
Narrow SOIC 24
Narrow SOIC 24
EEPROM
(Kbytes)
SRAM
(Bytes)
Max
I/O
Pins
F.max
(MHz)
Vcc (V)
16-bit
Timers
8-bit
Timer
PWM
(channels)
RTC
SPI
128
4
4096
53
16
2.7-5.5
2
2
8
Yes
8
0.5
512
19
16
2.7-5.5
1
1
7
Yes
Flash
(Kbytes)
8
0.5
512
19
16
2.7-5.5
1
1
7
Yes
1
Yes
--
Yes
8
Yes
Yes
Yes
Yes
Yes
--
4
Yes
AT90PWM3
8
0.5
512
27
16
2.7-5.5
1
1
10
Yes
1
Yes
--
Yes
11
Yes
Yes
Yes
Yes
Yes
--
4
Yes
ATmega128
128
4
4096
53
16
2.7-5.5
2
2
8
Yes
1
2
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
34
8
Yes
ATmega1280
128
4
8192
86
16
1.8-5.5
4
2
16
Yes
1+USART
4
Yes
Yes
16
Yes
Yes
Yes
Yes
Yes
57
32
Yes
TQFP 100 CBGA 100
ATmega1281
128
4
8192
54
16
1.8-5.5
4
2
9
Yes
1+USART
2
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
48
17
Yes
MLF 64 TQFP 64
ATmega128RZA
128
4
8192
54
16
1.8-5.5
4
2
9
Yes
1+USART
2
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
48
17
Yes
MLF 64 TQFP 64
ATmega128RZB
TQFP 100
AT90PWM2
Pb-Free Packages
MLF 64 LQFP 64
MLF 32 Narrow SOIC 32
MLF 64 TQFP 64
128
4
8192
86
16
1.8-5.5
4
2
16
Yes
1+USART
4
Yes
Yes
16
Yes
Yes
Yes
Yes
Yes
57
32
Yes
ATmega16
16
0.5
1024
32
16
2.7-5.5
1
2
4
Yes
1
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
20
3
Yes
MLF 44 PDIP 40 TQFP 44
ATmega162
16
0.5
1024
35
16
1.8-5.5
2
2
6
Yes
1
2
--
Yes
--
Yes
Yes
Yes
Yes
Yes
28
3
Yes
MLF 44 PDIP 40 TQFP 44
ATmega164P
16
0.512
1024
32
20
1.8-5.5
1
2
6
Yes
1+USART
2
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
31
32
Yes
MLF 44 PDIP 40 TQFP 44
ATmega165
16
0.5
1024
54
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
23
17
Yes
MLF 64 TQFP 64
ATmega165P
16
0.5
1024
54
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
23
17
Yes
MLF 64 TQFP 64
ATmega168
16
0.5
1024
23
20
1.8-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
26
26
Yes
MLF 32 PDIP 28 TQFP 32
ATmega168 Automotive
16
0.512
1024
23
16
2.7-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
26
26
Yes
MLF 32 TQFP 32
ATmega169
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
23
17
Yes
MLF 64 TQFP 64
16
0.5
1024
54
16
1.8-5.5
1
2
ATmega169P
16
0.5
1024
54
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
23
17
Yes
ATmega2560
256
4
8192
86
16
1.8-5.5
4
2
16
Yes
1+USART
4
Yes
Yes
16
Yes
Yes
Yes
Yes
Yes
57
32
Yes
ATmega2561
256
4
8192
54
16
1.8-5.5
4
2
9
Yes
1+USART
2
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
48
17
Yes
MLF 64 TQFP 64
ATmega256RZA
256
4
8192
54
16
1.8-5.5
4
2
9
Yes
1+USART
2
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
48
17
Yes
MLF 64 TQFP 64
ATmega256RZB
MLF 64 TQFP 64
CBGA 100
TQFP 100
256
4
8192
86
16
1.8-5.5
4
2
16
Yes
1+USART
4
Yes
Yes
16
Yes
Yes
Yes
Yes
Yes
57
32
Yes
TQFP 100
ATmega32
32
1
2048
32
16
2.7-5.5
1
2
4
Yes
1
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
19
3
Yes
MLF 44 PDIP 40 TQFP 44
ATmega324P
32
1
2048
32
20
1.8-5.5
1
2
6
Yes
1+USART
2
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
31
32
Yes
MLF 44 PDIP 40 TQFP 44
ATmega325
32
1
2048
54
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
23
17
Yes
ATmega3250
32
1
2048
69
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
32
17
Yes
ATmega329
32
1
2048
54
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
25
17
Yes
ATmega3290
32
1
2048
69
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
25
32
Yes
MLF 64
ATmega406
40
0.512
2048
18
1
4-25
1
1
1
Yes
--
--
Yes
Yes
--
Yes
Yes
Yes
Yes
Yes
23
4
Yes
LQFP 48
ATmega48
4
ATmega48 Automotive
MLF 64 TQFP 64
MLF 64
TQFP 64 TQFP 100
MLF 64 TQFP 64 TQFP 100
TQFP 64 TQFP 100
MLF 32 PDIP 28 TQFP 32
0.256
512
23
20
1.8-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
26
26
Yes
4
0.256
512
23
16
2.7-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
26
26
Yes
ATmega64
64
2
4096
54
16
2.7-5.5
2
2
8
Yes
1
2
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
34
8
Yes
ATmega640
64
4
8192
86
16
1.8-5.5
4
2
16
Yes
1+USART
4
Yes
Yes
16
Yes
Yes
Yes
Yes
Yes
57
32
Yes
ATmega644
64
2
4096
32
20
1.8-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
31
32
Yes
ATmega644P
64
2
4096
32
20
1.8-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
31
32
Yes
ATmega645
64
2
4096
54
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
23
17
Yes
ATmega6450
64
2
4096
69
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
32
17
Yes
ATmega649
64
2
4096
54
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
25
17
Yes
ATmega6490
64
2
4096
69
16
1.8-5.5
1
2
4
Yes
1+USI
1
USI
Yes
8
Yes
Yes
Yes
Yes
Yes
25
32
Yes
ATmega64RZA
64
2
4096
32
20
1.8-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
31
32
Yes
ATmega8
8
0.5
1024
23
16
2.7-5.5
1
2
3
Yes
1
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
18
2
Yes
ATmega8515
8
0.5
512
35
16
2.7-5.5
1
1
3
--
1
1
--
Yes
--
--
Yes
Yes
Yes
Yes
16
3
Yes
PLCC 44
MLF 44 PDIP 40 TQFP 44
ATmega8535
8
0.5
512
32
16
2.7-5.5
1
2
4
--
1
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
20
3
Yes
PLCC 44
MLF 44 PDIP 40 TQFP 44
ATmega88
8
0.5
1024
23
20
1.8-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
26
26
Yes
MLF 32 PDIP 28 TQFP 32
ATmega88 Automotive
8
0.512
1024
23
16
2.7-5.5
1
2
6
Yes
1+USART
1
Yes
Yes
8
Yes
Yes
Yes
Yes
Yes
26
26
Yes
MLF 32 TQFP 32
ATtiny11
1
--
--
6
6
2.7-5.5
--
1
--
--
--
--
--
--
--
Yes
--
Yes
Yes
--
4
1
--
PDIP 8 SOIC (EIAJ) 8
ATtiny12
1
0.064
--
6
8
1.8-5.5
--
1
--
--
--
--
--
Yes
--
Yes
Yes
Yes
Yes
--
5
1
--
PDIP 8 SOIC (EIAJ) 8
ATtiny13
1
0.064
64B + 32 reg
6
20
1.8-5.5
--
1
2
--
--
--
--
Yes
4
Yes
Yes
Yes
Yes
No
9
6
Yes
ATtiny15L
1
0.0625
--
6
1.6
2.7-5.5
--
2
1
--
--
--
--
Yes
4
Yes
Yes
Yes
Yes
--
8
1(+5)
--
ATtiny2313
2
0.128
128
18
20
1.8-5.5
1
1
4
--
USI
1
USI
Yes
--
Yes
Yes
Yes
Yes
--
8
2
Yes
PDIP 20 SOIC 20 MLF 20
ATtiny24
2
0.128
128
12
20
1.8-5.5
1
1
4
--
USI
--
USI
Yes
8
Yes
Yes
Yes
Yes
--
17
12
Yes
SOIC 14 MLF 20 PDIP 14
ATtiny25
2
0.128
128
6
20
1.8-5.5
--
2
4
--
USI
--
USI
Yes
4
Yes
Yes
Yes
Yes
--
15
7
Yes
PDIP 8 SOIC (208mil) 8 MLF 20
ATtiny25 Automotive
2
0.128
128
6
16
2.7-5.5
--
2
4
--
USI
--
USI
Yes
4
Yes
Yes
Yes
Yes
--
15
7
Yes
SOIC (208mil) 8
ATtiny26
2
0.125
128
16
16
2.7-5.5
--
2
2
--
USI
--
USI
Yes
11
Yes
Yes
Yes
Yes
--
11
1
--
MLF 32 TQFP 32
MLF 64 TQFP 64
TQFP 100 CBGA 100
MLF 44 PDIP 40 TQFP 44
MLF 44 PDIP 40 TQFP 44
MLF 64 TQFP 64
MLF 64
TQFP 64 TQFP 100
MLF 64 TQFP 64 TQFP 100
MLF 64
TQFP 64 TQFP 100
MLF 44 PDIP 42 TQFP 44
MLF 32 PDIP 28 TQFP 32
PDIP 8 SOIC 8 SOIC (EIAJ) 8 MLF 20
PDIP 8 SOIC (208mil) 8
MLF 32 PDIP 20 SOIC 20
10
11. Архитектура AVR-микроконтроллеров (4)
AVR-микроконтроллерысодержат
на
кристалле
следующие
аппаратные средства:
8-разрядное процессорное ядро;
память программ;
оперативную память данных;
энергонезависимую память данных;
регистры ввода-вывода;
схему прерываний;
схему программирования;
периферийные устройства.
Процессорное ядро (Central Processing Unit – CPU) AVR-
микроконтроллеров содержит арифметико-логическое устройство
(АЛУ), регистры общего назначения (РОН), программный счётчик,
указатель стека, регистр состояния, регистр команд, дешифратор
команд, схему управления выполнением команд.
11
12. Архитектура AVR-микроконтроллеров (5)
Последовательный асинхронный(синхронный) интерфейс
JTAG
SPI
Интерфейс JTAG
Интерфейс SPI
Программный
счётчик (PC)
Схема
программирования
УАПП (УСАПП)
Оперативная
память данных
(SRAM)
Энергонезависимая
пямять данных
(EEPROM)
Память программ
(FLASH)
Указатель стека
(SP)
Схема
прерываний
Регистры общего
назначения
Регистр команд
Дешифратор
команд
Регистры
ввода-вывода
АЛУ
Управление
выполнением команд
Процессорное ядро (CPU)
Регистр состояния
(SREG)
8
Внутренняя
шина данных
АЦП
Аналоговый
компаратор
Порты
ввода-вывода
Таймеры-счётчики,
сторожевой таймер
Аналоговые входы
Аналоговые входы
Цифровые входы-выходы
Входы-выходы
12
13. Архитектура AVR-микроконтроллеров (6)
1314. Архитектура AVR-микроконтроллеров (7)
Регистры общего назначения представляют собой 8-разрядныеячейки памяти с быстрым доступом, непосредственно доступные
АЛУ. В AVR-микроконтроллерах имеется 32 РОН.
Программный счётчик (Program Counter – PC) содержит адрес
следующей выполняемой команды.
Указатель стека (Stack Pointer – SP) служит для хранения адреса
вершины стека.
Регистр состояния (Status Register – SREG) содержит слово
состояния процессора.
Регистр команд, дешифратор команд и схема управления
выполнением команд обеспечивают выборку из памяти программ
команды, адрес которой содержится в программном счётчике, её
декодирование, определение способа доступа к указанным в
команде аргументам и собственно выполнение команды.
14
15. Архитектура AVR-микроконтроллеров (8)
Для ускорения выполнения команд используется механизмконвейеризации, который заключается в том, что во время
исполнения текущей команды программный код следующей
выбирается из памяти и декодируется.
Память AVR-микроконтроллеров организована по схеме
гарвардского типа – адресные пространства памяти программ и
памяти данных разделены.
Память программ представляет собой перепрограммируемое ПЗУ
типа FLASH и выполнена в виде последовательности 16разрядных ячеек, так как большинство команд AVRмикроконтроллера являются 16-разрядными словами.
Гарантируется не менее 100 000 циклов перезаписи. Память
программ имеет размер от 2 до 256 Kбайт (от 1 до 128 Kслов).
15
16. Архитектура AVR-микроконтроллеров (9)
Оперативная память данных представляет собой статическоеОЗУ (SRAM – Static Random-Access Memory) и организована как
последовательность 8-разрядных ячеек. Оперативная память
данных может быть внутренней (до 16 Kбайт) и внешней (до 64
Кбайт).
Энергонезависимая (nonvolatile) память данных организована
как последовательность 8-разрядных ячеек и представляет собой
перепрограммируемое ПЗУ с электрическим стиранием (РПЗУ-ЭС
или EEPROM – Electrically Erasable Programmable Read-only
Memory). Энергонезависимая память данных имеет размер до 64
Кбайт.
Регистры ввода-вывода предназначены для управления
процессорным ядром и периферийными устройствами AVRмикроконтроллера.
Схема прерываний обеспечивает возможность асинхронного
прерывания процесса выполнения программы при определённых
условиях.
16
17. Архитектура AVR-микроконтроллеров (10)
К периферийным устройствам AVR-микроконтроллера относятся:порты ввода-вывода;
таймеры;
счётчики;
сторожевой таймер;
аналоговый компаратор;
аналого-цифровой преобразователь;
универсальный асинхронный (синхронно-асинхронный)
приёмопередатчик – УАПП (УСАПП);
последовательный периферийный интерфейс SPI;
отладочный интерфейс JTAG и др.
Набором периферийных устройств определяются функциональные
возможности микроконтроллера.
Обмен информацией между устройствами AVR-микроконтроллера
осуществляется посредством внутренней 8-разрядной шины
данных.
17
18. 3. Программная модель AVR-микроконтроллеров
Программная модель микропроцессора представляетсобой совокупность программно доступных ресурсов.
В программную модель микроконтроллеров семейства AVR
входят следующие элементы:
РОН;
регистры ввода-вывода;
память программ;
оперативная память данных;
энергонезависимая память данных.
18
19. Программная модель AVR-микроконтроллеров (2)
150
7
0
7
0
R0 ($0000)
$0000
Регистры
общего
назначения
Память
программ
Внутренняя
оперативная
память данных
(32 x 8)
$0060
[конф. А]
$0100)
[конф. В]
RAMEND
RAMEND+1
R31 ($001F)
FLASHEND
7
0
7
$00
Регистры
ввода-вывода
Энергонезависимая
память данных
0
$00 ($0020)
Внешняя
оперативная
память данных
(64 x 8 – конф. А; $3F ($005F)
124 x 8 – конф. В) [конф. А]
$5F
$9F ($00FF)
[конф. В]
XRAMEND
Единое адресное пространство
19
20. Программная модель AVR-микроконтроллеров (3)
РОН (R0…R31) могут использоваться впрограмме для хранения данных,
адресов, констант и другой
информации. Шесть старших
регистров объединены попарно и
составляют три 16-разрядных регистра
Х [R27:R26], Y [R29:R28] и Z [R31:R30].
РОН, регистры ввода-вывода и
оперативная память данных образуют
единое адресное пространство.
Адресное пространство – это
множество доступных ячеек памяти,
различимых по адресам; адресом
называется число, однозначно
идентифицирующее ячейку памяти
(регистр).
R0
R1
R26
R27
R28
R29
R30
R31
XL
XH
YL
YH
ZL
ZH
X
Y
Z
20
21. Программная модель AVR-микроконтроллеров (4)
Адреса ячеек памяти традиционно записываются вшестнадцатеричной системе счисления, на что указывает знак $ в
обозначении адреса.
Существует две конфигурации единого адресного пространства
памяти AVR-микроконтроллеров.
В
конфигурации А младшие 32 адреса ($0000…$001F)
соответствуют РОН, следующие 64 адреса ($0020…$005F)
занимают регистры ввода-вывода, внутренняя оперативная память
данных начинается с адреса $0060.
В конфигурации В начиная с адреса $0060 размещаются 160
дополнительных регистров ввода-вывода; внутренняя оперативная
память данных начинается с адреса $0100.
Конфигурация
А
используется
в
младших
моделях
микроконтроллеров и в некоторых старших моделях в режиме
совместимости
с
моделями,
снятыми
с
производства;
конфигурация В – в старших моделях.
21
22. Программная модель AVR-микроконтроллеров (5)
В память программ, кроме собственно программы, могут бытьзаписаны постоянные данные, которые не изменяются в процессе
работы микропроцессорной системы (константы, таблицы
линеаризации датчиков и т. п.).
Выполнение программы при включении питания или после сброса
микроконтроллера начинается с команды, находящейся по адресу
$0000 (т. е. в первой ячейке) памяти программ.
Энергонезависимая
память данных предназначена для
хранения
информации,
которая
может
изменяться
непосредственно в процессе работы микропроцессорной системы
(калибровочные коэффициенты, конфигурационные параметры и т.
п.).
Энергонезависимая память данных имеет отдельное адресное
пространство и может быть считана и записана программным
путём.
22
23. 4. Система команд AVR-микроконтроллеров
Системакоманд (instruction set) микропроцессора
представляет
собой
совокупность
выполняемых
микропроцессором операций и правил их кодирования в
программе.
Система
команд
следующие группы:
AVR-микроконтроллеров
включает
команды (инструкции) арифметических и логических
операций;
команды ветвления, управляющие последовательностью
выполнения программы;
команды передачи данных;
команды операций с битами.
Всего в систему команд входит более 130 инструкций.
Младшие модели микроконтроллеров не поддерживают
некоторых из них.
23
24. Система команд AVR-микроконтроллеров (2)
В зависимости от количества используемых операндов возможнытри типа команд AVR-микроконтроллера:
безадресные;
одноадресные;
двухадресные.
В первом типе команд присутствует только код операции (КОП),
определяющий выполняемую командой функцию.
В командах второго и третьего типов помимо кода операции
содержится адресная часть, устанавливающая способ доступа
соответственно к одному или двум участвующим в команде
операндам (аргументам команды).
Способ формирования адреса операнда, указание на который
содержится в команде, называется адресацией (addressing).
С помощью того или иного способа адресации вычисляется
физический адрес, подающийся на шину адреса процессора для
выбора ячейки памяти или регистра, используемых в команде.
24
25. Система команд AVR-микроконтроллеров (3)
Классификация способов адресации в соответствии с типомадресуемой памяти способы адресации:
способы адресации РОН и регистров ввода-вывода;
способы адресации оперативной памяти данных (ОЗУ);
способы адресации памяти программ.
Возможность использования различных способов адресации
позволяет сократить размер и время выполнения программ.
Для адресации РОН и регистров ввода-вывода предусмотрен
всего один режим – прямая регистровая адресация.
Для адресации оперативной памяти данных используются пять
способов адресации:
непосредственная;
косвенная;
косвенная со смещением;
косвенная с предекрементом;
косвенная с постинкрементом.
25
26. Система команд AVR-микроконтроллеров (4)
Для адресации памяти программ используются следующиеспособы:
непосредственная адресация;
косвенная адресация;
относительная адресация;
адресация константы;
адресация константы с постинкрементом.
При выполнении арифметических и логических команд, а также
команд работы с битами в регистре состояния SREG формируются
коды условий (C, Z, N, V, S, H), представляющие собой признаки
результата операции.
Регистр состояния SREG находится в адресном пространстве
регистров ввода-вывода.
26
27. Коды условий
Разряд С (carry – перенос) устанавливается, если при выполнениикоманды был перенос из старшего разряда результата.
Разряд Z (zero – нуль) устанавливается, если результат
выполнения команды равен нулю.
Разряд N (negative – отрицательный результат) устанавливается,
если старший значащий разряд результата равен 1 (правильно
показывает знак результата, если не было переполнения
разрядной сетки числа со знаком).
Разряд V (overflow – переполнение) устанавливается, если при
выполнении команды произошло переполнение разрядной сетки
числа со знаком.
Разряд S = N V (sign – знак) правильно показывает знак
результата при переполнении разрядной сетки числа со знаком.
Разряд H (half carry – полуперенос) устанавливается, если при
выполнении команды был перенос из третьего разряда результата.
27