![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 9596979899100101 ... 159 загрузчика. Эта последовательность представлена на рис. 9.8. При выходе из режима программирования напряжение с вывода MCLR должно сниматься по крайней мере на 10 мс раньше, чем отключается напряжение питания PIC-микроконтроллера. После снятия напряжения с вывода MCLR на линию Test подается низкий уровень. При программировании вывод RAO переводится в высокое состояние по меньшей мере на 10 командных циклов (это составляет 10 мкс в случае PIC-микроконтроллера, работающего на частоте 4 МГц). В это время PIC-микроконтроллер выдает адреса и данные для их проверки. После того как данные проверены, вывод RAO переводится в высокое состояние на 100 мкс, в течение которых происходит программирование новых данных. Программный счетчик PIC-микроконтроллера инкрементируется, если вывод RA1 находится в низком состоянии, пока на RAO присутствует импульс. Если, напротив, во время импульса состояние вывода высокое, то внутренний программный счетчик не инкрементируется. При этом содержимое слова инструкции может быть считано в момент следующего цикла сигнала на линии RA1 без загрузки нового адреса. Последней операции отдается предпочтение. Диаграмма сигналов для нее представлена на рис. 9.9. Подобный цикл должен повторяться MCLR TEST RAO - RA3
RA4 PORTB OxOEl Рис. 9.8 Запуск режима параллельного программирования PIC 17Схх PORTB PORTC Старш! байт адреса Младший байт адреса Загрузка адреса 1ИЙ \ /СчиТываемыеХ >-( данные (стар- У-I \ шийбайт) / \ /считываемыеХ >-( данные (млад-Ь / \ шийбайт) / I Данные, считываемые I из микроконтроллера /новые данныеу/считываемые Д (старший /~\ данные (стар-. \ байт) / \ шийбайт) /новые данные\/считываемые -( (старший М данные (млад-\ байт) / \ шийбайт) Программирование Проверка Данные, записываемые в микроконтроллер Рис. 9.9 Диаграммы сигналов при программировании PIC 17Схх до тех пор, пока данные не будут загружены правильно, но не более 25 раз. Для большей надежности циклы программирования повторяются трижды, аналогично процессам программирования микроконтроллеров с памятью EPROM. Процесс записи и чтения по адресам от OxOFEOO до OxOFEOF обеспечивает программирование и проверку слова конфигурации. Считывание слова конфигурации подразумевает чтение с использованием первых трех циклов сигналов линии RA1, приведенных на рис. 9.9. При чтении по адресам OxOFEOO - OxOFEO? считывается младший байт слова конфигурации через порт PORTC (на линиях порта PORTB при этом будет код OxOFF). В свою очередь, при считывании по адресам с OxOFEOS по OxOFEOF происходит считывание старшего байта слова конфигурации через порт PORTC. Соответствие разрядов слова конфигурации ячейкам памяти дано в табл. 9.8. Назначение разрядов слова конфигурации приведено в табл. 9.9. Запись в ячейки конфигурации должна производиться в порядке возрастания адресов. Программирование в убываюш;ем порядке приводит к непредсказуемым последствиям, поскольку, например, бит режима процессора может быть записан вместо бита режима защиты кода.
Таблица 9.9 Назначение разрядов слова конфигурации микроконтроллера PIC 17Схх
ВНУТРИСХЕМНОЕ ПРОГРАММИРОВАНИЕ PIC 17СХХ Микроконтроллеры PIC 17Схх допускают внутрисхемное программирование через последовательный интерфейс (ICSP). Для этого к выводу MCLR прикладывается напряжение, превышающее 13 В, И выполняется команда табличной записи tablwt. По этой команде Данные, загруженные в регистры TABLATH и TABLATL, записываются fi ячейки программной памяти. Команда tablwt продолжает выполняться (то есть она не завершается после двух циклов, как в случае, если регистры TBLPRH и TBLPTRL указывают адрес вне внутреннего EPROM) до тех пор, пока не возникнет прерывание или не будет снят высокий уровень вывода MCLR. Запись слова производится с помощью следующих действий: 1. Блокируются прерывания таймера TMRO. 2. В регистры TABPTRH и TABPTRL загружаются адреса. 0 ... 9596979899100101 ... 159 |