Шумахер У. Полупроводниковая электроника
.pdfINFSEMI_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, стр. 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, стр. 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, стр. 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. |
|
|
|
|
|
||||||||
|
программ с абсолютной, косвенной или |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|