Мегаобучалка Главная | О нас | Обратная связь


Слово конфигурации и идентификатор



2018-06-29 441 Обсуждений (0)
Слово конфигурации и идентификатор 0.00 из 5.00 0 оценок




Разрядные RISC микроконтроллеры

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

Давным-давно, ещё в те времена, когда микропроцессоры работали медленно, использовали шины байтовой ширины, выполняли команды за невообразимое количество машинных тактов и страдали от аккумуляторного “бутылочного горлышка”, нашлись люди, не желающие мириться с подобным положением вещей. Они сформировали концепцию RISC-архитектуры — процессора с сокращённым набором команд, которые выполнялись бы в идеале за один машинный такт. Почему сократился набор команд — понятно: чем команда короче, тем быстрее она считывается и выполняется. Затем был разделён доступ между памятью программ и памятью данных. Увеличение разрядности шины, по которой считываются инструкции до 12, 16 и даже 22 разрядов, позволило использовать очень мощные команды. Последующий отказ от архитектуры с регистром-аккумулятором в пользу регистрового файла, где каждый регистр “сам себе аккумулятор“, позволил ещё больше поднять производительность процессора.

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

 

Основные этапы разработки

 

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

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

Типовая схема подключения кварцевого или керамического резонатора приведена на рис. 4.9а.


Рис. 4.9. Тактирование с использованием кварцевого или керамического резонаторов (а) и с использованием RC-цепи (б).

Кварцевый или керамический резонатор Q подключается к выводам XTAL1 и XTAL2, которые обычно представляют собой вход и выход инвертирующего усилителя. Номиналы конденсаторов C1 и C2 определяются производителем МК для конкретной частоты резонатора. Иногда требуется включить резистор порядка нескольких мегаом между выводами XTAL1 и XTAL2 для стабильной работы генератора.

Использование кварцевого резонатора позволяет обеспечить высокую точность и стабильность тактовой частоты (разброс частот кварцевого резонатора обычно составляет менее 0,01%). Такой уровень точности требуется для обеспечения точного хода часов реального времени или организации интерфейса с другими устройствами. Основными недостатками кварцевого резонатора являются его низкая механическая прочность (высокая хрупкость) и относительно высокая стоимость.

При менее жестких требованиях к стабильности тактовой частоты возможно использование более стойких к ударной нагрузке керамических резонаторов. Многие керамические резонаторы имеют встроенные конденсаторы, что позволяет уменьшить количество внешних подключаемых элементов с трех до одного. Керамические резонаторы имеют разброс частот порядка нескольких десятых долей процента (обычно около 0,5 %).

Самым дешевым способом задания тактовой частоты МК является использование внешней RС-цепи, как показано на рис. 4.9б. Внешняя RC-цепь не обеспечивает высокой точности задания тактовой частоты (разброс частот может доходить до десятков процентов). Это неприемлемо для многих приложений, где требуется точный подсчет времени. Однако имеется масса практических задач, где точность задания тактовой частоты не имеет большого значения.

Зависимость тактовой частоты МК от номиналов RC-цепи зависит от конкретной реализации внутреннего генератора и приводится в руководстве по применению контроллера.

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

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

В большинстве моделей МК частота времязадающего элемента (резонатора или RC-цепи) и частота тактирования fBUS жестко связаны коэффициентом деления встроенного делителя частоты. Поэтому изменение частоты программным путем не представляется возможным. Однако ряд последних семейств МК (например, HC08 фирмы Motorola) имеют в своем составе схему тактирования, основанную на принципе синтезатора частоты с контуром фазовой автоподстройки (PLL — phase loop lock). Такая схема работает как умножитель частоты и позволяет задавать тактовую частоту с помощью низкочастотного кварцевого резонатора, что снижает уровень электромагнитного излучения МК. Коэффициенты деления контура PLL могут быть изменены программным путем, что позволяет снизить тактовую частоту (и, соответственно, потребляемую мощность) в промежутки времени, когда высокое быстродействие не требуется.


4. ОРГАНИЗАЦИЯ ПАМЯТИ ПРОГРАММ И СТЕКА В МК

Счетчик команд в МК имеет ширину 13 бит и способен адресовать 8 К х 14 бит объема программной памяти. Однако физически на кристаллах PIC16F83 и PIC16CR83 имеется только 512 x 14 памяти (адреса OOOOh-OlFFh), а в МК PIC16F84 и PIC16CR84 - 1Кх14 памяти (адреса OOOOh-03FFh). Обращение к адресам выше 1FFh (3FFh) фактически есть адресация в те же первые 512 адресов (первые 1К адресов).

Организация памяти программ и стека приведена на рис. 3.

В памяти программ есть выделенные адреса. Вектор сброса находится по адресу OOOOh, вектор прерывания - по адресу 0004h. Обычно по адресу 0004h располагается подпрограмма идентификации и обработки прерываний, а по адресу OOOOh - команда перехода на метку, расположенную за подпрограммой обработки прерываний

ЦПУ и АЛУ

Основной функцией ЦПУ является гарантирование корректности выполнения программы. ЦПУ имеет возможности доступа к запоминающим устройствам, выполнения вычислений и управления УВВ.

 

Арифметико-логическое устройство (АЛУ, ALU) выполняет арифметические и логические операции между регистрами или между константой и регистром. В АЛУ также могут выполняться операции над одним регистром.

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

АЛУ напрямую подключено к регистровому файлу, который состоит из 32 8-битных рабочих регистров общего назначения. Данные регистры предоставляют ALU возможность одноциклового доступа при выполнении операций между регистрами или между регистром и константой. Шесть из этих 32 регистров могут использоваться, как три 16-битных указателя адреса. Их можно использовать для адресации в пространствах памяти данных и памяти программ с возможностями автоматического вычисления адресов.

Порты ввода-вывода

Контроллеры подгруппы PIC16F8X имеют два порта: PORTA (5 бит) и PORTB (8 бит) с побитовой индивидуальной настройкой на ввод или на вывод.

Порт A (PORTA) представляет собой 5-битовый фиксатор, соответствующий выводам контроллера RA<4:0>. Линия RA4 имеет вход триггера Шмитта и выход с открытым стоком. Все остальные линии порта имеют ТТЛ входные уровни и КМОП выходные буферы. Адрес регистра порта А – 05h.

Каждой линии порта поставлен в соответствие бит направления передачи данных, который хранится в управляющем регистре TRISA, расположенном по адресу 85h. Если бит управляющего TRISA регистра имеет значение 1, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра-фиксатора порта. При включении питания все линии порта по умолчанию настроены на ввод.

Операция чтения порта А считывает состояние выводов порта, в то время как запись в него изменяет состояние триггеров порта. Все операции с портом являются операциями типа «чтение-модификация-запись». Поэтому запись в порт предполагает, что состояние выводов порта вначале считывается, затем модифицируется и записывается в триггер-фиксатор. Вывод RA4 мультиплексирован с тактовым входом таймера TMR0. Схема линии RA4 порта А приведена.

Порт В (PORTB) – это двунаправленный 8-битовый порт, соответствующий выводам RB<7:0> контроллера и расположенный по адресу 06h. Относящийся к порту В управляющий регистр TRISB расположен на первой странице регистров по адресу 86h. Если бит управляющего TRISB регистра имеет значение 1, то соответствующая линия будет устанавливаться на ввод. Ноль переключает линию на вывод и одновременно выводит на нее содержимое соответствующего регистра защелки. При включении питания все линии порта по умолчанию настроены на ввод.

У каждой ножки порта В имеется небольшая активная нагрузка (около 100мкА) на линию питания (pull-up). Она автоматически отключается, если эта ножка запрограммирована как вывод. Более того, управляющий бит /RBPU регистра OPTION<7> может отключить (при RBPU=1) все нагрузки. Сброс при включении питания также отключает все нагрузки.

Четыре линии порта В (RB<7:4>) могут вызвать прерывание при изменении значения сигнала на любой из них. Если эти линии настроены на ввод, то они опрашиваются и защелкиваются в цикле чтения Q1. Новая величина входного сигнала сравнивается со старой в каждом командном цикле. При несовпадении значения сигнала на ножке и в фиксаторе генерируется высокий уровень. Выходы детекторов «несовпадений» RB4, RB5, RB6, RB7 объединяются по ИЛИ и генерируют прерывание RBIF (запоминаемое в регистре INTCON<0>). Любая линия, настроенная как вывод, в этом сравнении не участвует. Прерывание может вывести кристалл из режима SLEEP. В подпрограмме обработки прерывания следует сбросить запрос прерывания одним из следующих способов:

прочитать (или записать в) порт В. Это завершит состояние сравнения;

обнулить бит RBIF регистра INTCON<0>.

При этом необходимо иметь в виду, что условие «несовпадения» будет продолжать устанавливать признак RBIF. Только чтение порта В может устранить «несовпадение» и позволит обнулить бит RBIF.

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

Схемы линий порта B приведены на.

При организации двунаправленных портов необходимо учитывать особенности организации ввода/вывода данных МК. Любая команда, которая осуществляет запись, выполняет ее внутри как «чтение-модификация-запись». Например, команды BCF и BSF считывают порт целиком, модифицируют один бит и выводят результат обратно. Здесь необходима осторожность. В частности, команда BSF PORTB, 5 (установить в единицу бит 5 порта B) сначала считывает все реальные значения сигналов, присутствующие в данный момент на выводах порта. Затем выполняются действия над битом 5, и новое значение байта целиком записывается в выходные фиксаторы. Если другой бит регистра PORTB используется в качестве двунаправленного ввода/вывода (скажем, бит 0), и в данный момент он определен как входной, то входной сигнал на этом выводе будет считан и записан обратно в выходной триггер-фиксатор этого же вывода, стирая предыдущее состояние. До тех пор, пока эта ножка остается в режиме ввода, никаких проблем не возникает. Однако если позднее линия 0 переключи тся в режим вывода, ее состояние будет неопределенным.

На ножку, работающую в режиме вывода, не должны нагружаться внешние источники токов («монтажное И», «монтажное ИЛИ»). Большие результирующие токи могут повредить кристалл.

Необходимо выдерживать определенную последовательность обращения к портам ввода/вывода. Запись в порт вывода происходит в конце командного цикла. Но при чтении данные должны быть стабильны в начале командного цикла. Будьте внимательны в операциях чтения, следующих сразу за записью в тот же порт. Здесь надо учитывать инерционность установления напряжения на выводах. Может потребоваться программная задержка, чтобы напряжение на ножке (которое зависит от нагрузки) успело стабилизироваться до начала исполнения следующей команды чтения.

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

 

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

  • ПЗУ масочного типа - mask-ROM. Содержимое ячеек ПЗУ этого типа заносится при ее изготовлении с помощью масок и не может быть впоследствии заменено или допрограммировано. Поэтому МК с таким типом памяти программ следует использовать только после достаточно длительной опытной эксплуатации. Основным недостатком данной памяти является необходимость значительных затрат на создание нового комплекта фотошаблонов и их внедрение в производство. Обычно такой процесс занимает 2-3 месяца и является экономически выгодным только при выпуске десятков тысяч приборов. ПЗУ масочного типа обеспечивают высокую надежность хранения информации по причине программирования в заводских условиях с последующим контролем результата.
  • ПЗУ, программируемые пользователем, с ультрафиолетовым стиранием - EPROM(Erasable Programmable ROM). ПЗУ данного типа программируются электрическими сигналами и стираются с помощью ультрафиолетового облучения. Ячейка памяти EPROM представляет собой МОП-транзистор с "плавающим" затвором, заряд на который переносится с управляющего затвора при подаче соответствующих электрических сигналов. Для стирания содержимого ячейки она облучается ультрафиолетовым светом, который сообщает заряду на плавающем затворе энергию, достаточную для преодоления потенциального барьера и стекания на подложку. Этот процесс может занимать от нескольких секунд до нескольких минут. МК с EPROM допускают многократное программирование и выпускаются в керамическом корпусе с кварцевым окошком для доступа ультрафиолетового света. Такой корпус стоит довольно дорого, что значительно увеличивает стоимость МК. Для уменьшения стоимости МК с EPROM его заключают в корпус без окошка (версия EPROM с однократным программированием).
  • ПЗУ, однократно программируемые пользователем, - OTPROM (One-Time Programmable ROM). Представляют собой версию EPROM, выполненную в корпусе без окошка для уменьшения стоимости МК на его основе. Сокращение стоимости при использовании таких корпусов настолько значительно, что в последнее время эти версии EPROM часто используют вместо масочных ПЗУ.
  • ПЗУ, программируемые пользователем, с электрическим стиранием - EEPROM(Electrically Erasable Programmable ROM). ПЗУ данного типа можно считать новым поколением EPROM, в которых стирание ячеек памяти производится также электрическими сигналами за счет использования туннельных механизмов. Применение EEPROM позволяет стирать и программировать МК, не снимая его с платы. Таким способом можно производить отладку и модернизацию программного обеспечения. Это дает огромный выигрыш на начальных стадиях разработки микроконтроллерных систем или в процессе их изучения, когда много времени уходит на поиск причин неработоспособности системы и выполнение циклов стирания-программирования памяти программ. По цене EEPROM занимают среднее положение между OTPROM и EPROM. Технология программирования памяти EEPROM допускает побайтовое стирание и программирование ячеек. Несмотря на очевидные преимущества EEPROM, только в редких моделях МК такая память используется для хранения программ. Связано это с тем, что, во-первых, EEPROM имеют ограниченный объем памяти. Во-вторых, почти одновременно с EEPROM появились Flash-ПЗУ, которые при сходных потребительских характеристиках имеют более низкую стоимость;
  • ПЗУ с электрическим стиранием типа Flash - Flash-ROM. Функционально Flash-память мало отличается от EEPROM. Основное различие состоит в способе стирания записанной информации. В памяти EEPROM стирание производится отдельно для каждой ячейки, а во Flash-памяти стирать можно только целыми блоками. Если необходимо изменить содержимое одной ячейки Flash-памяти, потребуется перепрограммировать весь блок. Упрощение декодирующих схем по сравнению с EEPROM привело к тому, что МК с Flash-памятью становятся конкурентоспособными по отношению не только к МК с однократно программируемыми ПЗУ, но и с масочными ПЗУ также.

Слово конфигурации и идентификатор

Слово конфигурации – специальный вид памяти, в котором располагается информация о различных режимах работы микроконтроллера. Этот блок памяти записывается во время программирования микроконтроллера при помощи программатора. В данном блоке располагается информация о типе генератора тактовых импульсов, о защите кристалла от считывания содержимого памяти программ / памяти данных EEPROM, о разрешении работы WDT и прочих настройках. В различных микроконтроллерах разные слова конфигурации. Детально о содержании слова конфигурации читайте в спецификации на Ваш микроконтроллер.

 



2018-06-29 441 Обсуждений (0)
Слово конфигурации и идентификатор 0.00 из 5.00 0 оценок









Обсуждение в статье: Слово конфигурации и идентификатор

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (441)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.013 сек.)