Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

ПРОГРАММАТОР ПОНИ ПРОГ

— Мама, я зайду к другу — надо контроллер прошить.
— Сынок, ты что, порвал ему контроллер?                

Анекдот в тему

 

   В интернете есть немало различных программаторов для МК, отличающихся между собой интерфейсом и возможностью читать большее или меньшее количество разных микросхем памяти. В данной статье будет рассмотрен популярный программатор Пони Прог (PonyProg), который имеет возможность подключения как по СОМ (1,2,3,4) так и по LTP (1,2,3) портам.

 

 

   Пони Прог может быть использован как для программирования микросхем собственных проектов, так и для раскодировки автомагнитол, мобильных телефонов. 

 

   С помощью PonyProg можно загружать данные в микроконтроллеры Atmel AVR и MicroCHIP PicMicro, а также программировать микросхемы памяти с последовательным доступом (I2C Bus, Microwire, SPI eeprom). Схема основного узла программатора Pony Prog, подключаемого к СОМ порту:

 

   Программатор работает с микросхемами: 2402, 2404, 2408, 2416, 2432, 2464, 2465, 24128, 24256, 24512, 24XX, 24325, 24645, SDE2526, SDA2546, SDA2586,©SDA3546, SDA3586, SDE2506, AT90S1200, AT90S2313, AT90S4414, AT90S8515e, AT89S8252, AT89S53, 93C06, 93C46, 93C56, 93C66, 93C76, 93C86, 93C13 (as a 93C06) и 93C14 (as a 93C46), PIC 16C84/16F84, 25010, 25020, 25040, 25080, 25160, 25320, 25640, 25642, 25128, 25256, 95640.

 

 

    Полный список микросхем AVR, поддерживаемых устройством, показан на рисунке.

 

   Для некоторых типов корпусов может потребоваться переходник-адаптер.

 

   А это вариант схемы программатора, который подключается к параллельному порту компьютера. Обязательно наличие стабилизированного источника питания 5В:

 

   Вообще различных модификаций программатора Pony Prog есть очень много, а самую облегченную по компонентам версию смотрите на схеме ниже:

 

   Необходимые файлы — прошивка, русификатор и т.д., находится в архиве. А как работать с программатором — подключать к ПК и прошивать микроконтроллеры, вы можете узнать на форуме.

ПРОГРАММАТОР ДЛЯ ПРОШИВКИ

   Предлагаемая схема программатора является,по моему мнению, наиболее простой и легко может быть воспроизведена любым начинающим радиолюбителем, решившим попробывать свои силы в области создания устройств на микроконтроллерах. Схема не содержит сверхдифицитных деталей и даже не требует изготовления печатной платы – все можно собрать навесным монтажем или на макетной плате (я например развел печатку под нее за 15 минут на куске некондиционного стеклогетинакса). Данный программатор подходит для прошивки микроконтроллеров Atmega8 и Attiny2313 , что может пригодится при изготовлении импульсных металлоискателей типа ClonePI-W или TrakerPI.

   Так как схема программатора проста и не вызовет вопросов при изготовлении предлагаю дальнейшую пошаговую инструкцию по пользованию прибором (для начинающих) при прошивке микроконтроллера Atmega8 для изготовления металлоискателя ClonePI-W.1. Установка прграммы PonyProg. Скачиваем архив с программой и разархивируем его. Щелкаем на setup.exe. Произойдет обычная инсталляция. Теперь заходим на системный диск и в папке Program Files находим папку Pony Prog2000. Заходим в нее и удаляем файл PonyProg2000.exe. Из разархивированного материала копируем в эту папку файлPonyProg 207 rus.exe,что позволяет русифицировать и модифицировать программу. Создаем в этой папке ярлык и размещаем его на Рабочем столе. Программа установлена.

   Настройка программы. Подключаем программатор и запускаем программу. В меню Настройки выбираем “Калибровка” и производим ее. После этого, в меню Настройки, выбираем Настройка оборудования и выставляем Последовательный, COM1 и SI Prog API. Остальные окошечки-пустые. Жмем Проверка, ОК. На этом настройка закончена. Если она прошла успешно, значит все хорошо; если нет-ищем и устраняем ошибку в железе.

   Прошивка микроконтроллера. Вставляем контроллер в панельку. В окне вверху программы выбираем AVR Micro, в соседнем Atmega8. Теперь щелкаем Комманды-Читать все. Пойдет чтение данных из микроконтроллера. По его окончании появится сообщение о его успешном завершении. Такое чтение, даже чистой микросхемы, позволяет лучше ”сдружить” связку Компьютер-Программатор-Микроконтроллер и если все пройдет ОК, значит можно точно надеятся на успех. Теперь загружаем в программатор дамп самой прошивки. Файл-Открыть содержимое устройства из файла и проводником находим нужный нам файл дампа с расширением .hex. Открываем, его содержимое отразится в большом окне программы.

 

   Теперь очень важно правильно расставить конфигурационные биты контроллера. Посмотреть их можно на сайте разработчика ClonePI-W. Жмем на пиктограмму с замочком. В окошках расставляем галочки согласно требуемому. Жмем ОК. Теперь записываем программу в микроконтроллер. Комманды-Записать все. Пошла запись, затем проверка. По окончании проверки появится табличка Запись выполнена. Если все прошло так как описано выше то вынимаем контроллер и ставим его в изготавливаемое устройство, подключаем питание и радуемся полученному результату. Напоследок еще пара советов. Питание для схемы программатора можно взять с USB порта компьютера или использовать для этих целей блок питания вашего ADSL модема, который на время программации контроллера можно отключить. Кроме этого (в некоторых случаях) на время программирования камня требуется отключать антивирусы и файерволы (NOD32 например блокирует некоторые действия с передачей данных через COM порт). Вот вкратце и все по предлагаемому девайсу. Материал любезно предоставил Электродыч.

   Форум по программаторам

   Форум по обсуждению материала ПРОГРАММАТОР ДЛЯ ПРОШИВКИ


Доработка PonyProg2000 для программирования PIC-контроллеров PIC16F676хх

Эта статья предназначена, в первую очередь, для специалистов и радиолюбителей, в арсенале которых имеется одна из версий весьма распространенного программатора PonyProg 2000. Автор дает описание простого дополнительного адаптера для этого программатора, позволяющего расширить его возможности при минимальных материальных затратах. Кроме того, в статье приведены методики установки и настройки бесплатного программного обеспечения (ПО) программаторов IC-Prog и WinPic800 для работы с программатором PonyProg.

Программатор PonyProg2000 разных модификаций – это один из самых распространенных программаторов, используемых радиолюбителями и профессионалами. Он является программатором устройств с последовательным доступом (Serial Device Programmer) типа JDM. Интересно, что аббревиатура JDM – это сокращение имени и фамилии изобретателя одного из первых удачных подобных программаторов, датчанина Jens Dyekjar Madsen (см. [1]).

Программатор PonyProg2000 ([2]) разработан итальянцем Клаудио Ланконелли (Claudio Lanconelli). Он состоит из аппаратной и программной частей. Описание PonyProg2000 было опубликовано в нашем журнале ранее (см. [3, 4]).

С помощью этого программатора можно считывать и программировать как различные микросхемы памяти, так и микроконтроллеры AVR и PIC, но, по мнению автора, PonyProg2000 “заточен” больше под микроконтроллеры AVR,чем под PIC. Некоторые производители разрабатывают и изготавливают варианты программатора PonyProg с более широкими возможностями, чем заложены в аппаратный контроллер от Claudio Lanconelli. Например, программатор PonyProg2000 от [5] имеет адаптеры с более разнообразными панельками (см. рис. 3 в [4]). Автор имеет именно такой PonyProg, но и этот программатор не работает с 14-выводными микроконтроллерами PIC. Таких микроконтроллеров несколько: PIC16F630, PIC16F676, PIC16F684 и PIC16F688.

Совсем недавно у автора возникла необходимость запрограммировать (“прошить”) PIC16F676. Приобретать дорогостоящий новый программатор для разовой работы не хотелось. Поэтому было решено расширить возможности имеющегося в наличии PonyProg, дополнив его адаптером с 14-выводной DIP-панелькой.

Из технического описания микроконтроллера PIC16F676 (см. [6]) следует, что при работе с программатором используются всего пять выводов этой микросхемы: 1 – напряжение питания 5 В; 14 – корпус; 12 – вход тактовых импульсов; 13 – вход/выход данных; 4 – вход напряжения программирования +13 В. Наиболее распространенный МК типа PIC16F84 в корпусе DIP-18 имеет аналогичные выводы: 14 – напряжение питания 5 В; 5 – корпус; 12 – вход тактовых импульсов; 13 – вход/выход данных; 4 – вход напряжения программирования + 13 В. Схема адаптера, позволяющего работать с PIC16F84, показана в [4] на рис. 16.

В принципе, для разового программирования микроконтроллера PIC16F676 можно было подпаять панельку DIP-14 проводами на этот “штатный” PIC-адаптер, соединив пять выводов этой панельки с соответствующими выводами 18-выводной панельки U9 адаптера. Автор решил сделать отдельный адаптер для программирования 14-выводных PIC-контроллеров, используя информацию, изложенную выше. Схема такого адаптера приведена на рис. 1.

Рис. 1. Принципиальная схема адаптера микроконтроллеров PIC16F630/676/684/688 для PonyProg 2000

 

Следует отметить, что разъемы подключения адаптеров к базовым платам для разных версий программаторов PonyProg имеют отличия. На схеме рис. 1 обозначены номера выводов как классического разъема PonyProg от Claudio Lanconelli, так и разъема программатора от [5], которым пользуется автор статьи. Адаптер микроконтроллеров PIC16F630/676/684/688 для такого программатора собран на односторонней печатной плате размером 43×38 мм. Внешний вид этого адаптера показан на рис. 2, а комплект, состоящий из базовой платы PonyProg от FLYCONT, ИБП и самодельного адаптера микроконтроллеров PIC16F630/676/684/688 – на рис. 3.

Рис. 2. Адаптер микроконтроллеров PIC16F630/676/684/688 для PonyProg от FLYCONT

 

Рис.  3. Базовая плата PonyProg от FLYCONT, ИБП и адаптер микроконтроллеров PIC16F630/676/684/688 для PonyProg 2000

 

Для читателей, желающих самостоятельно изготовить адаптер для PIC16F630/676/684/688, чертежи его печатных плат в формате программы-редактора Sprint Layout 5 можно скачать с [7].

Адаптер для микроконтроллеров PIC16F630/676/684/688 можно упростить, если напряжение, поступающее на вывод 7 (7, 17) адаптера от БП через базовую плату, превышает 13 В. В этом случае нет необходимости в подключении батарейки 9 В (типа “Крона”), а значит можно не ставить разъем J2 и разъем переключаемой перемычки JP1 и запаять проволочную перемычку вместо JP1 для подачи напряжения программирования VPP на эмиттер ключа Q1 (см. схему рис. 1).

Изготовление адаптера PIC16F630/676/684/688 – это только часть работы. Дело в том, что программное обеспечение PonyProg не позволяет работать ни с одним из 14-выводных МК. Зато бесплатное ПО IC-Prog 1.6B и некоторые более ранние версии этой программы прекрасно работают с различными программаторами JDM, включая аппаратный контроллер PonyProg, и могут читать и программировать микроконтроллеры PIC16F630 и PIC16F676. Существует еще одно бесплатное ПО – WinPic800, его последняя версия V3.64 позволяет читать и программировать память всех четырех микроконтроллеров PIC16F630/676/684/688.

Скачать программу IC-Prog 1.6B можно с сайта разработчика [8] по ссылке [9]. Там же можно найти несколько более ранних версий этой программы. Если на вашем ПК используется операционная система (ОС) Windows NT/2000/XP, то нужно скачать и специальный драйвер по ссылке [10]. Для ОС Windows 95/98/SE/ME необходимости в установке драйвера нет.

Желательно также скачать русскоязычный файл помощи по ссылке [11].

Установить программу IC-Prog 1.6B достаточно просто. Для этого в любом удобном месте на жестком диске ПК необходимо создать папку с любым названием, в которую нужно распаковать архив icprog106B.zip. В этом архиве всего один файл icprog.exe. В эту же папку надо поместить файл помощи icprog.chm из архива icprogh_rus.zip. Если ПК работает под управлением Windows NT/2000/XP, то в эту же папку устанавливают драйвер icprog. sys. Для удобства запуска программы IC-Prog можно создать ярлык для icprog.exe и поместить его на рабочем столе. Программа установлена, осталось только ее настроить. Рассмотрим порядок настройки IC-Prog для Windows XP:

1. Правой кнопкой мыши щелкают по значку файла icprog.exe. В открывшемся окне выбирают пункт “Свойства”, а затем выбирают вкладку “Совместимость” и устанавливают галочку в начале строки “Запустить программу в режиме совместимости с:”. В активировавшемся окне выбирают “Windows 2000”.

2. Запускают файл icprog.exe и в открывшемся англоязычном окне программы выбирают меню “Settings”, затем – строку “Options” и в открывшемся окне – вкладку “Language”, где устанавливают язык (“Russian”) и щелкают кнопку “Ok”. После чего программа выдаст запрос на перезагрузку (“You need to restart IC-Prog now”), с которым необходимо согласиться, нажав “Ok”. Программа пере-загрузится и вновь открывшееся окно будет уже русскоязычным.

3. Открывают меню “Настройки”, в котором выбирают строку “Опции”, а затем вкладку “Программирование” (см. рис. 4), устанавливают галочку в строке “Проверка при программировании” и нажимают “Ok”.

Рис. 4. Вкладка “Программирование” программы IC-Prog

 

4. Открывают меню “Настройки”, в котором выбирают строку “Программатор”. Откроется окно “Настройки Программатора” (рис. 5), в котором выбирают “JDM Programmer”, порт, к которому подключен программатор, “Прямой доступ к портам”, а в поле “Параметры сигналов” ставят галочку в строке “Инверсия Данных Вывода”. Остальные строки не должны быть активированы (см. рис. 5).

Рис. 5. Окно “Настройки Программатора” программы IC-Prog

 

5. Для активации драйвера необходимо в меню “Настройки” выбрать строку “Опции”, а затем вкладку “Общие”, установить “галочку” на пункте “Вкл. NT/2000/XP драйвер” и нажать “Ok”. Если драйвер ранее не был активирован, то откроется окно “Confirm”, в котором следует нажать “Ok”. После этого программа перезапустится, и драйвер будет активирован.

При использовании более ранних версий операционной системы Windows пункт 1 из приведенного перечня выполнять нет необходимости, а при использовании Windows 95/98/SE/ME не нужно выполнять и пункт 5.

Программа IC-Prog установлена, настроена и готова к работе.

Последняя и несколько предыдущих версий ПО программатора WinPic800 представлены на сайте [12], но, к сожалению, скачать ПО с этого сайта не всегда удается. В этом случае программу WinPic800 v 3.64 можно разыскать через какую-либо поисковую машину (например, Google) или скачать с сайта нашего журнала (см. ниже).

Скачанный архив WinPic800.zip содержит дистрибутив WinPic800_v3_64.exe, который можно запустить прямо из архива.

Запускают дистрибутив, в открывшемся окне установщика появится окно инсталляции с одним пунктом “Выбор языка установки” (“Choose a setup language”), в котором выбирают русский язык (“Russian”) и щелкают мышкой по кнопке “Далее” (“Next”). Далее надо установить программу, следуя подсказкам установщика. По умолчанию программа устанавливается в папку C:Program FilesWinPic800. После установки следует запустить файл WinPic800.exe из этой папки. При этом, как правило, открывается русскоязычное окно программатора WinPic800 v3. 64. Если же откроется англоязычное окно WinPic800 v3.64, то любой другой язык можно выбрать через меню “Language”. При выборе русского языка может возникнуть проблема. Дело в том, что в большинстве случаев (но не всегда) ряд надписей кириллицей в этой программе будет отображаться нечитаемыми символами (см. рис. 6 и рис. 7).

Рис. 6. Нечитаемые символы в главном окне программы WinPic800

 

Рис. 7. Нечитаемые символы в окне “Чтение” программы WinPic800

 

Причиной этого является неудачный выбор кириллических шрифтов и кодовых страниц. Самый простой способ решения этой проблемы – использовать англоязычную версию программы. Автор русификации и украинизации этой программы Сергей Рюмик в статье [13] рекомендует бороться с этой проблемой изменением кодовых страниц. Выполняют это следующим образом:

1. Запускают редактор реестра: C:Windows egedit.exe.

2. Открывают в реестре папку HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlNls CodePage.

3. Перезаписывают значения трех кодовых страниц 1250, 1251, 1252 как “c_1251.nls” в соответствии с рис. 8.

4. Перезагружают компьютер, запускают WinPic800 и в меню “Language” выбирают русский язык (“Russian”). Программа должна воспроизводить кириллицу без проблем.

Рис. 8. Окно редактора реестра regedit.exe с открытой папкой кодовых страниц (CodePage)

 

Этот метод универсальный и подходит для всех версий программы WinPic800. Правда, автор статьи [13] утверждает, что он срабатывает в полной мере не на всех ОС и компьютерах. Если проблемы с отображением кириллицы не устранились, или вы опасаетесь по какой-либо причине переписывать реестр, то нужно использовать программы-русификаторы (специальные патчи, заплаты). Такую заплату для WinPic800 версии 3.61 от Сергея Рюмика можно скачать по ссылке [14]. Этот русификатор нежелательно использовать для более поздних версий этой программы. По просьбе постоянных участников форума [15] Владимир Ачи-лов (aka shaman) в конце 2009 г создал программу-русификатор для WinPic800 v3. 64. Архив русификатора содержит файл WinPic800.exe и папку Languages, в которой находится всего один файл Russian.ini. Этими файлами надо заменить соответствующие файлы ранее установленной программы WinPic800 версии 3.64. С разрешения В. Ачилова мы разместили архив с разработанной им версией русификатора на сайте нашего журнала [16]. В этот же архив, для удобства наших читателей, мы вложили дистрибутив WinPic800_v3_64.exe.

Теперь мы готовы на 100% “прошить” микроконтроллер PIC16F676. Для этого в панельку изготовленного нами адаптера надо вставить PIC16F676 и подключить адаптер к базовой плате, а базовую плату – к ПК. Затем следует подать на программатор напряжение питания и запустить одну из рассмотренных выше программ. Для примера, запустим IC-Prog 1.6B. При этом откроется главное окно программы (рис. 9).

Рис. 9. Главное окно программы IC-Prog 1.6B

 

В окошке справа вверху этого окна следует выбрать тип программируемого контроллера (PIC16F676), а затем через меню “Файл” открыть HEX-файл программы, которую надо “записать” в контроллер. И наконец, в меню “Комманды” (именно так, с двумя “м”, названо это меню) выбрать строку “Программировать Все” или нажать кнопку F5 клавиатуры. Программатор запросит согласие на запись, которое следует подтвердить. Далее программатор проверяет память МК, считывает биты калибровки и выводит окно “OSCAL”. В этом окне сообщается значение битов калибровки генератора (в моем случае OSCAL = 3428h). В этом же окне программатор запрашивает: “Вы настаиваете на использовании Установок из файла (3FFFh)?”. Если в устройстве будет использоваться внутренний генератор микроконтроллера, необходимо обязательно ответить “Нет”, иначе биты калибровки вместе с командой их установки будут затерты, и записанная программа не будет запускаться. После программирования микроконтроллера произойдет верификация(сверка памяти МК с буфером программатора) и выйдет информационное окно с сообщением: “Успешно проверено!”.

Подобным образом работает и программа WinPic800, в чем читатель может убедиться самостоятельно.

В заключение необходимо отметить, что программы IC-Prog 1.6B и WinPic800 v3.64 поддерживают не только МК PIC16F630/676/684/688, но и множество других микроконтроллеров, что значительно расширяет возможности аппаратного контроллера программатора PonyProg2000.

Литература и интернет-источники

1. http://www.jdm.homepage.dk/ – сайт разработчика программатора JDM (Jens Dyekjar Madsen).

2. http://www.lancos.com/ – сайт разработчика программатора PonyProg2000 Клаудио Ланконелли (Claudio Lanconelli).

3. Безверхний И. Программатор устройств с последовательным доступом PonyProg2000: описание программного обеспечения. “Ремонт & Сервис”. 2005, № 9, с. 5458.

4. Безверхний И. Программатор устройств с последовательным доступом PonyProg2000. Аппаратный контроллер SI-Prog. “Ремонт & Сервис”. 2005, № 10, с. 48-56.

5. http://www.flycont.com/ – html/pp2k.html.

6. Microchip. PIC16F630/676. Data Sheet. 14-Pin FLASH-Based 8-Bit CMOS Microcontrollers.

7.  http://www.remserv.ru/cgi/down-load/Pony_16F676.rar

8. http://www.ic-prog.com/ – сайт программатора IC-Prog.

9. http://www.ic-prog.com/icprog106B.zip – адрес для скачивания ПО IC-Prog 1.6B.

10. http://www.ic-prog.com/icprog_driver.zip – адрес для скачивания драйвера IC-Prog для WINDOWS NT/2000/XP.

11. http://www.ic-prog.com/icprogh_rus.zip – адрес для скачивания русскоязычного файла помощи IC-Prog.

12. http://www.winpic800.com/ – сайт программатора WinPic800.

13. Рюмик С.М. С Интернета по нитке. Радиомир. 2007, № 7, с. 39.

14. http://www.ra-publish.com.ua/programs/Ra-04-2007-usb3.zip – адрес для скачивания русификатора WinPic800 v3.61.

15. http://www.pic.borda.ru/ – форум по микроконтроллерам PIC.

16. htto://www.remserv.ru/cgi/down-load/WinPic800_V3_64.rar.

Автор: Игорь Безверхний (Украина, г. Киев)

Источник: Ремонт и сервис

Простейший программатор для ATmega8 | Полезное своими руками

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

Я впервые столкнулся с микроконтроллерами, когда собирал свой первый импульсный металлоискатель Клон. Вот тогда-то и выяснилось, что контроллер без прошивки – это просто кусок пластмассы с ножками.

А чтобы залить нужную прошивку в АТМЕГу, никак не обойтись без программатора. Далее мы рассмотрим две самые простые и проверенные временем схемы программаторов.

Схема первая

С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.

СОМ-разъем на схеме – это “мама”.

На всякий случай привожу разводку печатной платы для атмеги8 (скачать), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.

Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).

Как понятно из схемы, для сборки программатора потребуется ничтожно малое количество деталек:

Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.

А вот весь программатор в сборе:

Питание (+5В) я решил брать с USB-порта.

Если у вас новый микроконтроллер (и до этого никто не пытался его прошивать), то кварц с сопутствующими конденсаторами можно не ставить. Работа без кварцевого резонатора возможна благодаря тому, что камень с завода идет с битом на встроенный генератор и схема, соответственно, тактуется от него.

Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.

Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.

Заливать прошивку лучше всего с помощью программы PonyProg (скачать).

Прошивка с помощью PonyProg

Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко “Calibration OK”.

Далее Setup -> Interface Setup. Выбираем “SI Prog API” и нужный порт, внизу нажимаем “Probe”, должно появиться окно “Test OK”. Далее выбираем микроконтроллер “Device -> AVR micro ATmega8”.

Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.

После чтения появляется окно “Read successful”. Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем “Открыть”.

Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.

Тщательно все проверяем и жмем “OK”. Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно “Write Successful”.

Вот и все, МК прошит и готов к использованию!

Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот.

Определить это можно, считав фьюзы и посмотрев на галку “SPIEN”.

Схема вторая

Еще одна версия программатора, с помощью которого можно залить прошивку в микроконтроллер АТМЕГа (так называемый программатор Геннадия Громова). Схема состоит всего из 10 детатей:Диоды можно взять любые импульсные (например, наши КД510, КД522). Разъем – “мама”. Питание на МК (+5В) нужно подавать отдельно, например, от того же компьютера с выхода USB.

Все это можно собрать навесным монтажом прямо на разъеме, но если вы крутой паяльник и знаете, что такое smd-монтаж, то можете сделать красиво:

Программировать только программой Uniprof. Тут хорошее описание программы: http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/

Алгоритм прошивки с помощью программатора Громова

Программатор с установленной микросхемой подключаем к СОМ-порту компьютера, затем запускаем Uniprof, затем подаем питание на микроконтроллер. И первым делом проверяем, читаются ли фьюз-биты.

Если все ок, выбираем файл с нужной прошивкой и жмем запись.

Будьте предельно внимательны и осторожны, потому что если глюканет при записи фьюзов, то МК либо на выброс, либо паять схему доктора (а она сложная). Если поменяете бит SPIEN на противоположный – результат будет тот же (к доктору).

Программатор STK200/300 для микроконтроллеров AVR

DI HALT:
Признаюсь, что я этот программатор никогда не собирал, т.к. у меня с первого раза заработала и никогда не подводила схема Громова. Однако, судя по многочисленным комментариям, эта схема работает далеко не у всех и тут не все гладко. Даже если есть COM порт, то не факт что он захочет правильно работать в таком режиме. Многое зависит и от операционки, и от тактовой частоты проца. В общем, грабель там закопано много. Но есть еще варианты относительно простой прошивки микроконтроллеров AVR — это программатор на LPT, аналог STK500/300. В своей простейшей модификации «пять проводков» не требует вообще ничего, даже резисторов. Соединяешь все напрямую и шьешь. Правда пожечь LPT порт тут проще простого. C токоограничитльными резисторами все безопасней, однако и это не спасает. Помогает установка буфферной микросхемы 74HC244.
И получаем STK200! Достоинства этой схемы в том, что это классика жанра. Ее поддерживают по моему вообще все прошивающие программы и оболочки. В том числе и разные среды разработки вроде CVAVR. Надежная и простая, как кувалда, схема. Недостаток один — нужен LPT порт, который ныне редкость.
Но что мешает под свои радиоопыты завести древнюю машинку уровня PIII-500 которую можно собрать из хлама за пиво? И работать будет все отлично и пожечь не жалко. Ну, а вдоволь наигравшись с STK и поняв премудрости процесса прошивки в деталях, можно собрать и USB программатор. А тут Михаил (Code007) написал отличную статью по сборке этого девайса. Грех не выложить.

В настоящее время микроконтроллеры AVR фирмы ATMEL получили весьма широкое распространение. Это обусловлено небольшой стоимостью, развитой периферией, доступностью и удобством средств разработки. Несомненным достоинством процессоров этой серии является возможность внутрисхемного программирования с использованием интерфейса SPI.
Для начала работы с этими микроконтроллерами необходимо обзавестись какими либо средствами осуществляющими внутрисхемное программирование. Существует достаточно большое количество различных конструкций программаторов, но на первоначальном этапе вполне подойдет адаптер STK200/300. В данной статье я попытаюсь подробно описать процесс сборки этого адаптера. Причем настоятельно рекомендую повторить конструкцию именно так, как описано, а не на куске макетной платы. Рекомендация вытекает из шести летнего использования адаптера собранного на чем попало.
Адаптер получил свое название от комплектующихся им отладочных плат фирмы ATMEL для быстрого начала работы с микроконтроллерами AT90S8515 и ATmega103 соответственно. На самом деле приведенная схема соответствует одновременно обоим адаптерам, в ней присутствуют перемычки для определения наличия как адаптера STK200 (выводы 2-12 разъема X1), так и STK300 (выводы 3-11).

Рисунок 1. Электрическая принципиальная схема адаптера STK200/300


Для изготовления адаптера нам потребуется разъем DB25М (LPT-папа) с пластиковым корпусом, десятижильный плоский кабель длиной около 2 метров, разъем IDC-10, стеклотекстолит, детали по схеме и немного терпения.

Рисунок 2. Основные комплектующие (разъем IDC-10 обжат на кабеле)

Все детали монтируются на односторонней печатной плате. Разводка платы осуществлена не на 100%, поэтому часть проводников выполнена навесным монтажом. Такое решение было принято в связи с тем, что изготовление двухсторонней платы более трудоемко и в данной ситуации не имеет особого смысла. Плата изготавливается по всем известной лазерно-утюжной технологии.

Коротко напомню ее основные шаги.
На глянцевой бумаге с помощью лазерного принтера печатается чертеж печатной платы. В качестве бумаги подойдут листы из рекламного буклета или чего то подобного. Я использовал рекламную книгу о средствах автоматизации фирмы Siemens. Поверхность медной фольги текстолита зачищается мелкой наждачной бумагой и протирается ватным тампоном, при этом надо проследить что бы на поверхности не осталось волокон ваты. После чего следует приглаживание рисунка утюгом к фольге. Вот здесь добавлю свои замечания по этой важной процедуре. Для увеличения качества изготавливаемых плат и снижения количества брака, а также облегчения работы я использую не хитрое приспособление показанное на рисунке. Пояснять конструкцию думаю нет необходимости.

Рисунок 3. Приспособление для переноса рисунка печатной платы — зажим.

Заготовка печатной платы вместе с распечатанным чертежом проводников зажимается между двумя металлическими пластинами через дополнительные прокладки из мягкого термостойкого материала ( я использую ткань сложенную в несколько слоев). На получившийся пакет ставим утюг и включаем в сеть. Ждем минут пять и снимаем утюг. После чего даем пакету остыть. Вынимаем заготовку платы с уже “мертво” прилипшей распечаткой чертежа и опускаем в теплую воду для дальнейшего удаления бумаги. Удалив бумагу и протравив фольгу у вас должно получиться нечто подобное тому, что показано на рисунке.

Рисунок 4. Плата после травления

Далее необходимо удалить тонер. Я обычно для этого использую ацетон. Берем ватный тампон, смачиваем ацетоном и стираем тонер. Результат показан на рисунке. В принципе можно остановиться на этом, но мы будем лудить.

Рисунок 5. Тонер смыт

Для лужения используется следующий метод. Берем небольшую кастрюльку, наливаем немного воды, растворяем в воде лимонную кислоту ( сильно много сыпать не надо, так что бы была кислой) и кипятим. Когда вода закипит опускаем печатную плату, если лимонной кислоты было достаточно, то медь немного изменит цвет. Бросаем кусочек сплава Розе и ждем пока он расплавиться, после чего держа пинцетом ватный тампон равномерно наносим сплав по поверхности платы. Эта операция естественно проводится в кипящей воде. Должно получиться как на рисунке.

Рисунок 6. После лужения сплавом Розе

Далее вооружившись ножницами по металлу обрезаем лишнее по контуру и дорабатываем напильником.

Рисунок 7. Печатная плата готова

Подробности технологии лазерно утюжного метода (ЛУТ) можно найти в разделе «Радиолюбительские технологии» в статьях:
Создание печатной платы методом лазерного утюга
и
Изготовление печатной платы от и до. Видео урок.

Все, можно брать в руки паяльник и распаивать детали в соответствии с монтажной схемой.

Рисунок 8. После распайки пассивных компонентов (светодиоды и микросхема не установлены)

Далее припаиваются светодиоды и дорабатывается верхняя крышка разъема. Суть доработки заключается в сверлении двух отверстий под светодиоды. Как должно получиться можно посмотреть на рисунке.

Рисунок 9. Доработка верхней крышки разъема

Поле этого можно припаивать микросхему 74HC244. С помощью многожильного или одножильного монтажного провода не большого сечения ( я использовал провод во фторопластовой изоляции — МГТФ) припаиваем перемычки в соответствии с принципиальной схемой. Не забываем припаять перемычку с любого контакта из диапазона 18-25 на корпус разъема и с корпуса на общий проводник печатной платы, но уже со стороны монтажа. Для пояснения и наглядности привожу рисунок того, что должно получиться.

Рисунок 10. Монтаж печатной платы завершен

Завершив распайку всех перемычек припаиваем десятижильный плоский кабель. При пайке кабель следует располагать так как показано на рисунке.

Рисунок 11. Распайка сигнальных цепей шлейфа

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

Рисунок 12. Распайка общего провода шлейфа

Установив собранную плату в верхнюю часть корпуса разъема проверяем не забыли ли припаять перемычку с контакта разъема на его корпус (о том как это сделать говорилось выше).

Рисунок 13. Распайка перемычки общего провода

Окончательно собираем корпус разъема. Распечатываем этикетку, обклеиваем ее с лицевой стороны скотчем и закрепляем на корпусе в предусмотренном для этого углублении на нем.

Рисунок 14. Собираем корпус и клеем этикетку

Ну вот и все. Адаптер для внутрисхемного программирования готов! Что получилось у меня показано на рисунке. У вас должно получиться то же самое, если вы следовали моим указания.

Рисунок 15. Адаптер готов

Можно проводить испытания. Подключаем к макетной плате с установленным микроконтроллером, запускаем программу для внутрисхемной прошивки с поддержкой STK200/300 ( например CodeVisionAVR Programmer) и наслаждаемся.

Рисунок 16. Проверяем работу

В заключение хотелось сказать пару слов о длине кабеля. В большинстве источников говорится что длина кабеля не должна превышать нескольких десятков сантиметров для обеспечения надежной работы адаптера. Однако практика использования адаптера с двух метровым кабелем, изготовленного по выше описанной технологии, не выявила никаких проблем. Кабель такой длины позволяет удобно располагать программируемое устройство на рабочем столе и отказаться от использования удлинителя параллельного порта компьютера. В последствии приходилось общаться с людьми утверждавшими что успешно использовали подобную конструкцию с кабелем длиной около десяти метров для внутрисхемного программирования по интерфейсу SPI.
Надеюсь, что мои рекомендации окажутся полезными для тех кто решится начать свою работу с микроконтроллерами AVR со сборки адаптера STK200/300.

Файлы к статье:

Кунавин Михаил
г. Волгоград

Простые устройства – Простой программатор для программирования микроконтроллеров AVR через COM порт

На сегодня существует множество программаторов AVR микроконтроллеров подобного типа, но что мне не нравится, слишком много “рассыпухи” (дискретных элементов ), в то время, когда существуют специализированные микросхемы у которых всё уже есть внутри.

Выбор мой пал на микросхему GD75232, часть элементов которой, при соответствующем включении я задействовал для данного программатора.Обязательно 10-я и 11 ножки микросхемы должны соединяться с землёй.(общим проводом)

{ads1}

Эта микросхема стоит на материнских платах, её роль – как раз согласование сигналов внешних устройств с COM портом. На иллюстрации из даташита видно, какие элементы как подсоединены, (не стану расписывать, что как и зачем, об этом можно прочитать в описании микросхемы). Я её специально не покупал, а снял с “убитой” материнки.

Печатную плату не привожу, так как отрезал ножницами по металлу кусок платы вместе с микросхемой, в итоге размеры платы получились 20х30 мм, проводники припаял к 3-м разъёмам

1- питание +5в

2- разъём com порта

3- разъём ISP для программирования

Использовать программатор можно с известной программой Pony Prog, в установках выбрать интерфейс (Serial, COM1) для COM-порта и любой из 3-х видов интерфейсов , которые там перечисляются, без разницы, работает со всеми (JDM API, SI Prog I/0, Si Prog API), картинки это поясняют. Остальные установки в настройке порта остаются в программе по умолчанию.

Программатор на столько прост, что не содержит ни резисторов ни конденсаторов, только одна единственная микросхема. Цепляете питание +5в, подключаете к панельке, в которую вставлен микроконтроллер AVR, приготовленный для программирования и программируете, как обычно в ISP режиме.

{ads1}

Схема проверена и испытана.

Буфферизация

Простые программаторы эффективны пока речь идёт о программировании микроконтроллеров либо в DIP корпусе (удобно, когда можно микросхему вынуть из панельки на рабочей плате и воткнуть в панельку на программаторе, а потом, запрограммировав, поставить на место), либо когда на рабочей плате выводы микроконтроллеров не сильно нагружены внешними элементами схемы.

Есть отработанные хорошие схемы простых программаторов с буфферизированными шинами типа STK200 / 300, собраные на микросхемах серии 244, 245, но они предназначены для подключения к LPT порту, который в последнее время уже редкость на современных материнских платах. Теперь чаще встречаются лишь USB и COM порты, а программаторы USB более сложны для начинающих радиолюбителей в повторении.

У большинства известных простых программаторов, работающих с COM портом, имеется общий недостаток: не у всех достаточная нагрузочная способность.

В последнее время всё чаще применяются SMD компоненты, и микроконтроллеры применяют уже в корпусах типа SOIC и впаивает непосредственно в плату, без панелек. В этом случае для повторного перепрограммирования надо уже либо программировать его прямо на плате, либо выпаивать чип, а в некоторых случаях приходится предварительно отключать нагрузку на его выводах в схеме, если получается, что внешние элементы «сажают» импульсы программатора, если только его шины не были буфферизированы (умощнены по току для работы с повышенной нагрузкой).

Из личного опыта скажу, что этими недостатками страдают многие широко известные простые программаторы, например на 5-ти резисторах, или известная схема на транзисторе, резисторах и стабилитронах: при повышенной нагрузке на шинах программатора начинаются проблемы. Для того, чтобы не делать новый программатор, есть простой путь улучшить нагрузочные характеристики программатора – это буфферизировать уже имеющиеся шины для сигналов, всего лишь добавив ещё одну микросхему.

В данном случае я взял, что у меня было под руками – микросхему 561ПУ4 (или можно её западный аналог CD4050). В составе этой микросхемы содержится шесть буфферных неинвертирующих элемента, которые повторяют входной сигнал на выходе, не внося в него изменений. Каждый такой элемент обладает определённой нагрузочной способностью, из иллюстрации, взятой в даташите, видно структуру тех дискретных элементов, содержащихся внутри буффера.

Подсоединив к нашему программатору такое дополнение между выводами программатора и разъёмом для программирования, мы получим устройство с повышенной нагрузочной способностью. У нас три сигнала с СОМ порта работают на приём, и один сигнал (MISO) работает на передачу. Припаяв к уже имеющейся схеме посредством коротких проводков ещё одну микросхему буффера, я протестировал работу новой схемы и, сравнив с тем, что было прежде, убедился, что эффект есть. На тех платах, где я прежде сталкивался с подобной проблемой при программировании, мне приходилось отсоединять нагрузку на время программирования, а теперь с новой схемой этого делать уже не потребовалось.

Рекомендую всем обладателям простых программаторов доработать имеющуюся у вас схему таким же образом, если при программировании вы сталкивались с подобными проблемами, добавив микросхему буффера ,не обязательно эту, можно использовать и другие подобные по функциональным свойствам микросхемы типа 74HC125, 74HC126 на базе этих микросхем,можно переводить выходы программатора вообще в высокоимпедансное состояние,что позволит не отключать разъём ICSP от платы ,особенно это удобно при работе с макетной платой, вариаций применения моего программатора в качестве базового модуля очень много,это и программирование микросхем типа 24Схх 93Схх а так же для программирования PIC контроллеров, но эту тему я возможно разовью чуть позже в данной статье.

Z – состояние шин на выходе

Лучшее- враг хорошему (с).

Всё вроде работает,но стоит добавить в схему ,что либо ещё,как она из маленькой превращается в “монстра”, а что делать? Иногда в процессе отладки приходится идти на это ради комфорта в работе , ведь порой по нескольку десятков раз надо втыкать разъём ICSP повторно перепрограммируя микроконтроллер, так это занятие надоедает порой, а если оставить программатор постоянно подключенным,к схеме ,то схема программатора будет влиять на работу устройства , но есть решение о котором я упоминал выше, это перевести состояние шин в высокоимпедансное – Z состояние , тогда схема программатора может быть подключена сколь угодно долго и не будет теперь шунтировать шины микроконтроллера ,ради такого случая нашёл эту микросхему и использовал её в качестве буффера . Осуществлять эту процедуру мы будем посредством кнопки S1 которая при замыкании будет переводить выходы программатора в рабочий режим, программирования подсоединяя его сигналы к схеме. На момент программирования, надо кнопку удерживать в нажатом состоянии,а после того, как процедура программирования пройдёт успешно ,отпустить.При разомкнутом состоянии кнопки выходы программатора переводятся в состояние Z

Из даташита 74HC125 ,по схеме и таблице истинности видно ,что если подать на выводы А “единицу” схема переводит выходы в высокоимпедансное состояние ( фактически вообще отключается от нагрузки) и вдобавок у этой микросхемы ещё большая нагрузочная способность ,чем у микросхемы,которую я выбрал в качестве буффера в предыдущей схеме..

в общем на ваш суд выкладываю очередную схему,и сопровождающие картинки к ней.

Владимир Науменко

г. Калининград.

RCD-программатор для EEPROM (93Cxx , 24Cxx, 25Cxxx) — radiohlam.

ru

Представленная ниже схема программатора появилась в результате максимально возможного упрощения и удешевления известного программатора PonyProg. В результате переработки было исключено внешнее питание, лишние контакты (которые использовались для программирования других микросхем), интегральный стабилизатор напряжения заменен на параметрический. Схема отлично работает, поэтому, как говорится: “Если не видно разницы — зачем платить больше”.

В представленном варианте используются только резисторы, конденсаторы и диоды со стабилитронами, поэтому программатор и называется RCD.

Итак, схема:

Питается этот девайс прямо от COM-порта. Стабилитроны можно заменить на ZENER 4V7 или на отечественные КС147. Диоды подойдут любые маломощные, с максимальным током больше 20 мА. Конденсаторы: С1 — электролит, С2 — керамика. Джампер JP1 используется для выбора интерфейса. При работе с микросхемами серии 93Cxx, 25Cxxx — джампер должен быть разомкнут, а при работе с микросхемами серии 24Cxx — замкнут.

Для микросхем 25Сxxx подключение на схеме не показано, поэтому скажу словами: подключение этих микросхем в целом аналогично подключению микрух серии 93Cxx (но разводка ног у них не совпадает), за исключением того, что ноги HOLD и WP надо подтянуть к питанию.

Готовый девайс:

В данном случае предусмотрена возможность вывода всех формируемых программатором сигналов (через шестипиновый разъем в центре платы) для работы с микросхемами 25Cxxx и с микросхемами не в DIP корпусе.

Вариант программатора от ec73 (покрасивее моего получился):

Для работы с этим программатором можно использовать следующие программы:

1) PonyProg2000 v.2.05a. Эта программа позволяет читать/записывать микросхемы 24Cxx, читать/записывать микросхемы 93Cxx и читать/записывать микросхемы 25Cxxx. При работе сначала выберите порт, потом произведите калибровку порта, потом в том же меню, где выбирали порт нажмите кнопку “probe”, если тест пройден успешно — можно программировать. Тест не всегда проходит успешно с первого раза, если с первого раза не получилось — еще раз запустите калибровку и так до тех пор, пока не будет успешно проходить тест. Если не получается — попробуйте поменять тип интерфейса (хотя я всегда использовал интерфейс, который стоит по умолчанию — SI ProgAPI, но в хэлпе говорят, что иногда может с ним не получиться, а с другим получиться).

2) IC-prog 1.05D. Эта программа позволяет читать/записывать микросхемы 24Cxx, читать микросхемы 93Cxx и 25Cxxx. При работе выбрать тип программатора JDM. В настройках поставить галочки: “Включить MCLR как Vcc” и “Включить запись блоками”.

Программы PonyProg2000 и IC-prog вы можете скачать здесь.

С этим программатором обе программы могут работать как на старых медленных компьютерах, так и на современных быстрых.

Скачать печатную плату (AutoCAD2000i). Эта плата разведена под использование SMD компонентов, если вы будете использовать не SMD компоненты, то плату придется переделывать.

Скачать схему и печатную плату варианта от ec73 (DipTrace 2.1, pdf)

Если лень или некогда собирать — Вы можете заказать недорогой универсальный программатор (PIC, AVR, EEPROM) прямо у нас на сайте

PonyProg – Программатор последовательных устройств

Дом
Кто я?
Проекты
ПониПрог
КАРАКА
WebTherm
MiniThreads
ПЛИС



Последнее обновление
$ Дата: 2008/01/05 23:21:01 $


Введение
Если ищите простой, но мощный программатор ты прав, он здесь.
PonyProg – программатор серийных устройств программное обеспечение с удобным графическим интерфейсом, доступным для Windows95 / 98 / ME / NT / 2000 / XP и Intel Linux. Его цель – чтение и запись каждого сериала. устройство. На данный момент он поддерживает IC Bus, Microwire, SPI eeprom, Atmel AVR и Microchip PIC micro.
SI-Prog программатор аппаратный интерфейс для PonyProg.
С помощью PonyProg и SI-Prog вы можете программировать Wafercard для SAT, eeprom в пределах GSM, ТВ или АВТОРАДИО. Кроме того, его можно использовать как низкий стоит стартовый комплект для PIC и AVR.

Поддержка PonyProg

PonyProg также работает с другими простыми аппаратными интерфейсами, такими как AVR ISP (STK200 / 300), JDM / Ludipipo, EasyI2C и DT-006 AVR (от Dontronics).

Характеристики
Опора 24C01, 24C02, 24C04, 24C08, 24C16 IC Bus EEPROM
Поддержка 24C32, 24C64, 24C65, 24C128, 24C256, 24C512 IC Bus EEPROM
Автоопределение 24XX EEPROM вместимость
Поддержка 24C325 и 24C645 IC шины EEPROM
Поддержка Siemens SDE2516, SDE2526, SDA2546, SDA2586, SDA3546, SDA3586 EEPROM (как 24XX Auto)
Поддержка AT17C65, AT17C128, AT17C256, AT17C512, AT17C010 IC Bus EEPROM
Поддержка Siemens SDE2506 EEPROM
Обнаружение опрокидывания банка возможность некоторых старых 24XX EEPROM
Поддержка AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4434, AT90S8515, AT90S8535 Вспышка micro
Поддержка AT90S2323, AT90S2343, AT90S2333, AT90S4433, AT90S4434, AT90S8535, AT90S8534
Автоматическое определение микроконтроллера AVR тип
Поддержка микроконтроллера AVR ATmega103, ATmega161, ATmega163, ATmega 323, ATmega128, ATmega8, ATmega16, ATmega64, ATmega32, ATmega162, ATmega169, ATmega8515, ATmega8535
Поддержка AVR ATmega44, 88, 168, 164, 324, 644, 640,1280, 1281, 2560, 2561 ( непроверено, )
Поддержка AVR AT90can32, 64 и 128 ( непроверено )
Поддержка AVR ATtiny12, ATtiny15, ATtiny26, ATtiny2313
Поддержка AVR ATtiny13, 25, 45, 85, 261, 461 и 861 ( не проверено, )
Чтение ATtiny12 и ATtiny15 Байт калибровки осциллятора
Запись битов блокировки для защиты микроконтроллер AVR от чтения
Запишите как Flash, так и EEPROM память микроконтроллера AVR сразу
Поддерживает AT89S8252 и AT89S53 микро
Опора 93C06, 93C46, 93C56, 93C57, 93C66, 93C76, 93C86 Микропровод EEPROM (серии C и LC, серия CS пока не поддерживается)
Поддержка 93C13 (как 93C06) и 93C14 (как 93C46) микропровода EEPROM
Доступ к микросхеме eeproms в 8- и 16-битной организации
Улучшенная поддержка PIC 16C84 / 16F84 микро
Поддержка PIC 16F873 / 874/876/877 и PIC 16F84A micro
Поддержка PIC 16F873A / 874A / 876A / 877A и PIC 16F627 / 628 micro (не тестировалось)
Поддержка PIC 12C508 / 509 микро
Поддержка PIC 12C671 / 672 микро ( непроверено )
Опора 25010, 25020, 25040 SPI EEPROM
Опора 25080, 25160, 25320, 25640, 25128, 25256 Большой SPI EEPROM
Поддержка 25642 и 95640 Большой SPI EEPROM
Поддержка NVM3060 eeprom
Поддержка MDA2061 / MDA2062 eeprom
Поддержка X2444 / X2445 eeprom
Поддержка S24h40 ( непроверено )
Чтение / запись шестнадцатеричного формата Intel файл, а также необработанный двоичный файл
Чтение / запись S-записи Motorola формат файла
Чтение / запись файла формата CSM
Имеет специальный формат EP файл для хранения характеристик EEPROM, редактируемый комментарий и содержимое памяти вместе с CRC
Улучшенное редактирование буфера, текст и шестнадцатеричный
Работа с Windows95 / 98 / ME и Windows NT / 2000 / XP и Linux *
Кнопка перезагрузки файла
Команда заполнения буфера
Редактирование битов безопасности для AVR, AT89S и PIC
Программирование серийного номера
Файлы сценариев для пакетной обработки программирование
Повышенная скорость с WinNT / 2000 / XP с драйвером для прямого ввода / вывода.

* Не все интерфейсы поддерживаются каждой операционной системой, для получения дополнительной информации смотрите документацию.

Новые непроверенные устройства могут не работать. Жду образцы чтобы проверить их.

Экран дамп

Скачать Стр.

Скачать PonyProg для Windows9x / ME / NT / 2000 / XP и Linux

Также вам может пригодиться онлайн-документация PonyProg2000.

TODO

Новый графический интерфейс, вероятно, основан на wxWidgets и поддержке USB.

Любой вклад приветствуется!

Аппаратное обеспечение интерфейсы
PonyProg теперь работает с несколькими аппаратными интерфейсами.выбирать тот, который вам больше нравится, и попробуйте.

SI Программа (Интерфейс последовательного порта для PonyProg)

Официальный аппаратный интерфейс PonyProg. Работает со всеми устройства, поддерживаемые PonyProg. Смотри сюда купить это.

Схема

SI Prog
SI Prog kit


AVR ISP (STK200 / 300) интерфейс параллельного порта

Лучший способ выполнить программирование AVR ISP. Работает даже в системах низкого напряжения (3В). Чтобы выбрать его, выберите «AVR ISP. I / O »или« AVR ISP API »в меню« Параметры »-« Настройка ». меню и флажок параллельно.
Вы можете подключиться напрямую к целевой системе (ISP) через 10-контактный разъем, в качестве альтернативы вы можете подключить PonyProg адаптер для AVR, AT89S, SPI eeproms, microwire eeproms и подать внешнее питание на устройство.
“AVR ISP API” в версии для Linux требуется parport, parport_pc и модули ядра ppdev.
В Windows2000 / XP необходимо выбрать “AVR ISP I / O” и использовать стандартный LPT порт ПК.
Обратите внимание, что этот интерфейс не поддерживает I CBus устройств, используйте вместо этого интерфейс SI-Prog или EasyI2CBus.

Официальный ключ STK200 / 300 предоставляется Kanda.

Некоторые люди Предложите мне усовершенствования оригинального ключа STK200. Для обсуждение смотрите здесь

Вот улучшенные схемы.

AVR ISP с распиновкой STK200 / 300 (подключить к STK200 / 300 eva доска)
Щелкните здесь для увеличения

AVR ISP с распиновкой SI-Prog (подключить к SI-Prog Платы адаптера AVR)
Щелкните здесь для увеличения


Людипипо и интерфейс JDM

PonyProg

поддерживает интерфейс ludipipo и JDM для программирования PIC16x84.Чтобы выбрать его, выберите «JDM I / O» в меню «Параметры» – «Настройка». меню и флажок серийного номера. Если вы используете Linux или экспериментируете проблемы выберите “JDM API”.

Схема

JDM

Как подключить 24Cxx eeproms к программатору JDM:


Easy IC Интерфейс шины

Чтобы выбрать его, выберите «Easy I2CBus» из параметров. – Меню настройки и флажок параллельного подключения.
“AVR ISP API” в версии для Linux требуется parport, parport_pc и модули ядра ppdev.
В Windows2000 / XP необходимо выбрать “AVR ISP I / O” и использовать стандартный LPT порт ПК.

Нажмите здесь для увеличения

PonyProg учебник для начинающих

В этом руководстве вы узнаете, как использовать это для программирования микроконтроллеров.Для программирования микроконтроллера avr нам понадобился простой, но мощный программатор. Для этого PonyProg был нашим выбором. PonyProg – это программатор последовательных устройств , программное обеспечение с удобным графическим интерфейсом пользователя, доступное для Windows95 / 98 / ME / NT / 2000 / XP и Intel Linux. Его цель – чтение и запись каждого последовательного устройства. На данный момент он поддерживает шину I²C, Microwire, SPI eeprom, Atmel AVR и Microchip PIC micro. SI-Prog – это программатор , аппаратный интерфейс для этого компилятора.Программное обеспечение для микроконтроллера avr можно использовать бесплатно,. и микроконтроллеры pic. вы можете скачать его бесплатно или даже изменить. Чтобы скачать его, перейдите по следующей ссылке:

Скачать программу установки

Для запуска и использования используются следующие шаги:

  • Запустите программу PonyProg, нажав:

Пуск-> Программы-> PonyProg-> PonyProg2000

  • После запуска программы появится следующий экран:

    Главное окно PonyProg

  • Далее Это диалоговое окно появляется при первом запуске.После его установки на компьютер. если он не появляется, пропустите его.

    Калибровка PonyProg

  • Настройте устройство, выбрав «AVR Micro», затем «ATmega16» в «Устройство»

    Выбор контроллера

  • В настройке интерфейса последовательный кабель подключается к COM-порту компьютера (COM1) для программирования Atmega16. Для этого перейдите в окно «Настройка интерфейсной платы», выбрав «Настройка интерфейса…» в «Настройка».

    Настройка интерфейса

  • Теперь нажмите кнопку «Зонд» в «Настройка интерфейсной платы». Если все пойдет хорошо, вы должны увидеть следующее сообщение.Снова нажмите «ОК» и «ОК» в окне «Настройка интерфейсной платы».

    Тест пробника

  • Если вы получили следующее сообщение, что-то настроено неправильно. Пройдите через этот раздел, Interface Setup , еще раз, и если тестовый тест по-прежнему не проходит, обратитесь к наставнику.
  • Для загрузки файла программы выберите «Открыть устройство ..» в меню «Файл».

    Открытое устройство

  • Окно изменится и отобразит содержимое шестнадцатеричного файла программы.Внизу слева красным цветом показаны смещения адресов каждой строки данных в поле. Адреса отображаются в шестнадцатеричном формате. Каждая строка содержит 16 байтов данных, поэтому смещения адреса увеличиваются на 16 (10 в шестнадцатеричном формате) для каждой строки.
  • Для программирования устройства, прежде чем устройство может быть запрограммировано, необходимо выбрать «Параметры программы» в меню «Команда» и выбрать стереть, записать программу флэш-память, записать биты конфигурации безопасности
  • Теперь устройство можно выбрать «Программа» в меню «Команда».

    Программа в PonyProg

  • Если программа успешно записана, отображается следующий диалог:

    Программа успешно

Программаторы и программирование микроконтроллеров (PonyProg). Основные характеристики и функции

Установите PonyProg на свой компьютер

Набрав адрес http://www.lancos.com/ppwin95.html в интернет-браузере, мы увидим на экране картинку, аналогичную показанной на рис.14 , со списком версий PonyProg. К моменту публикации статьи список может быть еще больше. В самом низу находится последняя английская версия программы (2.07c).

Фиг. 14

Что такое “скачать”? Первым делом “кликнув” по надписи “v2.07c BETA”, оригинальная английская версия. (Вы также можете скачать его с нашего сервера, перейдя по ссылке внизу статьи) Получился архивный файл ponyprogV207c.zip содержит установщик setup.exe. После запуска он автоматически установит PonyProg на ваш компьютер. От пользователя потребуется только согласиться со всеми подсказками, отображаемыми на экране.
Тем, кто предпочитает работать с русскоязычной программой, следует скачать архив PonyProg2000ru.zip и установить в него файл PONYPROG2000ru.exe в папку C: \ Program Files \ PonyProg2000 (он был создан установщиком на предыдущем этапе). этап

Это позволит выбрать запуск английской или русской версии программы.Однако без установки первого не работает второй. Также обратите внимание, что русская версия относится к версии 2.05 и не содержит нововведений, появившихся в более поздних версиях, в том числе расширенного списка программируемых микросхем.
Все в этом разделе относится к вариантам PonyProg, приложения для Windows. Однако те, кто предпочитает операционную систему LINUX, также найдут варианты, предназначенные для нее, на том же сайте.

Запуск и настройка PonyProg
В результате установки PonyProg одноименный раздел появится в меню «Пуск / Программы» вашего компьютера.В нем есть линия PonyProg2000 со значком головы лошади. Вы можете запустить программу прямо отсюда или предварительно (для удобства) создать ее ярлык на «Рабочем столе». Ярлыки для английской и русской версий программы по умолчанию будут иметь одно и то же имя PonyProg2000. Чтобы не запутаться, ярлык русской версии лучше переименовать, например, в PonyProgRus.
Первое, что отобразится после запуска PonyProg, – это главное окно со списком пунктов главного меню и кнопок управления вверху, а в нем есть меньшее окно с краткой информацией о программе и ее авторе.

Закройте его, нажав «ОК». Сразу же появятся два предупреждения одно за другим ( рис. 15 ), за которыми мы проследим чуть позже, а пока просто закройте их, нажав «ОК». Обратите внимание, что в русском тексте предупреждений меню «Настройки» ошибочно названо «Настройки». Аналогичная ошибка есть в английской версии. Меню «Настройка» называется «Параметры».

Если адаптер программирования все еще не подключен к вашему компьютеру, сейчас самое время сделать это.В главном меню выберите пункт «Настройки», а в нем – «Настройки оборудования». На экране отобразится окно конфигурации платы программатора, показанное на рис. рис. 16 , укажем в нем тип порта (последовательный или параллельный), к которому подключен адаптер, и его имя (например, COM1). При нажатии на стрелку вниз в соответствующем окне список адаптеров, с которыми может работать программа, «выпадет». Для последовательного порта список всего из трех строк:

Как уже было сказано, SI Prog – это оригинальный набор адаптеров, разработанный автором программы PonyProg специально для нее.О них можно прочитать в. Схема адаптера JDM представлена ​​на рис. рис. 3 первая статья. Маркировка API и ввода-вывода определяет, как программа взаимодействует с портами компьютера. В первом случае используются стандартные функции Windows API (Windows Application Programming Interface); во втором он обращается к портам «напрямую». Второй способ более эффективен, но, к сожалению, не все версии Windows это позволяют. Так что выбирайте API, чтобы избежать неприятностей. На адаптерах, подключенных к параллельному порту компьютера, программа настраивается аналогично.
После выбора нажмите кнопку «Проверить». Компьютер сообщит вам, смог ли он обнаружить адаптер, подключенный к указанному порту ( К сожалению, эта проверка работает только с оригинальными адаптерами из комплекта Sl-Prog ). Если нет, в первую очередь проверьте, включен ли внешний источник питания адаптера (если он есть), убедитесь, что все разъемы надежно и правильно соединены, а перемычки, специально предусмотренные в адаптерах для их распознавания компьютером (они были описаны в предыдущих разделах), находятся на месте. Причиной неработоспособности адаптера может быть неправильный выбор способа связи с компьютером, о котором говорилось выше.
Панель «Выбор полярности управляющих сигналов» (внизу рис. 16) позволяет настроить программу для работы с переходниками, которых нет в списке, или с некоторыми «нестандартными» микросхемами. Поставив «галочки» в соответствующие ячейки этой панели, установите программную инверсию всех или некоторых сигналов с учетом характеристик адаптера или микросхемы.
После завершения настройки нажмите кнопку «ОК».
Далее выполним пункт «Калибровка» меню «Настройки». Программа будет «измерять» скорость компьютера и вычислять значения переменных, определяющих в будущем длительность импульсов и паузы между ними, сформированные в процессе программирования. Обратите внимание, что как во время калибровки, так и во время реального программирования все остальные программы (кроме PonyProg) должны быть закрыты. В противном случае ошибки неизбежны.
Описанные операции требуются только при первом запуске PonyProg. Программа запомнит сделанные настройки и при последующих запусках выполнит их автоматически. Вам придется повторить настройку только при смене адаптера или подключении его к другому порту. Одно важное замечание. PonyProg не знает, предназначен ли выбранный адаптер для работы с правильным чипом. Вся ответственность за правильный выбор лежит на пользователе.

Последний этап настройки – выбор типа программируемой микросхемы.Для его выполнения вам необходимо выбрать пункт «Устройство» в главном меню, и на экране отобразится список семейств микросхем, которые можно запрограммировать с помощью PonyProg. Выбрав одну из них, мы получаем список входящих в нее микросхем ( рис. 17 , показана оконная версия 2.07c). Если микросхема была выбрана ранее, она отмечается «галочкой». Чтобы сделать или изменить выбор, просто нажмите на название нужной микросхемы. Списки исчезнут с экрана, а выбранный заголовок появится в специальном окне в правом верхнем углу окна PonyProg.В другом окне слева от упомянутого указано название семейства микросхем. Эти окна позволяют выбрать семейство и микросхему в нем, не открывая меню «Устройство». Достаточно нажать кнопку со стрелкой вниз в соответствующем окне, чтобы выпадал список, из которого можно сделать выбор.
Название выбранной микросхемы также отображается в нижней строке главного окна (статусной строки). Рядом с ней указывается информационная емкость программируемой памяти этой микросхемы (суммарная емкость FLASH и EEPROM) в байтах и ​​контрольная сумма (CRC) ее содержимого, а точнее его копия в программном буфере PonyProg.

Интересно, что в списке микроконтроллеров семейства AVR есть линейка AVR Auto. Выбирая его, мы даем программе возможность автоматически распознавать микросхему этого семейства, вставленную в панель адаптера. Дело в том, что все они снабжены специальным внутренним ПЗУ, в котором хранится «подпись» – три байта, однозначно определяющие тип микросхемы. Значения подписи указаны в даташите-топоре микросхем.

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


Коды, которые должны быть загружены в микроконтроллер, обычно представлены одним или несколькими текстовыми файлами, разработанными Intel и фактически ставшими стандартным HEX-форматом. Лучше всего «скачать» нужные вам файлы из Интернета или получить их в электронном виде иным способом. Это гарантирует, что многие ошибки, допущенные при “ручном” вводе данных, будут устранены.
Иногда исходные данные представлены файлами BIN (необработанные двоичные файлы). Это точная копия содержимого памяти микроконтроллера без каких-либо служебных и вспомогательных данных. Мы не будем останавливаться на других форматах, которые понимает PonyProg, поскольку они довольно редки. Мы упомянем только формат E2P, разработанный специально для PonyProg, но, к сожалению, непонятный для других программ. В файлах этого формата, помимо данных для FLASH и EEPROM, записывается тип микроконтроллера и вводимый пользователем текстовый комментарий, который может содержать любую полезную информацию.

Итак, выбираем пункт главного меню «Файл», а в нем – один из пунктов «Открыть файл данных …», «Открыть файл программы (FLASH) …» или «Открыть файл данных (EEPROM)» … “… Первый элемент используется, если загруженный файл содержит информацию для всех областей памяти программируемой микросхемы. Это файлы формата E2P, а также файлы HEX для микроконтроллеров семейства PICmicro. Вторая и третья точки загружают данные из разных файлов в соответствующие области памяти микроконтроллера.Обратите внимание, что имена HEX-файлов для загрузки EEPROM микроконтроллеров AVR обычно имеют расширение . eep.
Когда вы выбираете один из вышеперечисленных пунктов, открывается окно, подобное тому, которое показано на фиг. рис. восемнадцать .

Фиг.18

В списке будут только те файлы, имена которых имеют расширение, указанное в окне «Тип файлов». Щелкнув в нем стрелку вниз, вы можете перейти к файлам с другими расширениями или (выбрав «*») получить список всех файлов в папке.Файл будет загружен двойным щелчком по его имени в списке или одиночным щелчком (его имя появится в окне «Имя файла» и нажатием кнопки «Открыть». Вы также можете ввести желаемое имя прямо в окно “Имя файла” с помощью клавиатуры.
В результате на экране появится окно с названием загруженного файла. Строго говоря, оно было раньше, но было вызвано (в зависимости от версии PonyProg) «Без имени» или «по умолчанию» и было пустым Теперь вот кодовая таблица, отображающая загруженные данные ( рис.19 ).

Он состоит из строк, начинающихся с адреса первого байта строки, разделенных круглыми скобками. Далее идут шестнадцатеричные значения в 16 байт с последовательно увеличивающимися адресами (для удобства они разделены тире на две группы по восемь), а затем – символьное представление тех же байтов.
Обратите внимание на нижнюю часть таблицы ( рис. 20 ).

Последние выделенные цветом строки показывают содержимое буфера памяти данных (EEPROM).Команда «Открыть файл программы (FLASH) …» оставляет поле пустым. Информация появится здесь только после выполнения команды «Открыть файл данных (EEPROM) …» ( рис. 21 ). Обратите внимание, что имя в строке заголовка также изменилось. Он соответствует последнему файлу, загруженному в буфер.

Следует учитывать, что адреса ячеек буфера EEPROM не соответствуют реальным адресам ячеек в этой области памяти микроконтроллера.В PonyProg они просто продолжают обращаться к буферу памяти программ (FLASH). В этом случае байты по адресам 400H-43FH отображают содержимое ячеек EEPROM микроконтроллера AT90S1200 с адресами 0-3FH.

В правой части окна буфера программатора, как уже упоминалось, отображается его содержимое в символической форме. Это полезно, если в программных кодах есть текстовые сообщения. Чаще всего – предназначены для отображения на индикаторе микроконтроллерного устройства. Но иногда автор программы «маскирует» внутри себя любую дополнительную информацию, например, название программы, номер ее версии или даже свою фамилию и имя, и даже номер телефона и адрес.Просматривая шестнадцатеричный код, все это сложно заметить, но в символическом виде такая информация сразу бросается в глаза.
Байт со значениями 0-7FH всегда отображаются одними и теми же символами – в соответствии с кодовой таблицей ASCII (Американский стандартный код для обмена информацией). К сожалению, этого нельзя сказать о байтах со значениями 80H-0FFH. Здесь есть множество вариантов, зависящих как от специфики настройки операционной системы компьютера, так и от режима отображения таких байтов, выбранного автором программы при ее разработке.
Даже разные версии PonyProg ведут себя по-разному. «Русифицированная» версии 2.05а при отображении на экране заменяет все символы второй половины кодовой таблицы (включая русские буквы) точками.

Non-Russified v. 2.07c выводит их правильно, в полном соответствии с «кодовой страницей 1251», как показано на рис. 22 .

Показано окно буфера программатора с загруженным в него специально подготовленным файлом, содержащим последовательность байтов 0-0FFH

А файла с программой микроконтроллера у меня нет…
Такая ситуация возникает у тех, кто собирает устройство на микроконтроллере, если программа для него не может быть найдена в Интернете или получена в электронном виде из другого источника. В журнале печатается только «бумажная копия» программных кодов. И этого вполне достаточно.
Есть много способов «набрать» HEX-файл, который вы хотите запрограммировать, из опубликованной кодовой таблицы. Это можно сделать, например, с помощью программы CheckHex, расположенной на FTP-сервере журнала Радио по номеру

.

Мигающий курсор появится в «шестнадцатеричной» части окна у ячейки с нулевым адресом.Если теперь нажать левую кнопку мыши или клавишу Enter, откроется окно редактирования содержимого ячейки, показанное на рис. 23.
В нем отображается текущее значение кода, находящегося в выбранной ячейке памяти, в шестнадцатеричном, десятичном и символьном виде. Введите новое значение в одном из этих форматов. Неважно, какой именно. Обратите внимание, что если вы измените содержимое одного из «окон», значения в двух других останутся прежними. Однако по завершении редактирования новое введенное значение будет записано в ячейку.Если случайно или намеренно введены коды в разных форматах, двоичное представление которых не совпадает, приоритет будет отдан шестнадцатеричному значению, а если оно не было изменено, десятичному значению будет отдан приоритет.

Ввод кодов в разных форматах имеет свои особенности. Например, если шестнадцатеричное поле содержит три или более цифр, будут приняты во внимание только две наиболее значимые (левые). Символьное окно ведет себя аналогичным образом, но в нем имеет значение только один, крайний левый символ.И когда вы вводите число за пределами диапазона 0–255 в десятичное окно, будут учитываться только три старшие цифры, а остаток от деления представляемого ими значения на 256 будет записан в ячейку буфера.
После нажатия кнопки ОК в буфер будет занесено новое значение кода, а курсор будет установлен на ячейку с адресом, на единицу большим, чем отредактированный. Повторяя вышеуказанные шаги, вы можете записать все необходимые вам коды. Нет необходимости делать это последовательно в порядке возрастания адресов ячеек.При необходимости вы можете переместить курсор в любую нужную ячейку с помощью мыши или с помощью клавиш курсора.

Чтобы ввести длинную строку символов, вы можете поместить курсор в ее начало в правой символьной части окна буфера. После щелчка мышью в окне, показанном на рис. рис. 24 , в который вводится желаемый текст. Обратите внимание, что «старое» содержимое буфера не удаляется автоматически с этим вводом, а только смещается в сторону больших адресов. Поэтому перед тем, как нажать кнопку ОК, не забудьте стереть лишнее.

Несколько слов о том, как найти коды, которые необходимо ввести в опубликованных таблицах прошивки микроконтроллера. Несколько лет назад такие таблицы чаще всего представляли собой шестнадцатеричный «дамп» памяти. Они очень похожи на то, что находится в окне буфера PopuRyod, и по этой причине удобны для ручного ввода. Позже, в связи с увеличением числа программистов, считывающих исходные данные из файлов HEX, они перешли на публикацию текста этих файлов.Строки
HEX содержат те же данные (с небольшими дополнениями для облегчения компьютерного анализа), что и строки дампа. Соответствие между ними и буфером показано рис. 25 .

Нули, выделенные жирным шрифтом на восьмой и девятой позициях строки файла HEX, указывают на то, что он содержит данные. Строки с другими персонажами на этих позициях – служебные; как правило, при ручном вводе их можно игнорировать. Строка не обязательно должна содержать 16 байтов данных, ее может быть больше или меньше. Но адрес (подчеркнут на рисунке 25) всегда относится к первому. Последние два символа шестнадцатеричной строки – контрольная сумма – не сохраняются в буфере.
Одна из особенностей программы RopuRgod заключается в том, что адреса, указанные в HEX-файле, совпадают с адресами буферных ячеек только для программной (FLASH) памяти микроконтроллера. Буфер EEPROM продолжает буфер FLASH-памяти, поэтому адреса его ячеек больше фактических на величину информационной емкости последних.
Например, для микроконтроллера AT90S2313 и других с размером программной памяти 2 КБ буфер EEPROM начинается с ячейки с адресом 800H, которая, однако, содержит код, предназначенный для ячейки EEPROM с нулевым адресом.

Ручной ввод данных, предназначенных для записи в EEPROM микроконтроллеров PICmicro, затруднен тем, что, в отличие от многих других микроконтроллеров серии, ассемблер, транслируя программу, помещает эти данные в тот же файл, что и программные коды.Он назначает им условные адреса, начиная с C4200H, и байты данных чередуются с байтами (обычно нулевыми), которые не несут никакой информации. Следовательно, данные следует вводить в буфер EEPROM программатора, как показано на рис. рис. 26 .

Ввод кодов вручную занимает много времени. Здесь не нужно торопиться, лучше еще раз убедиться в правильности выполняемых действий. Если не удалось выполнить работу за один сеанс, сохраните промежуточный результат, выбрав одну из опций «Сохранить… “в меню” Файл “. В зависимости от выбранного элемента будет сохранен весь буфер, либо только FLASH, либо только EEPROM. Сначала будет задан вопрос, какое имя назначить файлу. Обратите внимание, для некоторых неправильные действия, может появиться сообщение об ошибке записи. Если это произойдет, попробуйте сохранить данные FLASH и EEPROM в разных файлах или в другом формате.
Если вы не собираетесь использовать другие (кроме PonyProg) программы управления программированием, вы можете сохранить информация в формате * .e2p.Помимо содержимого всех областей памяти, такой файл будет содержать тип микроконтроллера и текстовый комментарий, который вводится выбором пункта «Редактировать комментарий» в меню «Редактировать». Введенный текст отображается в верхней правой части окна RopuRyear, как показано на рис. рис. 27 .

После записи промежуточного результата PonyProg можно закрыть. Чтобы продолжить работу в удобное время, достаточно запустить PonyProg и загрузить сохраненный файл (ы) в буфер обмена.

Не забывайте о конфигурации!
Среди областей внутренней памяти микроконтроллера есть одна, о содержании которой при описании конструкции на микроконтроллере часто забывают рассказать. Это так называемые биты конфигурации, также известные как замки и предохранители. Записывая нули и единицы в эту область, они устанавливают режимы работы узлов микроконтроллера, включая тактовый генератор и сторожевой таймер, а также изменяют функциональное назначение некоторых выводов микросхемы.
Большое значение имеет возможность путем установки соответствующей конфигурации запретить доступ к внутренней памяти микроконтроллера с помощью программатора. Однако эту функцию следует использовать с большой осторожностью и только тогда, когда вы полностью уверены, что защищенная программа загружается без ошибок и работает эффективно. После включения защиты не удастся найти ошибки в содержимом программной памяти и внести какие-либо изменения.
Количество и назначение битов конфигурации не одинаковы для разных микроконтроллеров.Лучше всего получить точную информацию о них из описаний (даташитов) соответствующих устройств. Например, для микроконтроллеров серии AT90, AT89S с помощью программатора последовательного типа можно только включить защиту памяти. У устройств серий ATtiny, ATmega, PICmicro гораздо более широкие возможности настройки.

Окно управления конфигурацией открывается в PonyProg, когда вы выбираете пункт меню «Команды» – «Безопасность и биты конфигурации …». Его название почему-то не переводится на русский язык даже в “русифицированной” программе.Вид окна зависит от типа микроконтроллера. Показанный на рис. 28 относится к PIC16F628.

Если файл, загруженный в буфер программатора, содержит данные конфигурации, «галочки» будут помещены в поля рядом с именами битов.

При необходимости их можно снять или поставить самостоятельно, нажав на окошки. Назначение битов в данном случае следующее:
CP1, CPO, CPD – кодовая защита, если значения всех этих битов равны 1 (нет «галочки»), она отключена. .Для предотвращения случайной активации биты CP1 и CPO дублируются. Только введя одинаковые значения в оба «дублера», можно установить один из возможных режимов защиты.
LVP – низковольтное программирование разрешено (1) или запрещено (0). В первом случае для перевода микросхемы в режим программирования не требуется напряжение +12 В. Состояние этого бита не следует изменять без необходимости. Если программист считывает содержимое памяти микроконтроллера, бит установлен правильно.В противном случае поможет только замена программатора.
BODEN – внутренний датчик пониженного напряжения включен (1) или выключен (0). Включайте извещатель только в том случае, если вы уверены, что загруженная в микроконтроллер программа предусматривает его использование.

MCLRE – вывод 4 микросхемы служит входом для сигнала сброса микроконтроллера в исходное состояние MCLR (1) или как обычный цифровой вход RA5 (0).
/ PWRTEN – таймер для задержки запуска микроконтроллера после отключения напряжения питания (1) или включения (0).Обычно его включают, чтобы дать кварцевому тактовому генератору время “качнуться”.
WDTEN – сторожевой таймер (WDT) включен (1) или отключен (0). Ошибочная активация этого таймера часто является причиной того, что запрограммированный микроконтроллер, начав корректно работать, каждые несколько секунд возвращается в исходное состояние. В этом случае попробуйте отключить WDT.

F0SC2 – FOSCO – тип тактового генератора и режим работы выводов 15 и 16 микроконтроллера:
111 – частота внутренних тактовых импульсов устанавливается резистором (для PIC16F628) или RC цепью (для PIC16F628A) подключенный к выводу 16, сгенерированный сигнал выводится для управления или другого использования на выводе 15.
110 – аналог 111, но у генератора нет внешнего выхода, контакт 15 служит входом / выходом RA6.
101 – внутренний генератор работает без внешних элементов, генерируемый им сигнал выводится на вывод 15, вывод 16 служит входом / выходом RA7.
100 – аналог 101, но у генератора нет внешнего выхода, вывод 15 служит входом / выходом RA6.
011 – внутренний генератор неактивен. Внешний синхросигнал подается на контакт 16, контакт 15 служит входом / выходом RA6.
010 – высокочастотный (HS) кварцевый резонатор подключен между выводами 15, 16.
001 – обычный (XT) кварцевый резонатор включен между выводами 15, 16.
000 – маломощный (LP) кварцевый Резонатор подключается между контактами 15, 16.
Если тип тактового генератора не указан в описании конструкции на микроконтроллере, его можно определить и выбрать желаемые значения для битов FOSC2-FOSC0, проверив схема, элементы и цепи которой подключены к выводам 15 и 16.

К сожалению, в документации к микроконтроллерам серии PICmicro нет четких критериев, по которым резонаторы должны быть отнесены к группам HS, XT или LP. Чаще всего подходит вариант XT. Но если генератор не находится под напряжением или работает нестабильно, а подбор конденсаторов, подключенных между его выводами и общим проводом, не помогает, попробуйте другие варианты конфигурации. Возможно, параметры кварца, использованного при повторении дизайна, существенно отличаются от того, что использовал его автор.
Значения некоторых битов слова конфигурации иногда индивидуальны для каждого экземпляра микроконтроллера определенного типа. Например, в PIC12F629 и PIC12F675, два наиболее значимых битах этого слова, во время регулировки заводской изготовленной микросхемы, установите номинальное значение опорного напряжения для своих аналоговых узлов. В таких случаях, нажав на соответствующую кнопку в окне «Биты конфигурации и безопасности», прочтите конфигурационное слово новой микросхемы, которое еще не было стерто и запрограммировано, и убедитесь, что значения этих битов остаются прежними после программирования.

Многие современные микроконтроллеры оснащены внутренним тактовым генератором, для работы которого не требуются какие-либо внешние элементы.

Частота этого генератора регулируется программно путем изменения кода в специальном регистре микроконтроллера. Значение кода, соответствующее номинальной частоте генератора (обычно из диапазона 1, 2, 4 или 8 МГц), найденное для данного экземпляра микроконтроллера при заводской настройке, записывается в его память.
В микроконтроллерах Atmel это специальная область памяти, которую нельзя стереть при очистке FLASH-памяти и EEPROM. В некоторых случаях записанное здесь значение автоматически передается в регистр калибровки генератора при включении питания. В других случаях необходимо «вручную» (предусмотрено для этого командой программиста) считать значение калибровочного кода и ввести его в конкретную ячейку FLASH-памяти или EEPROM.

PonyProg предоставляет два пункта меню «Команды» для работы с кодом калибровки.Первый из них («Считать калибровочный байт ген.») Позволяет получить значение этого кода из специальной памяти микроконтроллера и сохранить его в буфере по адресу, указанному с помощью второго пункта («Настройка генератора калибровки “, рис. 29 ). Если поставить галочку напротив надписи «По поводу памяти данных», то код будет занесен не во FLASH, а в EEPROM.

Хочу вас предупредить, что работа этих пунктов меню вроде бы не отлажена полностью.Надеюсь, новые версии PonyProg исправят ошибки. Микроконтроллеры
PICmicro, оснащенные внутренним настраиваемым генератором, обычно хранят «заводское» значение калибровочного кода, уже записанного во флэш-память, обычно в самой высокой ячейке. Если неосторожно стереть память, это значение будет потеряно навсегда. Следовательно, перед подачей команды стирания код необходимо передать в соответствующую ячейку буфера программатора, которая уже содержит данные, подготовленные для программирования.Но даже после этого следует быть осторожным. Код можно уничтожить, например, перезагрузив буфер из файла. На всякий случай запишите на бумаге или прямо на корпусе микросхемы.

Осторожно, коммунальные службы!

В меню, указанном в подзаголовке, среди пунктов, несомненно полезных при подготовке к программированию («Очистить буфер», «Заполнить буфер»), есть и такие, неосторожное выполнение которых может исказить данные, подготовленные для программирования, и это Очень сложно заметить внесенные «визуально» изменения. ..
Пункт “Double” увеличивает размер буфера программирования вдвое. Плохая новость в том, что каждый ранее записанный в него байт повторяется дважды в соседних ячейках. К счастью, в последних версиях PonyProg этот пункт отключен для микроконтроллеров.
Элемент Swap Bytes меняет местами четные и нечетные байты буфера. Пример показан на рис. тридцать : а – перед; б – после исполнения данного пункта. Чтобы вернуть содержимое буфера в исходное состояние, просто выберите этот элемент еще раз.

Пункт «Установить серийный номер» предназначен для нумерации копий при записи одной и той же программы на несколько микросхем. Результат его выполнения показан на рис. 3, in. Как видите, номер заносится в первые две ячейки буфера FLASH-памяти, в результате чего программные коды, находящиеся там, теряются. Естественно, такая программа работать не будет.

Если нумерация действительно необходима, следует позаботиться о том, чтобы номер был записан в ячейки, которые не используются программой. Установить адрес, по которому будет записан номер, позволяет пункт «Настройка серийного номера», который открывает окно, показанное на рис. 31 … Здесь, помимо адреса, можно указать длину («Размер») числа в байтах, их порядок («Формат») и начальное значение («Число»). Формат «Обратный» соответствует общепринятому порядку записи младшего байта по младшему адресу (равному тому, который указан в окне адреса), и старшего байта по старшему адресу.В «прямом» формате порядок байтов – от наиболее значимого к наименее значимому. Если выбран режим «Автоинкремент», значение числа автоматически увеличивается на единицу после каждого выполнения пункта «Установить серийный номер», в противном случае оно остается неизменным.
Для надежного обнаружения непреднамеренного повреждения данных, подготовленных для программирования, из-за случайного выполнения «опасных» операций, рекомендуется запомнить CRC правильно заполненного буфера и сравнивать его с фактическим значением непосредственно перед программированием. CRC (Cyclic Redundance Code) вычисляется с использованием специального алгоритма. В отличие от обычной контрольной суммы, она чувствительна к изменениям не только значений в ячейках буфера, но и их порядка.

Как показано на рис. 32 , текущее значение CRC отображается внизу (строка состояния) основного окна PonyProg вместе с выбранным типом программируемого чипа и размером его памяти (сумма объемов FLASH и EEPROM). Эту же информацию можно получить, выбрав пункт «Информация» в меню «Команды».К сожалению, CRC не указывает, какое значение ячейки изменилось. Обнаружив искажение, придется либо просмотреть и сравнить с необходимыми значениями для всех ячеек буфера, либо повторить операции подготовки данных заново.

Напоследок программируем
Многие программные оболочки позволяют убедиться, что микросхема, установленная в адаптере, готова к программированию с помощью команд типа «Проверить чистоту». PonyProg не имеет этой опции. Чтобы очистить память микроконтроллера от информации, которая могла содержаться в нем ранее, необходимо выбрать пункт «Стереть» в меню «Команды» и получить сообщение, показанное на рис. .33 … Если этого не сделать, может оказаться невозможным записать требуемые коды в некоторые ячейки, поскольку программист не может заменить ноль в цифре ячейки единицей. Конечно, перед стиранием следует убедиться, что память не содержит ценной информации.

Если старое содержимое памяти полезно, его следует прочитать и сохранить в файл перед стиранием. Если программный буфер уже содержит информацию, подготовленную для записи, вам необходимо создать другой буфер, используя пункт «Новое окно» меню «Файл».Затем перейдите в меню «Команды» и выполните один из пунктов «Прочитать все», «Прочитать программу (FLASH)» или «Считать данные (EEPROM)» в зависимости от того, какая область памяти представляет интерес. На экране появится информация о ходе чтения ( рис. 34, ), а затем о его завершении ( рис. 35, ).

Вернувшись в окно с подготовленными данными, не спешите выбирать пункт «Программирование». О его использовании поговорим позже. Для загрузки данных из буфера в микросхему необходимо, в зависимости от того, какую из областей ее памяти вы собираетесь программировать, выбрать один из пунктов «Записать все», «Записать программу (FLASH)», «Записать данные ( EEPROM) “. Предупреждение ( рис. 36 ) – немного поздно, так как все «предыдущее содержимое» уже стерто.

Запись начнется после нажатия кнопки «Да». Его ход будет обозначен окном, аналогичным показанному на рис. 34, но с названием процесса – «Запись …». По его завершении фактическое содержимое памяти микросхемы будет автоматически проверяться на соответствие содержимому буфера, о ходе выполнения которого будет сообщаться командой «Процесс – Проверка …Окно “. Если ошибок нет, на экране появится сообщение ( рис. 37 ). Теперь запрограммированный микроконтроллер можно снять с панели адаптера и установить там, где он должен работать.

Вы также можете проверить содержимое памяти и буфера с помощью команд «Проверить все», «Проверить программу (FLASH)» или «Проверить данные (EEPROM)». Но будьте осторожны – эти команды иногда сообщают о несуществующих ошибках. Дело в том, что FLASH-память микроконтроллеров PIC16 четырнадцатиразрядная.Максимальное значение кода в этой ячейке памяти – 0x3FFF. В буфере PonyProg для этого кода выделено 16 бит (два байта), значение кода в котором после очистки буфера равно OxFFFF. Неправильное сравнение этих значений воспринимается как ошибка программирования. Поскольку такие «ошибки» не всегда фиксируются, их анализ, по-видимому, проводится по-разному в разных ветвях алгоритма сравнения.

И, наконец, о команде программирования. Перед его использованием необходимо выбрать «Настройки программирования… »и установите« галочки »в окне, показанном на рис. 38 … Теперь при каждом выборе пункта« Программирование »отмеченные команды будут выполняться автоматически в том порядке, в котором они перечислены. в окне.
На этом завершается описание программной оболочки PonyProg. Следующие разделы будут посвящены описанию возможностей программы аналогичного назначения IC-Prog.

Если вы хотите сделать программиста, то эта страница для вас !!!

С помощью этого программатора, стоимость которого оценивается всего в 100 рублей, можно программировать микроконтроллеры (МК) таких серий, как – «PIC16F8x», «PIC12C50x», «PIC16F87x». Текст основан на статьях из журналов «Радио №6, №7 за 2001 год» … Тем, кому нужно программировать контроллеры Atmel, или микросхемы памяти с последовательным интерфейсом I2C, такие как Microwire, SPI, NWM3060, SDE2506, то советую обратиться за помощью в этот журнал или на сайт www.lancos.com , о котором и пойдет речь ниже.

Немного теории

Микроконтроллеры

с программной памятью FLASH рассчитаны на 1000 и более циклов перепрограммирования. Они лучше всего подходят для прототипирования и любительского дизайна.К ним относятся семейства МК AT89S, AT90S (AVR) от ATMEL и семейства от PICmicro, в названии которых есть буква F (PIC16F84, PIC16F876).

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

Аппаратная часть программатора во многих случаях превратилась в простой буфер, который сопоставляет логические уровни сигналов от одного из портов компьютера и МК. Он остается сравнительно сложным только для устройств, способных работать с программируемыми микросхемами различного типа.Приходится либо устанавливать много панелей (для разных микросхем), либо предусматривать сложную электронную систему коммутации выходов одной панели.

О программаторе

В любительских условиях сделать полноценный универсальный программатор довольно сложно. И нет смысла это делать. Достаточно собрать простейший базовый блок, дополнив его по мере необходимости не менее простыми переходными панелями (переходниками) для программирования микросхем того или иного типа.Так устроен известный многим посетителям Интернета программатор PonyProg2000, разработанный итальянцем Клаудио Ланконелли. На сайте www.lancos.com содержатся схемы узлов этого программатора, программное обеспечение для него и описание пунктов экранного меню.

Принципиальная схема (отредактированная мной) базового блока программатора PonyProg2000 показана на рис.1 … Разъем XT1 подключается к вилке одного из последовательных (COM) портов компьютера через кабель. длиной до 1 м, при котором контакты вилки и розетки соединены «один в один».Обратите внимание, что обычный «нуль-модемный» перекрестный кабель не подходит для этого приложения.


Рисунок 1. Принципиальная схема базового блока программатора.

Преобразование логических уровней сигналов на выходах порта в требуемые для программирования осуществляется наиболее простым способом – с помощью ограничителей напряжения с резисторов R4, R5, R6 и стабилитронов VD3, VD6, VD7. В оригинальной конструкции используются стабилитроны с напряжением стабилизации 5,1 В, поэтому заменять их на КС156А не стоит.

Каскад на транзисторе VT3 инвертирует сигнал, генерируемый компьютером на выводе 3 COM-порта. В результате на выводах 2 и 3 штекера XT3 формируются два взаимно обратных импульса сброса. Используйте тот, полярность которого соответствует требуемой для конкретного MC. Перемычка между контактами 6 и 7 разъема XT2 позволяет компьютеру проверить, что программатор подключен к порту.

Принципиальная схема адаптера для программирования МК серий «PIC16F8x», «PIC12C50x», «PIC16F87x», изображена на на рисунке 2 .


Рисунок 2. Принципиальная схема блока адаптера программатора.

По цепи контакт 6 XT3 – контакт 8 XT2, данные, считанные с МК, поступают в компьютер. Может возникнуть вопрос: как входной узел COM-порта, зона нечувствительности к помехам по стандарту RS-232, не должна выходить за пределы ± 3 В, без каких-либо преобразований принимает сигнал, сформированный МК с TTL уровни? Оказывается, оба пороговых уровня (срабатывание и срабатывание) триггеров Шмитта, установленных на одинаковых входах большинства современных компьютеров, находятся в диапазоне +1. 5 … 2,5 В. Отличие этих входов от обычных TTL только в способности выдерживать без повреждений напряжения до ± 25 В. С COM-портом, сделанным строго по стандарту, программатор PonyProg2000 (как, впрочем, и , многие другие) не получится, придется вводить в него источник отрицательного напряжения и дополнительный преобразователь уровня.

Печатная плата программатора представлена ​​на рисунке 3 – вид платы снизу (в зеркальном отображении), а на рисунке 4 – вид платы сверху.Как видите, его размеры невелики, и это при том, что оба блока расположены на нем одновременно: слева – базовый блок программатора, а справа – блок адаптера. Но, тем не менее, не исключена возможность замены переходного блока на другой МК. Эти два блока на плате подключаются через разъемы XT3 и XT4. При необходимости собирается схема необходимого адаптера и подключается к базовому блоку через разъем XT3.


Рисунок 3.Печатная плата программиста. Вид снизу.


Рисунок 4. Печатная плата программатора. Вид сверху.

Схема программатора и его печатная плата выполнены в корпусе Pcad2001. Вы можете скачать себе все необходимые файлы здесь – Programmer in Pcad2001. При необходимости замены печатной платы может потребоваться библиотека элементов, используемых в программаторе. Вы также можете скачать его – Библиотека Pcad2001.

Результат работы показан на рисунке ниже.


О программировании

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

Информация между MC и программатором передается побитно с последовательным кодом, и каждый бит сопровождается по линии синхронизации (CLOCK, CLK, SCK) импульсом, генерируемым программатором. Длительности импульсов и пауз между ними ограничиваются, как правило, только минимально допустимыми значениями, конкретные выбираются исходя из возможностей программиста и компьютера, который им управляет.

Предполагается, что в исходном состоянии для программирования выбрана ячейка с нулевым адресом.Однако, если продолжительность изменения уровня на выводе MCLR от нуля до включения программирования превышает определенное значение, состояние счетчика программ может измениться, и все записанные коды будут сдвинуты на несколько ячеек. Чтобы этого не произошло, достаточно соединить вывод 16 (OSC1) МК общим проводом, который надежно заблокирует внутренний тактовый генератор. Jumper XT5 позволяет это. Контакт 15 (OSC2) должен оставаться свободным.

Цикл программирования одной ячейки начинается с «Загрузить данные… “команда, за которой следуют данные, предназначенные для записи в нее. Шестибитный код команды поступает в MC, начиная с младшего значащего бита. Данные передаются аналогичным образом с 14-битным содержимым FLASH- ячейка памяти с обеих сторон «обрамлена» нулями, а восьмибитный код, предназначенный для записи в EEPROM, дополнен восемью нулями, один из которых следует за записываемым кодом, а остальные – после. Затем команда «Старт» программирование »и через 10 мс содержимое ячейки проверяется с помощью команды« Прочитать данные… ». Затем дается команда« Перейти к следующей ячейке »и описанная процедура повторяется до тех пор, пока не будет запрограммирована последняя ячейка. Обычно начинают с программирования памяти программ, затем переходят к идентификации, конфигурации и ячейкам EEPROM.

Программирование завершается, как правило, контрольным считыванием записанных данных, снятием сигнала разрешения программирования и отключением питания, после чего МК можно снять с панели. Для обеспечения надежности программирования своих микроконтроллеров Microchip рекомендует проверять содержимое их памяти при нескольких значениях напряжения питания – от минимального до максимально допустимого.

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

Завершая раздел, опишем обычную последовательность действий, которые необходимо выполнить для программирования МК:

  • подготовить файл HEX или двоичный (.bin) с исходными данными для программирования.Это может быть результат работы, например, ассемблер или набран вручную;
  • подключите аппаратную часть программатора к компьютеру. Лучше всего это делать при выключенном питании;
  • включите питание компьютера и запустите программу, обслуживающую программиста;
  • включить собственный источник питания программатора. После этого компьютер должен автоматически или по соответствующей команде «распознать» программиста. Если появляется сообщение об ошибке, это означает, что с подключением что-то не так, например, выбран неправильный порт компьютера;
  • выберите в меню программатора тип программируемой микросхемы (иногда это делается автоматически), затем установите ее в приборную панель и подайте команду проверки «чистоты».Если результат отрицательный, вам придется стереть старые данные, используя метод, предусмотренный для этого МК – ультрафиолетовое облучение или электрически. Для последней опции в меню программатора есть специальная команда. После стирания повторите проверку на «чистоту»;
  • загружает данные из заранее подготовленного файла в буферную память программатора. Многие программисты предоставляют возможность просматривать данные, загруженные в буфер, на экране в виде дампа перед программированием и даже вносить изменения;
  • найти в меню программатора и дать команду «Программа».

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

PonyProg – бесплатный программатор (программная часть программатора) для чтения и записи программ микроконтроллеров и ПЗУ с последовательным интерфейсом программирования. Благодаря простоте и дешевизне изготовления оборудования, программатор получил широкое распространение.

Как работает PonyProg

Оборудование программатора подключено к параллельному (LPT) или последовательному (COM) порту компьютера, совместимого с IBM PC. Поддерживаются следующие аппаратные интерфейсы AVR ISP (STK200 / 300), JDM / Ludipipo, EasyI2C и DT-006 AVR (от Dontronics). Программное обеспечение PonyProg запускается на компьютере, в программатор устанавливается микроконтроллер или микросхема EEPROM.После предварительной настройки в память (EEPROM – память данных, Flash – память программ) будет записана прошивка, скомпилированная специально для устройства с использованием сред разработки для микроконтроллеров, например, для контроллеров семейства AVR. Кроме того, PonyProg может считывать данные из EEPROM и прошивки из памяти микроконтроллера.

Характеристики PonyProg

PonyProg поддерживает следующие интерфейсы для связи с программируемым микроконтроллером:

  • Микропровода
  • SPI EEPROM
  • Atmel AVR и Microchip PIC micro

Поддерживаемые операционные системы: все 32-разрядные версии Microsoft Windows (95, 98, NT, 2000 и XP), все совместимые с POSIX (Linux, BSD и UNIX-подобные).

Список поддерживаемых устройств включает большинство распространенных микроконтроллеров PIC и AVR, а также различные типы микросхем памяти.

Установите файл setup.exe , затем можете русифицировать, загрузив файл ponyprog2000.exe в установленную папку, ответив «да» на вопрос «вы хотите заменить существующий файл?»

После установки запустить на компьютере программу PonyProg … Появляется приветственное окно (поставьте галочку «Отключить звук», чтобы жена не испугалась при следующем запуске программы!):

Еще два окна появятся по очереди, когда вы нажмете «ОК»:


Нажал “ ОК “.Вот и все, программа открыта!


Теперь нужно сделать калибровку и наладить оборудование … В меню – Настройки выбрать « Калибровка »


Согласны. Сообщение « Калибровка завершена “. Нажать” OK “.

Установка дополнительного оборудования

В Меню – Настройки выберите « Настройка оборудования »

Выбираем порт “ Consistent »Во всплывающем меню выбрать тип программатора JDM API … Из четырех возможных вариантов COM-портов выберите активный, или, если активных портов несколько, – тот, к которому вы подключили оборудование. В моем случае это единственный COM1.

1 … Если вы хотите прошить микросхему памяти 24CXX , тогда вы должны установить флажок « Invert Reset » и оставить остальные не отмеченными. Вот настройки для 24CXX EEPROM, как показано ниже:

Важно! Посмотрите, как подключить перемычки на плате:
– 5 перемычек (перемычек)
– 7 перемычек (перемычек)

2.Если вы хотите прошить микроконтроллеры PIC, то настройки должны быть как на рисунке:

Важно! Смотрите, как подключить перемычки на плате:

– 5 перемычек (перемычек)
– 7 перемычек (перемычек)

Нажмите ОК . .. Программа настроена!

Чтобы программатор прошился на ура, его программная часть должна иметь приоритет реального времени, для этого:

1. нажмите Ctrl + Alt + Delete

2.Откроется диспетчер задач, в котором нужно сделать следующее:


То есть задать программу PonyProg2000.exe приоритет реального времени .

Микросхема с прошивкой

После всего, что было сделано, выбираем тип микросхемы, которую хотим прошить


Затем в меню Файл Открыть выберите файл прошивки для этой микросхемы.

Для запуска процесса записи (перепрошивки микросхемы) нажмите кнопку, которая показана красным цветом ниже:


Программа спросит, что прошивка будет записана поверх данных, которые в данный момент находятся в памяти микросхемы.

Если вы согласны, нажмите « OK »И начинается запись данных в микросхему.

При прошивке микроконтроллеров PIC на аппаратной плате загорается красный светодиод во время записи и чтения.

После завершения процесса записи программа выдаст сообщение об успешной записи.

(Следующее не обязательно!) Для самостоятельной проверки правильности записи данных вы можете прочитать память микросхемы и сравнить символы в начале кода и в конце считанных данных и данных, которые вы только что записал, если они совпадают, то можно уверенно припаять микросхему к плате своего изобретения и протестировать ее работу.


– это бесплатная программа GNU с открытым исходным кодом для программирования микросхем последовательной флэш-памяти.

PonyProg , написанный итальянцем Клаудио Ланконелли и существует в версиях Windows (9x / ME / NT / 2000 / XP) и Linux. Имеет поддержку русского языка. Может использовать параллельный порт (LPT) или стандартный последовательный порт (COM).

PonyProg поддерживает микроконтроллеры AVR.
AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4434, AT90S8515, AT90S8535, AT90S2323, AT90S2343, AT90S2333, AT90S4433, AT90S4434, AT90S8534, AT90S8535
ATmega103, ATmega161, ATmega163, ATmega323, ATmega128, ATmega8, ATmega16, ATmega64, ATmega32, ATmega162, ATmega169, ATmega8515, ATmega8535, ATmega44, ATmega88, ATmega168, ATmega164, ATmega324, ATmega644, AT80mega640, AT25mega61
ATtiny12, ATtiny15, ATtiny26, ATtiny2313, ATtiny13, ATtiny25, ATtiny45, ATtiny85, ATtiny261, ATtiny461, ATtiny861
AT90can32, AT90can64, AT90can128
PonyProg поддерживает ряд популярных программаторов, включая STK200 /300, JDM / Ludipipo, EasyI2C и DT-006 AVR от Dontronics.

Через PonyProg вы можете загружать данные в микроконтроллеры Atmel AVR и MicroCHIP PicMicro, а также программировать микросхемы последовательной памяти (шина I2C, Microwire, SPI eeprom).

Полный список программируемых микросхем можно найти на сайте PonyProg , а загрузите эту замечательную программу с http://www.lancos.com/ppwin95.html или в разделе «Загрузки» на сайте.

Помимо всего вышеперечисленного, PonyProg предоставляет возможность редактировать текст программы на уровне изменения значения байтов.

Чтобы загрузить готовую программу с помощью PonyProg в микроконтроллер AVR, вы можете использовать упрощенную версию программатора STK200, описанную в статье. Это устройство состоит из 25-контактного параллельного (LPT) разъема, 4 резисторов (150 Ом) и соединительного кабеля, длина которого не должна превышать 1,5 метра.

Рассмотрим последовательность действий по загрузке программы в микроконтроллер на примере ATmega8 .

При первом запуске PonyProg попросит вас откалибровать и указать тип используемого программатора с двумя предупреждающими сообщениями.

Мы сделаем, как он попросит. Заходим в меню «Настройка» и выбираем пункт «Калибровка».

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

Затем нажмите «Да» и подождите несколько секунд.

После завершения процесса калибровки появится сообщение об успешном завершении.

Если что-то пойдет не так, калибровку следует повторить.

Теперь выберем пункт «Настройка интерфейса …» в меню «Настройка».

В появившемся окне выберите параллельный порт и способ работы с этим портом (в Windows2000 / XP мы должны выбрать «AVR ISP I / O» и использовать стандартный порт LPT).

Внимание! Не указывайте порт, к которому подключен модем: это может повредить его.

Вы можете указать тип микроконтроллера с помощью меню «Устройство» – «AVR micro».

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

Это оригинальный артикул
Постоянный адрес статьи:

PonyProg – Программатор последовательных устройств

Дом
Кто я?
Проекты
ПониПрог
КАРАКА
WebTherm
MiniThreads


Последнее обновление
19 июля 2000 г.

Введение
Если ищите простой, но мощный программатор ты прав, он здесь.
PonyProg – программатор серийных устройств программное обеспечение с удобным графическим интерфейсом, доступным для Windows95, 98, 2000 и NT и Intel Linux. Его цель – чтение и письмо каждое последовательное устройство. На данный момент он поддерживает IC Bus, Microwire, SPI eeprom, Atmel AVR и Microchip PIC micro.
SI-Prog программатор аппаратный интерфейс для PonyProg.

Купить SI-Prog СЕЙЧАС !!! Смотри SI-Prog страница с ценами и деталями доставки

PonyProg также работает с другими простыми аппаратными интерфейсами, такими как AVR ISP (STK200 / 300), Ludipipo / JDM и EasyI2C.

Скачать АЛЬФА выпуск PonyProg2000, не стабильный, только для бета-тестера!

Характеристики
Опора 24C02, 24C04, 24C08, 24C16 IC шины EEPROM
Поддержка 24C32, 24C64, 24C65, 24C128, 24C256, 24C512 IC Bus EEPROM
Автоопределение 24XX EEPROM вместимость
Поддержка 24C325 и 24C645 IC шины EEPROM
Поддержка Siemens SDE2516, SDE2526, SDA2546, SDA2586, SDA3546, SDA3586 EEPROM (как 24XX Auto)
Поддержка Siemens SDE2506 EEPROM
Обнаружение опрокидывания банка возможность некоторых старых 24XX EEPROM
Поддержка AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, AT90S4434, AT90S8515, AT90S8535 Вспышка micro
Поддержка AT90S2323, AT90S2343, AT90S2333, AT90S4433, AT90S4434, AT90S8535, AT90S8534
Автоматическое определение микроконтроллера AVR тип
Поддержка AVR ATmega микроконтроллер
Поддержка AVR ATtiny микроконтроллер
Запись битов блокировки для защиты микроконтроллер AVR от чтения
Запишите как Flash, так и Память EEPROM микроконтроллера AVR одним выстрелом
Поддерживает AT89S8252 и AT89S53 микро
Опора 93C06, 93C46, 93C56, 93C66, 93C76, 93C86 Микропровода EEPROM (серии C и LC, Серия CS пока не поддерживается)
Поддержка 93C13 (как 93C06) и 93C14 (как 93C46) микропровода EEPROM
Доступ к микросхеме eeproms в 8- или 16-битной организации
Поддержка PIC 16C84 / 16F84 микро
Поддержка PIC 16F873 / 874/876/877 и PIC 16F84A micro
Опора 25010, 25020, 25040 SPI EEPROM
Опора 25080, 25160, 25320, 25640, 25128, 25256 Большой SPI EEPROM
Поддержка 25642 и 95640 Большой SPI EEPROM
Поддержка NVM3060 eeprom
Чтение / запись шестнадцатеричного формата Intel файл, а также необработанный двоичный файл
Чтение / запись S-записи Motorola формат файла
Имеет специальный формат EP файл для хранения характеристик EEPROM, редактируемый комментарий и содержимое памяти вместе с CRC
Улучшенное редактирование буфера, текст и шестнадцатеричный
Работа с Windows95, Windows98, Windows2000, WindowsNT и Linux *
Кнопка перезагрузки файла
Команда заполнения буфера
Редактирование битов безопасности для AVR, AT89S и PIC
Программирование серийного номера
Повышенная скорость с WinNT и Win2000. Добавлен драйвер для прямого ввода / вывода.
* Не все интерфейсы поддерживаются каждой операционной системой, для получения дополнительной информации смотрите документацию.

PonyProg все еще находится в разработке, если вы программист и хотите улучшить PonyProg перейдите на PonyProg сайт разработки на Sourceforge.

TODO
  • Окно настройки для изменения.Параметры INI
  • Добавьте цвет, чтобы выделить различия после проверки
  • Добавить режим удаленного управления для поддержки Build / Makefile
  • Добавить поддержку PIC12C508 / 509
  • Добавить поддержку записи 24C01
  • Диалоговое окно пользовательского аппаратного интерфейса
  • Поддержка нескольких языков (локализация)
  • Добавить SX Parallax micro
  • . .. любые предложения приветствуются
Экран дамп
Нажмите здесь, чтобы увеличить

Скачать страницы
PonyProg для Intel Linux

PonyProg для Windows 95, 98, 2000 & NT

Аппаратное обеспечение интерфейсы
PonyProg теперь работает с несколькими аппаратными интерфейсами.выбирать тот, который вам больше нравится, и попробуйте.

SI Программа (Интерфейс последовательного порта для PonyProg)

Официальный аппаратный интерфейс PonyProg. Работает со всеми устройства, поддерживаемые PonyProg. Смотри сюда для получения дополнительной информации.

Схема

SI Prog
SI Prog kit


AVR ISP (STK200 / 300) интерфейс параллельного порта

Лучший способ выполнить программирование AVR ISP.Работает даже в системах низкого напряжения (3В). Чтобы выбрать его, выберите «AVR ISP». в меню «Параметры» – «Настройка» и установите флажок «Параллельный».
Вы можете подключиться напрямую к целевой системе (ISP) через 10-контактный разъем, в качестве альтернативы вы можете подключить PonyProg адаптер для AVR, AT89S, SPI eeproms, microwire eeproms и подать внешнее питание на устройство.
Версия Linux требует модулей ядра parport и ppuser.
Обратите внимание, что этот интерфейс не поддерживает I CBus. устройств, используйте вместо этого интерфейс SI-Prog или EasyI2CBus.

Электронный ключ STK200 / 300 предоставляется Kanda.

AVR ISP с распиновкой STK200 / 300 (подключить к STK200 / 300 eva доска)
Щелкните здесь для увеличения

AVR ISP с распиновкой SI-Prog (подключить к SI-Prog платы адаптера)
Щелкните здесь для увеличения


Людипипо и интерфейс JDM

PonyProg

поддерживает интерфейс ludipipo и JDM для программирования PIC16x84.Чтобы выбрать его, выберите «SI-Prog API» из опций. – Меню настройки и флажок серийного номера, затем нажмите “Инвертировать”. D-OUT »(эта строка инвертирована относительно SI-Prog интерфейс). Если вы используете Linux, выберите «SI-Prog I / O». и запустите PonyProg от имени root.

Схема

JDM


Easy IC Интерфейс шины

Чтобы выбрать его, выберите «Easy I2CBus» из параметров. – Меню настройки и флажок параллельного подключения.
Если вы используете Linux, вам необходимо войти в систему как root, чтобы запустить этот интерфейс. (в будущем это будет исправлено).

Нажмите здесь для увеличения

Программатор / устройство записи ISP со схемой для микроконтроллера AVR Atmega

До сих пор я обсуждал основы микроконтроллера и программного обеспечения компилятора . Я еще ничего не писал о программировании.

Микроконтроллеры серии ATmega32 поддерживают 3 типа программирования

  • Параллельное программирование
  • Программирование ISP или последовательное программирование
  • Программирование через JTAG

Здесь ISP означает «системный программист». Для записи микроконтроллера недостаточно только записывающего оборудования, для этого также требуется программное обеспечение, которое загружало бы программу, имеющуюся в компьютере или запоминающем устройстве, в микроконтроллер.

Программное обеспечение, о котором я говорю, называется PONY PROGRAMMER 2.06 . Моя схема адаптирована с сайта Pony Programmer. Он использует COM-ПОРТ ПК для загрузки программы в микроконтроллер. Он имеет амплитуду сигнала от +5 до +12 В, представляющую двоичную «1», и от -5 до -12, представляющую «0».

Микроконтроллер ATmega32 запрограммирован с использованием контактов, предназначенных для связи по SPI. Чтобы включить программирование, микроконтроллер должен быть переведен в состояние СБРОС, потянув его вывод сброса на НИЗКИЙ уровень (логический 0 или, скажем, 0 В).В этом состоянии микроконтроллер может программироваться в любом режиме (параллельное программирование или последовательное программирование). Микроконтроллер всегда принимает 0 В как логику 0 и +5 В как логическую единицу.

Сигналы, передаваемые с ПК, не имеют формы, которая может быть принята непосредственно микроконтроллером. Эти сигналы от ПК должны быть адаптированы для микроконтроллера. В программаторе стабилитроны обеспечивают необходимую обработку сигналов.Он устроен таким образом, что преобразует сигнал ± 12 вольт в сигнал + 5-0 вольт, который подходит для микроконтроллера. Сопротивление необходимо для ограничения тока в узлах стабилитронов, без которого стабилитрон может перегореть. И внутренние цепи компьютера также могут получить повреждения.

Высокий сигнал (+ 5 В) на выводе « Reset » микроконтроллера переводит его в рабочее состояние. Низкий сигнал (Земля) переводит его в режим программирования. На выводах сброса имеются внутренние подтягивающие резисторы, и если к этому выводу ничего не подключено, микроконтроллер пытается выполнить программу, написанную в нем.Разработчики могут предусмотреть схему сброса резистивной емкости, но это не всегда необходимо. Как бы то ни было, в большинстве случаев для обеспечения возможности сброса используется кнопка. Здесь в схеме горелки на вывод сброса подается открытый коллектор, который управляется программатором через порт. Этого достаточно.

Необходимая часть работы по передаче и приему данных выполняется пони-программистом. Перейдите по предоставленным ссылкам, чтобы загрузить pony programmer. Следующая схема записи может сжечь микроконтроллер ATmega32.Подключите полученные сигналы к соседним контактам, подключите кабель к COM-порту, включите устройство, то есть микроконтроллер, и микроконтроллер готов к программированию.

Схема программатора

ISP

Изображение: Принципиальная схема ISP Burner Кабель для программирования Схема подключения

Вот как устроена схема. Теперь позвольте мне сказать вам, что микроконтроллер работает на внутреннем калиброванном RC-генераторе, показанном на рисунках. Так что кристалл не прикреплен.Однако микроконтроллер можно программировать. Посмотрим настройки программного обеспечения. Первым делом выберите порт, к которому вы подключили устройство! И устройство программирования из меню «Настройка> Настройка интерфейса…». Выберите «SI Prog I / O», это обеспечивает максимальную скорость программирования. А по поводу портов, для этого кабеля программирования должен быть com порт ! Теперь выберите порт, к которому подключен кабель.

Выбор программатора

Теперь переходим в меню выбора устройства. Здесь ATmega32 относится к семейству AVR.Таким образом, он указан в разделе «Устройства > AVR micro» . Выберите ATmega32 в качестве устройства. Автоопределение тоже подойдет.

Выбор устройства

Теперь, после этих двух важных вещей, проверьте, работает ли ваша схема или нет. Выберите «Command> Read All»

. Меню команд

Теперь, если вы видите, что микроконтроллер считывается без каких-либо сообщений об ошибке, значит, ваш кабель для программирования исправен, и вы можете запрограммировать микроконтроллер с его помощью.

Work ProgressRead Successful

Вы можете записать свой шестнадцатеричный файл с его помощью (компиляторы предоставляют шестнадцатеричные файлы для программирования микроконтроллеров).Просто откройте «Файл> Открыть файл устройства…», откроется окно, найдите свой шестнадцатеричный файл, загрузите его в программатор пони и запишите. Программист Pony также поддерживает операции щелчка и перетаскивания. Это означает, что если вы поместите шестнадцатеричный файл в программатор пони, он автоматически его поймает.

Компонентов:

  • DB9 гнездовой разъем
  • 2 резистора по 1 кОм
  • 2 X 5,1 В стабилитрон
  • 1 резистор 15 кОм
  • Доска Vero
  • BC 547 или любой NPN-транзистор общего назначения
  • Мужской разъем Relimate (6PIN и 2PIN)
Ссылки для справки:

ATmega32 лист данных

Pony Programmer страница загрузки

Пони программист 2. 06 скачать

Примечание: 1. Убедитесь, что у вас есть COM-ПОРТ в аппаратном обеспечении вашего компьютера и ваша операционная система его распознает. Проверьте это в «Панель управления> Администрирование> Управление компьютером». На панели каскадного списка найдите следующие

«Управление компьютером> Системные инструменты> Диспетчер устройств> Порты (com и LPT)». Если COM-порты присутствуют в этом списке, эта схема будет работать нормально. В противном случае ищите записывающее устройство на основе USB.

Примечание 2 .Эта горелка также будет работать с ATmega16. Для ATmega8 нужно подключить сигналы к уважаемым пинам.

Примечание 3 . 2-контактный штекер Relimate

можно не использовать.
Библиография

Lancos.com и Atmel

Блог г-на Гаурава Чаудхури

Часть III – Создание программиста и мишени.

Теперь вы знаете, какие инструменты требуются для разработки на основе MCU.И вы знакомы с их использованием. Теперь пора приступить к реальной разработке. Чтобы охватить эти части, вы должны иметь некоторые базовые знания и инструменты для изготовления электронных схем. Итак, давайте начнем с самого важного инструмента – программиста.

Делаем программист.

В сети доступно много разных типов программистов. Основное отличие – их интерфейс с ПК. В основном, есть три типа программистов.
  • На основе последовательного порта
  • На базе параллельного порта
  • на базе порта USB.

Из этих последовательных и параллельных портов программистов легко сделать с минимальными затратами. Однако параллельный порт немного громоздок по сравнению с последовательному порту, я предпочитаю последовательный. Один из лучших программистов, которых я приехал через PonyProg (http://www.lancos.com) Программатор последовательных устройств, это пакет простой и недорогой программатор с простым в использовании программным обеспечением с графическим интерфейсом. я был пользуюсь им долгое время. Итак, здесь я научу вас делать программатор устройства PonyProg.

Примечание
Поскольку последовательные и параллельные порты очень старые технологии быстро исчезают с ПК. Большинство ноутбуков не есть они, и даже настольные компьютеры их отбрасывают. Поэтому неудивительно что на вашем ПК нет последовательных портов. В этом случае вы должны использовать Программатор USB AVR. Смотрите наш магазин http://shop.extremeelectronics.co.in он доступен всего за 320 рупий (6 долларов США). Будущее за USB.

Вещи, которые вам понадобятся.

S. №

Компонент

Значение

Кол-во

1 Транзистор г. до н.э. 547 1
2 Стабилитроны 5.1В 2
3 Резистор 3.3 К 2
4 Резистор 10 К 1
5 Резистор 15 К 1
6 DB9 Гнездовой разъем 1
7 6-контактный разъем 1
8 Печатная плата общего назначения, провода

Разъем DB9, который подключается к последовательному порту вашего ПК.Это выглядит так.

Разъем DB9.

А 6-контактный разъем упростит подключение / отключение программиста с целевой доски. Теперь соберите программатор по схеме. Обратите внимание, что номера контактов указаны на самом разъеме DB9.

Мой прототип

С защитной крышкой.

Теперь ваш программатор готов !!! Обратите внимание, что программатор имеет 6-контактный выход. со следующими сигналами
  • СБРОС (1)
  • MOSI (2)
  • MISO (3)
  • SCK (4)
  • ЗЕМЛЯ (5)
  • НЕ ПОДКЛЮЧЕН (6)
2,3,4 предназначены для передачи данных. Кроме того, в цели есть разъем ISP с такими же сигналами, и они должны быть подключены к совпадающим сигналам программатора. Так что будьте осторожны при установке разъемов. Следующее, что вам понадобится, это базовая схема микроконтроллера. У него будет MCU и некоторые базовые схемы для его запуска. Посмотрим, как это сделать.

Базовая целевая система

Разработать базовую цель, поддерживающую ISP для серии микроконтроллеров AVR. тебе нужно иметь
  • Блок питания для MCU.
  • Кристаллический осциллятор (для тактовой частоты процессора) (дополнительно)
  • Правильный сигнал при сбросе.
  • Соединитель ISP
  • Ареф для АЦП.(необязательно)
Блок питания
Большинство доступных микроконтроллеров работают от источника питания 5 В, за исключением их низковольтных версий. Им нужен чистый и стабильный источник питания 5 В. Это достигается с помощью микросхемы стабилизатора напряжения 7805. Также микроконтроллеры имеют отдельный источник питания для аналоговых частей, чтобы повысить их точность и уменьшить шум. Он не должен напрямую подключаться к цифровому источнику питания, а должен быть подключен через сеть LC с Vcc. Вам не нужно беспокоиться об этом, если вы не собираетесь использовать АЦП (аналого-цифровой преобразователь).Вы можете подключить AGND к GND и AVcc к Vcc.
Кристаллический осциллятор
Это как сердце для MCU. Он обеспечивает ритм, который заставляет MCU делать шаги. В микроконтроллерах серии AVR каждый тактовый импульс выполняет одну инструкцию (для выполнения некоторых инструкций требуется более одного тактового цикла) для точного отсчета времени в вашем приложении вам нужен кварцевый генератор. Он обеспечивает чистый, независимый от напряжения и температуры источник синхронизации. Как правило, вы можете использовать кристаллы от 1 МГц до 16 МГц на большинстве AVR в соответствии с требованиями вашего проекта.На самом деле в AVR есть и внутренний генератор !!! это означает, что это можно не указывать. Но есть одно ограничение: внутренний генератор обеспечивает максимальную частоту 1 МГц, если этого достаточно для вас, тогда все в порядке, иначе вам придется использовать внешний кристалл, скажем, 12 МГц или 16 МГц.
Сброс сигнала.
Этот сигнал должен быть высоким (5 В) для нормальной работы и может быть понижен для сброса устройства. Можно подключить переключатель для сброса с него устройства.
Разъем ISP
Для гибкости у вас должен быть хороший разъем, чтобы вы могли легко подключать / отключать программатор для программирования.MCU имеет 3 PIN-кода для загрузки программы во флэш-памяти, а именно: • MOSI – главный выход, подчиненный вход • MISO – ведущий на входе ведомого на выходе • SCK – последовательные часы Это для передачи данных, и вам также необходимо подключить ПИН-код сброса MCU к соединителю ISP, чтобы программист мог перевести его в режим программирования. Еще один контакт должен быть их общим или общим для двух систем. Так что все, что вам нужно, это 5-контактный разъем для программирования. Однако у нашего программатора AVR есть один дополнительный PIN-код, который не связан ни с чем, поэтому вам понадобится 6-контактный разъем в вашей целевой системе.
Ареф
Этот штырь должен быть снабжен опорным напряжением для встроенного аналого-цифрового преобразователя. Также Atmel предлагает развязать этот вывод конденсатором емкостью 0,1 мкФ. Я привожу это в своей схеме для полноты картины. Вы можете опустите это, если вы пока не собираетесь использовать АЦП. Подробнее об этом в учебнике по ADC. Базовая схема цели

Необходимые компоненты.

S.No

Имя

Компонент

Значение

Кол-во

1 IC1 Микроконтроллер ATmega8 1
2 IC2 7805 регулятор напряжения 1
3 C1, C2 Конденсаторы электролитические 100 мкФ 1
4 C6 1 мкФ 1
5 R1 Резистор 330 1
6 R2 1
7 C3, C7, C8 Керамический дисковый конденсатор 0. 1 мкФ 3
8 C4, C5 22пФ 2
9 LED1 светодиод 1
10 D1 Диод 1N4007 1
11 1 квартал Кристаллический осциллятор 12 МГц 1
12 J1 Разъем питания 1
13 6-контактный разъем 1
14 Печатные платы общего назначения, провода и т. Д.

Вы можете сделать это на печатных платах общего назначения (плата Vero) или на макетной плате. Сделав это, дважды проверьте соединения. Используйте гнездо для MCU, чтобы он легко снимается. Затем проверьте уровни напряжения на выводах питания. в розетку с мультиметром. Оно должно быть очень близко к 5 вольт.

См. Также

Скачать версию в формате PDF | Получите Adobe ReaderFree !!!

Что дальше
Теперь у вас есть основные аппаратные средства в В следующей части мы загрузим и установим программные инструменты.WinAVR – бесплатный компилятор C для AVRsAVR Studio – IDE для AVR от производителя. Это будет быть нашим интерфейсом для вышеуказанного компилятора Ponyprog – бесплатный программатор последовательных устройств.

Возникли проблемы с вашим проектом встраиваемых систем, электроники или робототехники? Мы здесь, чтобы помочь!
Отправьте запрос о помощи.

Avinash

Avinash Gupta ориентирован исключительно на бесплатные и высококачественные учебные материалы, чтобы сделать изучение встроенных систем увлекательным!

Другие сообщения – Веб-сайт

Следуй за мной:

Встроенное проектирование: Программатор последовательного порта AVR

О программаторе AVR



Этот простой программатор AVR atmega на основе COM-порта позволит вам безболезненно переносить шестнадцатеричные программы на большинство микроконтроллеров ATMEL AVR

.

без ущерба для бюджета и времени.Он более надежен, чем большинство других простых программаторов AVR, доступных из

.

там и может быть построен в очень короткие сроки.

Программатор AVR состоит из встроенного последовательного программатора (ключа) и небольшой платы с разъемом DIP, куда вы можете установить

ваш микроконтроллер и быстро его запрограммируйте.

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

программировать микроконтроллеры AVR, не удаляя их из целевой схемы.

Весь программатор AVR собран с использованием общих деталей и подходит для последовательного разъема. Плата сокета была создана для 28-DIP микроконтроллера AVR ATmega8, но вы можете построить печатную плату для любого другого микроконтроллера AVR. Этот программатор AVR совместим с популярным программным обеспечением PonyProg, которое показывает строку состояния процесса программирования.




Схема внутрисхемного последовательного программатора AVR

Гарантирует, что микросхема получает точно напряжение + 5В, что обеспечивает безошибочное программирование.

Питание +5 В для микросхемы AVR может быть обеспечено от внешнего источника питания, а лучше – напрямую от USB

Pony Prog: Программное обеспечение для программирования

Чтобы иметь возможность отправлять шестнадцатеричный файл со своего компьютера на микроконтроллер AVR, вам необходимо загрузить и установить PonyProg2000 . После установки первое, что вам нужно сделать, это настроить PonyProg для работы с нашим программатором AVR.Для этого перейдите в меню «Настройка» и выберите «Настройка интерфейса». Будет показано следующее окно, и выделенные области покажут вам, какие именно параметры следует выбрать.

На следующем шаге выберите «AVR micro» и тип микроконтроллера, который вы будете программировать (например, ATmega8

На этом настройка PonyProg завершена, и мы можем открыть шестнадцатеричную программу, с помощью которой микроконтроллер AVR будет прошит. Перейдите в меню «Файл», выберите «Открыть файл программы (FLASH) …» и укажите на шестнадцатеричный файл, чтобы открыть его.Вы должны увидеть шестнадцатеричные числа, как показано на экране ниже. Если вы еще не подключили аппаратный ключ AVR Programmer к последовательному порту вашего компьютера, то сейчас самое время. Убедитесь, что программатор AVR физически подключен к микроконтроллеру AVR через Socket PCB или через 6-контактный разъем ICSP. Наконец, щелкните выделенный значок «Запись программы в память (FLASH)» или перейдите в меню «Команда» и выберите «Запись программы (FLASH)».

!! ЕСЛИ ваш файл Flash (.hex) имеет специальные биты конфигурации, вам необходимо настроить эти биты вручную.




Нажмите кнопку «Да», чтобы подтвердить программирование.

Теперь сядьте, расслабьтесь и наблюдайте за процессом программирования в строке состояния. PonyProg запрограммирует микроконтроллер AVR и проверит, был ли передан шестнадцатеричный файл без ошибок. К вашему сведению, этот процесс не должен занимать более 10–30 секунд. Это зависит от размера программы, которую вы пытаетесь прошить.



После завершения программирования отобразится окно «Запись успешна», сообщающее, что микроконтроллер AVR был запрограммирован и теперь готов к использованию.



Программирование бит предохранителя безопасности и конфигурации (при необходимости)

Сначала нажмите кнопку «Безопасность и настройка» на панели инструментов, появится диалоговое окно, как показано на изображении.




Чтобы прочитать текущий бит безопасности из устройства, нажмите кнопку «Читать» в диалоговом окне битов безопасности и конфигурации.

Теперь вы готовы изменить биты конфигурации.
Чтобы вычислить значения этих битов безопасности в соответствии с вашими потребностями или установить с помощью hfuse и lfuse
, пожалуйста, посетите эту страницу Нажмите здесь

просто установите и снимите флажки в соответствии с вашими настройками и нажмите кнопку записи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *