рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Биты конфигурации

Биты конфигурации - раздел Образование, Архитектурой Микроконтроллеры Семейства Р1С16С5Х Имеют Четыре Бита Конфигурации, Устанавли...

Микроконтроллеры семейства Р1С16С5Х имеют четыре бита конфигурации, устанавливающиеся на этапе программирования кристалла. Биты FOSC1 и FOSCO определяют тип генератора, бит WDTE разрешает использование сторожевого таймера WDT, а бит СР предназначен для защиты программы от считывания.

Слово конфигурации (CONFIG) располагается по адресу 0FFh в памяти программ и имеет следующее содержание:

 

11 4 3 2 1 0

  CP WDTE FOSC1 FOSC0

 

CP – защита от считывания программы (Code Protect):

1 – защита включена,

0 – защита выключена.

 

WDTE – разрешение сторожевого таймера:

1 – сторожевой таймер разрешен,

0 - сторожевой таймер запрещен.

 

FOSC1, FOSC0 – выбор типа генератора.

FOSC1, FOSC0 = 11: RC генератор,

10: HS генератор,

01: XT генератор,

00: LP генератор.

 

2.2.14. Типы генераторов

 

В микроконтроллерах семейства Р1С16С5Х предусмотрены несколько типов генераторов. Для Р1С16С54А/58А пользователь может запрограммировать два конфигурационных бита (FOSC1 и FOSCO) для выбора одного из четырех режимов: RC, LP, XT, HS. Для Р1С16С52 допустимы два режима: RC, XT. Для остальных микроконтроллеров семейства Р1С16С5Х тип генератора программируется на заводе-изготовителе. Для ОТР микроконтроллеров Р1С16С54/С55/С56/С57 тип генератора указывается в маркировке: ХТ-стандартный кварцевый генератор, HS-высокочастотный кварцевый генератор, LP -низкочастотный генератор для экономичных приложений с керамическим резонатором.

Кварцевый генератор.В режимах XT, LP и HS к выводам OSC1/CLKIN и OSC2/CLKOUT подключается кварцевый или керамический резонатор ( рис. 2.9 ). Схема генератора Р1С 16С5Х

 

PIC16C5X

 
 


C1 OSC1

           
   
 
     
 
 


XTAL Sleep

К внутренней

C2 Rs OSC2 логике

               
     
 
   
 

 

 


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

 

предусматривает использование резонаторов с параллельным резонансом. Использование резонаторов с последовательным резонансом может привести к возбуждению резонатора на частоте, выходящей за пределы параметров резонатора. Для резонаторов с AT срезом может использоваться последовательный резистор Rs. В режимах XT, LP и HS генератор Р1С16С5Х может также тактироваться от внешнего источника, подключаемого к выводу OSC1/CLKIN (рис. 2.10).

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

 

PIC16C5X

Внешнее 1

тактирование OSC1

 

Не задействован OSC2

 
 

 

 


Рис. 2.10. Схема подключения внешнего генератора.

 

 

Vdd PIC16C5X

       
 
   
 


Rtxt

Внутренняя

OSC1 частота

Cext

n

           
   
 
   
 
 

 


Vss Fosc/4

OSC2/CLOUT

 
 


Рис. 2.11. Схема включения RC генератора

 

Для значений Rext ниже 2.2 кОм генератор может работать нестабильно или не запускаться. При очень больших значениях Rext (например, 1 МОм), генератор становится чувствительным к помехам, утечкам и влажности. Рекомендуемый диапазон значений Rext от 3 кОм до 100 кОм. Хотя генератор работоспособен и при отсутствии внешнего конденсатора (Сext=0), для увеличения стабильности работы рекомендуется использовать конденсатор емкостью более 20 пф. При малой емкости Сext, или вообще без него, частота генератора сильно зависит от монтажных емкостей. Разброс будет тем больше, чем больше величина резистора Rext (так как влияние токов утечки на частоту RC генератора сильнее при больших значениях Rext), и чем меньше величина емкости Сext (так как в этом случае сильнее проявляется влияние монтажных емкостей).

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

 

 

2.2.15. Сброс

Микроконтроллеры Р1С16С5Х имеют следующие способы сброса:

- сброс по включению питания (POR);

- сброс по входу MCLR при обычной работе;

- сброс по входу MCLR в режиме пониженного энергопотребления SLEEP;

- сброс по сторожевому таймеру WDT.

На рис. 2.12 приведена структурная схема узла сброса.

 

Детектор включения питания
Вывод

VDD Сброс по включению питания

       
   
 
  ∫
 

 


Вывод

________________

MCLR/VPP Выход из WDT

 

S Q     _____ R Q
  Таймер сброса
Внутренний RC-генератор
  &
RESET

Сброс кристалла

       
 
   

 


Рис. 2.12. Структурная схема узла сброса

 

При сбросе некоторые регистры не изменяют свое состояние. При включении питания они имеют неопределенное значение, в остальных случаях их состояние не изменяется (см. в табл. 2.3 и более подробно в [3,5] ). Большинство других регистров устанавливаются в определенное состояние в случаях сброса по включению питания, по входу MCLR или по сторожевому таймеру, Р1С16С5Х не различает сброс по сторожевому таймеру при нормальной работе и из режима SLEEP. Биты ТО и РD (STATUS<4:3>) устанавливаются в зависимости от причины сброса (см. в табл. 2. 3 и более подробно в [3,5] ).

Во время действия сигнала «Сброс» состояние кристалла следующее:

- Генератор работает или готов к запуску ( включение или выход из SLEEP).

- Все выводы портов ввода/вывода кристалла устанавливаются в третье состояние, путем установки регистров «TRIS» в «единицы» (что соответствует режиму ввода).

- Все биты программного счетчика устанавливаются в «единицы»

(в случае PIC16C54/55 программный счетчик равен 1FFh, для PIC16C56 програмный счетчик равен 3FFh, PIC16C57 - программный счетчик равен 7FFh).

- Биты регистра OPTION устанавливаются в «единицы».

- Watchdog таймер и его делитель обнуляются.

- Старшие три бита статус-регистра (биты выбора страниц) обнуляются.

- Сигнал CLKOUT на выводе OSC2 удерживается в "0" (только для RC-генераторов).

Таймер запуска.Генератор, построенный на кварцевых или керамических резонаторах, требует обязательной задержки после включения питания для обеспечения стабильной генерации. Для этого, встроенный таймер запуска генератора держит устройство в состоянии сброса примерно 18 мс после того, как сигнал на /MCLR ножке кристалла достигнет уровня логической единицы. Таким образом, внешняя цепочка RC , связанная с ножкой /MCLR во многих случаях не требуется.

Wathdog Timer также использует таймер запуска. Это важно для случаев, где WDT используется для автоматического вывода PIC16C5X из режима SLEEP. В кристаллах с низкой частотой, где требуется более 18 мс для обеспечения стабильной генерации, использования встроенного таймера запуска недостаточно.

Внешний сброс при включении питания.Кристаллы PIC16C5X имеет встроенную схему сброса при включении питания. Чтобы использовать эту схему, надо просто подключить вывод /MCLR к напряжению питания Vdd. Таймер запуска начинает счет выдержки времени только если /MCLR достиг высокого уровня. По истечении этой выдержки ( в среднем 18 мс) процесс внутреннего сброса завершается.

Здесь существует проблема, когда Vdd нарастает слишком медленно и выдержка на запуск генератора завершилась, а питание еще не достигло своего минимального значения Vdd(min) работоспособности. Встроенная схема сброса обеспечивает работу если скорость нарастания Vdd при включении не ниже 0.05 В/мс. Необходимо также, чтобы исходный уровень питания был равен 0В. Встроенная схема сброса также не будет работать с низкочастотными кристаллами, которые требуют выдержку на запуск, значительно больше чем 18 мс. В таких случаях рекомендуем использовать внешние RC цепочки для сброса по /MCLR. Ниже на рис. 2.13 приведена такая цепочка

Здесь можно применить диод для быстрого разряда конденсатора при выключении питания. На резисторе R < 40 кОМ не должно падать более 0,2В. Резистор 100 Ом < R1 < 1кОм ограничит ток в ножку /MCLR.

 

Vdd Vdd

PIC16C5X

       
   
 
 


VD R

R1

/MCLR


C

 

 
 

 

 


Рис. 2.13. Схема внешнего сброса.

 

 

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

 

Сторожевой таймер представляет собой полностью готовый встроенный RC генератор. Он будет работать, даже если основной генератор остановлен, как это бывает при исполнении команды SLEEP. Таймер вырабатывает сигнал сброса. Выработка таких сбросов может быть запрещена путем записи нуля в специальный бит, который расположен вне программной памяти EPROM. Эту операцию производят на этапе прожига микросхем.

Выдержка времени WDT. Номинальная выдержка WDT составляет 18 мс (без использования делителя). Она зависит от температуры, напряжения питания, от особенностей типа микросхемы. Если требуются большие задержки, то к WDT может быть подключен делитель с коэфициентом деления до 1:128, который программируется путем записи в регистр OPTION. Здесь могут быть реализованы выдержки до 2.5 секунд.

Команды CLRWDT и SLEEP обнуляют WDT и делитель, если он подключен к WDT. Это запускает выдержку времени сначала и предотвращает на некоторое время выработку сигнала сброс. Если сигнал сброса от WDT все же произошел, то одновременно обнуляется бит »в регистре статуса (f3).

Подключение предделителя выходу WDT показано выше на рис.2.8 (см. п. 2.2.11)

 

 

2.2.17. Режим пониженного энергопотребления

 

Режим пониженного энергопотребления SLEEP предназначен для обеспечения очень малого тока потребления в ожидании (менее 1 мкА при выключенном сторожевом таймере).

Вход в режим SLEEPосуществляется командой SLEEP. По этой команде, если WDT разрешен, то он сбрасывается и начинает счет времени, бит "TD" регистре статуса (f3) сбрасывается, бит "TO" устанавливается, а встроенный генератор выключается. Порты ввода/вывода сохраняют состояние, которое они имели до входа в режим SLEEP.

Для снижения потребляемого тока в этом режиме, линии на вывод должны иметь такие значения, чтобы не протекал ток между кроисталлом и внешними цепями. Линии на ввод должны быть соединены внешними резисторами с высоким или низким уровнем напряжения питания (Vdd или Vss), чтобы избежать токов переключения, вызываемых плавающими высокоомными входами.

Выход из режима SLEEPосуществляет WDT(если он разрешен) или внешний нулевой импульс на на ножке /MCLR- сброс. В обoих случаях PIC16C5X будет находиться в режиме сброса в течение времени запуска генератора, а затем только начнется выполнение программы.

Бит "PD" в регистре статуса (f3), который устанавливается при включении, но обнуляется командой SLEEP, может быть использован для определения состояния процессора до «просыпания»: или процессор был в режиме SLEEP (горячий старт), или было просто включено питание (холодный старт).

Бит TO позволяет определить, чем был вызван выход из режима SLEEP: или внешним сигналом на ножке /MCLR, или срабатыванием WDT.

 

 

2.2.18. Защита программы от считывания

Программа, записанная в ППЗУ или в ПЗУ, может быть защищена от считывания при помощь установки в ноль бита защиты СР в слове конфигурации. В режиме защиты программы содержимое памяти программы не может быть прочитано в исходном виде, тем самым невозможно реконструировать записанную программу. Кроме того, при установленном бите защиты невозможно допрограммировать контроллер. Регистр конфигурации CONFIG может быть считан и запрограммирован независимо от состояния бита защиты.. Не рекомендуется программировать бит защиты в микроконтроллерах с ультрафиолетовым стиранием.

 

2.2.19. Индивидуальная метка

Микроконтроллеры Р1С16С5Х имеют четыре специальных адреса, не являющиеся частью памяти программы. Они предназначены для хранения идентификационного кода (ID) пользователя, контрольной суммы или другой информации. Как и слово конфигурации, они могут быть прочитаны или записаны только с помощью программатора. Программно эти адреса недоступны.

Для обеспечения возможности чтения одинаковой информации как в обычном режиме, так и в режиме с установленным битом защиты от считывания, рекомендуется использовать только четыре младших бита по каждому адресу для хранения кода ID. Старшие 8 бит рекомендуется устанавливать в"1".

 

2.2.20. Система команд

 

Каждая команда PIC16С5Х - это 12-битовое слово, которое разделено по смыслу на следующие части: код операции (OPCODE), поле для одного или более операндов, которые участвуют или нет в этой команде. Формат команды приведен на рис. 2.14. Описание полей команд приведено в табл.2.6. Система команд PIC16С5Х включает в себя байт-ориентированные команды, бит-ориентированные, операции с константами и команды передачи управления (см. табл. 2.7).

Для байт-ориентированных команд "f" обозначает собой регистр, с которым производится действия. ТО есть "f" обозначает один из 32 регистров PICа, который будет использовать команда с учетом текущего номера банка. Бит "d"определяет, куда положить результат. Если d=0 результат будет находиться в W регистре. Если "d" =1 результат будет находиться в регистре "f" , упомянутом в команде.

Для бит-ориентированных команд "b" обозначает номер бита, участвующего в команде, а "f" -это регистр текущего банка, в котором этот бит расположен.

Для команд передачи управления и операций с константами, »обозначает восьми или девятибитную константу.

 


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

11 6 4 0
OPCODE d f(file#)

d=0 для обозначения W

– Конец работы –

Эта тема принадлежит разделу:

Архитектурой

Архитектурой... Общие сведения об ОМК PIC и их классификация В году фирма GI разработала периферийный контроллер Peripheral Interface Controller или PIC предназначенный для поддержки ввода вывода ти...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Биты конфигурации

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Структурная организация микроконтроллеров PIC16C5X
Особенности архитектуры и структурная схема. Структурная схема ОМК PIC16C5X показана на рис.2.1. Основу структуры данного микроконтроллера составляют две внутренние шины: двунаправленная 8-битная ш

RP1, RP0 – Биты 6 и 5 регистра FSR, соответственно
  Рис. 2.6. Прямая и косвенная адресация   не используется, регистр f4 может быть использован как 5-ти битовый регистр общего назначения. Для PIC16C57 первые 16

Режимы работы и специальные функции
Семейство микроконтроллеров Р1С16С5Х имеет набор специальных функций, предназначенных для расширения возможностей системы, минимизации стоимости, исключения навесных компонентов, обеспечения мин

D=1 для обозначения F
f=5 разрядный адрес регистра   Команды работы с битами 11 8 7 5 4 0 OPCODE b(bit)

Окончание таблицы 2.7
  Мнемокод Название команды Цик лы Код команды (11-бит) Биты сос тоя- ния При- меча- ния

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги