Радиолюбительские схемы Суббота, 23 Сентябрь 17, 08:34
Меню сайта
Категории раздела
Программаторы [10]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » Программаторы » Программаторы

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

Предлагаемый программатор работает под управлением программы 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), но ее размеры (97x55 мм) выбраны с запасом, достаточным, чтобы при необходимости установить даже 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г.
Категория: Программаторы | Добавил: cxema (22 Декабрь 09)
Просмотров: 3455 | Теги: программатор pic, программатор avr, программатор, PonyProg, programmer
Вход на сайт
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • База знаний uCoz
  • Copyright MyCorp © 2017
    Используются технологии uCoz