mexanik | Дата: Суббота, 15.01.2011, 16:51 | Сообщение # 1 |
Радиолюбитель
Группа: Администраторы
Сообщений: 306
Статус: 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
|
|
| |