Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1571

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
780.68 Кб
Скачать

М И Н И С Т Е Р С Т В О О Б Р А З О В А Н И Я Р О С С И Й С К О Й Ф Е Д Е Р А Ц И И

В О Р О Н Е Ж С К И Й Г О С У Д А Р С Т В Е Н Н Ы Й Т Е Х Н И Ч Е С К И Й У Н И В Е Р С И Т Е Т

В. И . К р а в ч е н к о

ОД Н О К Р И С Т А Л Ь Н Ы Е М И К Р О К О Н Т Р О Л Л Е Р Ы

С R I S C - А Р Х И Т Е К Т У Р О Й

Ч а с т ь 1 . А р х и т е к т у р а и с и с т е м а к о м а н д

У ч е б н о е п о с о б и е

В о р о н е ж 1 9 9 9

УДК 681.325.5-181.4(075)

Кравченко В.И. Однокристальные микроконтроллеры с RISCархитектурой. Часть 1. Архитектура и система команд: Учеб. пособие. Воронеж: Изд-во ВГТУ, 1999. 77 с.

Учебное пособие ―Однокристальные микроконтроллеры с RISCархитектурой‖ предназначено для использования студентами, обучающимися по специальности 200800 ―Проектирование и технология РЭС‖, в самостоятельной работе и при подготовке к лабораторным занятиям по дисциплине ―Микропроцессоры и микроЭВМ в РЭС‖, а также может быть использовано в курсовом и дипломном проектировании как справочное пособие по перспективной элементной базе САУ и РЭС.

Пособие содержит сведения по архитектуре и системе команд микроконтроллеров (МК) с RISC-архитектурой двух типов: PIC16C84 и PIC16C71. Представлены структурные схемы, распределение адресного пространства памяти программ и данных, описаны назначение и особенности использования специальных регистров и их отдельных битов, рассмотрена специфика функционирования МК в различных режимах. Наличие вопросов для самоконтроля облегчает и углубляет усвоение основного содержания изучаемого материала.

Ил. 23. Табл. 23.

Печатается по решению редакционно-издательского совета ВГТУ.

Научный редактор д-р техн. наук В.М.Шишкин

Рецензенты: канд. техн. наук Н.И.Щукин; кафедра № 10 Военного института радиоэлектроники, заведующий кафедрой профессор Б.Ф.Змий

- Издательство Воронежского государственного технического университета, 1999

ВВЕДЕНИЕ

Микропроцессоры (МП) с архитектурой RISC (Reduced Instruction Set Computers) - с сокращенным набором команд - используют относительно небольшой (сокращенный), по сравнению с обычным МП с CISC - архитектурой, набор наиболее употребительных команд, определенных в результате статистического анализа большого числа программ для основных областей применения МП.

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

Первые экспериментальные RISC-процессоры для ЭВМ появились в 1980 г.г., однако они не нашли широкого применения в ЭВМ. В то же время в дальнейшем, вследствие частичного применения RISC - архитектуры и других усовершенствований, в CISC - процессоре 80486 фирмы Intel удалось поднять производительность в два раза по сравнению с чисто CISC МП 80386.

Особенно эффективным оказалось использование принципов RISC - архитектуры в так называемых МИКРОКОНТРОЛЛЕРАХ (МК) - однокристальных МП, предназначенных в основном для построения на их базе устройств автоматики типа контроллеров и имеющих на одном кристалле все атрибуты микроЭВМ: собственно процессор, схему тактового генератора, интерфейс портов ввода - вывода, таймеры, иногда схемы ЦАП - АЦП и другие элементы. Для устройств такого класса разумное сокращение номенклатуры команд оказывается вообще малозаметным для большинства применений, зато резкое повышение производительности и введение дополнительных сервисных возможностей за счет освобождения места на кристалле делают такие процессоры весьма перспективными.

Технология проектирования микропроцессорных устройств (МПУ) автоматики (приборов, контроллеров) включает две компоненты: создание аппаратной и программной частей, причем от 60% до 90% трудозатрат приходится на создание и отработку программной части.

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

2

особенно актуальны для пользователей однокристальных МК. В таких МК как

правило содержится множество ―специальных‖ регистров, требующих их программной установки (настройки), нередко побитной, и далее проверки и переустановки в процессе работы программы.

Следует отметить, что наиболее эффективным способом программирования МП является использование машинно-ориентированного языка Ассемблера, сочетающего в себе некоторые черты и возможности языков высокого уровня (ЯВУ), но учитывающего специфическую архитектуру и систему команд конкретного МП и позволяющего сократить объем программы (уменьшить объем потребной памяти, повысить быстродействие программы) на 30% по сравнению с вариантом использования ЯВУ для программирования МП.

Данное пособие по сути является руководством для начинающих пользователей PIC - процессоров с RISC - архитектурой типов PIC16C84 и PIC16C71

изадумано к изданию в двух частях:

-Часть 1 - Архитектура и система команд - включает сведения по архитектуре МК, распределению адресного пространства памяти программ и данных, назначению и специфике использования специальных регистров и их отдельных битов, а также сведения по системе команд и особенностям функционирования МК в различных режимах.

-Часть 2 - Введение в программирование на языке Ассемблер - содержит краткое описание языка Ассемблера для МК указанных типов, а также примеры простейших программ и указания по использованию аппаратных и программных отладочных средств и средств программирования, позволяющие получить практические навыки в программировании МК.

Руководство предназначено для студентов радиоэлектронных специальностей для самостоятельного изучения и применения МК в курсовом и дипломном проектировании, а также может быть полезно инженерамразработчикам для начального знакомства с PIC - процессорами.

3

1. СЕМЕЙСТВО 8-БИТНЫХ МИКРОКОНТРОЛЛЕРОВ PIC16/17

Фирма MICROCHIP выпускает три типа 8 - битных КМОП микрокон-

троллеров, известных как PIC16C5x, PIC16Cxx и PIC17Cxx. Все микроконтроллеры выполнены по RISC-технологии, имеют схему запуска по включению питания, программируемый сторожевой таймер, бит защиты от считывания, допустимый ток по каждому выходу до 20 мА и низкое энергопотребление - 2 мА при питании 5 В на тактовой частоте 4 МГц; 15 мкА при питании 3 В на тактовой частоте 32 кГц и менее 3 мкА в режиме ожидания. Ниже приведены сравнительные характеристики указанных типов PIC - процессоров.

PIC16C5x:

12 - разрядные команды, 33 инструкции, глубина стека 2, прерывания отсутствуют (табл. 1.1).

 

 

 

Таблица 1.1

 

 

 

 

 

 

Память

Память

Число

Тактовая

 

программ

данных

входов

частота

 

(слов)

(байт)

выходов

(МГц)

 

 

 

 

 

PIC16C54

512

25

12

20

 

 

 

 

 

PIC16C55

512

25

20

20

 

 

 

 

 

PIC16C56

1024

25

12

20

 

 

 

 

 

PIC16C57

2048

72

20

20

 

 

 

 

 

PIC16Cxx

14 - разрядные команды, 35 инструкций, глубина стека 8, внутренние и внешние прерывания, 8 - битный АЦП для PIC71/73/74, электрически перепрограммируемые память программ и данных (64 байта) для PIC16C84 (табл. 1.2).

PIC17Cxx:

16 - разрядные команды, 55 инструкций, глубина стека 16, внутренние и внешние прерывания, режимы микроконтроллера и микропроцессора (табл.

1.3).

4

Таблица 1.2

 

Тип МК

 

Программ

Память

 

Число

 

Тактовая

 

 

 

(слов)

данных

 

входов

 

частота

 

 

 

 

 

(байт)

 

выходов

 

(МГц)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PIC16C64

2048

 

128

 

 

33

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PIC16C71

1024

 

36

 

 

13

 

 

16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PIC16C84

1024

 

36+64

 

 

13

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 1.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Память

 

Память

 

Число вхо-

 

Тактовая

 

 

 

 

программ

 

данных

 

дов выхо-

 

 

частота

 

 

 

 

(слов)

 

(байт)

 

 

дов

 

 

(МГц)

 

 

 

 

 

 

 

 

 

 

 

 

 

PIC17C42

 

2048

 

256

 

33

 

25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эффективный набор 14 - разрядных команд (35 инструкций), глубина стека 8, внутренние таймеры, внутренние и внешние прерывания, 8 - битный АЦП для PIC16C71 (4 канала) и PIC16C74 (8 каналов), электрически перепрограммируемая память программ и энергонезависимая память данных (64 байта

NVRAM) для PIC16C84, память программ 1024 слов для PIC16C71, PIC16C84 и

4096 слов для PIC16C74, память данных (ОЗУ или регистры общего назначе-

ния - РОНы): 36 байт для PIC16C71, PIC16C84 (плюс 64 байта NVRAM) и 192 байта для PIC16C74, 13 линий ввода/вывода для PIC16C71, PIC16C84 и 33 ли-

нии для PIC16C74 - предопределяют успешное применение МК типа PIC16Cxx для самого широкого спектра приложений.

Малые размеры корпусов как для обычного, так и для поверхностного монтажа, широкодиапазонное климатическое исполнение, низкая цена, экономичность, наличие дежурного режима с микромощным потреблением (SLEEP), быстродействие, гибкость ввода-вывода, простота программирования и использования, наличие отладочных средств и комплексов развития с программными эмуляторами на базе ПЭВМ (IBM любого типа) делают

применение PIC16Cxx привлекательным даже в тех областях, где микропроцессоры ранее не применялись, например, носимые радиостанции, пейджеры, сторожевые устройства, автоматика автомобилей, бытовая техника и т.д.

В данном руководстве подробно описываются два типа PIC - процес-

5

соров: PIC16C84 и PIC16C71. Такой выбор обусловлен наличием у этих МП некоторых замечательных свойств, выгодно отличающих их от PIC16C5x, и относительно низкой стоимостью по сравнению с более сложными PIC17Cxx.

2.МИКРОКОНТРОЛЛЕР ТИПА PIC16C84

2.1.Общие сведения

PIC16C84 относится к семейству КМОП микроконтроллеров с RISC - архитектурой. Отличается тем, что имеет внутреннюю 1K x 14 бит память EEPROM для программ, 8 - битовые данные и 64 байт EEPROM памяти данных, низкую стоимость и высокую производительность. Все команды состоят из одного слова (14 бит шириной) и исполняются за один цикл (400 нс при 10 МГц), кроме команд перехода, которые выполняются за два цикла (800 нс). PIC16C84 имеет систему прерываний, работающую от четырех источников, и восьмиуровневый аппаратный стек. Периферия включает в себя 8 - битный таймер/счетчик с 8 - битным программируемым предварительным делителем (фактически 16 - битный таймер) и 13 линий двунаправленного ввода/вывода. Высокая нагрузочная способность (25 мА max втекающий ток, 20 мА max вытекающий ток) линий ввода/вывода упрощают внешние драйверы и, тем самым, уменьшают общую сложность системы. Разработки на базе контроллеров PIC16C84 поддерживаются ассемблером, программным симулятором, внутрисхемным эмулятором (фирмы Microchip) и программатором.

Cледует добавить, что встроенный автомат программирования EEPROM кристалла PIC16C84 позволяет легко подстраивать программу и данные под конкретные требования даже после завершения ассемблирования и тестирования, без изъятия микросхемы из платы. Эта возможность может быть использована как для тиражирования, так и для занесения калибровочных данных уже после окончательного тестирования.

2.2. Характеристики PIC16C84

35 простых команд;

все команды выполняются за один цикл (400ns), кроме команд перехода - 2 цикла;

6

рабочая частота 0 Гц ... 10 МГц (min 400 нс цикл команды);

14 — битовые команды;

8 — битовые данные;

1024 х 14 бит электрически перепрограммируемой программной памяти на кристалле (EEPROM);

36 х 8 регистров общего назначения (ОЗУ);

15 специальных аппаратных регистров SFR;

64 x 8 ячеек электрически перепрограммируемой EEPROM - памяти

для данных;

восьмиуровневый аппаратный стек;

прямая, косвенная и относительная адресация данных и команд;

четыре источника прерывания:

внешний вход INT; переполнение таймера RTCC;

прерывание при изменении сигналов на линиях порта B; по завершению записи данных в память EEPROM.

Периферия Ввод/Вывод

13 линий ввода-вывода с индивидуальной настройкой (втекающий/ вытекающий ток достаточен для управления светодиодами: max втекающий ток - 25 мА, max вытекающий ток - 20 мА);

8 - битный таймер/счетчик RTCC с 8 - битным программируемым предварительным делителем;

автоматический сброс при включении, таймер включения при сбросе, таймер запуска генератора, Watchdog - таймер WDT c собственным встроенным генератором, обеспечивающим надежность работы;

EEPROM - бит секретности для защиты кода;

экономичный режим SLEEP;

выбираемые пользователем биты для установки режима возбуждения встроенного генератора: RC генератор (RC), обычный кварцевый резонатор (XT), высокочастотный кварцевый резонатор (HS), экономичный низкочастотный кристалл (LP);

встроенное устройство программирования EEPROM - памяти программ и данных (используются две ножки для программирования).

7

КМОП технология

экономичная высокоскоростная КМОП EPROM - технология;

статический принцип в архитектуре;

широкий диапазон напряжений питания и температур:

коммерческий: 2.0 ... 6.0 В, 0...+70С

промышленный: 2.0 ... 6.0 В, - 40...+70С

автомобильный: 2.0 ... 6.0 В, - 40...+125С

— низкое потребление:

3 мА типично для 5В, 4МГц

50мкА типично для 2В, 32КГц

2.3.Архитектура PIC16C84

Архитектура микроконтроллера основана на концепции раздельных шин и областей памяти для данных и для команд (Гарвардская архитектура). Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения (рис. 2.1).

Четырнадцатибитовая ширина программной памяти обеспечивает выборку 14 - битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл, исключая команды переходов. В PIC16C84 программная память объемом 1К х 14 расположена внутри кристалла. Исполняемая программа может находиться только во встроенном ПЗУ.

2.4. Tипы корпусов и исполнений

Тип корпуса указывается в Маркировке при заказе микросхем. Корпуса бывают только с 18 Выводами.

PDIP — Обычный пластмассовый двухрядный корпус.

SOIC — Малогабаритный DIP корпус для монтажа на поверхность.

8

1

S t a c k

1

 

 

 

 

 

 

 

 

 

S t a c k

8

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A L U

 

 

 

2

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

P C

 

 

 

 

 

 

 

 

R

e g is t e r

 

 

 

 

 

 

 

 

1 3 b i t

 

W - r e g

 

S t a t u s

 

 

f ile

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E E P R O M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p r o g . M E M

 

 

 

 

 

8 - b i t D a t a B u s

 

 

 

 

 

 

 

 

 

 

 

 

 

1 0 2 4 x 1 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R T C C

 

 

O p t io n R e g .

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T R I S A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R A

 

 

 

P o r t R A 0 - R A 3

 

 

 

 

 

 

 

 

 

 

 

1 0

 

 

 

 

 

R T C C

 

 

 

 

 

 

 

4 - b i t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W D T /R T C C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P r e s c a le r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W

a t c h D

o g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T R I S B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T im e r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O S C 1

R B

 

 

 

P o r t R B 0 - R B 7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8 - b i t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

O

s c ila t o r

 

 

 

O S C 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S le e p

 

T im in g &

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C o n r o l

 

 

 

M C L R

 

 

 

 

1 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E E P R O M

 

 

 

 

 

 

 

 

 

D is a b l e

 

 

 

 

O s c . S e le c t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D a t a M e m o r y

 

 

 

 

 

 

 

 

1 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6 4 x 8

 

 

 

 

 

 

C o n f ig u r a t io n E E P R O M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р и с .

2 . 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пояснения к рис. 2.1:

1 — Стековая память; 2 — Программный счетчик (PC); 3 — Арифмети- ко-логическое устройство (АЛУ) с неявно адресуемым POНом (W) и

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]