Программатор – это устройство, предназначенное для записи программного кода в память МК. Он подключается к компьютеру и управляется специальной программой, к программатору подключается микроконтроллер.
В режиме программирования все или несколько выводов МК AVR меняют свои функции. Включается режим программирования подачей и удерживанием «0» на входе RESET. При кратковременной подаче «0» на этот вход МК сбрасывается на ноль.
При параллельном программировании ИМС МК вынимают из печатной платы и вставляют в панельку программатора. Данные передают данные по байтам, используя 8 выводов ИМС как шину данных. После записи данных ИМС МК вставляют в схему.
При последовательном программировании МК используется канал ISP, который позволяет производить внутрисхемное программирование, не извлекая МК из схемы.
Для передачи данных используется три вывода ИМС, называемые MISO (Master Input, Slave Output – ведущий работает на ввод, ведомый – на вывод); MOSI (Master Output Slave Input – ведущий работает вывод, ведомый на ввод); SCK (Synchronize Clock – сигнал синхронизации). Байты передаются побитно при низковольтном питании.
Универсальные программаторы МК серии AVR используют два способа, упрощён-ные – только последовательный.
Программатор, подключаемый к компьютеру при помощи параллельного порта LPT, проще и надёжнее, чем подключаемый при помощи последовательного порта COM.
Схема программатора, предназначенного для последовательного программирования при использовании параллельного порта, приведена на рисунке 3.3.1.
Состав схемы: Х1 – разъём для подключения к порту компьютера; Х2 – разъём для подачи внешнего питания; Х3 – разъём для подключения к отлаживаемой схеме; DD1 – микросхема 74НС244, содержащая два четырёхканальных управляемых буфера; VD1 –
индикатор питающего напряжения; конденсаторы С1 и С2 – фильтр в цепи питания; VD2 – защитный диод; VD3 – светодиод индикации режима программирования.
Рисунок 3.3.1 – Схема последовательного программатора МК серии AVR
Сигнал «0» на входе Е открывает соответствующий буфер и сигналы с его информационных входов поступают на его выходы. При подаче «1» буфер закрывается.
В процессе программирования программа управления включает буферы, а затем организует процесс обмена данными с ИМС МК посредством сигналов MISO, MOSI, SCK (в соответствии с алгоритмом передачи данных) и RESET (перевод ИМС МК в режим программирования и сброс). После завершения программирования буферы закрываются и и программатор не мешает работать схеме.
На входы MISO, MOSI, SCK, RESET не должны поступать мешающие сигналы. Лучше, если эти выводы останутся свободными. Если это невозможно, то к этим входам должны быть подключены входы других микросхем, но не их входы.