logo
АЦП для проведения лабораторных работ

2.2 Программирование микроконтроллера

Программатор - аппаратно-программное устройство, предназначенное для записи/считывания информации в постоянное запоминающее устройство [9].

Классификация программаторов:

По типу микросхем:

программирующие микросхемы ПЗУ (ПЗУ с ультрафиолетовым стиранием, ППЗУ, флэш-память);

программирующие внутреннюю память микроконтроллеров;

программирующие ПЛИС.

Универсальные программаторы могут поддерживать все вышеперечисленные типы.

По подключению микросхемы:

параллельный;

внутрисхемный.

Параллельные программаторы содержат разъём, в который и вставляется программируемая микросхема. Внутрисхемные пригодны только для тех микросхем, в которых поддерживается внутрисхемное программирование, но позволяют прошивать микросхему, не вынимая её из устройства.

При покупке параллельного программатора стоит обратить внимание на качество разъёма, в который устанавливается микросхема. Обычный одноразовый разъём долго не прослужит; программатор должен иметь цанговые разъёмы, а ещё лучше ZIF. В дорогих программаторах есть несколько разъёмов - под разные виды корпусов [9].

По подключению к компьютеру:

Первые программаторы были автономными - для набора прошивки имелась клавиатура или коммутационная панель. С распространением ПК такие программаторы были полностью вытеснены подключаемыми к компьютеру - специальная программа (которая также называется программатором) передаёт прошивку с компьютера, а программатору остаётся только записать её в память микросхемы.

Для подключения программаторов могут применяться:

последовательный порт;

параллельный порт;

специализированная интерфейсная плата (ISA или PCI);

USB;

Ethernet.

Стоит заметить, что в самых простых параллельных и последовательных программаторах управляющему ПО приходится напрямую управлять логическим уровнем на выводах порта. Такое прямое управление в Windows NT запрещено, это обходится установкой специализированного драйвера; через адаптеры USB>COM bitbang - программаторы работают крайне медленно (единицы-десятки байт в секунду). Микроконтроллерные программаторы полностью поддерживают протокол COM- или LPT-порта и поэтому свободны от этих недостатков.

Специализированные платы изредка применялись до появления USB, так как позволяли достичь максимальных скоростей обмена данными. Впрочем, одновременно они делали программатор стационарным.

Современные программаторы подключаются через USB (лишь простые дешёвые конструкции используют COM- или LPT-порты). Высокопроизводительные промышленные программаторы используют Ethernet.

Программатор PIC контроллеров. EXTRAPIC - программатор PIC контроллеров и микросхем памяти I2C (IIC) EEPROM.

Особенности программатора EXTRAPIC:

Функционально совместим с ПО программаторов JDM, но в отличие от них, благодаря более качественному схемотехническому решению, а также использованию внешнего источника напряжения питания.

Работоспособен с любыми COM-портами, как стандартными так и с нестандартными COM-портами некоторых моделей современных ноутбуков, имеющих пониженные напряжения сигнальных линий, вплоть до +/-5v.

Не перегружает по току COM-порт компьютера, так как использует стандартный формирователь интерфейса RS232 (MAX232 или аналогичный), и при правильной эксплуатации не представляет опасности для COM-порта.

Имеет разъём внутрисхемного программирования (ICSP - In Circuit Serial Programming).

Поддерживается распространёнными программами IC-PROG, PonyProg и другими, как программатор JDM.

Программатор подключается к COM-порту компьютера, через стандартный кабель-удлинитель COM-порта (DB9M - DB9F). Кабель приобретается отдельно.

Для питания программатора должен использоваться стабилизированный источник питания напряжением от +15,5v до +24,0v или от +13,0v до +14,0v. Источник питания должен быть оборудован стандартным разъёмом "Jack", центральный "+", толщина центрального вывода 2,1мм. Источник питания приобретается отдельно.

На плате программатора имеются:

светодиоды, указывающие режим работы программатора (POWER, VPP);

встроенные интегральные стабилизаторы напряжений +5 В (VDD) и +13,5 В (VPP);

разъём внутрисхемного программирования (ICSP);

панельки для установки микросхем в распространённых корпусах DIP8, DIP18, DIP28, DIP40 (микросхемы в других корпусах подключаются через разъём ICSP).

Особенности программы ICPROG:

При записи микроконтроллеров с установленным (включенным) битом защиты кода от считывания (CP = Code Protect и/или CPD = Code Protect Data), сразу, после записи кода, программа ICPROG может выдавать сообщение об ошибке чтения/проверки по адресу 0000h. Это связано с тем, что установки Конфигурационного Слова (Configuration Word) микроконтроллера, начинают действовать сразу, после их изменения, и микроконтроллер осуществляет защиту кода от считывания (если эта защита включена). Данное сообщение об ошибке следует воспринимать скорее как подтверждение, что включена защита кода от считывания. При этом, код программы записан корректно и микроконтроллер работоспособен [9].

Для снятия защиты от считывания (для микроконтроллеров "FLASH") достаточно «стереть» память микроконтроллера. При этом, естественно, стирается и прошивка. После этого, микроконтроллер можно использовать вновь и вновь, для записи новых программ.

Программное обеспечение АЦП УМ-АЦП1. УМ-АЦП1 - универсальный многоканальный аналогово-цифровой преобразователь [10].

УМ-АЦП1 может использоваться для:

мониторинга напряжения на входах;

контроля крайних значений;

регистрации показаний;

управления выходами (нагрузкой).

К устройству можно подключать разнообразные датчики, например, температуры, давления, влажности и пр. Гибкие настройки комплекса могут найти широкое применение в различных сферах - от университетских измерений до автоматизации процессов и технологий "умного дома".

УМ-АЦП1 представляет собой программно-аппаратный комплекс, состоящий из:

устройства приема и оцифровки аналоговых сигналов;

программы сбора и обработки полученных сигналов.

Обмен осуществляется через интерфейс RS-232 (COM-порт). Устройство имеет гальваническую развязку и допускает "горячее" включение и выключение.

Подбор делителей на входе устройства позволяет измерять сигналы в широком диапазоне. Программно можно корректировать смещение сигнала +/- в случае погрешности номиналов сопротивлений делителя.

Например, если делителями задан диапазон 10 В, то точность составляет 10 / 1023 = 0,0097 В или 9,7 мВ.

В программе каждый управляемый выход можно сопоставить с любым входом (каналом) и настроить напряжение срабатывания и отключения по показаниям выбранного канала. В программе имеется возможность эмулирования входного сигнала, что позволяет оценить сделанные настройки. Программно можно задать вывод данных в других единицах измерения и других числовых диапазонах, т.е. адаптировать в случае использования конкретных датчиков. В программе реализована визуальная и звуковая сигнализация, в случае пересечения допустимых границ сигнала. Графики данных можно сохранять в виде графических файлов. Возможен просмотр и печать данных. Гибкие настройки программы позволяют установить желаемую скорость регистрации, ширину измеряемого диапазона. Люди с ограниченными возможностями зрения могут настроить цветовую палитру программы под себя. Программа автоматически сохраняет сделанные настройки [10].