Каталог статей

Главная » Все схемы » Схемы устройств на микроконтроллерах » Программаторы микроконтроллеров

Выбранная схема!!!


1567
Программатор для 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. Принципиальная схема программатора PIC и AVR

Схема программатора изображена на рисунке 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. Внешний вид платы программатора

Программатор собран на макетной плате (рисунок 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).

Таблицы 1, 2, 3. Инверсия сигналов

Наличие нескольких во многом равноценных управляющих программ дает возможность пользоваться программатором даже при возникновении проблем в работе с одной из них. Например, МК, отсутствующий в списке доступных одной программе, может быть найден в списке другой.

Такое случилось при попытке запрограммировать МК 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


Категория: Программаторы микроконтроллеров | Добавил: Piton1972 (03.01.2011)
Просмотров: 11690 | Рейтинг: 3.3/3


Всего комментариев: 0

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

Пожалуйста оставьте свои комментарии !!!!

Имя *:
Email:
Код *:


ElectroTOP - Рейтинг сайтов
Copyright Zloy Soft (Company) © 2008 - 2016