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

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

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

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

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

щий бит всегда передаётся или принимает-

верка угловой частоты и скорости последо-

ся первым.

 

 

 

 

вательной передачи позволяет обнаружи-

Тестирование интерфейса осуществляет-

вать ошибочные данные.

 

 

ся в так называемом петлевом режиме. На-

Интерфейс SSP поддерживает полудуп-

дёжность

передачи

данных

повышается

лексный синхронный обмен на скорости до

благодаря наличию целого ряда дополни-

10 Мбит/с при тактовой частоте процессо-

тельных аппаратных средств обнаружения

ра, равной 20 МГц. Он может быть сконфи-

ошибок. Бит контроля чётности, автомати-

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

чески генерируемый при передаче данных,

чить обмен данными между последователь-

может быть использован для проверки це-

но подключёнными периферийными уст-

лостности данных на приёмной стороне.

ройствами. Все необходимые для работы

Блок обнаружения

ошибок

обеспечивает

интерфейса стандартные тактовые частоты

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

вырабатываются

специальным генерато-

ми стоп-битами. Если последний принятый

ром, тем самым исключается необходи-

символ не был считан из буфера приёмника

мость подстройки частоты тактового гене-

до того, как завершился приём следующего

ратора микроконтроллера. Предусмотрены

символа, то генерируется ошибка перепол-

отдельные векторы прерывания для таких

нения.

 

 

 

 

 

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

Синхронный интерфейс SSC поддержи-

работка ошибок.

 

 

 

 

вает дуплексный обмен

на

скорости до

Синхронно с тактовым сигналом сдвига,

5 Мбит/с при тактовой частоте процессора

генерируемым блоком интерфейса SSP в

20 МГц. Он может быть сконфигурирован

режиме

ведущего,

может

передаваться

таким образом, чтобы обеспечить соедине-

1…3 байт

данных

или приниматься один

ние периферийных устройств по последо-

байт после передачи 1…3 байт данных. Пре-

вательному каналу. Все необходимые для

дусмотрена возможность выбора, какой бит

работы интерфейса стандартные тактовые

в байте данных будет передаваться в линию

частоты обеспечивает специальный генера-

или приниматься из линии первым — млад-

тор, тем самым исключается необходимость

ший значащий бит (LSB) или старший зна-

подстройки частоты тактового генератора

чащий бит (MSB). Кроме того, имеется воз-

микроконтроллера. Предусмотрены отдель-

можность

выбора

фронта

(нарастающего

ные векторы прерывания для таких собы-

или спадающего) тактовых импульсов, по

тий, как передача, приём данных и обработ-

которому будет осуществляться приём и пе-

ка ошибок.

 

 

 

 

редача данных, а также полярности такто-

При

использовании

интерфейса SSC

вого сигнала.

 

 

 

 

символы размерностью от 2 до 16 бит могут

В режиме непрерывной передачи не-

передаваться и приниматься синхронно с

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

тактовым сигналом сдвига, который может

но последовательно, без сопровождения до-

быть как сгенерирован самим интерфейсом

полнительной адресной или статусной ин-

SSC (режим ведущего), так и поступать от

формации. Может быть задействовано до

внешних

устройств

(режим ведомого).

двух сигналов выбора микросхемы, чтобы

В интерфейсе SSC предусмотрена возмож-

обеспечить возможность прямой передачи

ность выбора, какой бит в байте данных бу-

данных к одному или двум периферийным

дет передаваться в линию или приниматься

устройствам.

 

 

 

 

из линии первым — младший значащий бит

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

(LSB) или старший значащий бит (MSB).

 

 

 

 

 

 

Кроме того, имеется возможность выбора

Два блока CAPCOM микроконтроллера

фронта

(нарастающего

или

спадающего)

поддерживают до 32 каналов генерирова-

тактовых импульсов, по которому будет

ния временных

последовательностей, с

осуществляться приём и передача данных, а

максимальным разрешением до 8 периодов

также полярности тактового сигнала.

тактового

сигнала

(8 TCLK).

Блоки

Наличие дополнительных

аппаратных

CAPCOM обычно используются в тех слу-

средств обнаружения ошибок повышает на-

чаях, когда требуется обеспечить высокое

дёжность передачи данных. Контроль оши-

быстродействие при работе с портами вво-

бок при приёме и передаче обеспечивает

да/вывода, например при генерации им-

корректность работы буфера данных, а про-

пульсных

сигналов

или сигналов

произ-

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

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

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

Два 16-битных таймера и соответствующие им регистры (в которых хранятся данные для перезагрузки таймеров) создают две независимые базы отсчёта временных интервалов, необходимые для работы системы регистров захвата/сравнения.

В качестве тактовых сигналов для блоков CAPCOM могут использоваться как внутренние тактовые сигналы ЦПУ (после соответствующих преобразований), так и сигналы, генерирующиеся при переполнении (сверху или снизу) таймера T6 в блоке GPT2. Это позволяет в широких пределах варьировать временные параметры и разрешающую способность таймеров, приводя их в соответствие с требованиями, предъявляемыми теми или иными практическими приложениями. Кроме того, один из таймеров каждого блока CAPCOM имеет специальный вход подсчёта внешних событий, что обеспечивает возможность управления регистрами захвата/сравнения с помощью внешних сигналов.

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

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

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

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

Блок CAPCOM6 обеспечивает 3 канала захвата/сравнения и дополнительный канал сравнения. Каждый из трёх каналов захвата/сравнения может управлять двумя выходными линиями, которые программируются на генерацию неперекрывающихся последовательностей импульсов. Дополнительный канал сравнения используется для формирования независимого выходного сигнала, либо для модуляции выходных сигналов трёх остальных каналов.

Универсальные многоканальные ШИМсигналы могут генерироваться под управлением либо внутренних таймеров, либо внешних сигналов, поступающих, к примеру, от датчика Холла. Активный уровень сигнала может выбираться отдельно для каждого из выходных каналов.

Блок CAPCOM6 поддерживает также функцию аппаратной ловушки, когда в качестве отклика на внешний сигнал устанавливаются определённые уровни выходных сигналов.

Блок ШИМ

Блок ШИМ обеспечивает генерацию до четырёх независимых высокоскоростных ШИМ-сигналов. Он может генерировать как стандартные ШИМ-сигналы (выровненные по фронту), так и симметричные ШИМ-сиг- налы (выровненные относительно центра). В пакетном режиме сигналы двух каналов могут быть объединены по «И» так, что выходной сигнал одного из каналов является запускающим для второго канала. Режим однократного запуска позволяет под управлением прикладной программы генерировать (с перезапуском) одиночные импульсы. Каждый канал ШИМ управляется реверсивным счётчиком совместно с регистрами перезагрузки и сравнения. Для задания полярности выходной ШИМ-последовательности может использоваться сигнал с выхода триггерной защёлки соответствующего порта (подключается по схеме Исключающее ИЛИ).

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

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

АЦП

 

 

 

Результаты преобразования АЦП могут

Для того чтобы обеспечить возможность

быть сохранены в памяти микроконтролле-

ра в табличной форме. Для этого удобно ис-

измерения аналоговых сигналов, в состав

пользовать контроллер периферийных со-

микроконтроллера C166 включён АЦП с

бытий (PEC), с помощью которого можно

мультиплексированными входными кана-

осуществлять передачу данных из АЦП в

лами и устройством выборки и хранения.

ОЗУ без потерь в производительности, свя-

В АЦП используется метод последователь-

занных с входом и выходом из программ об-

ного приближения. Время выборки (для за-

работки прерывания при каждой передаче

рядки конденсатора) и время преобразова-

данных (как это происходило бы при от-

ния могут быть изменены программно, что-

сутствии PEC).

 

 

бы они соответствовали внешней схеме.

 

 

 

 

 

 

Обнаружение ошибок переполнения и

Часы реального времени

 

защита от появления таких ошибок реали-

 

Часы реального времени (RTC) служат

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

 

для выполнения различных задач:

 

разования (ADDAT). Возможны два вари-

 

 

работа в качестве системных часов для

анта: если результат предыдущего преобра-

 

определения времени и даты, даже (оп-

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

 

 

ционально)

в режиме пониженного

тата к моменту завершения

следующего

 

 

энергопотребления;

 

цикла преобразования, то генерируется за-

 

 

организация циклических прерываний,

прос на прерывание; альтернативный вари-

 

например. для генерации системных сиг-

ант состоит в том, что следующий цикл

 

 

налов, не зависящих от тактовой частоты

преобразования приостанавливается до тех

 

 

ЦПУ, без использования таймеров об-

пор, пока результат предыдущего преобра-

 

 

щего назначения или для выхода из ре-

зования не будет считан.

 

 

 

 

жима ожидания (формирования сигнала

Если в приложении необходимо задейство-

 

 

пробуждения) через заданные интервалы

вать менее 16 каналов аналоговых входов, то

 

 

времени;

 

 

остальные каналы АЦП могут быть использо-

 

 

 

реализация 48-битного таймера для из-

ваны в качестве цифровых входов порта.

 

мерения интервалов времени

большой

АЦП поддерживает четыре различных

 

 

длительности

(максимальное

измеряе-

режима преобразования. В стандартном од-

 

 

мое время составляет 114 лет).

 

ноканальном режиме преобразования уро-

 

 

 

Модуль часов реального времени состо-

вень аналогового сигнала в заданном кана-

 

ит из трёх включённых последовательно де-

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

лителей: фиксированного делителя 8:1, пе-

ся в цифровой вид. В стандартном однока-

резагружаемого 16-битного таймера T14 и

нальном непрерывном режиме выборка

32-битного таймера часов реального време-

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

ни

(доступного

через регистры

RTCH и

нале и его преобразование в цифровое зна-

RTCL). Оба таймера работают только в ре-

чение производится периодически, без вме-

жиме прямого счёта.

 

шательства пользовательской

программы.

 

 

 

 

 

В режиме автосканирования производится

 

 

 

2

последовательная выборка аналоговых сиг-

Встроенный модуль сопряжения с шиной I C

 

Интегрированный в структуру микро-

налов на входах нескольких заданных кана-

 

лов (каждый канал опрашивается одно-

контроллера модуль сопряжения с шиной

кратно) и их преобразование к цифровому

I2C управляет приёмом и передачей пакетов

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

данных через двухпроводную шину I2C в

вания выборка и преобразование аналого-

соответствии с её протоколом. Модуль I2C

вых сигналов на заданном количестве вход-

может передавать и принимать данные с 7-

ных каналов

производится

циклически.

или 10-битной адресацией, обеспечивая ра-

В указанном

режиме может

быть введён

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

(инжектирован) результат преобразования

ройства, а также в режиме Multimaster (ког-

для ещё одного канала без приостановки

да ведущее и ведомое устройства определя-

уже запущенного цикла преобразования.

ются в зависимости от сигналов на шине).

По этой причине данный режим иногда на-

 

Для физического подключения линий

зывают режимом инжекции канала.

этого интерфейса могут использоваться за-

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

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

даваемые программно выводы микроконтроллера. Обмен данными может производиться на скорости до 400 Кбит/с. Под обслуживание модуля I2C зарезервированы две группы векторов прерываний, что позволяет эффективно использовать прерывания при организации обмена данными по шине I2C; кроме того, поддерживается передача данных с использованием контроллера периферийных событий (PEC).

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

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

Встроенный CAN-модуль предназначен для управления приёмом и передачей пакетов данных в соответствии со спецификацией CAN v2.0 Part B (active), т.е. он обеспечивает автономный приём и передачу как стандартных пакетов данных с 11-битным идентификатором, так и расширенных пакетов данных с 29-битным идентификатором.

Модуль CAN имеет 15 буферов приёма/передачи и обеспечивает для них полнофункциональный режим работы (fullCAN). Буфер приёма/передачи номер 15 может быть сконфигурирован для работы в режиме basic-CAN. Оба режима имеют приёмные маски, которые обеспечивают фильтрацию входящих сообщений, что позволяет, например, при работе в режиме basicCAN игнорировать сообщения с идентификаторами, соответствующими режиму fullCAN. Все буферы приёма/передачи могут обновляться независимо друг от друга; максимальная длина сообщения составляет 8 байт.

Тактовая синхронизация осуществляется от сигнала XCLK. Тактовая частота программируется, чтобы обеспечить скорость передачи данных до 1 Мбит/с.

Для подключения модуля CAN к драйверу шины используется два вывода микроконтроллера.

USB-интерфейс

Модуль USB управляет всеми транзакциями между последовательной шиной USB и внутренней параллельной шиной микроконтроллера. Модуль USB включает в себя ряд функциональных блоков, необ-

ходимых для поддержки обмена данными по шине:

встроенный трансивер шины USB;

блок памяти USB (две страницы по 128 байт);

блок управления памятью (MMU), через который осуществляется доступ к памяти USB как для самого контроллера USB, так и для ЦПУ микроконтроллера;

блок UDC — управляющее ядро протокола обмена данными через шину USB;

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

логический блок управления запросами на прерывание;

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

SDLM-интерфейс

Совместно с внешним трансивером шины J1850, модуль последовательной передачи данных (Serial Data Link Module — SDLM) обеспечивает обмен данными через мультиплексированную последовательную шину J1850. Характеристики модуля отвечают требованиям спецификации SAE Class B J1850 для шины J1850, в которой используется модуляция с переменной шириной импульса (VPW). Модуль SDLM является встроенным периферийным устройством и подключается к ЦПУ через внутреннюю системную шину XBUS.

Модуль SDLM обеспечивает следующие основные характеристики:

соответствие требованиям спецификации SAE Class B J1850 (VPW);

полная поддержка протокола class 2;

работа в режиме модуляции с переменной шириной импульсов (VPW) на скорости 10.4 Кбит/с;

поддержка увеличенной в 4 раза скорости передачи данных — 41.6 Кбит/с;

программируемый бит нормализации;

программируемая задержка сигналов, поступающих в трансивер;

цифровой фильтр подавления помех;

режим энергосбережения с возможностью автоматического пробуждения при обнаружении активности на шине;

поддержка однобайтного заголовка и компактного заголовка;

генерация CRC и проверка контрольных сумм;

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

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

 

 

 

 

 

 

 

 

 

 

 

поддержка блочного режима приёма и

ванных механизмов (некоторые их характе-

 

передачи данных.

 

 

 

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

 

Характеристики обмена данными:

 

значенных

для

формирования

тактовых

11-байтный буфер передачи;

 

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

 

двойной 11-байтный буфер приёма (оп-

лей микроконтроллера. Наличие таких ме-

 

ционально — с разрешением перезаписи);

ханизмов имеет особенно большое значе-

поддержка пакетов IFR (In-Frame Respon-

ние при работе в энергосберегающих режи-

 

se — ответ внутри пакета) типа 1, 2 и 3;

мах, например в режиме ожидания.

 

 

возможность сконфигурировать

буфер

Оптимизация

тактового генератора

с

 

приёма и передачи как буфер FIFO или

точки зрения потребляемой мощности поз-

 

буфер, работающий в байтовом режиме;

воляет значительно снизить количество

разветвлённая система управления пре-

энергии, потребляемой микроконтролле-

 

рываниями (8 независимых источников

ром при генерации тактовых сигналов.

 

 

 

прерываний);

 

 

 

Система распределения тактовых им-

автоматическая передача пакетов IFR

пульсов осуществляет эффективный конт-

 

(тип 1 и тип 2) для 3-байтных сводных

роль количества энергии, потребляемой в

 

заголовков;

 

 

 

ходе этого процесса.

 

 

 

конфигурируемый делитель частоты;

Снижение энергопотребления в рабочих

управление флагами

состояния

шины

режимах достигается путём программного

 

(IDLE/stand-by, EOF, EOD, SOF, Tx и Rx).

управления

коэффициентом

деления

7.3.9. Характеристики системы

 

(1…32) частоты тактового генератора. В ре-

 

зультате микроконтроллер работает на бо-

 

управления электропитанием

 

лее низкой тактовой частоте, что приводит

 

 

 

 

 

 

 

В микроконтроллерах

семейства

C166,

к значительному сокращению общего уров-

помимо стандартных методов энергосбере-

ня потребления энергии.

 

 

 

жения (переход в режим ожидания и отклю-

Гибкое управление периферийными

 

 

чение), используется

ряд

дополнительных

 

 

устройствами

 

 

 

 

функций управления электропитанием, ко-

 

 

 

 

 

 

 

 

 

 

торые могут комбинироваться, чтобы мини-

Гибкость системы управления встроен-

мизировать энергопотребление микроконт-

ными периферийными модулями опреде-

роллера в той или иной ситуации, К этим

ляется наличием механизма, позволяюще-

дополнительным функциям относятся:

го по отдельности включать и отключать

гибкая система генерации тактовых частот;

каждый из них. В любой ситуации (различ-

 

гибкая система управления периферий-

ные режимы работы системы, режим ожи-

 

ными устройствами (они могут вклю-

дания и т.д.) активными являются лишь пе-

 

чаться и отключаться по отдельности

риферийные устройства, непосредственно

 

или группами);

 

 

 

задействованные в работе. Все остальные

периодический вывод микроконтролле-

периферийные модули отключаются. Кро-

 

ра из режима ожидания, используя тай-

ме того, осуществляется оперативное груп-

 

мер часов реального времени (RTC).

повое управление работой периферийных

 

Наличие перечисленных функций пре-

модулей, в том числе контроль энергии, за-

доставляет

разработчикам эффективные

траченной на генерацию и распределение

средства реализации режимов пониженного

тактовых сигналов. Некоторые периферий-

энергопотребления

микроконтроллера,

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

позволяющие обеспечить оптимальный ба-

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

ланс между сокращением энергопотребле-

ными (например, если необходимо поддер-

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

живать работоспособность уже подключён-

регающих режимах) и необходимой рабо-

ных каналов обмена данными). В любом

тоспособностью периферийных блоков (т.е.

случае, доступ к управляющим регистрам

функциональностью системы).

 

периферийных

модулей, отключённых

в

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

индивидуальном порядке, сохраняется (но

в случае группового отключения перифе-

частот

 

 

 

 

 

 

 

 

рийных модулей их управляющие регистры

 

 

 

 

 

 

 

Система

генерации

тактовых

частот

будут недоступны).

 

 

 

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

 

 

 

 

 

 

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

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

Периодический выход из режима ожидания

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

7.3.10.Особенности микроконтроллеров семейства XC166

При разработке микроконтроллеров семейства XC166 были сохранены основные свойства архитектуры семейства С166. Прежде всего, это относится к системе команд процессора. Она не претерпела существенных изменений, что позволяет использовать в контроллерах нового семейства как разработанное ранее программное обеспечение, так и хорошо зарекомендовавшие себя схемотехнические решения. Благодаря наличию дополнительных DSP-ориен- тированных команд, заметно увеличилась производительность ЦПУ при решении соответствующих задач (например, при цифровой фильтрации).

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

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

7.3.11.Система команд микроконтроллеров семейства C166

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

Арифметические команды

Сложение двух слов или байтов: ADD, ADDB.

Сложение с переносом двух слов или байтов: ADDC, ADDCB.

Вычитание двух слов или байтов: SUB, SUBB.

Вычитание с переносом двух слов или байтов: SUBC, SUBCB.

16 16-битное знаковое и беззнаковое умножение: MUL, MULU.

16/16-битное знаковое или беззнаковое деление: DIV, DIVU.

32/16-битное знаковое или беззнаковое деление: DIV, DIVU.

Инверсия: CPL, CPLB.

Отрицание: NEG, NEGB.

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

Побитовое логическое умножение (И) двух слов или байтов: AND, ANDB.

Побитовое логическое сложение (ИЛИ) двух слов или байтов: OR, ORB.

Побитовое логическое Исключающее ИЛИ двух слов или байтов: XOR, XORB.

Команды сравнения и организации циклов

Сравнение двух слов или байтов: CMP, CMPB.

Сравнение двух слов или байтов с последующим инкрементированием на 1 или 2: CMPI1, CMPBI2.

Сравнение двух слов или байтов с последующим декрементированием на 1 или 2: CMPD1, CMPBD2.

Команды работы с битовыми переменными

Маскирование старшего и младшего байта слова: BFLDH, BFLDL.

Установка одного бита в 1: BSET.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сброс одного бита в 0: BCLR.

 

 

относительной адресацией: JMPA, JMPI,

Пересылка одного бита: BMOV.

 

 

JMPК.

 

 

 

 

 

 

 

 

Пересылка одного бита с инверсией:

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

 

BMOVN.

 

 

 

 

солютному адресу команды, располо-

Логическое умножение (И) двух битов:

 

женному в любом требуемом сегменте

 

BAND.

 

 

 

 

 

памяти программ: JMPS.

 

 

 

Логическое сложение (ИЛИ) двух битов:

Условный

переход по относительному

 

BOR.

 

 

 

 

 

адресу команды в пределах текущего сег-

Исключающее ИЛИ двух битов: BXOR.

 

мента памяти программ, в зависимости

Сравнение двух битов: BCMP.

 

 

от значения проверяемого бита: JB, JNB.

Команды сдвига и циклического сдвига

Условный переход по относительному

 

адресу команды в пределах текущего сег-

 

 

 

 

 

 

 

Сдвиг слова вправо: SHR.

 

 

мента памяти программ, в зависимости

Сдвиг слова влево: SHL.

 

 

 

от значения проверяемого бита, с после-

Циклический сдвиг слова вправо: ROR.

 

дующей его инверсией, если переход был

Циклический сдвиг слова влево: ROL.

 

совершён (поддержка семафоров): JBC,

Арифметический

сдвиг

слова

вправо

 

JNBS.

 

 

 

 

 

 

 

 

(сдвиг вместе со знаковым битом): SHR.

Команды вызова

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Команды нормализации

 

 

Условный вызов подпрограммы в преде-

 

 

 

 

 

 

Определение количества циклов сдвига,

 

лах текущего сегмента памяти программ

 

необходимых для нормализации операн-

 

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

 

дов, имеющих размерность слова (под-

 

ей: CALLA, CALLI.

 

 

 

 

 

держка операций над переменными с

Безусловный

вызов

подпрограммы

в

 

плавающей точкой): PRIOR.

 

 

пределах текущего сегмента памяти про-

Команды пересылки данных

 

 

 

грамм

с

относительной

адресацией:

 

 

 

CALLR.

 

 

 

 

 

 

 

 

Пересылка слова

или

байта

данных:

Безусловный

вызов

подпрограммы

из

 

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

 

MOV, MOVB.

 

 

 

 

 

 

 

 

 

солютной адресацией: CALLS.

 

 

Пересылка байта в адресуемую пословно

 

 

 

Безусловный

вызов

подпрограммы

в

 

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

 

 

пределах текущего сегмента памяти про-

 

нением: MOVBS, MOVBZ.

 

 

 

 

 

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

 

Примечание. Команды пересылки дан-

 

 

 

тании

с

 

временным

сохранением

ных могут

использоваться

в сочетании с

 

 

 

(pushing) значения выбираемого регист-

большим

количеством способов

адреса-

 

 

ра в системном стеке: PCALL.

 

 

ции, включая косвенную адресацию и адре-

 

 

 

Безусловный переход на таблицу векто-

сацию с автоматическим инкрементирова-

 

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

нием/декрементированием указателя.

 

 

ний от аппаратных/программных лову-

 

 

 

 

 

 

 

Команды работы с системным стеком

 

шек, размещённую в нулевом сегменте

Сохранение слова

в системном стеке:

 

памяти программ: TRAP.

 

 

 

 

 

 

 

 

 

 

 

 

 

PUSH.

 

 

 

 

Команды возврата

 

 

 

 

Извлечение слова из системного стека:

Возврат из подпрограммы в текущем сег-

 

POP.

 

 

 

 

 

 

 

 

 

 

менте памяти программ: RET.

 

 

Сохранение слова в системном стеке с

 

 

 

Возврат из подпрограммы из любого сег-

 

последующей заменой старого значения

 

 

мента памяти программ: RETS.

 

 

 

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

 

 

 

 

Возврат из подпрограммы в текущем сег-

 

ми банков): SCXT.

 

 

 

 

 

 

 

 

менте памяти программ со считыванием

 

 

 

 

 

 

 

Команды перехода

 

 

 

 

(popping) значения выбираемого регист-

Условный переход на указанную команду

 

ра из системного стека: RETP.

 

 

Возврат из программы обработки преры-

 

в границах текущего сегмента

памяти

 

 

вания: RETI.

 

 

 

 

 

 

программ с абсолютной, косвенной или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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

Команды управления режимами работы микроконтроллера

Перезапуск микроконтроллера программным способом: SRST.

Переход в режим ожидания: IDLE.

Переход в режим пониженного энергопотребления: PWRDN.

Обслуживание сторожевого таймера: SRVWDT.

Отключение сторожевого таймера: DISWDT.

Команда завершения инициализации (переводит вывод RSTOUT в ВЫСОКИЙ уровень и блокирует выполнение любых последующих команд DISWDT): EINIT.

Прочие команды

Команда, не производящая никаких действий, требует 2 байта для своего размещения в памяти программ и имеет минимальное время среди всех команд исполнения: NOP.

Команда, указывающая, что последующие команды должны образовывать неразрывную цепочку: ATOMIC.

Переключение режимов адресации reg, bitoff и bitaddr на расширенную область регистров специальных функций (ESFR): EXTR.

Отключение схемы адресации на основе регистра-указателя данных (DPP) с использованием вместо DPP заданной страницы данных и (опционально) с возможностью переключения на расширенную область регистров специальных функций (ESFR): EXTP, EXTPR.

Отключение схемы адресации на основе регистра-указателя данных (DPP) с использованием вместо DPP заданного сегмента и (опционально) с возможностью переключения на расширенную область регистров специальных функций (ESFR): EXTS, EXTSR.

Примечание. Команды ATOMIC и EXT* используются для создания неразрывных последовательностей команд, таких как последовательность команд обслуживания семафоров. Кроме того, они (за исключением ATOMIC) поддерживают адресацию данных, даже если происходит выход за границы, заданные текущим значением DPP. Такая возможность исключительно полезна при работе с большими объёмами памяти, что характерно для языков высокого уровня.

DSP-ориентированные команды

Микроконтроллеры семейства XC166 построены на процессорном ядре C166SV2. Его блок умножения/деления поддерживает ряд дополнительных (по сравнению с версией С166) команд:

Перемещение данных: CoMOV, CoLOAD(2), CoSTORE.

Умножение двух 16-битных чисел: CoMUL.

Умножение двух 16-битных чисел с последующим 40-битным сложением: CoMAC(R).

Умножение с последующим сложением и одновременным перемещением данных: CoMACM(R).

31/40-битные арифметические команды: CoADD(2), CoSUB(2), CoASHR(2), CoSHR, CoSHL, CoCMP.

Специальные арифметические функции: CoABS, CoMIN, CoMAX, CoNEG, CoRND.

Пустая команда (служит для изменения указателя адреса): CoNOP.

Защищённые команды

Некоторые команды, критические для функционирования микроконтроллера, представляют собой так называемые защищённые команды. Эти команды используют максимально допустимый для декодирования формат (32 бит), тогда как обычные команды используют только часть этого формата (как правило, младшие 8 бит), а остальные биты служат для хранения дополнительной информации, например информации о задействованных регистрах.

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

7.3.12.Функциональные схемы 16-битных микроконтроллеров

Блок-схемы, приведенные на Рис. 7.26…7.34, лишний раз демонстрируют широкое разнообразие 16-битных микроконтроллеров семейства С166. Обратите внимание, что здесь представлены не все ныне существующие модификации микроконтроллеров данного семейства; к тому же, продолжается разработка новых модификаций.

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

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

 

Команды/

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

 

32

Внутреннее

данные

 

 

ПЗУ

 

 

Тактовый

16

ЦПУ

 

генератор

 

 

(вход: 16 МГц,

 

 

прямое

 

 

подключение

 

 

или через

 

 

предделитель

 

 

частоты)

 

 

PEC

4

16

6

Внешняя периферия

немультиплексированная шина данных/адреса)

Порт 0 Порт 6

XBUS (16-битная

Порт 4

 

Внешние команды/данные

Контроллер прерываний (обслуж. 6…10 запросов от внешних прерываний)

16

Шина

прерываний

Данные

периферийных

устройств

 

GPT1

GPT2

USART

 

 

(только

 

 

 

Управление

 

для C161O)

 

внешней шиной,

T2

 

 

шиной XBUS и

 

 

 

сигналами CS

T3

T5

 

(0—4 CS)

ASC

 

 

 

T4

T6

BRG

 

 

Порт 1

Порт 5

 

Порт 3

Данные

16

 

 

Двух-

 

 

Данные 16

портовое

внутреннее

 

 

ОЗУ

 

 

1…2 Кбайт

Сторожевой

таймер

16

Синхронный

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

канал

(SPI)

SSC

BRG

Порт 2

16

2

12

7

Рис. 7.26. Функциональная схема C161/K/O.

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

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

 

 

 

 

 

 

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

16

 

 

 

 

 

Команды/

 

 

 

 

 

 

 

32

данные

 

 

 

 

 

(Внутреннее ПЗУ

 

 

 

 

 

Двух-

 

отсутствует)

 

 

 

 

 

16

 

 

 

 

ЦПУ

 

портовое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

внутреннее

 

 

 

 

 

 

 

 

 

 

 

Тактовый

 

 

16

 

 

 

 

ОЗУ

 

генератор

 

 

 

 

 

 

 

1 Кбайт

 

(вход: 16 МГц,

 

 

 

 

 

 

XTAL

 

прямое

 

 

 

 

 

 

 

 

подключение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или через

 

 

 

 

 

PEC

 

 

 

предделитель

 

 

Внешние команды/

 

 

 

 

 

 

 

 

 

 

частоты)

 

 

 

 

 

 

 

 

 

 

 

 

данные

 

 

Сторожевой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

данных/адреса)шина

 

16

 

 

 

 

 

таймер

 

 

 

 

 

 

 

 

 

Интерфейсшины I

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Контроллер прерываний

 

 

 

 

 

 

 

 

 

(обслуж. 11 запросов

 

 

 

 

6ПортXRAM 2 Кбайт

немультиплексированнаябитная

 

 

 

от внешних прерываний)

 

 

 

 

 

 

 

8-битный

SSC

T2

T5

 

 

 

 

 

 

 

 

 

Шина прерываний

 

 

 

 

 

 

 

 

 

 

 

16

8

 

 

Управление

USART

Синхронный

GPT1

GPT2

Часы

 

 

 

внешней

 

 

 

 

последо-

 

 

реального

 

 

 

 

шиной

 

 

 

 

 

 

 

 

 

 

вательный

 

 

времени

 

 

 

 

(только

 

 

 

 

 

 

 

 

 

4-

канал

 

 

 

 

 

 

 

мульти-

 

 

 

 

 

 

 

канальный

(SPI)

 

 

 

 

 

 

 

плексиро-

 

 

 

 

 

 

 

 

 

 

 

 

16

Порт0

(16XBUS-

 

ванной),

АЦП

 

 

 

 

 

CS

 

 

 

 

 

 

 

 

 

шиной

 

 

 

 

 

 

 

 

 

 

XBUS и

 

ASC

 

T3

T6

 

 

 

 

сигналами

 

 

 

 

7

 

 

 

(4 CS)

 

BRG

BRG

T4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Порт 4

 

Порт 1

Порт 5

 

Порт 3

 

Порт 2

Рис. 7.27. Функциональная схема C161PI.

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