Программатор PIC, AVR и микросхем памяти на базе Extra-PIC
В этой статье я хочу рассказать, какую схему программатора я выбрал себе для изготовления. Временный программатор у меня уже был, в общем-то, работал, только был очень не удобен в работе. Это была схема из журнала “Радио” подключаемая к LPT порту компьютера.
Собрал я эту схему, на скорую руку ограничившись возможностью прошивать 18-ти выводные микроконтроллеры. Прошил свой первый микроконтроллер, прошивкой для схемы “Необычный термометр” из того же журнала. Получилось. Термометр и по сей день работает.
Ну и теперь естественно возникло желание собрать программатор посерьезнее.
Так уж вышло, что свое знакомство с микроконтроллерами я начал с PIC-ов. На тот момент мне показалось, что для них больше документации на русском языке.
Выбрал и выбрал ничего страшного, номенклатура выпускаемых микроконтроллеров богатая, что у Microchip , что у Atmel. Только вот в технике сейчас применяются контроллеры как той, так и другой фирмы.
И поэтому хотелось мне, чтобы программатор был универсальный, чтобы и микроконтроллеры AVR можно было прошивать.
В общем, склонился я в сторону программатора Extra-PIC, хотя правильнее было бы называть его адаптером. Схема проверенная и хорошо себя зарекомендовавшая. К тому же уже придумали, как дополнить его формирователями сигналов для прошивки AVR.
В данном случае я воспользовался доработкой Дубровенко. Д. , публикация в журнале “Радио” номер 11 за 2008. Добавил еще возможность микросхемы памяти программировать. Пригодится или нет, не знаю, во всяком случае, не помешает.
В итоге получилась вот такая схема.
Конструкцию сделал блочную, хотя отдельную плату питания можно было и не делать, а применить сетевой адаптер с подходящим выходным напряжением и через разъем его подключать. Просто у меня имелся трансформатор подходящий в наличии. Правда, напряжение на его вторичной обмотке великовато, пришлось дополнительно КРЕНку поставить.
На основном блоке имеются разъемы (панельки) для программирования не всех типов микроконтроллеров. Разъем XS4 предназначен для 18 – выводных микроконтроллеров серии PIC16F62x и PIC16F84.
Разъем XS3 используется как для 8 – выводных микроконтроллеров серии PIC12F6xx, так и для 14 – выводных серии PIC16F6xx. Последние надо вставлять так чтобы остались висеть в воздухе выводы 5 – 10. Как раз для этого пустое место на плате оставлено.
Разъем XS2 предназначен для микросхем памяти серии 24Cxx. Недостающие панельки размещены на сменном модуле.
Сменный модуль подключается к разъему XS5, на который заведены сигналы для прошивки PIC и AVR.
Так же к этому разъему можно подключать шлейф (ICSP) для прошивки микроконтроллеров в составе отладочной платы или уже готового изделия. Разъем XS1 предназначен для соединения адаптера с COM – портом компьютера.
Для подключения должен использоваться кабель – удлинитель порта RS232, а ни в коем случае не нуль – модемный.
Один сменный модуль мне уже пришлось изготовить. Имел дело с микроконтроллером PIC16F876. На сменном модуле, как и на основном блоке, применил как резисторы формирующие цепь PGM, так и конденсаторы, подключаемые к выводу OSC1, для надежной блокировки тактового генератора микроконтроллеров. Шлейф состоит из стандартной вилки DB9M на одном конце и самодельной вилки на другом конце.
Самодельная вилка это плата из текстолита с припаянными штырьками из медного провода диаметром 0.6 мм и дополнительными конденсаторами C1, C2. Расстояние между штырьками нужно выдерживать точно с шагом 2.54мм потому как ответный разъем это фрагмент панельки с цанговым зажимом. Штырьки можно применить готовые, в магазинах сейчас этого добра хватает.
Отдельно следует сказать о конденсаторе C2. Дело в том, что когда я собрал отладочную плату на макетке, сделав нужные соединения проводками, у меня наблюдались сбои при прошивке микроконтроллера.
На одном из форумов я нашел рекомендацию вешать конденсатор небольшой емкости на сигнал CLOCK. И это действительно помогло. Ну а когда я изготовил уже нормальную отладочную плату, сбои при прошивке уже не наблюдались.
По тому я и изобразил этот конденсатор пунктиром. Можно установить если будут сбои, а если нет то и не надо.
На фото видно, как нужно припаивать, разъем XS5.
Плату вставляют ребром между рядами выводов розетки и пропаивают каждый из них к соответствующей контактной площадке. Выводы 6, 9 соединяют с дорожками на плате перемычками из медного луженого провода. На сменном модуле разъем припаивается по той же технологии. Исходя из этого, текстолит для плат нужно брать толщиной не более 1.5мм. Менее тоже не желательно.
Еще есть замечание по работе с адаптером. Его нужно отключать от COM – порта компьютера, если он долго не используется. Может выйти из строя микросхема MAX232. У меня уже одна сгорела, и я считаю именно по этой причине.
Во всяком случае, теперь я стал отсоединять разъем кабеля от адаптера, благо это не трудно сделать. И вот уже очень продолжительное время адаптер работает без поломок.
Хотя конечно может я и не прав в своем предположении на счет MAX232.
Ну и в заключении еще раз про выбор программатора. Конечно COM – порт сейчас все реже устанавливают на компьютерах. На ноутбуках он вообще пропал. Использовать переходник USB –COM тоже не получается. Судя по публикациям в интернете, через переходник Extra-PIC не работает.
Я не пробовал, но верю, что это именно так. И не смотря на это, я надеюсь еще долго использовать свой адаптер. Даже если, не дай Бог, у меня выйдет из строя материнка на десктопном компьютере.
Даже если мне не удастся найти новую с COM – портом, можно купить IDE – плату формирователь полноценных COM – портов.
Конечно, USB программаторы удобны тем, что ими можно прошивать микроконтроллеры прямо из MPLAB. Так и это не проблема, меня и IC-prog вполне устраивает. И набор микроконтроллеров, с которыми она может работать, очень обширен.
Я думаю, большинство пользуются именно этой программой. Опять же универсальных USB – программаторов я не встречал. Конечно, универсальность описанного мною адаптера тоже требует проверки.
Об этом я собирался написать во второй части статьи.
К тому же для изготовления USB – программатора нужен микроконтроллер, который еще надо чем то или где то прошить. Ну вот, пожалуй, и все мои аргументы в пользу этого адаптера. Так что если кто решит изготовить себе описанную мною конструкцию то вот, пожалуйста, файлы печатных плат. Это уже пол дела.
Печатные платы в формате Sprint Layout 4.0
Источник: http://naladchikkip.ru/programmator-pic-avr-i-mikroskhem-pamyati-na-baze-extra-pic
Как я создавал Программатор PIC, AVR и микросхем памяти – первый опыт
Автор: Садовой А.В.
Материал взят с журнала РАДИО 2007, №10
Ну вот и настало то время, когда и мне пришлось взяться за изучение МК. К этому подвинула статья Автоматическое ЗУ на Atmega16A Тут и без всякого раздумья стало понятно, что нужно срочно собирать программатор. Листая журнал РАДИО, нашел приемлемую схему для себя. Ниже приводится описание с журнала.
Предлагаемый программатор работает под управлением программы PonyProg [1], распространяемой бесплатно. Если ограничиться программированием МК PIC и микросхем памяти, можно воспользоваться также программами IC-Prog и WinPic800, распространяемыми на тех же условиях.
Программирование 18-выводных МК PIC и 20-выводных AVR производится без каких-либо коммутаций. Достаточно установить МК в предназначенную для него панель и выбрать его тип в меню используемой программы. От установки панелей для всех МК этих семейств автор сознательно отказался, так как в любительской практике они используются редко.
При необходимости нужные панели можно установить дополнительно или подключать требующиеся для программирования выводы МК к предусмотренному в программаторе разъему. Этот же разъем используется при внутрисхемном программировании.
Кроме МК, устройство позволяет программировать микросхемы памяти с последовательным интерфейсом, имеющиеся в меню используемых программ. Для подобных программ с интерфейсом I2C в программаторе предусмотрена панель.
До начала процесса программирования и по его завершении напряжение питания программируемой микросхемы отключено, что дает возможность безопасно установить микросхему в панель, а затем извлечь ее.
Прежде чем рассматривать работу программатора подробно, вспомним некоторые особенности программирования МК семейств PIC и AVR.
Номера упоминаемых далее выводов МК различных можно найти в технической документации.
Чтобы перевести в режим программирования МК семейств PIC, требуется подать на его вывод MCLR напряжение +12…14 В. Обмен информацией с устройством, управляющим программированием, происходит через двунаправленный вывод DATA.
Синхронизирующие импульсы обмен импульсы поступают на вывод CLOCK.
МК семейства AVR повышенного напряжения не требуют. Они переходят в режим программирования при низком логическом уровне на выводе RESET. При этом необходимо, чтобы к соответствующим выводам МК был подключен кварцевый резонатор.
Информация принимается через вывод MOSI, а передается через вывод MISO. Вход синхронизирующих импульсов – вывод SCK.
Схема программатора изображена на рис. 1. Ее наиболее существенное отличие от прототипа [1] заключается в использовании для связи с COM-портом компьютера микросхемы МАХ232СРЕ (DA2) – специализированного преобразователя уровней RS232 – ТТЛ. Это позволило выполнить все требования по уровням передаваемых сигналов и нагрузочной способности линий порта и значительно улучшило надежность работы устройства.
Чтобы излишне не нагружать COM-порт, предусмотрено питание программатора и программируемой микросхемы только от внешнего источника. Его постоянное напряжение (15 В) или переменное (10…12 В) напряжение поступает в программатор через диодный мост VD1, служащий выпрямителем переменного напряжения или приводящий постоянное к правильной полярности.
Интегральный стабилизатор DA1 питает напряжением 5 В преобразователь уровней DA2. Светодиод HL1 сигнализирует о включении питания. Стабилизатор DA3 на 12 В – управляемый. Он включен при высоком логическом уровне напряжения на управляющем входе 4 и выключен при низком уровне.
Это свойство использовано для управления напряжением, переводящим МК семейства PIC в режим программирования, и напряжением питания программируемой микросхемы, которое получают из 12 В с помощью интегрального стабилизатора DA4. О включенном питании программируемой микросхемы сигнализирует светодиод HL2.
Очень важен правильный выбор емкости конденсатора С7 на выходе стабилизатора DA3. При слишком большом значении напряжение, переводящее МК семейства PIC в режим программирования, после включения стабилизатора будет нарастать недостаточно быстро, что приведет к сбою.
Устанавливать конденсатор С7 слишком маленькой емкости или вовсе отказаться от него нельзя – это приведет к самовозбуждению стабилизатора и сделает программирование невозможным.
Диод VD2 ограничивает до безопасного значения отрицательное напряжение, которое может поступить на управляющий вход стабилизатора DA3 с контакта 3 разъема XS1 (линии TXD COM-порта).
Узел на транзисторе VT2 формирует сигнала RESET для МК семейства AVR.
Узел на транзисторах VT1 и VT3 разделяет имеющуюся в МК семейства PIC двунаправленную линию DATA на две однонаправленных для компьютера. Под названиями MOSI и MISO эти же однонаправленные линии используются при программировании МК семейства AVR.
Для аналогичного преобразования в [1] был применен логический инвертор на одном транзисторе. Однако его практическое использование выявило довольно большое число сбоев, причина которых, по мнению автора, – недостаточная задержка информационного сигнала на линии DATA относительно синхронизирующего на линии CLOCK.
Добавление второго инвертора увеличило задержку и устранило сбои, однако «лишнюю» инверсию приходится компенсировать соответствующей настройкой управляющей программы, о чем будет сказано далее.
Используя для управления программированием программу PonyProg, следует выбрать в соответствующем ее окне программатор «SI Prog I/O» и задать инверсию сигналов в соответствии с табл. 1. Программа WinPic при работе в ОС windows XP позволяет программировать только МК семейства PIC и микросхем памяти. Однако в ОС Windows 98 МК этой программой не программируются. С программой IC-Prog ситуация обратная. При настройке обеих программ должен быть выбран программатор “JDM Programmer”. Инверсию сигналов задают в соответствии с табл. 2. (для WinPic) и табл. 3. (для IC-Prog).
Наличие нескольких во многом равноценных управляющих программ дает возможность пользоваться программатором даже при возникновении проблем в работе с одной из них. Например, МК, отсутствующий в списке доступных одной программе, может быть найден в списке другой.
Так случилось при попытке запрограммировать МК PIC16F628A.
В списке программы PonyProg имеется лишь PIC16F628 на экране монитора появляется сообщение «Неизвестный тип микроконтроллера». Даже если проигнорировать это сообщение, попытки не только запрограммировать, но и просто прочитать содержимое памяти МК положительного результата не дают.
Однако в списках программ WinPic800 и IC-Prog нужный МК есть, его программирование с помощью этих программ выполняется без замечаний.
ЛИТЕРАТУРА
1. Lanconelly C. PonyProg – serial device programmer
2. Gijzen B. IC-Prog Prototype Programmer
3. Font S. Software for PIC programming Windows 95/98/NT/2000/ME/XP compatible
Все ясно и понятно как “божий день”, остается за малым, а может быть не малым, воплотить все дела паяльником. Далее привожу фото-обзор как я создавал программатор:
Разметил размер будущей платы, использую так называемые “макетные платы” , как то еще не приспособился к печатным платам, поэтому пользуюсь макетками.
При сборке предыдущей статьи Светодинамическое устройство “LED-подарок девушке” как то подумал “а что если покрасить плату в черный цвет?” смотрится креативненько))) плату покрасил и в этот раз.
Вот и собрал. В отличии от оргинала, не стал впаивать панельки под МК, а впаял разъем в виде “штырьков” без понятия как они называются правильно))) Разъем для подключения адаптера с переменкой 15 В использовал от модема TP-Link и выключатель питания от него же. Диодный мост взял КЦ407.
Подписал разъем
Настало время проверить. Установил прогу PonyProg, запустил ее, появилось окно в котором требуется “…произвести калибровку”. Жмем “Yes”
“Калибровка завершена”
“Настройка платы программатора” находится в верхнем меню “Установка”. Жмем “Проверка” если все нормально, то появится окошко “Тест Ок”
Теперь можно записывать или считывать прошивку с МК или микросхем памяти. Как раз на работу принесли усилок фирмы BBK вот понадобилось проверить микруху памяти 24С02.
Подключил микруху к соответствующим выводам на разъеме, подключил программатор к COM-порту компа, включил питание, считал/записал прошивку вот и все. Так же проверил микруху 24С04 все работает. МК PIC и AVR еще не проверял, но т.к.
нужно потихоньку собирать ЗУ на Atmega16A скоро будем “шить” )))
Источник: http://shemu.ru/cifrovueshemu/371-izgotovlenie-pr
Универсальный программатор микроконтроллеров PIC, AVR и микросхем EEPROM (для com-порта)
Как-то раз на нашем форуме возникла темка, чем бы залить чипик ATMEGA32.
Темка эта в итоге разрослась и вылилась в схему универсального программатора, которым можно через последовательный порт компьютера программировать не только эту самую атмегу, но и другие контроллеры AVR, и контроллеры PIC, и микросхемы памяти EEPROM. Как всегда в схеме использован различный радиохлам (в данном случае снятый со старых сломанных материнок).
Помимо универсальности, несомненным плюсом этого программатора является оригинальное решение проблемы с питанием. Питание для него требуется внешнее, но в тоже время никаких дополнительных блоков питания изобретать или покупать не надо. Как так? А вот так. Вы же с компьютера будете чипы программировать. То есть комп у Вас будет включен.
Тогда у Вас уже есть на каждом 4-х пиновом разъёме Molex отличные, стабильные +5 и +12 Вольт, так зачем же городить что-то ещё? (4-х пиновые Molex — это такие, как на рисунке справа, от которых питаются ваши винчестеры, сидирумы и тому подобное железо внутри компа.) Короче, наш программатор можно запитать от любого такого свободного разъёма.
Ну, закончим на этом со вступлением и перейдём к схеме.
Схема:
Детали и описание работы:
Две главных детали программатора — микросхема преобразователь уровней порта GD75232 и микросхема логики 74HC14D.
Микруха порта — это фактически две полностью независимые микрухи в одной. Одна — это набор драйверов (из 0/5 вольтовых сигналов делают +-12 вольтовые), вторая — набор приёмников (из +-12 вольтовых сигналов делают 0/5 вольтовые).
Мы используем только приёмники, а входы и выходы драйверов (а так же неиспользуемые входы приёмников) — заземляем.
Микруха логики выполняет две задачи — умощнить выходы микросхемы порта и защитить микросхему порта в случае экстренных ситуаций (всё же микросхемы портов встречаются не так часто, как микросхемы логики). Соответственно, чуть изменив схему, вместо 74hc14 легко можно использовать какую-нибудь другую логику.
Транзисторы подойдут любые маломощные, я брал smd-транзисторы, снятые с материнских плат, с маркировками A1 (npn-транзистор) и A2 (pnp-транзистор). Если Вы так же будете использовать smd-транзисторы, то главное убедиться, что это действительно транзисторы (например, в корпусе sot-23, с маркировкой A1 могут быть не только транзисторы, но и диоды).
Резисторы подписаны на схеме. Кроме этого надо поставить между питанием и землёй возле каждой микрухи керамические конденсаторы по 0,1 мкФ, на схеме они не нарисованы, но это правила хорошего тона.
Готовый девайс (на фото сам программатор и модуль для программирования контроллеров PIC):
Программатор тестировался с программами IC-Prog и Pony Prog, которые можно скачать в разделе “Полезные программы для ПК”.При прошивке выбрать тип программатора JDM. При программировании PIC-контроллеров надо выбрать инверсию сигнала D-IN, при программировании контроллеров AVR — инверсию сигналов D-IN и RESET (MCLR).Скачать плату (DipTrace 2.0). В архиве печатка программатора, модуля для подключения PIC12, PIC16, PIC18 и модуля для подключения 8-ми и 20-ти ногих AVR. Эта плата разведена под SMD-компоненты (как на фотке), если сделаете свои версии печаток и не пожалеете поделиться с другими — присылайте на почту илизаливайте на форум.Если лень или некогда собирать — Вы можете заказать недорогой универсальный программатор прямо у нас на сайте |
Источник: http://radiohlam.ru/?p=1104
Программатор для PIC, AVR и микросхем памяти
Статьи » Микроконтроллеры (разное) » Программатор для PIC, AVR и микросхем памяти
Данный программатор работает под управлением программы PonyProg и распространяется бесплатно. Если ограничится программированием МК PIC и микросхем памяти то можно воспользоваться так же программами IC – Prog и WinPic800.
Программирование 18 выводных МК PIC и 20 выводных AVR производится без какой либо коммутации. Достаточно установить МК в предназначенную для него панель и выбрать в меню программы его тип.
От установки панелей для всех МК автор сознательно отказался, так как в радиолюбительской практике они используются очень редко, но при необходимости нужные панели можно установить дополнительно или подключать требующиеся для программирования выводы МК к предусмотренному в программаторе разъемы. Этот же разъем можно использовать при внутрисхемном программировании.
Кроме МК устройство позволяет программировать микросхемы памяти с последовательным интерфейсом. Для подобных микросхем с интерфейсом I²C в программаторе предусмотрена панель.
До начала программирования и по его завершении напряжение питания программируемой микросхемы отключено, что дает возможность безопасно установить микросхему в панель, а затем извлечь ее.
Что бы перейти в режим программирования МК семейства 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. При слишком большой емкости напряжение будет нарастать недостаточно быстро, что приведет к сбою. С7 слишком маленькой емкости или отказаться от нее нельзя – это приведет к самовозбуждению стабилизатора и сделает программирование невозможным.
Диод VD2 ограничивает до безопасного уровня значение отрицательного напряжения, которое может поступить на управляющий вход стабилизатора DA3 с контакта 3 разъема XS1. Узел на VT2 формирует сигнал RESET для МК AVR.
Узел на VT1 VT3 разделяет имеющуюся в МК PIC двунаправленную линию DATA на две однонаправленных для компьютера. Под названиями MOSI MISO эти же однонаправленные линии используются при программировании МК семейства AVR.
Программатор собран на макетной плате рис2. Монтаж навесной. На плате установлены всего три панели для микросхем (XS2-XS4). Светодиоды HL1 HL2 должны иметь разный цвет свечения.
Используя для управления программирования программу PonyProg, следует выбрать в соответствии окна SI Prog IO и задать инверсию сигналов в соответствии с табл 1.
Табл1
Инверсия сигнала | Микросхема | ||
ResetSCLKD-IND-OUT | PICНетДаДанет | AVRНетДаДада | EEPROMНетДаДада |
Инверсию сигналов для WinPic табл2 а для IC-Prog табл3
Табл2
Инверсия сигнала | Микросхема | ||
ResetSCLKD-IND-OUT | PICНетДаДанет | AVRНетДаДада | EEPROMНетДаДада |
Табл3
Инверсия сигнала | микросхема | |
PIC | EEPROM | |
Data OUTData InCLOSKMCLRVcc | ДаДаДаНетнет | ДаДаДаДанет |
Наличие нескольких во многом равноценных программ дает возможность пользоваться программатором даже при возникновении проблем в работе с одной из них.
Например PIC16F682A PonyProg есть, а PIC16F682 нет, но зато она есть в WinPic800 и IC-Prog.
Литература – Радио 10-2007
Источник: http://rcl-radio.ru/?p=4205
Простой программатор для микроконтроллеров PIC и AVR
Источник: http://www.qrz.ru/schemes/contribute/comp/simple-prog/
Программатор для 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), но ее размеры (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
Источник: http://nauchebe.net/2012/09/programmator-dlya-pic-avr-i-mikrosxem-pamyati/
Универсальный программатор
Источник: http://radioskot.ru/publ/mk/universalnyj_programmator/9-1-0-912
PIC и EEPROM программатор
В этом проекте мы создадим JDM программатор, который может программировать как PIC контроллеры семейств PIC12, PIC16 и PIC18, так и некоторых распространенных микросхем ЭСППЗУ серии 24C. Программатор имеет возможность использовать ICSP, что позволяет производить последовательное программирование прямо в схеме.
Таким образом вы не должны извлекать ваш контроллер каждый раз, когда решите перепрограммировать его. Программатор подключен к последовательному (COM) порту компьютера, внешнее питание не требуется.
С другой стороны, если вы будете использовать его с компьютером не имеющем COM порта, использование переходника USB – RS232 (COM) может привести к неправильной работе устройства.
Поддерживаемые устройства:
EEPROM: 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64/65, AT24C128, AT24C256, AT24C512, M24C128, M24C256, 24C515, PCF8572 or 8572 = 24C01, PCF8582 or 8582 = 24C02, PCF8592 or 8592 = 24C04, SDA2506, SDA2516, SDA2526, SDA2546, SDA2586, SDA3506, SDA3516, SDA3526, 4C016 == 24C01, GRS-003 == 24C02, GRN-004 == 24C04, GRN-008 == 24C04, GRX-006 == 24C04, GRX-007 == 24C04, KKZ06F == 24C01, BAW658049 == 24C02, BAW57452 == 24C02, M8571 == 24C02, X24C0
Microchip PIC: 12C508, 12C508A, 12C509, 12C509A, 12CE518, 12CE519,12C671, 12C672, 12CE673, 12CE674,12F629, 12F675, 16C433, 16C61, 16C62A, 16C62B, 16C63, 16C63A, 16C64A, 16C65A, 16C65B, 16C66, 16C67,16C71, 16C72, 16C72A, 16C73A, 16C73B, 16C74A, 16C74B, 16C76, 16C77,16F73, 16F74, 16F76, 16F77,16C84, 16F83, 16F84, 16F84A, 16C505,16C620, 16C620A, 16C621, 16C621A, 16C622, 16C622A, 16CE623, 16CE624, 16CE625, 16F627, 16F628, 16F628A, 16F630, 16F676, 16C710, 16C711, 16C712, 16C715, 16C716, 16C717, 16C745, 16C765, 16C770, 16C771, 16C773, 16C774, 16C781, 16C782, 16F818, 16F819, 16F870, 16F871, 16F872, 16F873, 16F874, 16F876, 16F877, 16F873A, 16F874A, 16F876A, 16F877A, 18F242, 18F248, 18F252, 18F258, 18F442, 18F448, 18F452, 18F458, 18F1320, 18F2330, 18F432
Сборка программатора:
Компоненты программатора перечислены в списке ниже.
Список компонентов:
T1, T2 : BC337 Transistor D1, D4, D5, D6 : 1N4148 Diode D3 : 6V2 Zener Diode D2 : 5V1 Zener Diode R3, R4 : 1K8 1/4W Resistor R1 : 10K 1/4W Resistor R2 : 1K5 1/4W Resistor X1 : DB9 PCB Mount Female Connector C1, C2 : 100uF 16V Electrolytic Capacitor SV1 and SV4 : 80 Pin Machine Tooled IC Socket SV2, SV3 : 20 Pin Machine Tooled IC Socket SV5 (ICSP) : 6 Pin Header Connector
L1, L2, L3 : LED (L1: GREEN, L2: RED, L3: YELLOW)
Перед тем как распечатать печатную плату, проверьте, поставили ли вы значение «Масштабирование» в НЕТ, в опциях окна печати. Мы используем метод глажки для переноса рисунка печатной платы. Перед травлением не забудьте проверить тонкие дорожки между контактами панельки.
Щелкните здесь, что бы загрузить файлы схемы и печатной платы.
Собирайте устройство тщательно. Здесь есть всего одна хитрость, и она показана на фото. Пред тем, как впаять 80-ногую панельку, вырежьте пластиковые мостики между ее сторонами. Также, в первую очередь припаяйте диод D6 и перемычку под панелькой.
Если вы все сделали правильно, при подключении устройства к последовательному порту должен загореться красный светодиод. Программатор готов к использованию. Для программирования PIC контроллеров и микросхем ЭСППЗУ подойдут программы ICPROG и WinPIC. Желтый светодиод означает наличие тактовой частоты, красный – питания, зеленый – процесс программирования.
Установка программируемых микросхем в программатор показана на рисунке ниже. Учтите, что неправильная установка может привести к порче микросхемы, программатора или даже компьютера. Вы также можете использовать ZIF панельку вместо указанной.
Источник: https://www.rlocman.ru/shem/schematics.html?di=54951
Adblockdetector