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

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

0 ... 949596979899100 ... 159


PIC16F8X

Разъем ICSP

MCLR Vdd Vss RB7 RB6

/7777

Data

Clock

Рис. 9.6

Схема для внутрисхемного программирования микроконтроллеров PIC16F8X

программирования, и ток, который по ней передается, составляет несколько микроамперов. Основной ток потребляется через линию Vdd.

Для микроконтроллеров 16F8x применяется тот же формат инструкций программирования, что и для EPROM-микроконтролле-ров среднего подсемейства, хотя инструкции и способ их выполнения несколько отличаются (табл. 9.7).

Таблица 9.7

Набор инарукций для программирования Flash PIC-микроконтроллеров среднего подсемейаво

Инструкция

Данные

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

000000

0, данные (14 бит), 0 (слово конфигурации)

Загрузка команд в память программ

000010

0, данные (14 бит), 0

Загрузка данных в память данных

000011

0, данные (14 бит), 0 (байт данных)

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

000100

0, данные (14 бит), 0

Считывание данных из памяти данных

000101

0, данные (14 бит), 0 (байт данных)

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

000110

Отсутавуют

Начало программирования

001000

Отсутавуют

Тотальное аирание памяти программ

001001

Отсутавуют

Тотальное аирание памяти данных

001011

Отсутавуют

Данные, как и в случае с EPROM микроконтроллеров среднего подсемейства, всегда представлены в виде 16-битной последовательности, где первый и последний биты постоянно равны 0. Данные всегда передаются начиная с младшего бита в той же «хронологии» , что была описана выше для устройств среднего подсемейства.



При передаче 14-битных данных формируются 16-разрядные слова инструкций путем сдвига данных влево (умножения на 2) и обнуления младшего и старшего битов.

Цикл программирования PIC 16F8x состоит из следующих шагов:

1. Выполняется инструкция Load data for Prog ram Memory (Загрузить данные в программную память) с командным словом.

2. Отправляется инструкция Begin Programming (Начать программирование).

3. Выдерживается пауза длительностью 10 мс.

4. Выполняется инструкция Read Data f rom P год ram Memo ry (Считать данные из программной памяти) и проверяется содержимое памяти для программы.

5. Отправляется инструкция Increment PIC Program Counter (Инкрементирование программного счетчика).

6. Пункты 1-5 являются программным циклом Flash РХС-микроконтроллера и повторяются для каждой команды в шестнадца-теричном файле.

7. Отправляется инструкция Load Configuration (Загрузить конфигурацию) , устанавливающая в программном счетчике адрес 0x02000.

8. Пункты 1-4 повторяются для программирования конфигурации.

Для стирания памяти используется специальная процедура, которая полностью освобождает Flash и EEPROM память PIC-микроконтроллеров, даже если будет установлен защитный бит:

1. Необходимо, удерживая низкий уровень на выводах RB6 и RB7, подать напряжение Vpp и подождать по крайней мере 2 мс.

2. Выполнить инструкцию загузки конфигурации (ОЬООООООО + 0X07FFE).

3. Инкрементировать программный счетчик для получения адреса регистра конфигурации (семь раз отправить последовательность битов ObOOOOl 10).

4. Отправить команду ObOOOOOOl на PIC-микроконтроллер.

5. Отправить команду ObOOOOl 11 на PIC-микроконтроллер.

6. Отправить команду Begin Programming (ObOOOIOOO) на PIC-микроконтроллер.

7. Выдержать паузу длительностью 10 мс.

8. Отправить команду ObOOOOOOl.

9. Отправить команду ObOOOOOII.



Обратите внимание, что в этой последовательности есть две не-задокументированные команды (ObOOOOOOl и ОЬООООШ).

ПРОГРАММИРОВАНИЕ PIC 17СХХ

PIC 17Схх подключается к программатору в соответствии со схемой, показанной на рис. 9.7. Выводы портов PORTB и PORTC используются для передачи 16-разрядных данных, а выводы порта PORTA - для передачи управляющих сигналов программатора. Повышение напряжения на выводе MCLR до 13 В переводит Р1С-микроконтроллер в режим программирования.

Усе I

PIC17CXX

Vpp

Начало программирования

Управление программированием

Старший байт данных

Младший байт данных

MCLR

TEST

RAO - RA4

PORTB

0SC1

PORTC Vss

0SC2

4-10 МГц

Рис. 9.7

Схема параллельного программирования PIC 17Схх

77777

Программирование PIC 17Схх определяется как параллельное. Специальная программа загрузчика Boot ROM выполняется BHjTpn PIC-микроконтроллера, она принимает данные с портов ввода/вывода и осуществляет программирование кода. Для этого используется специальный вывод Test, на который при программировании еле дует подать высокий уровень.

Для работы программы Boot ROM микроконтроллер должен тактироваться сигналом частотой от 4 до 10 МГц.

Для перевода PIC-микроконтроллера в режим программирования линия Test активизируется прежде, чем на вывод MCLR поступает напряжение Vpp. Затем на PORTB подается код OxOEl для запуска



0 ... 949596979899100 ... 159