Микроконтроллеры для систем автоматики - часть 12

 

  Главная      Учебники - Производство     

 

поиск по сайту           правообладателям

 

 

 

 

 

 

 

 

 

содержание   ..  10  11  12  13   ..

 

 

Микроконтроллеры для систем автоматики - часть 12

 

 

 

47 

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

Внутренний RC-генератор  обеспечивает  работу  процессорного  ядра AVR с 

частотой  1  МГц.  Какие  либо  навесные  компоненты  в  этом  режиме  к  микросхеме  не 
подсоединяются. 

Внешний RC-генератор  является  простым  решением,  позволяющим  изменять 

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

 

 

 

 

 

а) 

б) 

в) 

Рис. 5.1. Подключение RC-цепей, резонаторов и внешних генераторов к контроллеру 

ATmega163 

Сопротивление резистора R допускается варьировать в диапазоне от 3 до 100 кОм, 

а  емкость  С  не  должна  быть  менее 20 пФ.  Типовые  значения  параметров  приведены  в 
таблице 5.1. 

Таблица 5.1.  

Типовые параметры внешнего RC-генератора 

R [кОм] C 

[пФ] F 

[кГц] 

100  

70  

100 

31.5  

20  

1000 

6.5  

20  

4000 

Кварцевый  или  керамический  резонатор  подключается  к  микроконтроллеру  по 

схеме рис. 5.1 (б). Частота колебаний в этом случае определяется резонансной частотой 
кристалла. Емкость конденсаторов C1, C2 подбирается в диапазоне 13…40 пФ. 

Внешний генератор просто подключается к выводу XTAL1 микроконтроллера (рис 

5.1  в).  В  качестве  внешнего  генератора  можно  использовать  любую  схему  генератора  с 
ТТЛ-выходом.  Внешние  генераторы,  как  правило,  обладают  высокой  стабильностью  и 
предсказуемостью параметров. 

 

48 

Выбор  той  или  иной  схемы  тактового  генератора  программируется  на  стадии 

занесения  программы  в Flash-память  контроллера.  В  контроллере  ATmega163  для 
хранения  этой  информации  во  флэш-памяти  предназначены  специальные  биты-
предохранители (fuse bits) CKSEL[3..0]. В процессе работы микроконтроллера эти биты не 
могут  быть  изменены.  Программирование fuse-битов  осуществляется  в  соответствии  с 
таблицей 5.2. 

Таблица 5.2.  

Программирование тактового генератора 

Вид генератора CKSEL 

[3…0] 

Внешний кварцевый или керамический резонатор 

1111 - 1010 

Внешний низкочастотный кристалл 

1001 – 1000 

Внешний RC-генератор 

0111 – 0101 

Внутренний RC-генератор 

0100 – 0010 

Внешний генератор 0001 - 0000 

Fuse-биты CKSEL [3…0] используются  также  для  задания  некоторых  временных 

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

6. СИСТЕМА СБРОСА 

Сбросом считается перевод микроконтроллера в исходное состояние. При этом все 

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

6.1. Источники сброса 

Причинами  (источниками)  сброса  могут  являться  различные  воздействия: 

включение питания и кратковременные его изменения, сигналы формируемые аппаратно 
вне и внутри микроконтроллера, а также инструкции программы. В частности, инструкция 
безусловного перехода на адрес $0 всегда приводит к сбросу устройства.  

Источники сброса микроконтроллера ATmega 163

º 

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

Power-on Reset.)

. Сброс происходит, если 

напряжение питания ядра ниже определенного порога (V

POT

). 

º 

Внешний  сброс  (

External Reset)

.  Сброс  происходит  при  поступлении 

сигнала  низкого  уровня  длительностью  более 500 ns на  внешний  контакт 

RESET

 микросхемы. 

º 

Сброс  сторожевым  таймером  (

Watchdog Reset)

.  Сброс  происходит  по 

команде сторожевого таймера. 

º 

Сброс  при  кратковременном  провале  напряжения  питания  (

Brown-out 

Reset). ••••• ••••••••••, •••• •••••••••• ••••••• 
••••••••••• • •••••••• •••••• •••••••••• •••• ••••••••••••• 

•••••• 

(

BOT

). 

По любой из этих причин микроконтроллер переходит к выполнению программы с 

адреса $0. В  этой  ячейке  обычно  размещают  инструкцию jmp с  адресом  программы 
инициализации системы. 

Структурная схема блока управления сбросом приведена на рис. 6.1. 

 

49 

 

Рис. 6.1 Функциональная схема управления сбросом 

Все сигналы сброса детектируются на кристалле специальными схемами.  

º 

Схема сброса при включении питания (Power-On Reset Circuit) контролирует 
напряжение  питания Vcc и  запускается  при Vcc > V

POT

.  При  номинальном 

напряжении питания Vcc=5B, типовое значение порогового напряжения V

POT 

= 1,4 В.  

º 

Схема  сброса  при  кратковременном  провале  напряжения  питания  (Brown-
Out Reset Circuit)
  сравнивает  напряжение  питания Vcc с  уровнем  V

BOT

Уровень  сигнала  V

BOT

  программируется c помощью  специального  бита 

программирования  уровня BODLEVEL. Этот  бит  относится  к  группе  fuse-
битов 

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

позволяющих 

задавать 

их 

некоторые 

конфигурационные особенности. Fuse-биты программируются при занесении 
программы в память и в процессе работы микроконтроллера не могут быть 
изменены.  Схемой  контроля  питания  (Brown-Out Reset Circuit)  управляют 
fuse-биты BODEN  и BODLEVEL. При BODLEVEL = 1  уровень  V

BOT

  равен 

2,7В, а при BODLEVEL = 0 – 4B.  

º 

Схема  внешнего  сброса  (External Reset Circuit)  управляется  внешним 
сигналом низкого уровня #RESET

 

Сигналы  с  этих  схем  и  сигнал  со  сторожевого  таймера  (Watchdog Timer) 

фиксируются  в  регистре  состояния  процессорного  ядра MCUSR (MCU Status Register)  и 
объединенные  по  схеме  ИЛИ,  устанавливают RS-триггер.  Длительность  импульса 
внутреннего сброса (Internal Reset) на выходе триггера задается счетчиком задержки (Delay 
Counter
).  Фактически  сброс  микроконтроллера  происходит  по  окончании  импульса 
внутреннего сброса. Время задержки от момента поступления одного из сигналов сброса до 
окончания  импульса  сброса  зависит  от  периода  тактового  генератора  СК  (Clock),  от 
состояния fuse-бита BODLEVEL и может регулироваться fuse-битами CKSEL[3…0]

. Время 

задержки при различных комбинациях битов CKSEL приведено в таблице 6.1. 

 

50 

Таблица 6.1.  

Программирование временной задержки при сбросе 

CKSEL [3…0]  BODLEVEL=0 

BODLEVEL=1  Рекомендуемое использование 

0000 4,2 

мс + 6 CK   5,8 мс + 6 CK   Внешний генератор, быстрое 

включение 

0001 

30 

µ

с + 6 СК 

10 

µ

с + 6 СК 

Внешний генератор, BOD включен 

0010 67 

мс + 6 СК 92 

мс + 6 СК 

Внутренний RC генератор, 

медленное включение 

0011 4,2 

мс + 6 СК 5,8 

мс + 6 СК 

Внутренний RC генератор, быстрое 

включение 

0100 

30 

µ

с + 6 СК 

10 

µ

с + 6 СК 

Внутренний RC генератор, BOD 

включен 

0101 67 

мс + 6 СК 92 

мс + 6 СК 

Внешний RC генератор, медленное 

включение 

0110 4,2 

мс + 6 СК 5,8 

мс + 6 СК 

Внешний RC генератор, быстрое 

включение 

0111 

30 

µ

с + 6 СК 

10 

µ

с + 6 СК 

Внешний RC генератор,BOD включен 

1000 67 

мс+ 32К СК 92мс + 32К СК  Внешний низкочастотный кристалл 

Окончание табл. 6.1. 

CKSEL [3…0]  BODLEVEL=0 

BODLEVEL=1  Рекомендуемое использование 

1001 67 

мс + 1К СК 92 

мс +  1К СК  Внешний низкочастотный кристалл 

1010 67 

мс + 16К СК 92 мс +  16К СК  Кварцевый резонатор, медленное 

включение 

1011 4,2 

мс + 16К СК 5,8 мс + 16К СК  Кварцевый резонатор, быстрое 

включение 

1100 

30 

µ

с +16К СК  10 

µ

с +16К СК  Кварцевый резонатор, BOD включен 

1101 67 

мс + 1К СК 92 

мс +  1К СК  Керамический резонатор, медленное 

включение 

1110 4,2 

мс + 1К СК 5,8 

мс + 1К СК  Керамический резонатор, быстрое 

включение 

1111 

30 

µ

с +1К СК 

10 

µ

с +1К СК 

Керамический резонатор, BOD 

включен 

Регистр  состояния  процессорного  ядра MCUSR (MCU Status Register)  позволяет 

определить  источник  сброса.  Он  доступен  программно  в  пространстве  регистров 
ввода/вывода по адресу $34($54) (рис. 6.2). 

 

 

Биты  7 6 5 4  3  2  1 0 

MCUSR  

$34 ($54) 

WDRF BORF EXTRF PORF 

Рис.6.2. Регистр MCUSR 

 

 

 

 

 

 

 

содержание   ..  10  11  12  13   ..