F00-17 (1041601), страница 20
Текст из файла (страница 20)
Каждый аналоговыйпериферийный модуль, когда он не используется, может быть заблокирован и переведен в режимпониженного энергопотребления. Цифровые периферийные модули, такие как таймеры илипоследовательные интерфейсы, потребляют мало энергии, когда не используются. Отключение генераторахоть и сохраняет много энергии, но требует сброса для запуска МК.10.5.1. Режим ожиданияУстановка в 1 бита выбора режима ожидания (PCON.0) заставит CIP-51 остановить процессорноеядро и перейти в режим ожидания сразу же после завершения команды, которая устанавливает этот бит.
Всевнутренние регистры и память сохраняют свои данные. Все аналоговые и цифровые периферийные модулимогут оставаться активными во время режима ожидания.Выйти из режима ожидания можно или по сигналу сброса, или по прерыванию. Любой изразрешенных сигналов прерывания приведет к сбросу бита PCON.0 и возобновлению работы процессорногоядра. Прерывание будет обслужено и после выхода из прерывания (RETI) будет исполнена команда, котораяследует в программе за командой, установившей бит выбора режима ожидания (PCON.0).
Если режиможидания завершается по внутреннему или внешнему сигналу сброса, то CIP-51 отработаетпоследовательность действий, обычную для сброса, и начнет выполнение программы с адреса 0x0000.Если сторожевой таймер включен, то со временем он вызовет сброс от сторожевого таймера, чтоприведет к выходу из режима ожидания. Эта возможность защищает систему от непреднамеренногопостоянного отключения в случае случайной записи регистра PCON.
Когда такое поведение нежелательно,сторожевой таймер может быть отключен программно до входа в режим ожидания, если первоначально онбыл настроен на разрешение такой операции. Это обеспечивает возможность дополнительного уменьшенияэнергопотребления, т.к. система остается в режиме ожидания неопределенно долгое время, ожидая внешнегосигнала пробуждения системы. Подробная информация об использовании и настройке сторожевого таймераприведена в разделе 13.8.10.5.2. Режим остановкиУстановка в 1 бита выбора режима остановки (PCON.1) заставит CIP-51 перейти в режим остановкисразу же после завершения команды, которая устанавливает этот бит. В режиме остановки процессорное ядрои тактовые генераторы останавливаются, а значит все цифровые модули выключаются. Каждый аналоговыйпериферийный модуль может быть отключен индивидуально до перехода в режим остановки.
Выйти изрежима остановки можно по внутреннему или внешнему сигналу сброса. При сбросе CIP-51 отработаетпоследовательность действий, обычную для сброса, и начнет выполнение программы с адреса 0x0000.Если включен детектор исчезновения тактовых импульсов (Missing Clock Detector – MCD), то онвызовет внутренний сброс и тем самым выведет МК из режима остановки.
Детектор исчезновения тактовыхимпульсов следует отключить, если необходимо перевести МК в режим остановки на время, большеевремени задержки MCD (100 мкс).Page 84CYGNAL Integrated Products, Inc. 20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7Рисунок 10.15. PCON: Регистр управления электропитаниемR/WR/WR/WR/WR/WR/WR/WR/WSMODGF4GF3GF2GF1GF0STOPIDLEЗначениепри сбросе:Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 000000000SFR Адрес:0x87Бит 7: SMOD: Включение удвоения скорости передачи данных последовательного порта.0: Скорости передачи данных последовательного порта определяется режимомпоследовательного порта, заданным в регистре SCON.1: Скорости передачи данных последовательного порта в два раза больше, чем та, котораяопределяется режимом последовательного порта, заданным в регистре SCON.Биты 6-2: GF4-GF0: Флаги общего назначения 4-0.Это флаги общего назначения, предназначенные для использования под управлением программы.Бит 1: STOP: Выбор режима остановки.Установка этого бита переведет CIP-51 в режим остановки.
Этот бит всегда будет читаться как ‘0’.1: Переход в режим пониженного энергопотребления. (Отключение тактового генератора).Бит 0: IDLE: Выбор режима ожидания.Установка этого бита переведет CIP-51 в режим ожидания. Этот бит всегда будет читаться как ‘0’.1: Переход в режим ожидания. (Отключение тактирования процессорного ядра, однакотактирование таймеров, модулей прерываний, последовательных портов и аналоговыхмодулей остается включенным)4.2002; Rev.
1.4CYGNAL Integrated Products, Inc. 2002Page 85C8051F000/1/2/5/6/7C8051F010/1/2/5/6/711. FLASH-ПАМЯТЬМК данного семейства содержат 32k + 128 байт встроенной перепрограммируемой Flash-памяти дляхранения программного кода и долговременного хранения данных. Flash-память может программироватьсявнутрисистемно по одному байту за раз посредством JTAG-интерфейса или с использованием командыMOVX. Если Flash-бит сброшен в 0, то для того, чтобы установить его в 1, его необходимо стереть.
Байтыперед программированием обычно стираются (устанавливаются в 0xFF). Временные интервалы операцийзаписи и стирания, необходимые для корректной работы, устанавливаются автоматически аппаратнымисредствами. Опрос данных для определения завершения операции записи/стирания не требуется. Flashпамять разработана таким образом, чтобы выдержать по меньшей мере 20000 циклов записи/стирания.Электрические параметры Flash-памяти приведены в таблице 11.1.11.1. Программирование Flash-памятиСамый простой способ программирования Flash-памяти заключается в использовании JTAGинтерфейса и средств программирования, предлагаемых фирмой Cygnal или независимыми производителями.Это единственный способ программирования неинициализированного МК. Подробная информация обиспользовании JTAG команд для программирования Flash-памяти приведена в разделе 21.2.Flash-память можно программировать программным путем, используя команду MOVX с адресом ибайтом данных в качестве обычных операндов.
Перед записью во Flash-память с использованием командыMOVX операции записи Flash-памяти необходимо разрешить установкой в 1 бита разрешения записи памятипрограмм PSWE (PSCTL.0). Запись во Flash-память остается разрешенной до тех пор, пока бит PSWE небудет сброшен в 0 программой.Запись во Flash-память может сбросить в 0 биты, но не может установить их в 1. Только операциястирания может установить в 1 биты во Flash-памяти. Поэтому ячейку памяти, в которую должен бытьзаписан байт, необходимо предварительно стереть, чтобы можно было записать новое значение. 32-КбайтнаяFlash-память организована секторами по 512 байт. Операция стирания применяется ко всему сектору целиком(все байты в секторе устанавливаются в 0xFF).
Установка в 1 бита разрешения стирания памяти программPSEE (PSCTL.1) и бита PSWE (PSCTL.0) и использование затем команды MOVX для записи байта данных влюбую ячейку памяти внутри сектора приведет к стиранию всего 512-байтного сектора. Записанный байтданных может иметь любое значение, т.к. он в действительности не записывается во Flash-память.
СтираниеFlash-памяти остается разрешенным до тех пор, пока бит PSEE не будет сброшен в 0 программой. Нижеприведен алгоритм программирования Flash-памяти программным путем:1. Разрешить запись/стирание Flash-памяти, используя биты FLASCL в регистре FLSCL.2. Установить в 1 бит PSEE (PSCTL.1) для разрешения стирания Flash-сектора.3. Установить в 1 бит PSWE (PSCTL.0) для разрешения записи во Flash-память.4. Использовать команду MOVX для записи байта данных в любую ячейку внутри 512-байтного сектора,который таким образом будет стерт.5. Сбросить в 0 бит PSEE (PSCTL.1) для запрещения стирания Flash-сектора6.
Использовать команду MOVX для записи байта данных по нужному адресу внутри 512-байтного сектора.Повторять столько, сколько необходимо. (Любое количество байтов можно записать: от одного байта и довсего сектора полностью).7. Сбросить в 0 бит PSWE (PSCTL.0) для запрещения записи во Flash-память.Временные интервалы операций записи и стирания, которые устанавливаются аппаратнымисредствами, основаны на значении делителя из регистра делителя Flash-памяти (FLSCL). 4-разрядноезначение делителя FLASCL определяет временной интервал для операций записи/стирания. ЗначениеFLASCL, необходимое для заданной системной тактовой частоты, вместе с формулой, используемой для егорасчета, приведены на рис.
11.4. Когда значение FLASCL равно 1111b, операции записи/стирания запрещены.Следует иметь в виду, что во время программирования или стирания Flash-памяти выполнение программыприостанавливается.Таблица 11.1. Электрические параметры FLASH-памятиVDD = 2.7 - 3.6В, Т = -40ºC … +85ºC, если не указано иное.ПАРАМЕТРУСЛОВИЯМин.Число циклов программирования20000Время цикла стирания10Время цикла записи40Page 86Тип.100000CYGNAL Integrated Products, Inc.
2002Макс.Ед. изм.Стирание/Записьмсмкс4.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/711.2. Долговременное хранение данныхFlash-память может использоваться не только для программного кода, но и для долговременногохранения данных. Это позволяет рассчитывать и сохранять во время выполнения программы такие данные,как калибровочные коэффициенты. Данные записываются с использованием команды MOVX и считываютсяс использованием команды MOVC.МК данного семейства содержат дополнительный 128-байтный сектор Flash-памяти, занимающийадреса 0x8000 – 0x807F. Этот сектор может использоваться для программного кода или хранения данных.Однако, по причине небольшого размера этого сектора его особенно выгодно использовать в качестведолговременной сверхбыстродействующей памяти общего назначения.