Uploaded by Utkir Hamdamov

Организация процессора и памяти микроконтроллера

advertisement
ФУНКЦИОНАЛЬНЫЕ БЛОКИ
МИКРОКОНТРОЛЛЕРА:
ОРГАНИЗАЦИЯ ПРОЦЕССОРА И ПАМЯТИ
Лектор: к.т.н., доцент У.Р.Хамдамов
E-mail: utkir.hamdamov@mail.ru
Источник
• https://www.renesas.com/en-us/support/technical-
resources/engineer-school/mcu-01-basic-structureoperation.html
• http://studopedia.ru/2_99065_vvedenie.html
• https://myrobot.ru/stepbystep/mc_architecture.php
Микроконтроллеры AVR
Семейства МК AVR
Архитектура микроконтроллера
Функциональные блоки МК
• CPU: Central Processing Unit - микропроцессор
• ROM: Read Only Memory (Firmware) - постоянный память
• RAM: Random Access Memory - оперативный память
• PIO: Parallel I/O (relays, sensors) – параллельные порты
• SIO: Serial I/O (RS232, RS485) – последовательный порт
• INT: Interrupt Inputs – порты прерывания
• UART: Universal Asynchronous Receiver Transmitter –
асинхронный порт
• GPT: General Purpose Timer – таймер общего назначения
• WDT: Watch Dog Timer (automatic reset) – сторожевой таймер
• PWM: Pulse Width Modulator (motor controller) - модулятор
• AIO: Analog I/O (ADC & DAC) – аналоговый порт
Процессор микроконтроллеров AVR
• ЦПУ – центральное процессорное устройство
• 8-битное микропроцессорное ядро
• RISC-архитектура.
• Арифметико-логическое устройство (АЛУ).
• Счетчика команд (Program Counter - PC).
• Быстродействия 1 MIPS на 1 МГц.
Регистры общего назначения РОН (GPR) - всего 32
• РОН находятся в начале адресного пространства ОЗУ.
• Поэтому к ним можно обращаться двумя способами (как к
регистрам и как к памяти).
Основная структура МК
• МК включает в себя процессор (CPU), некоторую память и некоторые
схемы, которые реализуют периферийные функции.
• Типичная команда может указывать процессору «читать данные с
адреса XXX в памяти» или «записывать данные в адрес памяти YYY»
или «сложить» или «умножать» два значения
Назначение процессора (CPU)
• Счетчик команд (СК)
• Счетчик команд является внутренним
регистром, который хранит адрес памяти
следующей команды для выполнения в ЦП
• Дешифратор команд
• Дешифратор команд декодирует каждую
команду, считанную из памяти, и
использует результаты для управления
АЛУ и рабочей схемой МК
• АЛУ
• Эта схема выполняет арифметические и
логические операции
• Внутренние регистры
• Эти регистры хранят временную
информацию. Регистры общего назначения
содержат результаты арифметических и
логических операций
Арифметико логическое устройство
• АЛУ – сердце (а может быть и ум) микроконтроллера.
Операции процессора (CPU)
Адрес
Команда
0000
Получить значение из адреса памяти 0100
и записать его в регистр 1.
Регистр 1: 0 → 3
СК: 0000 → 0001
0001
Получить значение из адреса памяти 0101
и записать его в регистр 2.
Регистр 2: 0 → 4
СК: 0001 → 0002
0002
Сложить значение Регистра 2 в значение
Регистра 1, и схранить результат в
Регистр 1
Регистр 1: 3 → 7
СК: 0002 → 0003
~
Адрес
Данные
0100
3
0101
4
Шаги
Почему используем МК?
• Эта схема состоит из трех
компонентов: светодиода,
переключателя и резистора.
• Цепь светодиодных
ламп без МК
• Цепь светодиодных
ламп с МК
Память МК: «Хранилища»
• Память МК используется для хранения команды и данных.
Существует два основных типа памяти: ROM - ПЗУ и RAM - ОЗУ.
• ROM (ПЗУ)
• Память сохраняет свое содержание, даже когда питание выключено. Память
предназначена только для чтения; его нельзя стереть или перезаписать.
• RAM (ОЗУ)
• Эта память может быть свободно переписана. Его недостатком является то,
что он теряет свое содержание, когда питание отключается.
S
R
Qn+1
Режим
0
0
Qn
хранение
1
0
1
запись «1»
0
1
0
запись «0»
1
1
-
не
допускается
Размер данных
Организация памяти
Адрес строки
А0-А7
8-256
Дешифр
атор
строк
256
256х256
Массив
ячеек
256
Адрес столбцы
А8-А15
R/W
CS
256-1 MUX
1-256 DEMUX
Память Микроконтроллера AVR
• Память программ (Flash ROM или Flash ПЗУ)
• Гарвардская архитектура (память программ и память
данных).
• 16-ти битную организацию
• Размер - от 1 до 256 Кбайт
• Принцип электрической перепрограммируемости
• Многократное стирание и запись информации
• Программа заносится с помощью обычного программатора, так
и с помощью SPI-интерфейса
Память Микроконтроллера AVR
• Память программ
• Вид измерения объема памяти – “слово” и “страница“.
• Ячеек памяти состоит из двух байт. Такая ячейка называется
“словом”. (почти все команды МК состоят из двух байт)
• Каждая команда МК – это одно “слово”.
• В одну ячейку памяти программ можно записать:
– любую команду, состоящую из двух байт
– половину команды, состоящей из 4 байт
– две константы, каждая из которых умещается в один байт
Память Микроконтроллера AVR
• Память программ
• Запись в память программ осуществляется не только
“словами”, но еще и “страницами”.
• Размер “страницы” составляет от 64 до 256 байт.
• Если вы создали маленькую программку, объем которой
составляет 11 слов (22 байта), в памяти программ она все
равно займет место в одну страницу, т.е. как минимум 64 байта.
“Лишние” 42 байта при этом будут заполнены или нулями, или
единицами.
Память Микроконтроллера AVR
• Память программ может иметь три состояния
Память Микроконтроллера AVR
• Память данных
• Регистровая память
• Регистровая память включает 32 регистра общего назначения
(РОН или GPR), расположены в адресном пространстве ОЗУ, но не
являются его частью
• Оперативная память (ОЗУ или RAM)
• Статическая память Static RAM (SRAM) имеет байтовый формат и
используется для оперативного хранения данных.
• размер от 64 Байт до 4 КБайт.
• Энергонезависимая память (EEPROM)
• EEPROM от 64 Байт до 4 КБайт.
Память Микроконтроллера AVR
• Память данных
Представление памяти AVR
Использование памяти
Использование памяти
• Процессор микроконтроллера считывает программный код из
памяти, по одной команды за раз, дешифрует каждую команду и
затем выполняет ее.
• Все содержимое памяти - как программный код, так и данные -
находится в двоичной форме: строки из 1 и 0
Использование памяти
Спасибо за внимание !
Download