Содержание
- 2. Примечание. Серия микросхем 1816 выполнена по п-МОП-технологии; серия микросхем 1830 выполнена по КМОП-технологии. Архитектура семейства MCS-51
- 3. В состав микроконтроллера входят: блок управления, арифметико-логическое устройство, блок интерфейса и прерываний, программный счетчик, память данных,
- 4. Устройство формирования временных интервалов предназначено для формирования и выдачи внутренних синхросигналов фаз, тактов и циклов. Количество
- 5. Блок интерфейса и прерываний (БИП) БИП предназначен для организации ввода - вывода информации и организации системы
- 6. Микроконтроллеры семейства MCS-51 построены по Гарвардской архитектуре. Это означает, что память данных и память программ в
- 7. Внешняя память данных предназначена для временного хранения информации, используемой в процессе выполнения программы. Эта память физически
- 8. Максимальный объем этой памяти определяется регистром DPTR и составляет 64 Кбайта. Точно также как и в
- 9. Внутреннее ОЗУ данных предназначено для временного хранения информации, используемой в процессе выполнения программы, и занимает 128
- 10. 10.2. Микроконтроллеры семейства AVR Представителями 8-разрядных CMOS микроконтроллеров с AVR усовершенствованной RISC архитектурой являются микросхемы АТ-mega603/103*
- 11. Регистры общего назначения содержат 32 8-разрядных рабочих регистра, связанных непосредственно с ALU. За один тактовый цикл
- 12. Пространство памяти ввода-вывода (I/O) содержит 64 адреса периферийных функций микроконтроллера таких как: регистры управления, таймеры/счетчики, аналого-цифровые
- 13. Микроконтроллеры конфигурации В позволяют использовать дополнительную внешнюю память данных. Внешняя память будет адресоваться оставшимся до 64
- 14. Port А (РА7..РА0) - 8-разрядный двунаправленный порт I/O. К выходам порта могут быть подключены встроенные нагрузочные
- 15. RESET - вход сброса. Для выполнения сброса необходимо удерживать низкий уровень на входе в течение двух
- 16. Кварцевый кристалл генератора таймера подсоединяется непосредственно к выводам OSC1 и OSC2. Внешние конденсаторы не требуются. Генератор
- 17. 10.3. Микроконтроллеры PIC MICRO компании MICROCHIP TECHNOLOGY INC Компания Microchip Technology Inc специализируется на выпуске электронных
- 18. К специальным особенностям относятся: байты конфигурации; интегрированная схема сброса по включению питания (POR); схема сброса по
- 19. В соответствии с этим компания выпускает следующие разновидности микроконтроллеров: С ультрафиолетовым стиранием памяти. Они могут быть
- 20. Выборка команды происходит за один цикл, все команды 14-разрядные (в обычной архитектуре нам потребовалось как минимум
- 22. ЦП предназначен для дешифрирования команд, расположенных в памяти программ, и управления работой микроконтроллера. Большинство команд микроконтроллера
- 23. Каждый цикл команды ТCY состоит из четырёх тактов Q1-Q4, которые по длительности равны периоду тактового генератора
- 24. В регистре STATUS содержатся флаги состояния АЛУ, причины сброса микроконтроллера и биты управления банками памяти. Регистр
- 25. Память данных состоит из регистров общего GPR и специального SFR назначения. Память программ имеет 13-разрядный счетчик
- 28. 10.3.2. Прерывания в микропроцессоре PIC micro Микроконтроллеры среднего семейства могут иметь несколько источников прерываний: внешний источник
- 29. 10.4. Микроконтроллеры на основе 32-разрядного ядра ARM7TDMI В настоящее время компании Atmel и Philips Semiconductors выпускают
- 31. Таким образом, обладая высокой степенью интеграции блоков и компонентов на кристалле, и, находясь в одной ценовой
- 32. автоинкрементируемый 32-битный указатель на текущий адрес памяти; автодекрементируемый 16-битный счетчик объема данных на передачу (максимальный объем
- 34. Процессорное ядро ARM7TDMI является универсальным 32-разрядным процессором с малым потреблением энергии. Его архитектура основана на использовании
- 35. Для обмена данными с внешними устройствами в микроконтроллере предусмотрено несколько различных интерфейсов: Интерфейс USB 2.0 содержит
- 36. Охранный таймер и часы реального времени, имеющиеся на кристалле микроконтроллера, предназначены для осуществления сброса и перевода
- 38. Скачать презентацию
Примечание. Серия микросхем 1816 выполнена по п-МОП-технологии; серия микросхем 1830 выполнена
Примечание. Серия микросхем 1816 выполнена по п-МОП-технологии; серия микросхем 1830 выполнена
Архитектура семейства MCS-51 в значительной мере предопределяется ее назначением - построение компактных микроЭВМ, все функции которых реализуются с помощью единственной микросхемы. В состав семейства MCS-51 входит целый ряд микросхем от самых простых микроконтроллеров до достаточно сложных. Микроконтроллеры семейства MCS-51 позволяют выполнять как задачи управления различными устройствами, так и реализовывать отдельные узлы схемы. Все микросхемы этого семейства работают с одной и той же системой команд, большинство из них выполняется в одинаковых корпусах с совпадающей цоколевкой (нумерация ножек для корпуса). Это позволяет использовать для разработанного устройства микросхемы разных фирм-производителей (например, Intel, Dallas, Atmel, Philips и т. Д.) без переделки принципиальной схемы устройства и программы. На рис. 10.1 представлено структура одного из представителей семейства MCS-51 - микроконтроллера К1830ВЕ751.
В состав микроконтроллера входят:
блок управления,
арифметико-логическое устройство,
блок интерфейса и прерываний,
программный счетчик,
память данных,
память
В состав микроконтроллера входят:
блок управления,
арифметико-логическое устройство,
блок интерфейса и прерываний,
программный счетчик,
память данных,
память
Двусторонний обмен осуществляется с помощью внутренней 8-разрядной магистрали данных. По такой схеме построены практически все представители семейства MCS-51. Различные микросхемы этого семейства различаются только регистрами специального назначения (в том числе и количеством портов). Система команд всех контроллеров семейства MCS-51 содержит 111 базовых команд с форматом 1, 2 или 3 байта и не изменяется при переходе от одной микросхемы к другой. Это обеспечивает прекрасную переносимость программ с одной микросхемы на другую. Рассмотрим подробнее назначение каждого блока.
Блок управления
Блок управления предназначен для выработки синхронизирующих и управляющих сигналов, обеспечивающих координацию совместной работы блоков микроконтроллера во всех допустимых режимах его работы. В состав блока управления входят:
устройство формирования временных интервалов,
логика ввода-вывода,
регистр команд,
регистр управления потреблением электроэнергии,
дешифратор команд, логика управления.
Устройство формирования временных интервалов предназначено для формирования и выдачи внутренних синхросигналов
Устройство формирования временных интервалов предназначено для формирования и выдачи внутренних синхросигналов
Логика ввода-вывода предназначена для приема и выдачи сигналов, обеспечивающих обмен информации с внешними устройствами через порты ввода вывода РО-РЗ.
Регистр команд предназначен для записи и хранения 8-разрядного кода операции выполняемой команды. Код операции, с помощью дешифратора команд и логики управления ЭВМ, преобразуется в микропрограмму выполнения команды.
Регистр управления потреблением позволяет останавливать работу микроконтроллера для уменьшения потребления электроэнергии и уменьшения уровня помех от микроконтроллера. Еще большего уменьшения потребления электроэнергии и уменьшения помех можно добиться, остановив задающий генератор микроконтроллера. Этого можно достичь при помощи переключения бит регистра управления потреблением. Для варианта изготовления по технологии п-МОП (серия 1816 или иностранных микросхем, в названии которых в середине отсутствует буква 'с') регистр управления потреблением содержит только один бит, управляющий скоростью передачи последовательного порта, а биты управления потреблением электроэнергией отсутствуют.
Арифметико-логическое устройство (ALU)
Арифметико-логическое устройство представляет собой параллельное восьмиразрядное устройство, обеспечивающее выполнение арифметических и логических операций. Оно состоит из:
регистров аккумулятора, регистров временного хранения ТМР1 и ТМР2,
ПЗУ констант,
сумматора,
дополнительного регистра (регистр В),
аккумулятора (АСС),
регистра состояния программ (PSW).
Блок интерфейса и прерываний (БИП)
БИП предназначен для организации ввода - вывода
Блок интерфейса и прерываний (БИП)
БИП предназначен для организации ввода - вывода
буфер БИП,
логика управления,
регистр управления,
буфер передатчика,
буфер приемника,
приемопередатчик приемного порта,
регистр приоритетов прерываний,
регистр разрешения прерываний,
логика обработки флагов прерываний и схема выработки вектора.
Программный счетчик (PC)
PC предназначен для формирования текущего 16-разрядного адреса внутренней памяти программ и 8/16-разрядного адреса внешней памяти программ. В состав счетчика команд входят 16-разрядные буфер PC, регистр PC и схема инкремента.
Память данных (ОЗУ)
ОЗУ предназначено для временного хранения информации, используемой в процессе выполнения программы, адресация которого осуществляется через Регистр адреса ОЗУ.
Память программ (EPROM)
EPROM предназначена для хранения программ и представляет собой постоянное запоминающее устройство (ПЗУ). В разных микросхемах применяются масочные, стираемые ультрафиолетовым излучением или FLASH ПЗУ.
Порты РО, PI, Р2, РЗ являются квазидвунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией ОЭВМ с внешними устройствами, образуя 32 линии ввода-вывода.
Регистр указателя данных (DPTR) предназначен для хранения 16-разрядного адреса внешней памяти данных или памяти программ.
Указатель стека (SP) представляет собой восьмиразрядный регистр, предназначенный для организации особой области памяти данных (стека), в которой можно временно сохранить любую ячейку памяти.
Микроконтроллеры семейства MCS-51 построены по Гарвардской архитектуре. Это означает, что память
Микроконтроллеры семейства MCS-51 построены по Гарвардской архитектуре. Это означает, что память
Для обращения к памяти данных и к памяти программ используются одни и те же шина адреса и шина данных, но разные управляющие сигналы. Для чтения памяти программ вырабатывается сигнал PSEN, а для чтения памяти данных вырабатывается сигнал RD. Для записи информации в память данных вырабатывается сигнал WR. То есть память программ доступна только для чтения, а память данных доступна и для чтения и для записи любой информации, записанной в двоичном коде.
Память программ предназначена для хранения программ и имеет отдельное от памяти данных адресное пространство объемом 64 Кбайт, причем для некоторых микросхем (например КР1816ВЕ51, КМ1819ВЕ751, КР1830ВЕ51) для хранения программ на кристалле микроконтроллера расположено ПЗУ. Это ПЗУ отображается в область младших адресов памяти программ. Учитывая, что выполнение программы после сброса микроконтроллера всегда начинается с нулевого адреса памяти программ, то при включении питания начнет выполняться программа, записанная во внутреннем ПЗУ микроконтроллера. Микроконтроллеры, не имеющие внутреннего ПЗУ (например КР1816ВЕ31 и КР1830ВЕ31) могут работать только с внешней микросхемой ПЗУ емкостью до 64 Кбайт (при использовании портов Р1 и РЗ в качестве расширителя адреса объем подключаемой ПЗУ может быть увеличен до 1Гбайта). Микроконтроллеры семейства MCS-51 имеют внешний вывод ЕА, с помощью которого можно запретить работу внутренней памяти, для чего необходимо подать на вывод ЕА логический "О" (соединить этот вывод с корпусом). При этом внутренняя память программ отключается и, начиная с нулевого адреса, все обращения происходят к внешней памяти программ.
Распределение памяти программ микроконтроллера КР1830ВЕ751 представлено на рис. 10.2.
Для других микроконтроллеров этого семейства изменяется только объем внутренней памяти программ и количество доступных векторов прерываний программы.
Внешняя память данных предназначена для временного хранения информации, используемой в процессе
Внешняя память данных предназначена для временного хранения информации, используемой в процессе
Максимальный объем этой памяти определяется регистром DPTR и составляет 64 Кбайта.
Максимальный объем этой памяти определяется регистром DPTR и составляет 64 Кбайта.
Отметим, что в качестве внешней памяти данных могут быть использованы как микросхемы ОЗУ так и микросхемы ПЗУ.
Несмотря на то, что это самое маленькое адресное пространство из рассматриваемых, оно устроено наиболее сложным образом. Распределение памяти данных микроконтроллеров серии MCS-51 приведено на рис. 10.4.
Внутреннее ОЗУ данных предназначено для временного хранения информации, используемой в процессе
Внутреннее ОЗУ данных предназначено для временного хранения информации, используемой в процессе
Регистры специальных функций занимают адреса внутренней памяти данных с 080h по OFFh. Так как адреса регистров специальных функций совпадают со старшими адресами внутреннего ОЗУ данных, то имеются особенности при использовании этих адресов внутренней памяти данных.
Регистры общего назначения позволяют писать самые эффективные программы. У микроконтроллеров семейства MCS-51 программирующему инженеру доступны восемь регистров. Более того, в этом семействе микроконтроллеров есть целых четыре набора (банка) регистров с именами RB0 - RB3. Банк регистров состоит из восьми восьмиразрядных регистров с именами R0, R1, ..., R7. Несколько банков регистров служат для организации независимой работы нескольких параллельно выполняемых программ. Переключение банков регистров производится при помощи двух особых бит регистра слова состояния программы PSW (RS0 и RS1). Если организация нескольких параллельных потоков обработки данных не нужна, то можно пользоваться только нулевым банком регистров, включающимся автоматически после включения питания и сброса микроконтроллера, остальные ячейки памяти использовать как обычное ОЗУ.
10.2. Микроконтроллеры семейства AVR
Представителями 8-разрядных CMOS микроконтроллеров с AVR усовершенствованной RISC
10.2. Микроконтроллеры семейства AVR
Представителями 8-разрядных CMOS микроконтроллеров с AVR усовершенствованной RISC
Архитектура микроконтроллеров ATmega603/103 представлена на рис. 10.5. Назначение составных частей понятно из надписей.
Регистры общего назначения содержат 32 8-разрядных рабочих регистра, связанных непосредственно с
Регистры общего назначения содержат 32 8-разрядных рабочих регистра, связанных непосредственно с
Шесть из 32 регистров могут быть использованы как три 16-разрядных регистра указателя косвенной адресации адресного пространства данных, обеспечивающие эффективное вычисление адресов. Один из этих указателей адреса используется, также, как указатель адреса для функции непрерывного просмотра таблиц. Эти 16-разрядные дополнительные регистры обозначаются Х-регистр, Y-регистр и Z-регистр (рис. 10.6).
В дополнение к операциям с регистрами, регистровый файл может использоваться и для обычной адресации памяти. Это объясняется тем, что файл регистров располагается по 32 самыми младшими адресами пространства данных, и к ним можно обращаться как к обычным ячейкам памяти.
Пространство памяти ввода-вывода (I/O) содержит 64 адреса периферийных функций микроконтроллера таких
Пространство памяти ввода-вывода (I/O) содержит 64 адреса периферийных функций микроконтроллера таких
Микроконтроллеры ATmega603/103 поддерживают две конфигурации памяти (табл. 10.2 и рис. 10.7).
Конфигурация памяти Таблица 10.2
Микроконтроллеры конфигурации В позволяют использовать дополнительную внешнюю память данных. Внешняя память
Микроконтроллеры конфигурации В позволяют использовать дополнительную внешнюю память данных. Внешняя память
При обращении по адресам памяти данных за пределами встроенной SRAM используются те же команды, что для обращения к встроенной SRAM. При обращении к встроенной памяти данных выводы стробов управления внешней памятью данных (RD и WR) остаются неактивными во время всего цикла обращения.
По сравнению с обращением к встроенной памяти данных, обращение к внешней памяти данных требует дополнительного цикла на каждый байт. Это означает, что для выполнения команд LD, ST, LDS,
STS, PUSH и POP требуется дополнительный тактовый цикл. Если стек размещен во внешней SRAM, то прерывания, вызов подпрограмм и возвраты потребуют два дополнительных цикла, поскольку в стеке будет опускаться и подниматься содержимое двухбайтового счетчика команд. Если интерфейс с внешней SRAM используется с состоянием ожидания, то на каждый байт необходимо еще два дополнительных тактовых цикла. Это приводит к следующему эффекту. Командам пересылки данных необходимо два дополнительных тактовых цикла, тогда как при обработке прерывания, вызове подпрограммы и при возврате из подпрограмм потребуется на четыре тактовых цикла больше.
При адресации памяти данных используются пять режимов адресации: непосредственная адресация, косвенная со смещением, косвенная, косвенная с преддекрементом и косвенная с постдекрементом. Регистры с R26 по R31 регистрового файла работают как X, Y и Z регистры указатели косвенной адресации.
Выводы микросхем ATmega603/103 имеют следующее назначение:
VCC - напряжение питания,
GND - земля.
Port А (РА7..РА0) - 8-разрядный двунаправленный порт I/O. К выходам порта
Port А (РА7..РА0) - 8-разрядный двунаправленный порт I/O. К выходам порта
Port В (РВ7..РВ0) - 8-разрядный двунаправленный порт I/O со встроенными нагрузочными резисторами. Выходные буферы обеспечивают втекающий ток 20 мА. При использовании выводов порта в качестве входов и установке внешним сигналом в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт В используется также при реализации различных специальных функций.
Port С (РС7..РС0) - 8-разрядный порт выхода. Выходные буферы обеспечивают втекающий ток 20 мА. Порт С используется также как выходы адреса при использовании внешней SRAM.
Port D (PD7..PD0) - 8-разрядный двунаправленный порт I/O со встроенными нагрузочными резисторами. Выходные буферы обеспечивают втекающий ток 20 мА. При использовании выводов порта в качестве входов и установке внешним сигналом в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах.
Port Е (РЕ7..РЕ0) - 8-разрядный двунаправленный порт I/O со встроенными нагрузочными резисторами. Выходные буферы обеспечивают втекающий ток 20 мА. При использовании выводов порта в качестве входов и установке внешним сигналом в низкое состояние, вытекающий через них ток обеспечивается только при подключенных встроенных нагрузочных резисторах.
Port F (PF7..PF0) - 8-разрядный порт входа. Входы порта используются также как аналоговые входы аналого-цифрового преобразователя.
RESET - вход сброса. Для выполнения сброса необходимо удерживать низкий уровень
RESET - вход сброса. Для выполнения сброса необходимо удерживать низкий уровень
XTAL1 - вход инвертирующего усилителя генератора и вход схемы встроенного генератора тактовой частоты.
XTAL2 - выход инвертирующего усилителя генератора.
TOSC1 - вход инвертирующего усилителя генератора таймера/счетчика.
TOSC2 - выход инвертирующего усилителя генератора таймера/счетчика.
WR - строб записи внешней SRAM.
RD - строб чтения внешней SRAM.
ALE - строб разрешения фиксации адреса, используемый для разрешении внешней памяти. Строб ALE используется для фиксации младшего байта адреса в защелках адреса в течение первого цикла обращения, в течение второго цикла обращения, при обращении к данным, используются выводы ADO - AD7.
AVCC - напряжение питания аналого-цифрового преобразователя. Вывод подсоединяется к внешнему VCC через низкочастотный фильтр.
AREF - вход аналогового напряжения сравнения для аналого-цифрового преобразователя. На этот вывод, для обеспечения работы аналого-цифрового преобразователя, подается напряжение в диапазоне между AGND и AVCC.
AGND - этот вывод должен быть подсоединен к отдельной аналоговой земле, если плата оснащена ею. В ином случае вывод подсоединяется к общей земле.
PEN - вывод разрешения программирования в низковольтном последовательном режиме программирования. При удержании этого вывода на низком уровне во время сброса по включении питания, прибор перейдет в режим программирования по последовательному каналу. Команды микросхемы разделяются на цифровые и аналоговые. В цифровых командах имеются безусловные, условные и команды условного перехода. Безусловные: ADD-сложить, SUB-вычесть и т. п.
XTAL1 и XTAL2 являются входом и выходом, соответственно, инвертирующего усилителя, который с использованием кварцевого кристалла или керамического резонатора работает как встроенный генератор (рис. 10.8, а). При использовании внешнего источника тактовой частоты вывод XTAL2 должен остаться свободным, сигнал подается на вывод XTAL1 (рис. 10.8, б).
Кварцевый кристалл генератора таймера подсоединяется непосредственно к выводам OSC1 и OSC2.
Кварцевый кристалл генератора таймера подсоединяется непосредственно к выводам OSC1 и OSC2.
10.3. Микроконтроллеры PIC MICRO компании MICROCHIP TECHNOLOGY INC
Компания Microchip Technology Inc
10.3. Микроконтроллеры PIC MICRO компании MICROCHIP TECHNOLOGY INC
Компания Microchip Technology Inc
8-разрядные универсальные микроконтроллеры (PIC micro);
специализированные микросхемы энергонезависимой памяти;
устройства ограничения доступа (Keelog);
программы обеспечения и инструментальные средства проектирования.
Все микроконтроллеры PIC micro разделены на 3 группы по разрядности команд:
базовое семейство: 12-разрядные команды;
среднее семейство: 14-разрядные команды;
высококачественное семейство: 16-разрядные команды.
По терминологии фирмы-производителя микроконтроллеры состоят из 3 групп устройств:
ядро микроконтроллера;
периферийные модули;
специальные особенности микроконтроллера.
К ядру м/к относятся:
тактовый генератор;
логика сброса;
центральный процессор (CPU);
арифметико-логическое устройство (АЛУ);
организация памяти;
прерывания;
система команд.
Периферийные модули позволяют организовать интерфейс связи с внешними схемами, например универсальные порты ввода-вывода, драйверы ЖКИ, входы АЦП, выходы ШИМ, выполнять отсчёты временных интервалов (таймеры).
Специальные особенности м/к позволяют придать одно или несколько следующих свойств конечному изделию:
уменьшить стоимость устройства;
увеличить надёжность;
предоставить дополнительную гибкость разработчикам при проектировании системы.
К специальным особенностям относятся:
байты конфигурации;
интегрированная схема сброса по включению питания (POR);
схема
К специальным особенностям относятся:
байты конфигурации;
интегрированная схема сброса по включению питания (POR);
схема
сторожевой таймер;
режим энергосбережения (SLEEP);
интегрированный тактовый RC-генератор.
Для поддержки разработки фирма Microchip предлагает широкую номенклатуру инструментальных средств проектирования, в состав которых входят:
генерация объектного кода;
отладчики программ;
программаторы;
демонстрационные платы.
Все множество микропроцессоров разделяется по следующим признакам:
технология памяти;
рабочий диапазон напряжения питания;
рабочий температурный диапазон;
тактовая частота;
тип корпуса.
Технология, по которой выполнена память, не влияет на линейные операции м/к. Фирма предлагает 3 типа памяти программы:
EPROM - технология однократного программирования памяти программ.
ROM - микроконтроллеры с масочной памятью. Это обеспечивает минимальную стоимость при крупносерийных заказах, но не допускает добавления кодов программ.
FLASH - электрически перепрограммируемые микроконтроллеры, выпускаемые в недорогом пластиковом корпусе. Память программ этих микропроцессоров может быть стерта и повторно запрограммирована без удаления из схемы.
Диапазон напряжения питания имеет 2 варианта исполнения: стандартный 4.5-6.0 В и расширенный от 2.5 до 6 В.
Тип корпуса зависит от стадии разработки:
с окном для стирания памяти;
пластмассовый - выпуск продукции;
DIE - специальные применения, требующие минимальных размеров печатной платы.
В соответствии с этим компания выпускает следующие разновидности микроконтроллеров:
С ультрафиолетовым стиранием
В соответствии с этим компания выпускает следующие разновидности микроконтроллеров:
С ультрафиолетовым стиранием
Однократно программируемые м/к OTP. Выпускаются в пластмассовых корпусах с однократно программируемой EPROM памятью программ. Они предназначены для изделий, выпускаемых небольшими партиями;
FLASH-микроконтроллеры. Позволяют выполнять электрическое программирование памяти. Окна для стирания нет, поэтому м/к могут быть помещены в некоторый пластмассовый корпус;
EEPROM-микроконтроллеры. Позволяют выполнять электрическое стирание памяти и могут программироваться после установки его на плату;
ROM-микроконтроллеры. Код программы заносится в память на этапе изготовления кристалла, и программа не может быть удалена;
DIE-микроконтроллеры. Позволяют минимизировать размеры печатной платы и устройства в целом.
По специальному заказу компания предоставляет возможность заказывать запрограммированные м/к, в которых пользователь может определить уникальный серийный номер, который служит кодом доступа, паролем или идентификационным номером устройства.
10.3.1. Общая структурная схема м/к PIC
Основными особенностями архитектуры м/к PIC micro являются:
гарвардская архитектура;
длинное слово команды;
команда, состоящая из одного слова;
команды выполняются за один машинный цикл;
небольшое число команд;
файловая структура данных;
ортогональность (симметричность системы команд).
В гарвардской архитектуре (рис. 10.9) разделены память программ и память данных. Обращение к памяти происходит по отдельным шинам адреса и данных, что значительно повышает производительность процесса по сравнению с традиционной архитектурой (рис. 10.10).
Выборка команды происходит за один цикл, все команды 14-разрядные (в обычной
Выборка команды происходит за один цикл, все команды 14-разрядные (в обычной
Разрядность команд больше, чем 8-разрядная шина данных, что дает возможность эффективно использовать память программ и активизировать шину программ. Команда состоит из одного слова - 14 разрядов. Любая команда выбирается за один машинный цикл м/к. Число слов в памяти равняется максимальному числу команд программы. Таким образом, все ячейки памяти имеют силу команд. Как правило, в традиционной архитектуре большинство команд многобайтные.
Выборка команд происходит в первый машинный цикл, а выполняется команда во втором машинном цикле. При одновременной выборке текущей команды и выполнении предыдущей в каждом машинном цикле происходят выборка и выполнение команд (конвейер команд). Когда все команды хорошо проработаны, то требуется небольшое число команд для решения всех необходимых задач. Обращение к регистрам памяти данных можно выполнять прямой или косвенной адресацией.
Ортогональная система команд дает возможность выполнить любую операцию с любым регистром памяти данных прямой или косвенной адресаций. Это уменьшает число команд и упрощает программирование.
Общая структурная схема м/к PIC micro среднего семейства представлена на рис. 10.11.
ЦП предназначен для дешифрирования команд, расположенных в памяти программ, и управления
ЦП предназначен для дешифрирования команд, расположенных в памяти программ, и управления
1. Байт-ориентированные операции с регистром
d=0 - результат сохраняется в W
d=l - результат сохраняется в f
f - семиразрядный адрес регистра
2. Бит-ориентированные операции с регистрами
3. Команды управления и операции с константами
Каждый цикл команды ТCY состоит из четырёх тактов Q1-Q4, которые по
Каждый цикл команды ТCY состоит из четырёх тактов Q1-Q4, которые по
Q1 - декодирование команды;
Q2 - операция чтения;
Q3 - обработка данных;
Q4 - операция записи данных.
Микропроцессор PIC micro содержит восьмиразрядный арифметический модуль и восьмиразрядный рабочий регистр W. АЛУ выполняет арифметические и логические операции между рабочим регистром и любым регистром памяти данных (рис. 10.12).
Регистр W - неадресуемый восьмиразрядный рабочий регистр, который используется в операциях АЛУ. В зависимости от типа команды результат работы АЛУ может воздействовать на флаги состояния в регистре STATUS: перенос С, полуперенос DC, флаг нулевого результата Z.
В регистре STATUS содержатся флаги состояния АЛУ, причины сброса микроконтроллера и
В регистре STATUS содержатся флаги состояния АЛУ, причины сброса микроконтроллера и
Регистр STATUS может быть адресован любой командой, как и любой другой регистр памяти данных.
бит 7 - IRP-бит выбора банка при косвенной адресации:
1 – банк 2, 3;
0 – банк 0, 1;
биты 6-5 - RP1:PR0 - биты выбора банка при непосредственной адресации:
11 – банк 3;
10 – банк 2;
01 – банк 1;
00 – банк 0;
бит 4 - ТО - флаг переполнения сторожевого таймера:
1 после POR;
0 после переполнения WDT (предварительный делитель для таймера);
бит 3 - PD - флаг включения питания:
1 после РОК;
0 после выполнения команды SLEEP;
бит 2 - Z - флаг нулевого результата:
1 – нулевой результат;
0 – не нулевой результат;
бит 1 - DC - флаг десятичного переноса;
бит 0 - С - флаг переноса из старшего бита:
1 – был перенос;
0 – не было переноса из старшего разряда.
Память данных состоит из регистров общего GPR и специального SFR назначения.
Память
Память данных состоит из регистров общего GPR и специального SFR назначения.
Память
Вся память программ разделена на 4 страницы по 2k слов (рис. 10.13).
В любом микроконтроллере сброс приведёт к отмене счётчика команд PC. Адрес 0000 называется вектором сброса, так как будет выполнен переход по этому адресу и будет установлена работа со страницей 0.
Стек поддерживает до 8 уровней вложенности подпрограмм. В микроконтроллере среднего поколения стек реализован как 8-уровневый, аппаратный стек. Он не отображается на память программ и данных, нельзя прочитать или записать данные в стек. Значение счетчика команд заносится в вершину стека при выполнении команды перехода на обработку прерываний. Чтение из стека происходит при выполнении возврата из п/п.
Память данных разделяется на регистры двух типов:
регистры специального назначения SFR управляют работой микроконтроллера;
регистры общего назначения GPR - для хранения данных программы.
Память данных разделена на банки. Управление банками памяти выполняется битами 5, 6, 7 в регистре STATUS. Обращение ко всем регистрам памяти данных может быть выполнено прямой или косвенной адресацией:
Прямая адресация: при указании банка памяти используются биты PR1, PR2 регистра STATUS (рис. 10.14).
Косвенная адресация - адрес регистра сохраняется в FSR, а в бите IRP регистра STATUS определяется пара банков памяти данных (рис. 10.15).
Регистры общего назначения размещаются в разных банках и при сбросе питания имеют неизвестное значение, а при всех остальных видах сброса не изменяют своего значения.
Регистры специального назначения используются для управления ядром и периферийными модулями микроконтроллера. Они также располагаются в разных банках.
10.3.2. Прерывания в микропроцессоре PIC micro
Микроконтроллеры среднего семейства могут иметь несколько
10.3.2. Прерывания в микропроцессоре PIC micro
Микроконтроллеры среднего семейства могут иметь несколько
внешний источник прерываний INT;
переполнение таймера TMRO;
изменение уровня сигнала на входах PORTB (R87 - R84);
изменение выходного уровня компаратора;
прерывание от ведомого параллельного порта;
прерывание от VSART;
прерывание от приёмника;
прерывание от передатчика;
завершение преобразования АЦП;
завершение цикла записи в EEPROM памяти данных;
переполнение таймеров TMR1, TMR2;
прерывание от модуля ССР;
прерывание от модуля SSP.
Регистр, управляющий механизмом прерываний INTCOM, содержит индивидуальные биты флагов прерываний, биты маски разрешения прерываний, а также бит глобального разрешения прерываний.
Если бит глобального разрешения прерываний GEE (бит 7) установлен в 1, то разрешены все немаскированные прерывания. Все прерывания запрещены, если он сброшен в нуль.
Регистр INCON содержит также биты управления прерываниями по внешним условиям INT, по порту PORTB, по переполнению TMRO. Там же расположен бит разрешения прерываний от периферийных модулей РЕЕЕ.
При обработке прерываний бит GEE=0, чтобы предотвратить повторную загрузку счётчика команд в стек и запись в PC адреса вектора прерываний 0004h. В обработчике прерываний источник прерываний идентифицируется проверкой флагов прерываний. Индивидуальные флаги прерываний устанавливаются независимо от состояния бита общего разрешения прерываний GEE. Формат регистра INT CON:
GEE - бит глобального разрешения прерываний;
РЕГЕ - разрешение прерываний от периферийных модулей;
ТОЕЕ - разрешение прерывания по TMRO;
TOEF - флаг прерывания по переполнению TMRO;
INTE - разрешение внешнего прерывания;
INTF - флаг внешнего прерывания;
RBIE - разрешение прерывания по PORTB;
RBIF - флаг прерывания по PORTB.
10.4. Микроконтроллеры на основе 32-разрядного ядра ARM7TDMI
В настоящее время компании Atmel
10.4. Микроконтроллеры на основе 32-разрядного ядра ARM7TDMI
В настоящее время компании Atmel
высокопроизводительное 32-разрядное ядро ARM7TDMI;
внутренняя Flash-память с 32-разрядной системной шиной;
внутреннее ОЗУ (SRAM) с 32-разрядной системной шиной;
расширенный контроллер прерываний;
встроенные средства каналов ввода-вывода.
Семейство микроконтроллеров этого направления фирмы Atmel получили название Smart ARM. Компания Philips выпускает их в виде семейства LPC2000 различного исполнения. Последней разработкой этого семейства являются микросхемы серии LPC214X, обладающие полноценной поддержкой стандарта USB 2.0, гибким прямым доступом к памяти, а также увеличенным быстродействием портов ввода-вывода.
Микроконтроллеры Smart ARM могут использоваться при решении любой задачи, в которой требуются привычный набор возможностей 8-разрядного микроконтроллера, но при этом либо производительности 8-разрядной платформы уже не хватает, либо требуется заложить большой запас производительности на будущее. Особенностями данной серии являются:
выпускаются в корпусах с небольшим количеством выводов, удобных для «ручной» пайки;
имеют интегрированный контроллер интерфейса USB 2.0;
стоимость сопоставима с 8-разрядными микроконтроллерами;
поддерживаются недорогими средствами разработки.
Таким образом, обладая высокой степенью интеграции блоков и компонентов на кристалле,
Таким образом, обладая высокой степенью интеграции блоков и компонентов на кристалле,
Наличие встроенного контроллера Flash-памяти обеспечивает:
работу ядра с Flash-памятью;
увеличение производительности процессорного ядра при использовании 16-разрядного набора команд Thumb;
чтение и запись данных во Flash-память, установка и снятие защиты блоков памяти от случайного и несанкционированного чтения и записи.
При выполнении из Flash-памяти программы, содержащей в основном 32-разрядные команды, максимальная производительность достигается на тактовой частоте 30 МГц. При выполнении программы, содержащей в основном 16-разрядные команды, максимальной производительности можно достичь на тактовой частоте 50 МГц. Максимальная же производительность микроконтроллера реализуется при выполнении программы из ОЗУ. Записанная во Flash-память программа может быть защищена от несанкционированного считывания или случайного стирания Lock-битов, которые осуществляют защиту памяти по зонам.
Для обмена данными между оперативной памятью и периферией имеется периферийный контроллер PDC (Peripheral Data Controller), задача которого заключается в организации обмена данными между памятью и периферией без участия ядра. Основные преимущества такой реализации заключаются в высвобождении вычислительных ресурсов микроконтроллера с возможностью организации непрерывной передачи данных, не прекращающейся при возникновении прерываний в системе и при остановке процессорного ядра.
Для организации обмена данными с имеющейся на кристалле периферией контроллер PDC имеет каналы для каждого периферийного узла. Для управления процессами передачи каждый периферийный узел содержит регистры контроллера PDC:
автоинкрементируемый 32-битный указатель на текущий адрес памяти;
автодекрементируемый 16-битный счетчик объема данных
автоинкрементируемый 32-битный указатель на текущий адрес памяти;
автодекрементируемый 16-битный счетчик объема данных
автоинкрементируемый 32-битный указатель на адрес памяти для следующего этапа передачи данных;
автодекрементируемый 16-битный счетчик объема данных, необходимых для передачи на следующем этапе.
Контроллер позволяет организовать обмен данными блоками по 8, 16 или 32 бита.
Микроконтроллеры серии LPC214X могут работать на тактовой частоте до 60 МГц и характеризуются весьма низким энергопотреблением. Программный код может исполняться как из ОЗУ (SRAM), так и из Flash-памяти. Объем SRAM, в зависимости от модели, составляет от 8 до 40 Кбайт, а объем Flash-памяти - от 32 до 512 Кбайт. При этом, благодаря использованию широкой 128-разрядной и специального модуля ускорения доступа, исполнение программного кода из Hash-памяти происходит без потери производительности вплоть до предельной тактовой частоты ядра. Этот метод ускорения доступа к встроенной Flash-памяти, используемый фирмой Philips, является отличительной особенностью микроконтроллеров серии LPC214X. В обычном режиме микроконтроллера используется 32-разрядный формат команд. Thumb режим работы использует 16-разрядный формат и позволяет, при необходимости, более чем на 30 % сократить размер выполняемой программы при сохранении номинальной производительности. Для микроконтроллеров серии LPC214X фирма Philips гарантирует не менее 100 тысяч циклов «стирание/запись» встроенной Flash-памяти и сохранность данных не менее 20 лет.
Поскольку по составу встроенных компонент микроконтроллеры Smart ARM и LPC214X во многом схожи, рассмотрим более подробно упрощенную структурную схему микроконтроллеров LPC214X, представленную на рис. 10.17.
Процессорное ядро ARM7TDMI является универсальным 32-разрядным процессором с малым потреблением энергии.
Процессорное ядро ARM7TDMI является универсальным 32-разрядным процессором с малым потреблением энергии.
Процессорное ядро связано посредством своей локальной шины с элементами памяти и имеет подключение к расширенной высокоскоростной шине (РВШ) через РВШ-мост. Для облегчения процесса отладки ядро имеет встроенную функцию Debug Communication Channel.
Отладочный интерфейс позволяет осуществлять связь с внешним компьютером, выполняющим программу отладки, даже не прерывая процесс выполнения основной программы микроконтроллера. Выполнение программы может быть прослежено через модуль трассировки, который позволяет вывести информацию о процессах в ядре в реальном времени.
Для связи с внешней средой по параллельным каналам используется устройство быстрого ввода-вывода, шины которого могут быть динамически настроены на ввод или вывод. Передача данных ведется по байтам.
Flash-память, размещенная на кристалле может иметь объем от 32 до 512 Кбайт. Она используется для хранения как программ так и данных. Загрузка программ или данных может осуществляться как извне, так и из выполняемой программы. Flash-память обеспечивает до 100000 циклов записи/стирания и гарантирует сохранение данных в течение 20 лет.
Статическая оперативная память SRAM может иметь объем 8/16/32 Кбайта. Адресация может быть произведена как к байту, так и к 16- или 32-разрядному слову.
Контроллер прерываний может обрабатывать как векторные, так и простые прерывания. Контроллер может быть запрограммирован на систему приоритетов, которые присваиваются внешними устройствами и могут динамически переназначаться. Векторизированных прерываний может быть 16. Наивысшим приоритетом может обладать один из выбранных сигналов прерывания, векторизированные прерывания могут обладать средним приоритетом и невекторизированные прерывания имеют наименьший приоритет. Контроллер анализирует все поступившие прерывания и формирует сигнал запроса на прерывание для процессорного ядра.
Для обмена данными с внешними устройствами в микроконтроллере предусмотрено несколько различных
Для обмена данными с внешними устройствами в микроконтроллере предусмотрено несколько различных
Интерфейс USB 2.0 содержит интегрированный приемопередатчик, соответствующий спецификации USB 2.0. Контроллер интерфейса имеет буфер FIFO объемом 328 байт и поддерживает организацию четырех каналов передачи данных. Для работы интерфейса USB используется единая с ядром схема генерации и распределения тактового сигнала, что позволяет использовать один кристалл для ядра и USB.
Два интерфейса UART0/UART1, обеспеченных линиями квитирования для гибкого контроля процесса передачи данных. Скорость обмена достигает 30 Мбит/с в синхронном режиме и 6,87 Мбит/с - в асинхронном режиме.
Два последовательных интерфейса 12С. Шина 12С двунаправлена с возможностью посылать или принимать информацию. Передатчики или приемники могут работать как в режиме master, так и быть ведомыми, в зависимости от того, что делает микроконтроллер в данный момент времени. Подключение внешних устройств может быть как многоточечным, так и одноточечным. Интерфейс 12С. реализованный в микроконтроллере может поддерживать скорость передачи до 400 Кбит/с.
Пользовательский интерфейс SPI, который может работать в двух режимах (master и slave), обеспечивая передачу данных на скоростях до 30 Мбит/с. Интерфейс SPI снабжен четырьмя линиями Chip Select, что позволяет организовать обмен данными в режиме master с четырьмя внешними устройствам, с каждым из которых можно установить связь на заданной скорости и осуществлять обмен данными блоками по 8 или 16 бит.
Все интерфейсы контроллера могут работать под управлением PDC, который осуществляет прямую загрузку данных в память без участия процессорного ядра.
Для подсчета внешних событий и генерирования временных интервалов в состав микроконтроллера включен счетчик/таймер. Сигналы счетчика и таймера могут использоваться для формирования внутренних прерываний. Для анализа внешних прерываний предусматриваются специальные входы, поступающие на блок внешних прерываний.
Охранный таймер и часы реального времени, имеющиеся на кристалле микроконтроллера, предназначены
Охранный таймер и часы реального времени, имеющиеся на кристалле микроконтроллера, предназначены
Для управления техническими системами и механизмами в микроконтроллере предусмотрен блок широтно-импульсной модуляции (ШИМ, PWM). Он включает в себя четыре независимых канала для генерации широтно-модулированных сигналов. На каждом канале можно устанавливать независимые значения частоты и полярности сигнала.
Блок ШИМ имеет в своем составе контроллер блока ШИМ и модули каналов.
Контроллер блока ШИМ выполняет функции формирования и распределения набора тактовых сигналов, включающих два независимых тактовых сигнала, а также набор сигналов, равных системной тактовой частоте, деленной на число, кратное 2п (п=1, ..., 10). Каждый из сформированных сигналов может быть использован для работы любого канала ШИМ. Помимо функций распределения тактовой частоты контроллер блока ШИМ выполняет функции включения и выключения модулей каналов, разрешения и запрещения прерываний от модулей каналов.
Модули каналов ШИМ обеспечивают выбор источников тактового сигнала, выбор режима работы канала (выравнивание импульсов по левому, правому краю или по центру). Векторные сигналы ШИМ могут мультиплексироваться на выводы микроконтроллера, имеющие удвоенную нагрузочную способность, что позволяет осуществлять подключение внешних цепей с током нагрузки до 18 мА.
Для обеспечения работы с источниками аналоговых сигналов микроконтроллер имеет многоканальный (до 14 входов) аналого-цифровой преобразователь (АЦП), который позволяет работать в 8-10-битном режимах преобразования. Максимальная частота дискретизации, обеспечиваемая АЦП достигает 384 КГерца. Как и прочая периферия, АЦП поддерживается PDC. Запуск преобразования может быть осуществлен программно и аппаратно. Все процедуры запуска преобразования и чтения результата преобразования АЦП может выполняться без участия ядра микроконтроллера под управлением PDC. Питание АЦП осуществляется от 3,3-вольтовой линии питания, и в момент преобразования ток потребления составляет 1 мА. Для снижения энергопотребления в период между преобразованиями предусмотрен режим энергосбережения (sleep mode), ток потребления в котором не превышает 1 мкА. В качестве источника опорного напряжения для АЦП можно использовать внешний источник напряжения величиной от 2,6 до 3,3 В. Для обратного преобразования цифровых сигналов в аналоговые используется цифро-аналоговый преобразователь (ЦАП).