Предыдущая Следующая

Таймер «пробуждения» контролирует работу стабилизированного кварцем генератора, определяя, безопасно ли для микроконтроллера приступить к выполнению программы. Когда производится включение питания или микроконтроллера, по какой-либо причине, «пробуждается» из режима Power Down, требуется некоторое время, чтобы вырабатываемый генератором синхросигнал достиг амплитуды, достаточной для тактирования логических схем синхронизации микроконтроллера. Это время зависит от многих факторов: времени нарастания питающего напряжения VDD (при включении питания), типа кварцевого резонатора и его электрических характеристик или, в случае использования иных внешних схем задания частоты (например, конденсаторов), — их характеристик, а также характеристик самого генератора при заданных условиях окружающей среды.

Обнаружив наличие в системе сигнала синхронизации требуемой частоты, таймер «пробуждения» отсчитывает 4096 импульсов, а затем разрешает инициализацию Flash-памяти. После завершения инициализации Flash-памяти и при условии снятия сигнала внешнего сброса, процессор готов выполнять команды. Если в системе используется внешний источник тактирования (вместо кварцевого резонатора, подключаемого к выводам генератора), имеется возможность

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

Микроконтроллеры семейства LPC2000 не имеют в своем составе аналоговых функциональных модулей, способных работать без сигналов синхронизации (например, компараторов), а также независимых источников синхросигналов, например, отдельного генератора сторожевого таймера. Исключение составляют те микроконтроллеры LPC2000, у которых модуль часов-календаря реального времени (RTC) тактируется от подключаемого к выводам RTCX1-2 отдельного генератора с внешним кварцевым резонатором на частоту 32768 Гц. Только две встроенные периферийные функции способны работать при отсутствии источника синхронизации — это внешние прерывания (EINTO, EINT1, EINT2 и EINT3) и CAN-контроллеры. В случае, когда разрешено «пробуждение» устройства от внешнего прерывания и происходит событие, вызывающее это прерывание, начинается цикл «пробуждения» генератора. Аналогично, цикл «пробуждения» генератора начинается, если разрешено «пробуждение» микроконтроллера от сигналов CAN и соответствующие сигналы появляются на шине CAN. Фактически, микроконтроллер реагирует на любое прерывание после того, как истекает время «пробуждения» и произведена обработка этого прерывания контроллером VIC.

Для того, чтобы обеспечить возможность вывода микроконтроллера из режима Power Down с помощью других периферийных устройств, производителем был разработан механизм мультиплексирования выводов микроконтроллеров семейства LPC2000 (см. главу 7 «Цоколевка и назначение выводов», главу 8 «Блок коммутации выводов»). Можно разрешать прерывания от событий, относящихся к UART0 или UART1, SPI0 или SPI1, либо I2C, назначая соответствующим выводам микроконтроллера следующие альтернативные функции: RxDO/EINTO, SDA/EINT1, SSEL0/EINT2, RxDl/EINT3, DCD1/EINT1, RI1/EINT2, SSEL1/EINT3.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz