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

Шумахер У. Полупроводниковая электроника

.pdf
Скачиваний:
203
Добавлен:
28.03.2015
Размер:
8.01 Mб
Скачать

INFSEMI_2-Text.fm, стр. 272 из 589 (September 3, 2010, 17:05)

272 7. Микроконтроллеры

 

 

 

 

 

 

 

 

Команда ADDC (суммирование с пере-

Флаги

 

носом) суммирует содержимое регистра

 

Помимо вышеуказанных причин, состо-

 

А (аккумулятора) с операндом-источни-

 

 

яние флагов может быть изменено в резуль-

 

ком, прибавляет к результату единицу,

 

тате следующих операций:

 

если флаг переноса CY был установлен, а

 

 

Флаг переноса CY устанавливается в 1,

 

затем помещает результат в А.

 

 

если вследствие той или иной операции

Команда

DA

(десятичная

коррекция)

 

 

возникает перенос в старший бит резуль-

 

корректирует результат сложения двух-

 

 

 

тата или заимствование из него. Во всех

 

значных

операндов в двоично-десяти-

 

 

 

остальных случаях флаг CY сбрасывается

 

чном формате, приводя его к упакован-

 

 

 

в ноль.

 

ному двоично-десятичному формату. Ре-

 

 

Флаг дополнительного переноса AC ус-

 

зультат исполнения команды помещает-

 

 

танавливается, если операция вызывает

 

ся в аккумулятор. Флаг CY устанавлива-

 

 

 

перенос из младшего полубайта резуль-

 

ется в 1, если результат больше чем 99, в

 

 

 

тата (при сложении) или заимствование

 

противном случае этот флаг сбрасывает-

 

 

 

из старшего бита в младший бит (при вы-

 

ся в 0.

 

 

 

 

 

 

 

 

 

 

 

читании). Во всех остальных случаях

 

Вычитание:

 

 

 

 

 

 

(вычитание

с заёмом)

 

флаг AC сбрасывается в ноль.

Команда

SUBB

 

Флаг переполнения OV устанавливается

 

вычитает

второй

операнд-источник из

 

 

в 1, если в результате операции происхо-

 

первого (аккумулятора), затем вычитает

 

 

 

дит перенос в старший бит при отсут-

 

единицу, если CY был установлен в 1, и

 

 

 

ствии заимствования из него, и наобо-

 

вновь помещает результат в аккумулятор.

 

 

 

рот. Во всех остальных случаях флаг OV

Команда DEC (декрементирование) вы-

 

 

сбрасывается в ноль. Флаг OV использу-

 

читает 1 из операнда-источника и поме-

 

 

 

ется при арифметических операциях в

 

щает результат в операнд-источник (при

 

 

 

дополнительном коде, поскольку он ус-

 

этом состояние флагов в регистре PSW

 

 

 

танавливается в 1, когда результат не мо-

 

не изменяется).

 

 

 

 

 

 

 

жет быть представлен в виде 8 бит.

 

 

 

 

 

 

 

 

Умножение:

 

 

 

Флаг чётности P устанавливается в 1, ес-

Команда MUL реализует операцию без-

 

ли сумма по модулю 2 восьми отдельных

 

знакового умножения содержимого ак-

 

битов числа, содержащегося в аккумуля-

 

кумулятора на содержимое регистра В и

 

торе, равна 1 (нечётное количество еди-

 

возвращает

двухбайтный

результат.

 

ниц). Во всех остальных случаях (чётное

 

Младший байт записывается в аккумуля-

 

количество) флаг P сбрасывается в 0. Ес-

 

тор, а старший — в регистр B. Флаг пере-

 

ли происходит запись в регистр PSW, то

 

полнения OV устанавливается в 0, если

 

значение бита P остается неизменным,

 

старший байт результата (записываемый

 

поскольку оно всегда показывает резуль-

 

в регистр B) равен 0, и устанавливается в

 

тат проверки чётности содержимого ак-

 

1, если старший байт результата не равен

 

кумулятора.

 

0. Флаг переноса CY всегда сбрасывается

Логические команды

 

в 0, значение флага дополнительного пе-

 

 

 

 

 

реноса AC не изменяется.

 

 

В систему команд микроконтроллеров

 

Деление:

 

 

 

 

семейства С500 также входят логические

 

Команда DIV реализует операцию без-

операции как с битовыми, так и байтовыми

 

знакового деления содержимого аккуму-

операндами.

 

лятора на содержимое регистра В и со-

 

Команды, использующие один операнд:

 

храняет целую часть результата в аккуму-

 

Команда CLR сбрасывает аккумулятор

 

ляторе, а остаток в регистре В. В случае

 

целиком или любой непосредственно ад-

 

деления на ноль в регистрах А и В будут

 

ресуемый бит в ноль.

 

содержаться непредсказуемые значения,

Команда SETB устанавливает любой не-

 

флаг OV при этом устанавливается в 1 (во

 

посредственно адресуемый бит в 1.

 

всех остальных случаях флаг OV сбрасы-

Команда CPL возвращает двоичный до-

 

вается в 0). Флаг CY сбрасывается в ноль,

 

полнительный код содержимого аккуму-

 

значение флага AC не изменяется.

 

лятора; при этом состояние флагов (в ре-

гистре PSW) или других непосредствен-

 

 

 

 

 

 

INFSEMI_2-Text.fm, стр. 273 из 589 (September 3, 2010, 17:05)

 

 

 

 

7.2. Восьмибитные микроконтроллеры 273

 

 

 

 

 

 

 

но адресуемых битов памяти не изменя-

Безусловный переход, команды вызова под-

 

 

ется.

 

программы и возврата из подпрограммы

 

 

Команды RL, RLC, RR, RRC, SWAP

 

Эти три команды передают управление с

 

 

предназначены для работы с аккумуля-

 

 

 

текущего значения счётчика команд по за-

 

 

тором. RL осуществляет циклический

 

 

данному адресу. Поддерживается как пря-

 

 

сдвиг содержимого аккумулятора влево,

 

 

мой, так и косвенный способы передачи уп-

 

 

RR — циклический сдвиг вправо, RLC —

 

 

равления.

 

 

 

 

 

 

 

 

циклический сдвиг влево через перенос,

 

 

 

 

 

 

 

 

 

Команда ACALL (LCALL) помещает ад-

 

 

RR — циклический сдвиг вправо через

 

 

 

рес следующей за ней команды в стек, а

 

 

перенос, а SWAP — циклический сдвиг

 

 

 

 

затем передаёт управление по адресу, не-

 

 

аккумулятора влево на четыре бита (т.е.

 

 

 

 

посредственно заданному в теле коман-

 

 

старший и младший полубайты меняют-

 

 

 

 

ды. ACALL — это двухбайтная команда,

 

 

ся местами). В результате выполнения

 

 

 

 

используемая для адресации внутри те-

 

 

команд RLC и RRC значение флага пере-

 

 

 

 

кущей 2-Кбайт страницы памяти про-

 

 

носа CY устанавливается равным значе-

 

 

 

 

грамм. LCALL — это трёхбайтная коман-

 

 

нию бита, который в процессе цикличес-

 

 

 

 

да,

которая

может

адресовать

все

 

 

кого сдвига был последним «вытолкнут»

 

 

 

 

64 Кбайт доступного пространства памя-

 

 

из аккумулятора. Команда SWAP сдвига-

 

 

 

 

ти

программ. При использовании

ко-

 

 

ет содержимое аккумулятора на четыре

 

 

 

 

манды ACALL адрес, задаваемый в теле

 

 

позиции влево, т.е. биты 3…0 (младший

 

 

 

 

команды (т.е. в 11-битном поле адреса

 

 

полубайт) меняются местами с битами

 

 

 

 

команды), дополняется пятью старши-

 

 

7…4 (старший полубайт).

 

 

 

 

ми битами счётчика команд (который

 

 

Команды, использующие два операнда:

 

 

 

содержит адрес следующей команды).

Команда ANL осуществляет логическую

 

Если команда ACALL физически распо-

 

 

операцию «Побитовое И» с двумя операн-

 

 

 

 

ложена в последних двух байтах текущей

 

 

дами (операнды могут быть как битовы-

 

 

 

 

2-Кбайт страницы памяти программ, то

 

 

ми, так и байтовыми) и помещает резуль-

 

 

 

 

вызов произойдет из пространства сле-

 

 

тат обратно в первый из этих операндов.

 

 

 

дующей

страницы, поскольку счётчик

Команда

ORL выполняет логическую

 

 

команд

(PC) инкрементируется перед

 

 

операцию

«Побитовое ИЛИ» с двумя

 

 

 

 

выполнением следующей команды.

 

 

 

 

операндами (операнды могут быть как

 

 

 

 

 

Команда RET передаёт управление по

 

 

битовыми, так и байтовыми) и помещает

 

 

 

адресу

возвращения,

сохранённому

в

 

 

результат обратно в первый из этих опе-

 

 

 

 

стеке предыдущей командой вызова под-

 

 

рандов.

 

 

 

 

 

 

программы

(ACALL

или LCALL),

и

Команда XRL реализует логическую опе-

 

 

дважды декрементирует содержимое ре-

 

 

рацию «Побитовое исключающее ИЛИ»

 

 

 

 

гистра указателя стека, чтобы он указы-

 

 

с двумя операндами (операнды могут

 

 

 

 

вал на адрес следующей команды.

 

 

 

 

быть как битовыми, так и байтовыми) и

 

 

 

 

 

Команды AJMP, LJMP и SJMP передают

 

 

помещает

результат в первый из этих

 

 

 

управление по непосредственно задан-

 

 

операндов.

 

 

 

 

ному в них адресу. AJMP и LJMP работа-

 

 

 

 

 

Команды передачи управления

 

ют аналогично ACALL и LCALL. Коман-

 

да SJMP (короткий переход) передаёт

 

 

Существует три основных класса таких

 

 

 

 

управление в пределах 256-байтной (от

команд:

 

 

-128 до +127 байт) окрестности адреса

безусловный переход, команды вызова и

 

команды, следующей за SJMP.

 

 

 

возврата из подпрограммы;

 

Команда JMP@A+DPTR выполняет пе-

условные переходы;

 

реход относительно адреса, содержаще-

 

прерывания.

 

гося в регистре DPTR. Операнд А ис-

 

 

В результате выполнения команд переда-

 

пользуется

для

определения смещения

чи управления микроконтроллер продол-

 

(0…255 байт) относительно адреса в дан-

жает свою работу под управлением команд,

 

ном регистре. Это означает, что действи-

расположенных в другом месте памяти про-

 

тельный адрес перехода может находить-

грамм (иногда для этого требуется выполне-

 

ся в любом месте адресного пространс-

ние определённых условий).

 

тва памяти программ.

 

 

 

INFSEMI_2-Text.fm, стр. 274 из 589 (September 3, 2010, 17:05)

274 7. Микроконтроллеры

Условные переходы

Команды возврата из прерывания

Команды условного перехода реализуют передачу управления в зависимости от выполнения некоторых условий. Адрес перехода лежит в 256-байтной (от –128 до +127 байт) окрестности адреса команды, следующей за командой условного перехода.

Команда JZ осуществляет переход, если значение аккумулятора равно нулю.

Команда JNZ осуществляет переход, если в аккумуляторе содержится ненулевое значение.

Команда JC осуществляет переход, если флаг переноса установлен в 1.

Команда JNC осуществляет переход, если флаг переноса сброшен в 0.

Команда JB осуществляет переход, если установлен в 1 один из битов с непосредственной адресацией.

Команда JNB осуществляет переход, если сброшен в 0 один из битов с непосредственной адресацией.

Команда JBС осуществляет переход, если один из битов с непосредственной адресацией установлен в 1; после выполнения команды условного перехода значение этого бита сбрасывается в 0.

Команда CJNE сравнивает значения двух своих операндов и осуществляет переход, если эти значения различаются. Флаг переноса CY устанавливается в 1, если первый операнд меньше второго, в противном случае флаг CY сбрасывается в 0. Могут производиться следующие виды сравнений: между содержимым аккумулятора и непосредственно адресуемыми битами во внутренней памяти; между непосредственно заданным в теле команды значением и текущим значением аккумулятора или регистра, относящегося к активному в настоящий момент банку регистров, или байта данных во внутреннем ОЗУ, обращение к которому может осуществляться путём косвенной регистровой адресации.

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

Команда RETI осуществляет передачу управления аналогично тому, как это делает команда RET. Однако после выполнения команды RETI текущий уровень приоритета прерываний в системе не изменяется, что позволяет производить обработку новых прерываний с уровнем приоритета не ниже текущего.

7.2.10.Функциональные схемы микроконтроллеров семейства С500

На Рис. 7.14…7.22 приведены функциональные схемы некоторых микроконтроллеров семейства С500. Более подробную информацию о структуре различных типов этих микроконтроллеров можно найти в руководствах по применению и в спецификациях для каждого из них.

7.3.Шестнадцатибитные

микроконтроллеры

7.3.1. Введение

Создание встроенных систем управления — это исключительно перспективная область применения современных микроконтроллеров, одним из наиболее критических факторов развития которой является быстродействие. Сложные алгоритмы управления функционированием таких систем основаны на обработке большого числа цифровых и аналоговых сигналов, время реакции на которые должно укладываться в заранее заданные границы. Кроме того, часто при проектировании встроенных систем управления большое значение имеют размеры печатных плат, уровень энергопотребления и общая стоимость системы.

Для реализации встроенных систем управления требуются микроконтроллеры, которые:

характеризуются высокой степенью интеграции;

позволяют обойтись без использования внешних периферийных устройств и, соответственно, снизить затраты на разработку программного обеспечения;

гарантируют безопасное функционирование системы и имеют встроенные механизмы выхода из режимов сбоя;

INFSEMI_2-Text.fm, стр. 275 из 589 (September 3, 2010, 17:05)

7.3. Шестнадцатибитные микроконтроллеры 275

Блок

ОЗУ

 

 

энергосберегающих

Порт 0

I/O

режимов

256 × 8

 

 

T0

 

Порт 1

I/O

T2

ЦПУ

USART

 

T1

 

Порт 2

I/O

8K × 8 ПЗУ (C501-1R)

Порт 3

I/O

8K × 8 ОППЗУ (C501-1E)

 

 

Рис. 7.14. Функциональная схема микроконтроллера C501-F.

поддержкимодульВстроенный

 

Генератор сторожевого таймера

XRAM

 

ОЗУ

 

 

эмуляциирежима

 

 

Порт 0

I/O

10-битный АЦП

256 × 8

256 × 8

 

 

 

 

 

 

 

 

Таймер 2

 

 

 

 

8-битный цифровой порт

 

 

16-битный модуль захвата

T0

 

 

Порт 1

ввода/вывода

 

 

Процессорное

 

8-битный

 

4-канальный аналоговый вход

 

 

и сравнения

 

 

 

 

 

ядро C500

 

USART

 

 

 

 

 

 

 

 

 

 

10-битный модуль сравнения

T1

 

 

Порт 2

I/O

 

 

 

 

 

 

 

 

 

 

ПЗУ/ОППЗУ

 

 

8-битный цифровой порт

 

 

Сторожевой таймер

 

Порт 3

ввода/вывода

 

 

 

16К × 8

 

 

 

4-канальный аналоговый вход

 

 

Рис. 7.15. Функциональная схема микроконтроллера C504.

 

 

Генератор сторожевого таймера

XRAM

 

ОЗУ

 

 

 

 

 

C505/C505C: 256 байт

 

Порт 0

I/O

 

 

 

256 байт

Встроенный модуль поддержки

 

АЦП

C505A/C505CA: 1 Кбайт

 

 

 

 

 

 

 

 

 

 

 

 

8 аналоговых входов/

 

C505/C505C: 8-битный

 

 

 

 

режима эмуляции

C505A/C505CA: 10-битный

 

 

 

Порт 1

8-битный цифровой

 

Таймер 0

 

 

порт ввода/вывода

 

 

8-битный

 

 

Процессорное

 

 

 

Таймер 2

ядро C500

 

USART

 

 

 

 

 

 

 

 

8 регистров-

 

 

Порт 2

I/O

 

 

 

 

 

Полнофункциональный

Таймер 1 указателей данных

 

 

 

контроллер шины CAN

 

 

 

 

I/O

(только для C505/C505A)

 

 

 

Порт 3

 

Память программ

 

 

 

 

C505/C505C: 16К ПЗУ

 

 

 

 

 

 

 

 

 

Сторожевой таймер

C505A/C505CA: 1К ППЗУ

Порт 4

I/O (двухбитный порт

 

 

 

 

 

ввода/вывода)

 

 

 

 

 

 

 

 

 

Рис. 7.16. Функциональная схема микроконтроллеров C505/C505C/C505A/C505CA.

INFSEMI_2-Text.fm, стр. 276 из 589 (September 3, 2010, 17:05)

 

 

 

 

 

 

276 7. Микроконтроллеры

 

 

 

 

 

 

 

 

 

 

Генератор

 

XRAM

 

ОЗУ

 

8-битный цифровой

 

 

 

 

сторожевого

 

 

Порт 0

 

 

 

 

 

 

порт ввода/вывода

 

 

 

 

 

256 × 8

 

256 × 8

 

 

поддержкимодульВстроенный

 

таймера

 

 

 

 

 

 

 

эмуляциирежима

 

 

 

 

 

8 аналоговых входов/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10-битный АЦП

Таймер 0

 

 

Порт 1

8-битный цифровой

 

 

 

 

ЦПУ

 

 

порт ввода/вывода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8-битный

 

 

 

 

 

 

 

 

 

 

8 регистров-

 

8-битный цифровой

 

 

 

 

Таймер 2

 

указателей данных

USART

Порт 2

порт ввода/вывода

 

 

 

 

Таймер 1

 

 

 

2 выхода управления ЖКИ/

 

 

 

 

4 канала ШИМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт 3

8-битный цифровой

 

 

 

 

 

 

 

 

 

 

порт ввода/вывода

 

 

 

 

Сторожевой

 

ППЗУ 32К × 8

 

 

 

 

 

 

 

 

 

8 выходов управления ЖКИ/

 

 

 

таймер

 

 

(только для С 505L-4E)

 

 

 

 

 

 

 

 

 

 

Порт 4

8-битный цифровой

 

 

 

 

Часы

 

 

 

 

 

 

порт ввода/вывода

 

 

 

 

 

Блок управления 128-сегментным ЖКИ

 

6 выходов управления ЖКИ/

 

 

 

реального

Порт 5

 

 

 

 

 

 

 

6-битный цифровой

 

 

 

 

времени

 

 

 

 

 

 

 

 

 

 

 

 

 

порт ввода/вывода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20 выходов управления ЖКИ

 

 

 

 

 

 

 

Рис. 7.17. Функциональная схема микроконтроллера C505L.

 

 

поддержкимодульВстроенный

эмуляциирежима

 

Сторожевой таймер

 

 

ОЗУ 256 × 8

Загрузочное ПЗУ 512 × 8

 

 

Генератор

 

 

Таймер 0

 

ЦПУ

 

Порт 0

I/O

 

 

 

 

 

 

 

 

 

 

сторожевого таймера

 

Процессорное

 

 

 

 

 

 

XRAM

 

 

 

 

 

 

 

 

Таймер 2

 

ядро C500

 

 

 

 

 

 

 

 

 

3K × 8

 

 

 

 

 

 

8-битный

 

Таймер 1

(8 регистров-

Порт 1

I/O

 

 

 

 

 

 

 

 

 

 

 

указателей данных)

 

 

 

 

Блок

UART

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

управления

 

 

 

 

 

 

 

 

 

 

 

программными

Модуль

Таймер

 

 

Блок

 

Порт 2

I/O

 

 

и аппаратными

 

 

Таймер

 

 

 

 

 

 

 

 

 

энерго-

умножения/

сравнения

10-битный АЦП

захвата/

 

 

 

 

 

сравнения

 

 

 

 

сберегающими

деления

1

 

 

сравнения

 

Порт 3

I/O

 

 

 

режимами

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8-битный

Порт 9

Порт 8

Порт 7

Порт 6

Порт 5

Порт 4

I/O

 

 

 

 

UART

 

 

 

 

 

 

 

 

 

 

 

Блоки, улучшенные по

 

Цифровые/

Цифровые/

 

 

 

сравнению с SAB80C517A

I/O

I/O

I/O

I/O

аналоговые

аналоговые

 

 

входы

входы

 

 

 

Рис. 7.18. Функциональная схема микроконтроллера C509.

 

 

 

Блок энергосбере-

 

 

 

 

 

Встроенныймодуль

поддержки эмуляциирежима

 

гающих режимов

 

 

 

8-битный

 

 

 

 

 

 

 

 

 

 

 

 

 

АЦП

 

 

 

 

 

 

Порт 6

 

Порт 5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Цифровые/

I/O

 

 

аналоговые входы

 

 

 

 

 

Сторожевой

ОЗУ

Порт 0

I/O

таймер

256 × 8

 

 

T0

 

Порт 1

I/O

T2

ЦПУ

USART

 

T1

 

Порт 2

I/O

 

 

Порт 4

ПЗУ

Порт 3

I/O

8K × 8

 

 

I/O

 

 

 

Рис. 7.19. Функциональная схема микроконтроллера C515.

INFSEMI_2-Text.fm, стр. 277 из 589 (September 3, 2010, 17:05)

7.3. Шестнадцатибитные микроконтроллеры 277

Встроенный модуль поддержки режима эмуляции

Последовательный

Полнофункциональный

XRAM

ОЗУ

I/O

синхронный канал

Порт 0

контроллер шины CAN

2К × 8

256 × 8

(SPI)

 

 

 

 

 

Генератор

10-битный АЦП

 

 

 

сторожевого таймера

T0

 

Порт 1

 

 

(8 входов)

 

Блок работы

 

 

ЦПУ

8-битный

I/O

 

 

8 регистров-

 

в энергосберегающих

 

 

указателей

USART

 

режимах: ждущем,

Таймер 2

данных

 

 

с пониженным

 

 

 

напряжением питания,

 

 

T1

 

Порт 2

пониженной тактовой

Блок захвата/сравнения

 

 

I/O

частоты

 

 

 

 

 

 

 

 

Порт 7

Порт 6

Порт 5

Порт 4

C515C-8R: 64K × 8 ПЗУ

Порт 3

C515C-8E: 64K × 8 ОППЗУ

 

 

 

 

I/O

 

Цифровые/

 

 

I/O

аналоговые

I/O

I/O

 

входы

 

 

Рис. 7.20. Функциональная схема микроконтроллера C515С.

Встроенный модуль поддержки режима эмуляции

Генератор сторожевого таймера

Сторожевой

XRAM

 

 

ОЗУ

Порт 0

I/O

 

 

 

таймер

2K × 8

 

 

256 × 8

 

 

 

 

 

 

 

 

Блок

Таймер

Т0

ЦПУ

 

 

Модуль

Порт 1

I/O

Блок

захвата/

 

(8 регистров-

 

 

 

Т2

умножения/

 

 

энерго-

сравнения

сравнения

указателей

 

 

 

 

Т1

 

деления

Порт 2

I/O

сберегающих

 

 

 

данных)

 

 

 

режимов

 

 

 

 

 

 

 

 

 

 

 

 

10-битный

 

ПЗУ

 

 

Порт 3

I/O

 

 

АЦП

 

32К × 8

 

 

 

 

 

 

 

 

 

8-битный

 

 

8-битный

Порт 8

Порт 7

Порт 6

Порт 5

Порт 4

I/O

USART

 

 

UART

 

 

 

 

 

 

 

 

 

Цифровые/

Цифровые/

I/O

I/O

аналоговые

аналоговые

 

 

входы

входы

 

 

Рис. 7.21. Функциональная схема микроконтроллера C517.

предоставляют пользователю эффективные средства для управления энергопотреблением и снижения потребляемого тока.

По мере возрастания сложности задач, решаемых встроенными системами управления, для их реализации требуются микроконтроллеры, вычислительная мощность и функциональность периферии которых значительно превышают возможности стандартного 8-битного микроконтроллера. Для удовлетворения потребности в подобных системах компания Infineon приняла решение разработать семейство 16-битных КМОП-микроконтроллеров, не задаваясь при этом целью обеспечить их совместимость с контроллерами предыдущих серий.

Естественно, в архитектуре 16-битных микроконтроллеров были использованы успешные программные и аппаратные решения, разработанные Infineon в процессе создания популярных 8-битных контроллеров.

7.3.2.Состав семейства 16-битных микроконтроллеров

Микроконтроллеры 16-битного семейства разрабатывались компанией Infineon с целью обеспечить соответствие требованиям, предъявляемым к высокопроизводительным системам управления реального времени. Архитектура этих микроконтроллеров была оптимизирована с точки зрения скорости исполнения команд и минимального времени реакции на внешние воздей-

INFSEMI_2-Text.fm, стр. 278 из 589 (September 3, 2010, 17:05)

278 7. Микроконтроллеры

XTAL1

XTAL2

_____

RESET

VDDC

VSSC

4 линии внешних прерываний

VAREF

VAGND

5 линий аналоговых

входов

Тактовый

генератор

ФАПЧ

ЦПУ

8 регистровуказателей данных

Программируемый

сторожевой

таймер

Таймер 0

Таймер 1

Таймер 2

UART

Блок захвата/ сравнения

Контроллер

прерываний

8-битный АЦП

 

XRAM

ОЗУ

ПЗУ/ОЗУ

Загрузочное

 

само-

 

 

 

 

 

 

 

 

 

 

256 × 8

256 × 8

8К × 8

тестируемое

ПЗУ

 

 

 

 

 

 

 

 

 

 

4К × 8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт 1

Порт 3

Порт 1

5 линий

цифрового

порта

ввода/вывода

Порт 3

8 линий

цифрового

порта

ввода/вывода

VDDP

VSSP

C868

Рис. 7.22. Функциональная схема микроконтроллера C868.

ствия (прерывания). Использование встроенной интеллектуальной системы управления периферийными устройствами микроконтроллера позволило минимизировать уровень загрузки центрального процессора. Кроме того, при этом снизилась потребность в обмене данными с использованием внешних шин. Архитектура 16-битных микроконтроллеров отличается высокой адаптивностью, что обеспечивает возможность их применения в самых различных сферах, например в автомобильной электронике, в системах управления технологическими процессами или в контроллерах систем передачи данных.

Процессорное ядро семейства 16-битных микроконтроллеров Infineon разрабатывалось в рамках модульной концепции. Все процессоры данного семейства поддерживают систему команд, оптимизированную с

точки зрения эффективности управления (16-битные микроконтроллеры Infineon второго поколения поддерживают ряд дополнительных команд). Таким образом, можно быстро и легко производить модернизацию и внедрение новых микроконтроллерных систем, независимо от объёма используемой памяти, технологии производства, различий в функциональных возможностях встроенной периферии и/или габаритах корпусов микроконтроллеров.

Концепция XBUS позволяет, в дополнение к стандартному набору встроенных периферийных устройств, интегрировать в чип микроконтроллера ряд специализированных (заказных) периферийных модулей, что даёт возможность наладить производство различных модификаций микроконтроллера, адаптированных под решение пользовательских задач.

INFSEMI_2-Text.fm, стр. 279 из 589 (September 3, 2010, 17:05)

7.3. Шестнадцатибитные микроконтроллеры 279

Поскольку стоимость программного обеспечения для встроенных систем управления всё время возрастает, программисты предпочитают использовать для его написания языки высокого уровня. Такой подход позволяет значительно упростить процесс разработки, отладки и последующей технической поддержки программного обеспечения.

К первому поколению 16-битных микроконтроллеров компании Infineon принадлежат приборы семейства 80С166, концепция построения которых легла в основу архитектуры микроконтроллеров семейства С166. Представителями второго поколения этого семейства являются С165 и С167. Они обеспечивают более высокую производительность благодаря введению новых команд поддержки языков высокого уровня, расширению адресного пространства, увеличению объёма внутреннего ОЗУ и повышению эффективности управления устройствами, подключёнными к внешней шине.

В состав усовершенствованных микроконтроллеров второго поколения входят, например, такие функциональные блоки, как сверхбыстродействующее внутреннее ОЗУ, встроенный модуль CAN, интегрированная система ФАПЧ и т.д.

При проектировании эффективной встроенной системы управления может возникнуть необходимость в минимизации количества компонентов или в дополнении микроконтроллера теми или иными специализированными периферийными модулями. Проще всего для этого использовать технологию так называемой шины XBUS, поддержка которой предусмотрена архитектурой 16-битных микропроцессоров компании Infineon второго поколения. XBUS можно представить как «продолжение» внутрь микроконтроллера внешней системной шины, поэтому наличие XBUS облегчает интеграцию периферийных устройств в микроконтроллер за счёт использования стандартизированного интерфейса. Характерным примером устройства, в полной мере демонстрирующего достоинства такого подхода, является встроенный модуль CAN.

Микроконтроллер С165 фактически является «облегчённой» версией микроконтроллера С167, отличаясь меньшими габаритами корпуса и меньшим током потребления. Однако в нём отсутствуют АЦП, блок захвата/сравнения и модуль ШИМ.

Приборы серии С164 и некоторые из представителей серии С161 составляют третье поколение 16-битных микроконтроллеров Infineon, основным преимуществом которого по сравнению с предшествующими является наличие гибкой системы управления энергопотреблением. Эта система предусматривает реализацию ряда мер, позволяющих эффективно управлять энергопотреблением в некоторых специфических режимах работы микроконтроллера и тем самым снижать общее энергопотребление.

Дальнейшим развитием 16-битного семейства микроконтроллеров компании Infineon являются микроконтроллеры XC161, XC164 и XC167, образующие семейство XC166. Приборы данного семейства базируются на новом микропроцессорном ядре, которое оптимизировано под совместную работу с блоком умножения/деления (модулем MAC) и обеспечивает поддержку DSP-ориентированных команд.

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

Существуют различные модификации микроконтроллеров семейства XC166, отличающиеся типом внутренней памяти программ:

с масочным ПЗУ;

с флэш-памятью;

с однократно программируемым ПЗУ (ОППЗУ);

без ПЗУ.

Кроме того, микроконтроллеры семей-

ства XC166 могут включать в себя те или иные специфические функциональные модули, иметь различные диапазоны рабочих температур и тактовые частоты и поставляться в корпусах различных типов.

В настоящее время продолжается проектирование всё новых модификаций микроконтроллеров семейства XC166. При этом следует понимать, что ни одна из модифи-

INFSEMI_2-Text.fm, стр. 280 из 589 (September 3, 2010, 17:05)

280 7. Микроконтроллеры

 

Модуль управления шиной XBUS

 

 

 

Область ПЗУ

Процессорное ядро

 

Внутреннее ОЗУ

Тактовый

Контроллер

Контроллер периферийных

Сторожевой

генератор

прерываний

 

событий (PEC)

 

 

таймер

 

Блок захвата/

АЦП

ШИМ

Таймер

 

Порт 8

Порт 0

общ. назн.

сравнения 2

 

 

 

 

Шина

 

 

1

 

 

 

 

 

 

 

 

синхронизации

 

 

 

 

 

 

Блок захвата/

Асинхр.

Синхр.

Таймер

 

 

Порт 1

послед.

послед.

 

Порт 7

сравнения 1

общ. назн.

 

 

канал

канал

2

 

 

 

 

 

 

 

 

Порт 4

Порт 6

Порт 2

Порт 3

 

 

Порт 5

Рис. 7.23. Типичная функциональная схема микроконтроллера семейства С166.

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

7.3.3.Обзор архитектуры микроконтроллеров семейства С166

Архитектура микроконтроллеров семейства С166 в отлично сбалансированной пропорции сочетает в себе положительные свойства как архитектуры RISC, так и архитектуры CISC (Рис. 7.23). В результате мы имеем высокопроизводительный микроконтроллер, который не только полностью отвечает современным требованиям, но и наверняка будет отвечать этим требованиям в течение ещё долгого времени. С166 — это мощный центральный процессор и множество встроенных модулей периферийных устройств, объединённых в единую систему весьма эффективным способом.

Одной из четырёх шин, обеспечивающих обмен данными и командами в микроконтроллерах семейства С166, является шина XBUS, которая есть не что иное, как внутреннее продолжение внешней системной шины микроконтроллера. Наличие этой шины позволяет стандартным образом интегрировать в чип специализированные периферийные модули, необходимые для создания заказных модификаций микроконтроллеров.

7.3.4. Организация памяти

16 Мбайт пространства памяти микроконтроллеров с архитектурой С166 разделено на 256 сегментов по 64 Кбайт или на 1024 страницы памяти объёмом по 16 Кбайт (Рис. 7.24). Объём доступной внешней памяти зависит от того, какая ширина была задана при конфигурировании адресных сегментов, а также, естественно, от количества доступных выводов порта 4. Доступ к большинству встроенных ресурсов микроконтроллера, например к регистрам периферийных устройств, к внутреннему ОЗУ, к XRAM и т.д., осуществляется через страницу памяти 3, расположенную в сегменте 0.

7.3.5.Основные концепции построения ЦПУ и средства их оптимизации

Основной блок ЦПУ состоит из четырёхступенчатого конвейера команд, 16-битно- го арифметико-логического устройства (АЛУ) и регистров специальных функций (SFR) (Рис. 7.25). Дополнительные аппаратные средства включают в себя модуль умножения/деления, генератор битовых масок и многорегистровое устройство циклического сдвига.

Различные блоки процессорного ядра оптимизированы, чтобы достичь наибольшей производительности и обеспечить максимальную гибкость в использовании микроконтроллера. Функциональные блоки процессорного ядра управляются сигнала-

INFSEMI_2-Text.fm, стр. 281 из 589 (September 3, 2010, 17:05)

7.3. Шестнадцатибитные микроконтроллеры 281

Возможна адресация до 16 Мбайт внешней памяти

Общее адресное пространство 16 Мбайт. Сегменты 255…0

FF,FFFFh

255

264...129

128 80,0000h

127

 

126...65

 

 

 

 

 

64

40

,

0000h

 

63

 

 

 

 

 

 

 

,

 

 

62...12

 

 

 

 

DA

 

FFFFh

 

11

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

,

 

 

 

9

08

FFFFh

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

5

04

,

FFFFh

 

4

 

 

 

 

 

3

 

 

 

 

 

2

01

,

FFFFh

 

1

00,0000h

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

Сегмент 1

Сегмент 0

Сегменты 1 и 0 64 + 64 Кбайт

256...2

01,FFFFh

Начало области адресов для памяти программ, превышающей 32 Кбайт

01,8000h

Область

адресов

дополнительного

ПЗУ

01,0000h

Страница данных 3

Страница данных 2

Область

адресов

внутреннего

ПЗУ

00,0000h

Рис. 7.24. Адресное пространство микроконтроллера семейства С166.

 

 

 

 

 

 

 

 

ЦПУ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Указатель стека

 

 

Ст. регистр умножения (MDH)

 

 

 

 

 

Указатель верхней

 

 

Мл. регистр умножения (MDL)

 

 

 

 

 

границы стека

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Указатель нижней

 

 

 

 

 

 

 

 

 

границы стека

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Исполнительный модуль

 

 

Аппаратный модуль

 

 

 

 

 

 

 

 

умножения/деления

 

 

 

 

 

Указатель команд

 

 

 

 

 

 

 

 

 

Генератор битовых масок

 

 

 

 

 

 

 

 

 

 

 

 

 

Регистр команд

 

 

 

 

 

 

 

 

 

 

 

32

 

 

 

АЛУ

(16-бит)

 

 

 

 

 

 

 

 

 

 

 

 

Четырёхступенчатый

 

 

ПЗУ

 

 

 

 

конвейер команд

 

 

 

 

 

 

 

 

 

 

Устройство циклического сдвига

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Слово состояния программы

 

 

 

 

 

 

 

 

 

Системный регистр

 

 

Указатель контекста

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конфиг. регистр шины 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конфиг. регистр шины 1

 

Регистр выбора адреса 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конфиг. регистр шины 2

 

Регистр выбора адреса 2

 

 

 

 

 

Конфиг. регистр шины 3

 

Регистр выбора адреса 3

 

 

 

 

 

Конфиг. регистр шины 4

 

Регистр выбора адреса 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Указатель страницы данных

 

 

Указатель сегмента кода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

 

Внутреннее

R15

ОЗУ

 

Регистры общего назначения

R15

R0

 

R0

 

 

16

Рис. 7.25. Блок-схема ЦПУ микроконтроллера.

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