![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 92939495969798 ... 159 Слово конфигурации, в соответствии с документацией Microchip, располагается по адресу OxOFFF и программируется в последнюю очередь, чтобы бит защиты кода не влиял на возможность проверки содержимого программной памяти. Если бит защиты установлен, то содержимое программной памяти будет скремблироваться (шифроваться) , что сделает нереальным считывание кода для проверки. ПОСЛЕДОВАТЕЛЬНОЕ ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ СРЕДНЕГО ПОДСЕМЕЙСТВА При внутрисхемном последовательном программировании (In Circuit Serial Programming - ICSP) микроконтроллеров младшего и среднего подсемейств используются выводы, перечень которых приведен в табл. 9.3. Таблица 9.3 Выводы, используемые для последовательного программирования
Чтобы запрограммировать или считать данные, необходимо установить Р1С-микроконтроллер в режим программирования, для чего напряжение на выводе MCLR увеличивается до 13-14 В, а напряжение на линиях передачи DATA и CLOCK обнуляется на несколько миллисекунд. Когда Р1С-микроконтроллер переведен в режим программирования, данные по линии DATA могут в последовательном коде путем сдвига заноситься в микроконтроллер и выводиться из него, причем тактирование осуществляется по линии CLOCK. Временные диаграммы сигналов при задании режима программирования приведены на рис. 9.4. Когда напряжение на выводе MCLR равно Vpp, внутренний программный счетчикРЮ-микрокотроллера сбрасывается. Этот счетчик используется для формирования текущего адреса программной памяти EPROM. MCLR/Vpp Данные Синхроимпульсы
Рис. 9.4 Инициализация процесса программирования Данные пересылаются в PIC-микроконтроллер и из него посредством синхронного протокола и выводятся по заднему фронту тактового импульса, причем сначала передается младший бит (LSB). Минимальный период тактового сигнала составляет 200 не, его фронт должен соответствовать середине битового интервала. На рис. 9.5 представлен процесс пересылки инструкции инкрементирования адреса. Данные передаются аналогично, только 16-разрядными кодами (сначала младший бит) и с задержкой в 1 мкс после передачи инструкции. Эти 16 бит включают в себя 14-разрядное слово команды, сдвинутое влево на один разряд. Следовательно, первый и последний биты при передаче данных всегда нулевые (табл. 9.4). Бит О Бит 1 Данные Синхроимпульсы I Бит 2 БитЗ Бит 4 Бит 5 r~L n J~\ J"L r~\ n Рис. 9.5 Шеаибитные инарукции программатора
Прежде чем приступать к программированию, следует проверить, не заполнена ли память программ. Эта операция выполняется путем простого считывания из программной памяти (инструкция ReadData, приведенная выше) и последующего сравнения данных с кодом 0x07 FFE. Когда проверка текущей ячейки завершена, значение программного счетчика Р1С-микроконтроллера инкрементируется (с помощью инструкции Increment Address) и процесс повторяется до завершения просмотра всей программной памяти. По окончании проверки памяти состояние программного счетчика Р1С-микроконтроллера изменяется на 0x02000 (с помощью команды Load Configuration). После этого содержимое регистра конфигурации проверяется также на соответствие коду 0x07FFE. Сведения об объеме памяти программ PIC-микроконтроллеров среднего подсемейства представлены в табл. 9.5. Таблица 9.5 Объем памяти программ Р1С-микроконтроплеров среднего подсемейства
0 ... 92939495969798 ... 159 |