Четверг, 28.03.2024
Тюменский радиолюбительский сайт
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: mexanik, Serhio, 847  
Форум » Радиолюбительская ветка » Программаторы и программирование микроконтроллеров » Схема программатора для микроконтроллеров PIC и AVR
Схема программатора для микроконтроллеров PIC и AVR
mexanikДата: Суббота, 15.01.2011, 16:51 | Сообщение # 1
Радиолюбитель
Группа: Администраторы
Сообщений: 306
Награды: 0
Репутация: 1
Статус: Offline
Стоимость программаторов промышленного изготовления вряд ли приемлема для радиолюбителей, не занимающихся серийным производством микроконтроллерных устройств. Автор предлагаемой статьи не стал приобретать промышленный программатор, а сделал собственный, по его мнению, удовлетворяющий всем предъявляемым к такому устройству требованиям и способный работать под управлением нескольких популярных среди радиолюбителей программ.
Предлагаемый программатор работает под управлением программы PonyProg (1) распространяемой бесплатно. Если ограничиться программированием МК PIC и микросхем памяти, можно воспользоваться также программами скачать и скачать
распространяемыми на тех же условиях.
Программирование 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 ATTiny2313-20Pu
Прикрепления: 3388351.jpg (75.7 Kb) · 0697498.jpg (18.2 Kb) · 6636339.jpg (17.9 Kb) · 6146579.jpg (9.4 Kb)


 
Форум » Радиолюбительская ветка » Программаторы и программирование микроконтроллеров » Схема программатора для микроконтроллеров PIC и AVR
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024
Сделать бесплатный сайт с uCoz