Микропроцессор. Основные сведения
СОДЕРЖАНИЕ
ПРОГРАММИРУЕМЫЕ ЦИФРОВЫЕ УСТРОЙСТВА
(часть 1)
1 Микропроцессор. Основные сведения 5
17.1 Основные характеристики МП_ 6
1.2 Архитектура микропроцессора. Основные понятия 7
1.2.1 Фон-неймановская и гарвардская архитектуры_ 7
1.2.2 Состав типичного микроконтроллера 9
1.3 Структура МП устройства. 11
1.3.1 МП с микропрограммным управлением (микропрограммируемая архитектура) 14
1.4 Запоминающие устройства. 15
1.4.1 Оперативное запоминающее устройство_ 16
1.4.2 Постоянные ЗУ_ 17
1.5 Команды, форматы команд, система команд_ 19
1.6 Принцип работы микропроцессора. 19
1.6.1 Модель программирования микропроцессора. 19
1.7 Способы адресации_ 25
1.8 Основы программирования. Ассемблер. 29
1.9 Организация передачи информации в МПС. Интерфейс. 30
2 Архитектура 8- разрядных микроконтроллеров. 33
2.1 Последовательные интерфейсы микропроцессорных систем_ 33
2.1.1 Последовательный интерфейс RS-232C_ 36
2.1.2 Шина 1-Wire 38
2.1.3 Интерфейс CAN_ 41
2.2 Организация портов ввода/вывода 45
2.3 Таймеры и процессоры событий_ 47
2.4 Ввод/вывод аналоговых сигналов_ 50
2.5 Контроллеры последовательного ввода/вывода 51
2.5.1 Модуль последовательного обмена UART_ 51
2.5.2 Последовательный периферийный интерфейс SPI 53
2.5.3 Синхронный последовательный интерфейс I2C_ 54
2.6 Минимизация потребления энергии_ 55
2.7 Повышение надежности работы МК_ 56
2.7.1 Мониторинг напряжения питания МК_ 56
2.7.2 Сторожевой таймер_ 58
3 Периферийные устройства 60
3.1 Генератор и схема начального сброса 60
3.2 Кнопки и датчики_ 61
3.3 Подключение светодиодных индикаторов_ 62
3.4 Подключение жидкокристаллических индикаторов_ 64
3.5 Комбинированное использование портов_ 65
3.6 Подключение реле и электромагнитных исполнительных устройств_ 65
3.7 Подключение МК к компьютеру через последовательный порт 65
3.8 Подключение интегрального датчика температуры с интерфейсом 1- Wire 66
4 Микроконтроллеры с архитектурой MCS-51_ 68
4.1 Особенности архитектуры MCS-51_ 68
4.2 Структура микроконтроллеров MCS-51_ 68
4.2.1 Внутренняя структура MCS-51_ 68
4.2.2 Организация памяти и программно доступные ресурсы_ 70
4.2.3 Система команд и методы адресации_ 71
4.3 Современные МК с архитектурой MCS-51_ 72
5 Микроконтроллеры с RISC- архитектурой_ 73
5.1 PIC- контроллеры_ 73
5.2 Однокристальные RISC- контроллеры AVR_ 74
5.2.1 Способы адресации в микроконтроллерах AVR_ 77
5.3 Микроконтроллеры семейства MSP430_ 82
5.3.1 Архитектура 82
5.3.2 Система тактирования 82
5.3.3 Встроенная эмуляция 83
5.3.4 Адресное пространство_ 83
5.4 Сравнение микроконтроллеров различных семейств_ 84
6 Разработка систем на БИС программируемых цифровых устройств_ 86
6.1 Основы проектирования систем на микроконтроллерах и ПЛИС_ 86
6.2 Технология разработки микропроцессорных контроллеров_ 87
6.2.1 Основные этапы цикла разработки микропроцессорного контроллера 88
ЛИТЕРАТУРА_ 91
Микропроцессор –микросхема, функциональное назначение которой изменяется под действием внешних управляющих сигналов, т. е. при смене команды, и осуществляющая над данными арифметические и логические операции. |
МП реагирует на входные и формирует выходные сигналы, которые определяются последовательностью команд МП (программой). Эти команды содержатся в запоминающем устройстве микропроцессорной системы.
МП - системой называют специализированную информационную или управляющую систему на основе МП средств.
Микроконтроллер –микропроцессор, ориентированный не на вычисления, а на выполнение программ управления объектами.
Однокристальная ЭВМ (однокристальный микроконтроллер) – интегрированная в одном кристалле микропроцессорная система, содержащая необходимый минимальный набор функциональных узлов микро ЭВМ, включая периферийные устройства. По сравнению с обычной микро ЭВМ характеризуется ограниченными возможностями, но существенно меньшими габаритами, массой, потребляемой мощностью. Для ОЭВМ характерны следующие особенности по сравнению с типичной структурой микро ЭВМ:
- малая емкость памяти
- физическое и логическое разделение памяти программ (ПЗУ) и памяти данных (ОЗУ)
- упрощенная система команд, ориентированная на выполнение задач управления
- специфическая организация ввода-вывода
Физическая и логическая разделенность памяти программ и данных исключает возможность модификации или замены (перегрузки) прикладных программ микроконтроллеров во время работы. Все это отличает эти приборы от классической структуры микро ЭВМ и поэтому более правильным является использование термина микроконтроллер (МК), а не ОЭВМ.
Современная типичная однокристальная ЭВМ (ОЭВМ) или однокристальный микроконтроллер характеризуется следующими свойствами:
- регулируемое сверхнизкое энергопотребление
- аппаратная реализация умножения
- встроенный контроллер ПДП
- несколько многофункциональных таймеров, включая режим ШИМ
- встроенные многоканальный (обычно 8 каналов) АЦП и ЦАП
- развитая регистровая система
- развитая система портов ввода – вывода с аппаратным обеспечением стандартных интерфейсов
В основе информационных технологий лежит обработка, вычисление и передача информации, представленной в цифровом виде. Эта информация в подавляющем большинстве случаев представлена в виде множества двоичных разрядов (битов).
В компьютерной технике вообще, и для микроконтроллера, в частности, окружающий мир представляется в виде различных чисел. В десятичной системе счисления числовые величины описываются с помощью десяти цифр: 0, 1,…, 9. Используя при необходимости символы "+", "-" и "," можно выразить любое число из диапазона ± ∞. На самом деле, с помощью чисел можно выражать даже нечисловые понятия. К примеру, в коде ASCII (американский стандартный код обмена информацией, читается "Аски") символу "А" соответствует число 65, символу "В" – 66,…, "Z" – 90, "а" – 97, "z" – 122 и т.д. Соответственно, слово "Microcontroller" можно закодировать в виде последовательности чисел "77, 105, 99, 114, 111,99, 111, 110, 116, 114, 111, 108, 108, 101, 114". При условии, что нам известен контекст, т.е. какие числа описывают реальные числовые величины, а какие – текст, с их помощью можно закодировать практически любые символы). В кодировке Юникод (Unicode), являющейся дальнейшим развитием кодировки ASCII, используются 16-битные группы, поэтому с ее помощью можно выразить символы всех существующих языков, а также различные математические и специальные символы.
Электронные схемы малопригодны для хранения и обработки множества различных значений в различных способах представления. Хотя первая цифровая вычислительная машина ENIAC выполняла арифметические операции в десятичном виде, однако все компьютеры, появившиеся впоследствии, оперировали уже данными в двоичной системе. В действительности десятичная система счисления удобна только для человека, поскольку у нас на руках 10 пальцев.
Двоичная система [1] – это универсальный способ представления данных, поскольку простейшим устройством, которое можно реализовать на одном транзисторе, является электронный ключ. Такие ключи, имеющие только два состояния, занимают минимум пространства; способны очень быстро изменять свое состояние и потребляют незначительный ток. Поскольку требуется различать только два состояния, двоичное представление слабо подвержено воздействию помех. Т.е. и плотность компоновки элементов на кристалле, и скорости переключения этих элементов могут достигать максимальных для текущего уровня технологии значений. Один бит может быть представлен двумя состояниями любой физической величины, например напряжения или силы электрического тока, освещенности, давления воздуха. В большинстве микроконтроллеров состоянию лог. 0 соответствует напряжение 0 В (или "земля"), а состоянию лог. 1 – напряжение питания микросхемы (+3…5 В), хотя это правило и не универсально. Например, в последовательном порту RS-232 для представления состояния лог. 0 используется напряжение +12 В, а для состояния лог. 1 – напряжение -12 В.
Биты любой n-разрядной двоичной последовательности могут образовывать в общей сложности 2n комбинаций. При этом большинство компьютеров хранят и обрабатывают биты группами. Например, первый микропроцессор Intel 4004 за один раз обрабатывал данные по четыре бита (полубайт или нибл). Большинство современных процессоров оперируют с 8-битными (байт), 16-битными (слово), 32-битными (двойное слово) и 64-битными (счетверенное слово) блоками. Приведенные названия являются стандартом де-факто, однако иногда встречаются и другие варианты.
Как и в десятичной системе счисления, большие двоичные числа выражаются с использованием приставок К (кило), М (мега) и Г (гига). В двоичной системе приставка "кило" соответствует множителю 210 , например 64 Кбайт (или КБ) памяти. Аналогично, приставка "мега" соответствует множителю 220= 1 048 576. Точно так же емкость 20 Гбайт (или ГБ) винчестера составляет 20 х 230 = 21 474 836 480 байт. Естественно, 1-й вариант записи удобнее. Отметим, что тысяча байт и килобайт, и т.д., это разные числа.