Программатор для PIC, AVR и микросхем памяти

September 20, 2012 by admin Комментировать »

Стоимость программаторов промышленного изготовления вряд ли приемлема для
радиолюбителей, не занимающихся серийным производством микроконтроллерных
устройств. Автор предлагаемой статьи не стал приобретать промышленный
программатор, а сделал собственный, по его мнению, удовлетворяющий всем
предъявляемым к такому устройству требованиям и способный работать под
управлением нескольких популярных среди радиолюбителей программ.

Предлагаемый программатор работает под управлением программы PonyProg [1],
распространяемой бесплатно. Если ограничиться программированием МК PIC и
микросхем памяти, можно воспользоваться также программами IC-Progl05 [2] и
WinPic800 [3]. распространяемыми на тех же условиях.
Программирование 18-выводных МК PIC и 20-выводных AVR производится без
каких-либо коммутаций. Достаточно установить МК в предназначенную для него
панель и выбрать его тип в меню используемой программы. От установки панелей для
всех МК этих семейств автор сознательно отказался, так как в любительской
практике они используются очень редко. При необходимости нужные панели можно
установить дополнительно или подключать требующиеся для программирования выводы
МК к предусмотренному в программаторе разъему. Этот же разъем используется при
внутрисхемном программировании.
Кроме МК. устройство позволяет программировать микросхемы памяти с
последовательным интерфейсом, имеющиеся в меню используемых программ. Для
подобных микросхем с интерфейсом I2С в программаторе предусмотрена панель.
До начала процесса программирования и по его завершении напряжение питания
программируемой микросхемы отключено, что дает возможность безопасно установить
микросхему в панель, а затем извлечь ее.
Прежде чем рассматривать работу программатора подробно, вспомним некоторые
особенности программирования МК семейств PIC и AVR. Номера упоминаемых далее
выводов МК различных типов можно найти в технической документации.
Чтобы
перевести в режим программирования МК семейства PIC, требуется подать на его
вывод MCLR напряжение +12…14 В. Обмен информацией с устройством, управляющим
программированием, происходит через двунаправленный вывод DATA. Синхронизирующие
обмен импульсы поступают на вывод CLOCK.
МК семейства AVR повышенного напряжения не требуют. Они переходят в режим
программирования при низком логическом уровне на выводе RESET. При этом
необходимо, чтобы к соответствующим выводам МК был подключен кварцевый
резонатор. Информация принимается через вывод MOSI, а передается через вывод
MISO Вход синхронизирующих импульсов — вывод SCK

Схема программатора изображена на рис. 1 Ее наиболее существенное отличие от
прототипа заключается в использовании для связи с СОМ-портом компьютера
микросхемы МАХ232СРЕ (DA2) — специализированного преобразователя уровней
RS232—ТТЛ. Это позволило выполнить все требования по уровням передаваемых
сигналов и нагрузочной способности линий порта и значительно улучшило надежность
работы устройства
Чтобы излишне не нагружать СОМ-порт, предусмотрено питание программатора и
программируемой микросхемы только от внешнего источника. Его постоянное (15 В)
или переменное (10…12 В) напряжение поступает в программатор через диодный
мост VD1, служащий выпрямителем переменного напряжения или приводящий постоянное
к правильной полярности.
Интегральный стабилизатор DA1 питает напряжением 5 В
преобразователь уровня DA2. Светодиод HL1 сигнализирует о включении питания.
Стабилизатор DA3 на 12 В — управляемый. Он включен при высоком логическом уровне
напряжения на управляющем входе 4 и выключен при низком уровне. Это свойство
использовано для управления напряжением, переводящим МК семейства PIC в режим
программирования, и напряжением питания программируемой микросхемы, которое
получают из 12 В с помощью интегрального стабилизатора DA4. О включенном питании
программируемой микросхемы сигнализирует светодиод HL2.
Очень важен правильный выбор емкости конденсатора С7 на выходе стабилизатора
DA3. При слишком большом ее значении напряжение, переводящее МК семейства PIC в
режим программирования, после включения стабилизатора будет нарастать
недостаточно быстро, что приведет к сбою. Устанавливать конденсатор С7 слишком
маленькой емкости или вовсе отказываться от него нельзя — это приведет к
самовозбуждению стабилизатора и сделает программирование невозможным
Диод VD2 ограничивает до безопасного значения отрицательное напряжение, которое
может поступить на управляющий вход стабилизатора DA3 с контакта 3 разъема XS1
(линии TXD СОМ-порта). Узел на транзисторе VT2 формирует сигнал RESET для МК
семейства AVR.
Узел на транзисторах VT1 и VT3 разделяет имеющуюся в МК семейства PIC
двунаправленную линию DATA на две однонаправленных для компьютера. Под
названиями MOSI и MISO эти же однонаправленные линии используются при
программировании МК семейства AVR.
Для аналогичного преобразования в [1] был
применен логический инвертор на одном транзисторе. Однако его практическое
использование выявило довольно большое число сбоев, причина которых, по мнению
автора, — недостаточная задержка информационного сигнала на линии DATA
относительно синхронизирующего на линии CLOCK. Добавление второго
инвертора увеличило задержку и устранило сбои, однако “лишнюю” инверсию
приходится компенсировать соответствующей настройкой управляющей программы, о
чем будет сказано далее.

Программатор собран на макетной плате (рис.2). Монтаж — навесной. На плате установлены всего три панели для
программируемых микросхем (XS2—XS4), но ее размеры (97×55 мм) выбраны с запасом,
достаточным, чтобы при необходимости установить даже 40-контактные панели.
Светодиоды HL1 и HL2 должны быть разного цвета свечения, так легче визуально
контролировать режим работы программатора.

Используя для управления программированием программу PonyProg, следует
выбрать в соответствующем ее окне программатор “SI Prog I/O” и задать инверсию
сигналов в соответствии с табл. 1.
Программа WinPic при работе в ОС Windows ХР позволяет программировать только МК
семейства PIC и микросхемы памяти. Однако в ОС Windows 98 МК этой программой не
программируются. С программой IC-Prog ситуация обратная. При настройке обеих
программ должен быть выбран программатор “JDM Programmer”. Инверсию сигналов
задают в соответствии с табл. 2 (для
WinPic) и табл. 3 (для IC-Prog).

Наличие нескольких во многом равноценных управляющих программ дает возможность
пользоваться программатором даже при возникновении проблем в работе с одной из
них. Например, МК, отсутствующий в списке доступных одной программе, может быть
найден в списке другой.
Такое случилось при попытке запрограммировать МК PIC16F628A. В списке программы
PonyProg имеется лишь PIC16F628, но при его выборе и установке в панель
программатора микросхемы PIC16F628A на экране монитора появляется сообщение
“Неизвестный тип микроконтроллера”. Даже если проигнорировать это сообщение,
попытки не только запрограммировать, но и просто прочитать содержимое памяти МК
положительного результата не дают. Однако в списках программ WinPic800 и IC-Prog
нужный МК есть, его программирование с помощью этих программ выполняется без
замечаний.
Кроме МК, упомянутого выше, программатор проверен с PIC16F84A-20I/P
HATTiny2313-20PU.

ЛИТЕРАТУРА
1. Lanconelly С. PonyProg — serial device programmer — www.lancos.com/prog.html

2. Gijzen B. IC-Prog Prolotype Programmer — www.ic-prog.com/icprog105E.zip

3. Font S. Software for PIC programming Windows 95/98/NT/2000/ME/XP compatible. — www.winpic800.com/descargas/WlnPlc800.zlp

Автор: С. МАКАРЕЦ. Журнал Радио №10 2007г.

Связь с автором: Нет данных

Веб сайт автора: Нет данных

Прислал: Нет данных

Источник: eldigi.ru

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты