НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 92939495969798 ... 159


Слово конфигурации, в соответствии с документацией Microchip, располагается по адресу OxOFFF и программируется в последнюю очередь, чтобы бит защиты кода не влиял на возможность проверки содержимого программной памяти. Если бит защиты установлен, то содержимое программной памяти будет скремблироваться (шифроваться) , что сделает нереальным считывание кода для проверки.

ПОСЛЕДОВАТЕЛЬНОЕ ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ СРЕДНЕГО ПОДСЕМЕЙСТВА

При внутрисхемном последовательном программировании (In Circuit Serial Programming - ICSP) микроконтроллеров младшего и среднего подсемейств используются выводы, перечень которых приведен в табл. 9.3.

Таблица 9.3

Выводы, используемые для последовательного программирования

Вывод

M икроконтроллер

12c5xx

16C50X

Среднее подсемейство

18 выводов

28 выводов

40 выводов

MCLR

MCLR

MCLR

MCLR

MCLR

11,32

8,19

12.31

DATA

CLOCK

Чтобы запрограммировать или считать данные, необходимо установить Р1С-микроконтроллер в режим программирования, для чего напряжение на выводе MCLR увеличивается до 13-14 В, а напряжение на линиях передачи DATA и CLOCK обнуляется на несколько миллисекунд. Когда Р1С-микроконтроллер переведен в режим программирования, данные по линии DATA могут в последовательном коде путем сдвига заноситься в микроконтроллер и выводиться из него, причем тактирование осуществляется по линии CLOCK.

Временные диаграммы сигналов при задании режима программирования приведены на рис. 9.4. Когда напряжение на выводе MCLR равно Vpp, внутренний программный счетчикРЮ-микрокотроллера сбрасывается. Этот счетчик используется для формирования текущего адреса программной памяти EPROM.



MCLR/Vpp Данные

Синхроимпульсы

1 1 1 1 1

1 1 1

\ : !

1 мс

1 мс

Программирование может начинаться

Рис. 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

Шеаибитные инарукции программатора



Инструкция

Данные

Примечания

Загрузка данных

оьооооою

0,14 бит данных, 0

Загрузка слова

для программирования

Начало

программирования

ObOOOlOOO

Отсутствуют

Запуск цикла профаммирования

Конец

программирования

obooomo

Отсутствуют

Конец цикла программирования по истечении 100 мс

Увеличение адреса

oboooono

Отсутствуют

Увеличение значения программного счетчика

Считывание данных

оьооооюо

0,14 бит данных, 0

Считывание программной

памяти по адресу

в программном счетчике

Загрузка слова конфигурации

ObOOOOOOO

OxO/FFE(слово)

В программном счетчике задается адрес 0x02000

Прежде чем приступать к программированию, следует проверить, не заполнена ли память программ. Эта операция выполняется путем простого считывания из программной памяти (инструкция ReadData, приведенная выше) и последующего сравнения данных с кодом 0x07 FFE. Когда проверка текущей ячейки завершена, значение программного счетчика Р1С-микроконтроллера инкрементируется (с помощью инструкции Increment Address) и процесс повторяется до завершения просмотра всей программной памяти. По окончании проверки памяти состояние программного счетчика Р1С-микроконтроллера изменяется на 0x02000 (с помощью команды Load Configuration). После этого содержимое регистра конфигурации проверяется также на соответствие коду 0x07FFE.

Сведения об объеме памяти программ PIC-микроконтроллеров среднего подсемейства представлены в табл. 9.5.

Таблица 9.5

Объем памяти программ Р1С-микроконтроплеров среднего подсемейства

Микроконтроллер

Объем памяти, К слов

PIC 16Сх1

PIC 16Схх0

PIC 16Схх1

PIC 16Схх2

PIC 1бСх2

PIC 16СхЗ

PIC 16Сх4

PIC 16Сх5

PIC 16Сх6

PIC 1бСх7



0 ... 92939495969798 ... 159