Читайте также: |
|
В некоторых МК для режима останова имеется опция, которая позволяет оставить в работе генератор кварцевого резонатора и один времязадающий модуль. Так, в МК семейства НС08 фирмы Motorola остается в работе модуль базового таймера ТВМ08, а в МК семейства Р1С16 фирмы Microchip — модуль сторожевого таймера. Первое из упомянутых решений несколько более удобно, т.к. позволяет не объединять алгоритм обслуживания сброса по зависанию системы (сработал сторожевой таймер) и алгоритм обслуживания периферии через равные интервалы времени.
Кроме очевидного различия в функционировании периферийных модулей, режимы ожидания и останова отличаются также характером процесса перехода из режима пониженного энергопотребления в активный режим работы. Выход из режима ожидания происходит в течение 3...5 периодов синхронизации МК, в то время как задержка выхода из режима останова составляет несколько тысяч периодов синхронизации МК. Причем если тактирование МК осуществляется от низкочастотного кварцевого резонатора с последующим умножением частоты внутренними средствами МК, то под периодом синхронизации следует понимать период колебания кварцевого резонатора. Кроме очевидного неудобства плохой динамики системы, находящейся в состоянии останова, такое большое время перехода в активный режим работы является причиной дополнительного расхода энергии(Рис. 1.35). В МК MSP430 с ультранизким потреблением энергии дополнительная экономия энергии достигается за счет сокращения времени перехода из режима низкого энергопотребления в активный режим работы. Это позволяет МК MSP430 работать в составе счетчика тепловой энергии при автономном питании в течение 10 лет без замены батареек.
Не все МК имеют именно два режима пониженного энергопотребления. Так, в МК семейства Р1С16 реализуется только один режим Sleep (дословно — "спящий режим"), а в МК MSP430 — пять режимов низкого энергопотребления LPO...LP4. Но хотя бы один режим пониженного энергопотребления имеют все современные МК.
9. МОНИТОРИНГ НАПРЯЖЕНИЯ ПИТАНИЯ МК
Источник питания МП-системы не может быть идеальным. Напряжение источника питания подвержено как прогнозируемым, так случайным изменениям, которые должны учитываться разработчиком системы. Свойство МП-системы восстанавливать работоспособность при кратковременных отключеньях напряжения питания или при его "просадках" ниже допустимого значения является обязательным для современных систем управления. В зависимости от характера возможных изменений напряжения питания МП-системы можно разделить на следующие группы:
1. Системы с импульсными источниками вторичного электропитания, которые стабилизируют выходное напряжение в заданном диапазоне (Uddmin...Uddmax), в противном случае удерживают выходное напряжение равным нулю.
2. Системы с так называемыми "гладкими" источниками вторичного электропитания, которые при значительном снижении напряжения сети пропорционально снижают выходное напряжение.
3. Системы с автономным питанием от батареек или аккумуляторов.
4. Системы с комбинированным питанием. Такие системы автоматически переходят на питание от автономного источника в случае, если напряжение вторичного источника питания перестало удовлетворять требованию Uddmin < Udd < Uddmax.
В системах типа 3 и 4 следует обязательно применять МК с расширенным диапазоном напряжения питания. В системах типа 1 и 2 могут использоваться МК с фиксированным напряжением питания (5 В * 10%, 3 В ± 10%), но при этом следует внимательно проанализировать реакцию МП-системы на возможные изменения напряжения питания и предпринять меры по устранению отказов.
При включении напряжения питания МК должен начать выполнять прикладную программу. На этапе нарастания напряжения питания МК принудительно переводится в начальное состояние, которое называютсостоянием сброса. При этом устанавливаются в исходное состояние внутренние магистрали МК, сигналы управления и регистры специальных функций. Последние определяют начальное состояние периферийных модулей МК. Обычно это неактивное состояние. Сразу после выхода из состояния сброса МК выполняет следующие действия:
1. Запускает генератор синхронизации МК. Для стабилизации частоты тактирования внутренними средствами МК формируется задержка времени tзад.
2. Считывает энергонезависимые регистры конфигурации в соответствующие регистры ОЗУ (при необходимости).
3. Загружает в программный счетчик PC адрес начала прикладной программы.
4. Производит выборку первой команды из памяти и приступает к выполнению прикладной программы.
Адрес ячейки памяти, в которой хранится код первой команды прикладной программы, называют вектором начального запуска или вектором сброса. В некоторых МК этот адрес однозначно определен в техническом описании. О таких МК говорят, что они имеют фиксированный вектор сброса. Разработчик обязан указать этот фиксированный адрес на этапе формирования файла кодов прикладной программы (загрузочный модуль программы). В других МК вектор сброса может быть произвольно определен пользователем. На этапе программирования МК желаемый вектор начального запуска записывается в ячейки памяти с фиксированными адресами и при выходе МК из состояния сброса автоматически загружается в программный счетчик. О таких МК говорят, что они имеют загружаемый вектор сброса. Загружаемый вектор сброса имеют все 8-разрядные МК фирмы Motorola.
Для перевода МК в состояние сброса достаточно подать напряжение высокого или низкого логического уровня (указано в спецификации) на вход RESET. Традиционно для формирования сигнала сброса при включении напряжения питания используют RC-цепь. Типовые решения представлены наРис. 1.36. При реализации одной из приведенных схем следует убедиться, что буфер линии RESET выполнен с триггером Шмидта, который допускает подачу сигнала с ненормированной длительностью фронта переключения (до нескольких десятков мс). Если триггер Шмидта отсутствует, то придется воспользоваться специальной схемой формирования сигнала сброса с нормированной длительностью фронта переключения(Рис. 1.37). Такие схемы реализуются в виде отдельной ИС либо в комбинации со сторожевым таймером (МАХ823), часами реального времени (МС68НС68Т1) и т.д.
С целью минимизации числа вспомогательных ИС платы МП-контроллера большинство современных МК имеют в своем составе блок детектирования напряжения питания (схема POR — Power-On-Re-set), который формирует сигнал внутреннего сброса при нарастании напряжения питания(Рис. 1.38). Схема POR имеет два порога срабатывания, т.е., по существу, является компаратором с гистерезисом. Порог срабатывания Vроr значительно ниже минимально допустимого напряжения питания МК и равен -1 В. При достижении напряжением питания значения Vроr схема POR фиксирует событие включения питания МК, формирует задержку времени tроr, после чего снимает сигнал внутреннего сброса. Предполагается, что напряжение питания МК в течение tроr успеет достичь номинального значения. Поэтому скорость нарастания напряжения питания ограничена снизу. В случае если скорость нарастания недостаточна, схема POR не может быть использована для начального запуска МК и следует применить специальную ИС для формирования- сигнала внешнего сброса с нормированным фронтом.
Порог отпускания Vpor не превышает 200 мВ. Поэтому при использовании гладких источников питания может сложиться ситуация, при которой напряжение питания стало меньше Uddmin. но не достигло напряжения отпускания схемы POR. Тогда МК может "зависнуть". При восстановлении напряжения питания до номинального значения МК в работу не вступит. При использовании импульсных источников питания такая ситуация исключается, если диапазон стабилизации напряжения источника выбран равным диапазону допустимых напряжений питания МК.
Для восстановления работоспособности МП-системы после "просадки" напряжения питания МК необходимо снова сбросить. С этой целью в современных МК реализован дополнительный блок детектирования пониженного напряжения питания. В МК семейства НС08 фирмы Motorola такой модуль носит название LVI, аналогичный модуль имеется в составе МК Р1С17 Microchip, Z8 фирмы Zilog. Рассматриваемый модуль генерирует сигнал внутреннего сброса при снижении напряжения питания до уровня чуть менее Uddmin(Рис. 1.38). Так, для МК MC68HC908JL3 с напряжением питания Uddmin = 5 В ± 10% уровень срабатывания модуля пониженного напряжения питания лежит в пределах 3.6...4.4 В. Следовательно, зона нечувствительности все же остается. Поэтому наличие в составе МК модуля пониженного напряжения питания значительно снижает вероятность зависания МК, но не устраняетее полностью. Следует также отметить, что уровень срабатывания модуля пониженного напряжения питания значительно превышает напряжение сохранения данных в ОЗУ МК. Событие сброса по сигналу модуля пониженного напряжения отмечается специальным битом в одном из регистров. Следовательно, анализируя этот бит программно после сброса МК, можно установить, что разрушения данных не наступило, и продолжить выполнение программы.
10. АППАРАТНЫЕ И ПРОГРАММНЫЕ РЕШЕНИЯ ПО ПОВЫШЕНИЮ НАДЕЖНОСТИ РАБОТЫ МК
В отличие от персональных компьютеров, которые при стечении определенных обстоятельств могут выполнить нештатные операции и "зависнуть", встраиваемые МП-системы управления лишены этого недостатка. Прикладная программа управления, записанная в память МК, должна обеспечивать формирование адекватных выходных воздействий при любых комбинациях входных сигналов. Однако в результате электромагнитных помех предусмотренный разработчиком ход выполнения прикладной программы может быть нарушен. Именно в этом случае невозможно гарантировать правильную работу МП-системы. Все современные МК предусматривают возможность восстановления правильного хода вычислительного процесса при подобного рода отказах. Для этого используется модуль сторожевого таймера (СОР или Watchdog). Принцип действия модуля сторожевого таймера иллюстрируетРис. 1. 40. Основным элементом модуля сторожевого таймера является многоразрядный счетчик. При сбросе МК счетчик обнуляется. После перехода МК в активный режим работы счетчик начинает увеличивать код независимо от выполняемой программы. Если код счетчика достигает максимального указанного в техническом описании МК значения, то генерируется сигнал внутреннего сброса и МК начинает выполнение программы управления сначала. Для исключения события сброса по переполнению сторожевого таймера прикладная программа управления должна периодически сбрасывать счетчик. Операция сброса счетчика сторожевого таймера обычно выполняется посредством записи указанного кода в один из регистров специальных функций. Тогда при нормальном, предусмотренном разработчиком порядке выполнения прикладной программы переполнение счетчика сторожевого таймера не наступает и он не оказывает влияния на работу МП-системы. Однако если ход выполнения прикладной программы был нарушен, то велика вероятность, что счетчик не будет сброшен вовремя. Тогда произойдет сброс по переполнению сторожевого таймера и нормальный ход вычислительного процесса будет восстановлен.
Модули сторожевых таймеров различных МК имеют следующие особенности работы:
* В ряде МК вектора внешнего сброса и сброса по переполнению сторожевого таймера объединены. Это не позволяет различать причину сброса на программном уровне и затрудняет написание прикладных программ. Более совершенны МК, которые имеют либо различные векторы сброса, либо отмечают событие сброса по переполнению сторожевого таймера установкой специального бита.
* Часть МК автоматически приостанавливает работу сторожевого таймера при переходе МК в один из режимов пониженного энергопотребления, когда прикладная программа не выполняется. Однако в ряде МК сторожевой таймер не останавливает работу в режиме ожидания. Тогда необходимо предусматривать периодический вывод МК из режима ожидания для сброса счетчика сторожевого таймера. Это, с одной стороны, не очень удобно, т.к. требует дополнительного внимания программиста. Однако, с другой стороны, предоставляет дополнительную возможность восстановления работоспособности МП-системы, если сигнал вывода МК из режима ожидания нарушен. Кроме аппаратно-программных средств сторожевого таймера, ряд МК оснащен аппаратными средствами генерации сигнала внутреннего сброса в случае, если по причине электромагнитных помех в счетчике адреса был сформирован адрес физически не существующей ячейки памяти или из памяти считан код несуществующей операции.
Дата добавления: 2015-07-25; просмотров: 59 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Аннотация 4 страница | | | Контрольная работа |