Основы микропроцессорной техники | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Раздел 5. Однокристальный микроконтроллер серии PIC | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| «Структура курса | Глава 1 | Глава 2 | Глава 3 | Глава 4 | Глава 5 | Глава 6 | Раздел 7 | Глава 8 | Дополнения | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Раздел 5 - Страницы: « | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | » | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5.2.13. Специальные функцииМикроконтроллеры подгруппы PIC16F8X имеют набор специальных функций, предназначенных для расширения возможностей системы, минимизации стоимости, исключение навесных компонентов, обеспечение минимального энергопотребления и защиты кода от считывания. В PIC16F8X реализованы следующие специальные функции:
В PIC16F8X существуют различия между вариантами запуска:
Для реализации инициализации при включении питания в МК подгруппы PIC16F8X предусмотрен встроенный детектор включения питания. Таймер установления питания (PWRT) начинает отсчет времени после того, как напряжение питания пересекает уровень около 1,2 ... 1 ... 1,8 Вольт. После окончания выдержки около 72мс. считается, что напряжение достигло номинала и запускается другой таймер - таймер запуска генератора (OST), что формирует выдержку на стабилизацию кварцевого генератора. Программируемый бит конфигурации позволяет разрешать или запрещать выдержку от встроенного таймера установки питания. Выдержка запуска значение определяется экземпляров кристалла, от питания и температуры. Таймер на стабилизацию генератора отсчитывает 1024 импульса от генератора, который начал работу. Считается, что кварцевый генератор за это время выходит на режим. При использовании RC енераторов выдержка на стабилизацию не происходит. Если сигнал / MCLR удерживается в низком состоянии достаточно долго (дольше времени всех задержек), тогда после перехода / MCLR в высокий состояние программа начнет выполняться немедленно. Это необходимо в тех случаях, когда нужно синхронно запустить в работу несколько PIC-контроллеров через общий для всех сигнал / MCLR. Микроконтроллеры подгруппы PIC16F8X имеют встроенный сторожевой таймер WDT. Для большей надежности он работает от собственного внутреннего RC-генератора и продолжает функционировать, даже если основной генератор остановлен, как это бывает при выполнении команды SLEEP. Таймер вырабатывает сигнал инициализация. Выработка таких сигналов может быть запрещена путем записи нуля в специальный бит конфигурации WDTE. Эту операцию проводят на этапе прожига микросхем. Номинальная выдержка WDT составляет 18 мс. (Без использования делителя). Она зависит от температуры, напряжения питания, особенностей типов микросхем. Если требуются большие задержки, то к WDT может быть подключен встроенный предильник с коэффициентом деления до 1:128, который программируется битами PS2: PS0 в регистре OPTION. В результате могут быть реализованы выдержки до 2,3 секунд. Команды "CLRWDT" и "SLEEP" обнуляют WDT и предильник, если он подключен к WDT. Это запускает выдержку времени сначала и предотвращает на время выработки сигнала инициализации. Если сигнал инициализация от WDT все же произошел, то одновременно обнуляется бит / TO в регистре статуса. В приложениях с высоким уровнем помех содержимое регистра OPTION подвергается сбоев. Поэтому регистр OPTION должен обновляться через равные промежутки времени. Состояние регистров МК после инициализации представлен в табл. 5.7. Некоторые из специальных регистров при сбросе НЕ инициализуються. Они имеют случайный состояние при включении питания и не изменяются при других видах инициализации. Другая часть специальных регистров инициализируется в "состояние инициализация" при всех видах инициализации, кроме инициализации при окончании задержки таймера WDT в режиме SLEEP. Просто эта инициализация рассматривается как временная задержка в нормальной работе. Есть еще несколько исключений. Счетчик команд всегда сбрасывается в ноль (0000h). Биты регистра статуса / TO и / PD устанавливаются или сбрасываются в зависимости от варианта инициализации. Эти биты используются программой для определения природы инициализации (см. табл. 5.3).
Режим пониженного энергопотребления SLEEP предназначен для обеспечения очень малого тока потребления в ожидании (менее 1 мкА при выключенном сторожевом таймере. Выход из режима SLEEP возможен по внешнему сигналу инициализации или после окончания выдержки сторожевого таймера. Кристаллы PIC16F8X могут работать с четырьмя типами встроенных генераторов. Пользователь может запрограммировать два конфигурационных бита (FOSC1 и FOSC0) для выбора одного из четырех режимов: RC, LP, XT, HS. Здесь XT - стандартный кварцевый генератор, HS - высокочастотный кварцевый генератор, LP - низкочастотный генератор для экономических задач. Микроконтроллеры PIC16F8X могут тактуватись и от внешних генераторов. Генератор, построенный на кварцевых или керамических резонаторах, требует периода стабилизации после включения питания. Для этого встроенный таймер запуска генератора держит устройство в состоянии инициализации примерно 18 мс. после того, как сигнал на / MCLR ножке кристалла достигнет уровня логической единицы. Возможность выбора типа генератора позволяет эффективно использовать микроконтроллеры семейства в различных задачах. Применение RC генератора позволяет уменьшить стоимость системы, а низкочастотный LP-генератор сокращает энергопотребление. Программный код, записанный в кристалл, может быть защищен от считывания при помощи установки бита защиты (CP) в слове конфигурации в ноль. Содержимое программы не может быть прочитан так, чтобы с ним можно было работать. Кроме того, при установленном бите защиты невозможно модифицировать программу. То же относится и к содержанию памяти данных EEPROM. Если установлена защита, то бит CP можно стереть только вместе с содержимым кристалла. Сначала будет стерты EEPROM программная память и память данных, и в последнюю очередь - бит защиты кода CP. При считывании защищенного кристалла чтения любого адреса памяти даст результат вида 0000000XXXXXXX (двоичный код), где X - это 0 или 1. Память данных EEPROM невозможно проверить после установки бита защиты. Для выбора различных режимов работы используются биты конфигурации. Микроконтроллеры подгруппы PIC16F8X имеют 5 или 6 бит конфигурации, хранящиеся в EEPROM и устанавливаются на этапе программирования кристалла. Эти биты могут быть запрограммированы (читается как "0") или оставлены незапрограммированных (читается "1") для выбора подходящего варианта конфигурации устройства. Они расположены в EEPROM-памяти по адресу 2007h. Пользователю следует помнить, что этот адрес находится ниже области кодов и недоступна программе. Назначение битов конфигурации МК PIC16CR83 и PIC16CR84 приведенное в табл. 5.8.
Назначение битов конфигурации МК PIC16F83 и PIC16F84 приведенное в табл. 5.9.
Четыре слова памяти, расположенных по адресам 2000h-2003h, предназначены для хранения идентификационного кода (ID) пользователя, контрольной суммы или другой информации. Как и слово конфигурации, они могут быть прочитаны или записаны только с помощью программатора. Доступа программы к ним нет. Микроконтроллеры подгруппы PIC16F8X могут быть запрограммированы последовательным способом в составе устройства. Для этого используется всего пять линий: две для данных и тактового сигнала и три для земли, напряжения питания и программируя напряжения. Производитель может создать и змакетуваты устройство незапрограммированных прибором, а перед использованием ввести в него программу. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| «Структура курса Раздел 5 - Страницы: « | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | » | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||