Программаторы — Библиотека устройств на микроконтроллерах http://elektro-shemi.ru Сайт тем кому не лень паять Wed, 17 Sep 2014 12:24:39 +0000 ru-RU hourly 1 https://wordpress.org/?v=4.9.22 ПРОГРАММАТОР PIC-КОНТРОЛЛЕРОВ И МИКРОСХЕМ ПАМЯТИ EEPROM http://elektro-shemi.ru/programmator_pic_kontrollerov_i_mikroskhem_pamjati_eeprom.html http://elektro-shemi.ru/programmator_pic_kontrollerov_i_mikroskhem_pamjati_eeprom.html#respond Thu, 01 Mar 2012 20:00:00 +0000 http://www.elektro-shemi.ru/programmator_pic_kontrollerov_i_mikroskhem_pamjati_eeprom.html


настройки под программу WinPic800

еще один вариант исполнения с панелькой под 28ми и 40ка выводные пики

печатка — скачать

]]>
http://elektro-shemi.ru/programmator_pic_kontrollerov_i_mikroskhem_pamjati_eeprom.html/feed 0
Программатор AVR pony prog http://elektro-shemi.ru/programmator_avr_pony_prog.html http://elektro-shemi.ru/programmator_avr_pony_prog.html#comments Wed, 11 Jan 2012 20:00:00 +0000 http://www.elektro-shemi.ru/programmator_avr_pony_prog.html

Скачать печатную плату

Скачать печатку, доработанную от Алексей69

главное настроить программу

]]>
http://elektro-shemi.ru/programmator_avr_pony_prog.html/feed 8
Программатор микроконтроллеров AVR / 89S совместимый с AVR910 http://elektro-shemi.ru/programmator_mikrokontrollerov_avr_89s_sovmestimyj_s_avr910.html http://elektro-shemi.ru/programmator_mikrokontrollerov_avr_89s_sovmestimyj_s_avr910.html#comments Tue, 10 Jan 2012 20:00:00 +0000 http://www.elektro-shemi.ru/programmator_mikrokontrollerov_avr_89s_sovmestimyj_s_avr910.html

Конструкция

    Схема программатора приведена на рисунке ниже. Предохранитель F1 служит для защиты линий питания порта USB от случайного замыкания по цепям питания программатора. Диоды VD1, VD2 – обычные выпрямительные, с прямым падением напряжения ~0,6…0,7В, предназначены для понижения питания микроконтроллера DD1 до 3,6 В. Согласно документации ATMEL на ATmega8(L), микроконтроллер может работать при таком напряжении питания до частоты немногим выше 14 МГц. Светодиоды VL1(«RD”), VL2(«WR”) сигнализируют о текущих действиях программатора, и, соответственно, обозначают режимы чтения и записи. Светодиод VL3(«PWR”) предназначен для сигнализации подачи питания на программатор.

Джампер J1 – (MODify) служит для начального программирования управляющего МК программатора. При его замыкании, к разъему ISP подключается внешний программатор и производится загрузка в МК управляющей программы. После программирования управляющего МК программатора этот джампер необходимо разомкнуть и замкнуть джампер J2 — NORMal.
    С помощью джампера J3 LOW SCK возможно понижать тактовую частоту порта SPI МК программатора до ~20 кГц. При разомкнутом джампере частота SPI нормальная, при замкнутом — пониженная. Переключать джампер можно на ходу, так как управляющая программа МК программатора проверяет состояние линии PB0 при каждом обращении к порту SPI. Не рекомендуется переключать джампер при запущенном процессе записи/чтения программируемого МК, т.к., скорее всего, это приведет к искажению записываемых/читаемых данных. Джампер J3 введен для возможности программирования МК AVR, тактируемых от внутреннего генератора 128 кГц.
    Резисторы R10 — R14 предназначены для согласования уровней сигналов МК программатора и внешних, подключенных к программатору, цепей (программируемый МК или другой программатор).
    Тактовая частота порта SPI МК программатора при разомкнутом джампере J3 равна 187,5 кГц. Это позволяет программировать контроллеры с тактовой частотой примерно от 570 кГц для ATtiny/ATmega, 750 кГц для 90S и 7,5 МГц для 89S. Контроллеры программируются от 10 до 30 секунд (при использовании утилиты AVRProg v.1.4 из пакета AVR Studio) вместе с верификацией в зависимости от объема FLASH памяти и тактовой частоты.
    На вывод LED разъема ISP выведен меандр с частотой 1 МГц для «оживления» МК, у которых были ошибочно запрограммированы фьюз-биты, отвечающие за тактирование. Сигнал генерируется постоянно и не зависит от режима работы программатора.
    Программатор тестировался с программами AVRProg v.1.4 (входит в пакет AVRStudio), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Кроме того, программатор тестировался с программой AVRDUDE, однако, программа с данным программатором не совместима, так как не все команды протокола AVR910 отрабатывает корректно.
    На данный момент с вышеперечисленными программами протестировано программирование контроллеров 89S53, 89S8252, 90S2313, 90S8515, ATtiny13, ATtiny26, ATtiny45, ATtiny2313, ATmega48, ATmega8, ATmega8515, ATmega8535, ATmega16, ATmega32, ATmega64, ATmega128, AT90CAN128.
    Я рекомендую повторять схему один-в-один, так как выкидывание «лишних» деталей из схемы может привести либо к неправильному функционированию программатора, либо к возможному выходу из строя USB порта на РС, за что, естественно, я ни какой ответственности не несу.

Детали

    Управляющий МК без переделки схемы можно заменить на ATmega8-16PU (Корпус PDIP-28). Можно так же использовать МК ATmega8-16 c другими буквенными индексами (корпуса TQFP или MLF). Но, следует помнить, что нумерация выводов у МК в корпусах TQFP и MLF отличается от нумерации выводов МК в корпусе PDIP-28.
    Диоды VD1 и VD2 – любые выпрямительные малогабаритные с прямым падением напряжения ~0,6…0,7В.
    Светодиоды типа АЛ307БМ.
    Конденсатор С5 – электролитический, с номинальным напряжением не менее 10 вольт. Остальные конденсаторы – обычные малогабаритные керамические.
    Резисторы – МЛТ-0,125.
    Разъем USB – типа USBB-1J (Разъем USB(м) на плату. Тип В).
    Разъем ISP – типа BH-10 (Двурядный разъем IDC-Вилка 2х5 на плату.

Прошивка FUSE BITS

    Для нормального функционирования контроллера в схеме необходимо, чтобы были запрограммированы (установлены в «0») биты SPIEN, CKOPT, SUT0 и BODEN. Обычно микроконтроллеры , идущие с завода, т.е. новые, имеют уже запрограммированный бит SPIEN. Остальные биты должны быть незапрограммированные (установлены в «1»).

Инсталляция

Windows 2000/XP/Vista/Seven 32-bit

    Прошить контроллер. Подключить свежеиспеченный программатор к РС через свободный разъем USB. Операционная система найдет новое устройство – AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к inf-файлу, в зависимости от установленной на вашем компьютере операционной системы.
     В архиве с прошивкой имеется папка «AVR910.Driver» в которой расположены три директории для разных вариантов операционных систем:
     —«2k_xp_32» — для операционных систем Windows 2000/XP 32-bit (используется штатный драйвер usbser.sys)
     —«vista_xp_32» — Для операционных систем Windows XP/Vista/Seven 32-bit(usbser.sys + lowbulk.sys[32-bit] от Osamu Tamura)
     —«vista_xp_64» — Для операционных систем Windows XP/Vista/Seven 64-bit(usbser.sys + lowbulk.sys[64-bit] от Osamu Tamura

Особенности установки:

Windows 2000

     В принципе, инсталляция не отличается от подобной для Windows XP, но есть одно НО — задержки в драйвере usbser.sys данной ОС портят цепочку команд от ПО на РС до программатора и, соответственно, цепь ответов обратно от программатора до ПО на РС… Проблему я пока не установил, но есть решение. Конечно не самое красивое, но работает надежно 🙂 Необходимо заменить файл usbser.sys в системных папках Windows 2000 на аналогичный от Windows XP. Это папки …\winnt\system32\drivers\ и …\winnt\system32\dllcashe\. Файл usbser.sys от Windows XP SP1 можно взять здесь. Естественно, что драйвер придется подменять загрузившись под другой ОС (например с загрузочного диска).

Windows XP/Vista/Seven 64 bit

   Чтобы использовать драйвера на 64 битной платформе, Вы должны отключить проверку цифровых подписей драйверов, нажимая функциональную клавишу F8 во время начала загрузки системы.
   Второй вариант, использование программы «Driver Signature Enforcement Overrider», которая подписывает драйвер как «testdriver» и активизирует «testmode», таким образом Вы можете загрузить драйвер без реальной цифровой подписи. Вы можете найти более детальное описание на странице программы, пройдя по ссылке выше.

    Установка:
    1. Загрузить ««Driver Signature Enforcement Overrider»;
    2. Запустите DSEO (инсталляция не требуется).
    3. Выберите «Sign a System File», нажмите кнопку «Next» и выберете файл avr910.usb.vista.xp.64.inf из директории …AVR910.Driver/vista_xp_64/.
    4. Выберите «Sign a System File» еще раз, нажмите кнопку «Next» и выберете файл lowbulk.sys из директории …AVR910.Driver/vista_xp_64/.
    5. Выберите «Enable Testmode»  и нажмите кнопку «Next».
    6. Перезапустите свой компьютер.

    Оригинальные драйвера для AVR CDC от Osamu Tamura можно взять здесь.

Настройка

     Как правило, правильно собранный, программатор с правильно запрограммированным МК в настройке не нуждается. Есть единственное замечание – если у программируемого МК вход RESET подтянут к напряжению питания резистором, то номинал резистора не должен быть ниже 10 кОм – это связанно с пониженным напряжением питания управляющего МК программатора и введением ограничительных резисторов на шине ISP-разъема.

Если возникли проблемы

  • Проверить схему на отсутствие ошибок, обрывов и коротких замыканий.
  • Проверить напряжение питания на выводах питания (7, 8) МК программатора – оно должны быть в пределах 3,5 – 3,8 вольт.
  • Проверить, запустился ли кварцевый генератор МК. Это можно сделать с помощью осциллографа, подключив его к выводу 10 МК. Если нет осциллографа, то можно определить запуск генератора и с помощью обычного светодиода. Для этого к выводу 10 МК через токоограничительный резистор номиналом 330 – 510 Ом подключается светодиод, анодом к МК, катодом на землю. При подаче питания светодиод должен слабо светиться. Следует заметить, что программатор не будет определяться ни одной ОС, если номинальная частота кварца отличается от 12 МГц. Это связанно с особенностями работы USB – тактовая частота передачи данных по USB для Low Speed Device равна 1, 5 МГц – тактовая частота управляющего МК программатора должна быть ровно в 8 раз выше.
  • Проверить, запустилось ли внутренняя программа в МК программатора. На контакте LED ISP-разъема должен присутствовать меандр частотой 1 МГц. Наличие меандра так же можно проконтролировать с помощью осциллографа. Если нет осциллографа, можно произвести проверку при помощи светодиода. Светодиод подключается анодом к контакту LED, катодом к любому контакту GND ISP-разъема. При подаче питания светодиод должен светится в «полнакала». При замыкании пинцетом ножек кварцевого генератора светодиод должен либо засветится в «полный накал», либо свечение должно отсутствовать.

Файлы

    Все архивы содержат файл прошивки, установочный inf-файл и схему в формате Adobe pdf. Кроме этого старые версии содержат описание в виде старой html страницы.

    avr910_usb_programmer.files.ver.1.04.rar Версия от 16.12.2006. Добавлено подключение внутреннего pull-up резистора ко входу MISO МК программатора во время программирования таргета. Возможно, будет полезно при чтении плат с пониженным напряжением питания, да и вообще, думаю, положительно скажется на надежности чтения программируемого МК… Обновлен драйвер для Windows XP/Vista 32/64-bit.

  1.     avr910_usb_programmer.files.ver.1.05.rar Версия от 17.01.2007. Добавлен джампер J3 LOW SCK для понижения тактовой частоты порта SPI программатора. Обновлен драйвер для Windows XP/Vista 32/64-bit. В настоящий момент самая свежая версия прошивки

    avr910_usb_programmer_source.v.1.05.rar Исходники версии 1.05. Заточено и обкатано на IAR v.4.10B

печатная плата  скачать

три варианта печаток, два с них смд  скачать

]]>
http://elektro-shemi.ru/programmator_mikrokontrollerov_avr_89s_sovmestimyj_s_avr910.html/feed 10
версия PCB адаптера JDM. http://elektro-shemi.ru/versija_pcb_adaptera_jdm.html http://elektro-shemi.ru/versija_pcb_adaptera_jdm.html#comments Mon, 02 Jan 2012 20:00:00 +0000 http://www.elektro-shemi.ru/versija_pcb_adaptera_jdm.html

Версия PCB адаптера JDM. Работал с контроллерами 12F509, 16F84A, 16F628A.12f629 С огромной долей вероятности можно предположить, что также будет работать с остальными 8-ми и 18-ти выводными PIC’ами. Схема взята из журнала РАДИО №2, 2004г. (цикл статей ‘Программаторы и программирование микроконтроллеров’). Вот так

\
программа для програматора

печатная плата

]]>
http://elektro-shemi.ru/versija_pcb_adaptera_jdm.html/feed 2
AVR ATmega и ATtiny — AvrUsb500 http://elektro-shemi.ru/avr_atmega_i_attiny_avrusb500.html http://elektro-shemi.ru/avr_atmega_i_attiny_avrusb500.html#respond Thu, 08 Dec 2011 20:00:00 +0000 http://www.elektro-shemi.ru/avr_atmega_i_attiny_avrusb500.html  Чем дальше, тем меньше остаётся на корпусах компьютеров проверенных, изученных вдоль и попе­рёк портовLPT,COM. Хотя ещё можно приобрести компьютер (пусть и б/у) с такими портами для использования его в качестве «рабочей лошадки», всё же приходится задумываться о грядущей за­мене (мо­дернизации) аппаратуры навешанной на старые порты. В частности, что-то нужно делать с ин­стру­ментами для программирования микроконтроллеров. И лучшие люди Отечества (в данном случае,Petka) не дремлют. В результате, появился работоспособный программатор для внутрисхемного програм­мирова­ния микроконтроллеровAVR, совместимый сSTK500v2.

 

            Достоинства данной конструкции:

 

—  аппаратный преобразователь USB — COM (не надо извращаться с программной реализа­цией USB);

—  новый протокол от Atmel. Теперь не требуется перешивать программатор при появлении но­вых чипов;

—  решена проблема «курицы и яйца» (как / чем запрограммировать микроконтроллер про­грам­матора);

—  возможность изменения режимов работы программатора, при помощи любой терми­наль­ной программы, например HyperTerminal;

—  возможность тактирования программируемого микроконтроллера сигналом 1 МГц;

—  готовый пакет документации, со всеми необходимыми исходниками (схемы, прошивки, чер­тежи печатных плат, исходные тексты программы микроконтроллера).

 

   К недостаткам проекта в целом, можно отнести некоторую «размытость» полезной информации по 50-ти страницам форума, что приводит к определённым трудностям при повторении конструкции.

 

            Нужно отметить, что если под рукой ничего, кромеUSBпорта нет, то выход только один — соби­рать программатор AvrUsb500 by Petka «как есть», проще уже не будет.

 

Однако в ряде частных случаев конструкцию можно упростить:

 

—  уже имеются проверенные инструментальные средства для программирования микро­кон­трол­леров. В этом случае гораздо проще прошить МК программатора отдельно. Если размеры будущего программатора большой роли не играют и допустимо использовать МК в корпусе DIP, то этот вариант однозначно предпочтительнее;

—  в наличии есть готовый преобразователь USB — RS232 промышленного изготовления с драй­верами и т.д. Было бы разумно использовать его в качестве «составляющей» программатора. Тогда, правда, придётся делать внешнее питание программатора (не от порта USB). В случае автора статьи это не было препятствием, поскольку питание всех имеющихся внутрисхемных программаторов выполнено от программируемых устройств.

 

            В результате схема программатора AvrUsb500 by Petka приведена к следующему виду:

 

 

Вся документация по программатору находится в архиве «Stk500″ (). Содержи­мое ар­хива:

 

Atmega8_14745600.hex

прошивка для микроконтроллера программатора (ATmega8), при частоте кварцевого резонатора 14,7456 МГц (из архива AvrUSB500_by_Petka_HEX_SRC_v6_uni)

 

Терминал STK500.ht

файл программы HyperTerminal необходимый для первона­чаль­ных настроек программатора

 

1. Схема.pdf

принципиальная схема программатора

 

2. Нижняя сторона ПП (ЛУТ).pdf

8 копий рисунка печатной платы для ла­зерно-утюж­ной тех­нологии изготовления ПП

 

3. Сборочный чертёж.pdf

расположение компонентов на печатной плате + рису­нок пе­чат­ной платы со стороны деталей (вид «сквозь плату») + рисунок со стороны дорожек

 

4. Фьюзы.pdf

файл с указанием фьюзов, которые необходимо выставить при про­шивке мик­роконтроллера программатора

 

5. Исходник (Схема).pdf

исходная схема программатора (проект AvrUsb500 by Petka)

 

6. Исходник (Перечень).pdf

перечень элементов (проект AvrUsb500 by Petka)

 

 

            Позиционные обозначения элементов на схемах совпадают. Вновь введённые элементы обозна­чены символом(‘)у названия элемента.

Детали и конструкция

            По условиям задачи на плате программатора должны быть установлены два разъемаDB-9 и микро­контроллерATmega8 в корпусеDIP. Отсюда ясно, что особенно бороться за миниатюризацию бес­смысленно. Поэтому изSMDкомпонентов — только конденсаторыC8,C9 типоразмера 0805.

            Программатор собран на пластине одностороннего фольгированного стеклотекстолита. Размеры пластины указаны на сборочном чертеже. На плате имеются две перемычки: одна находится под разъё­момSPI(на рисунке слева), другая рядом с тем же разъёмом.

            Для удобства трассировки на печатной плате отсутствуют выводы 11, 12, 17, 18 микроконтрол­лера. Перед монтажом панельки МК необходимо вынуть из неё пинцетом указанные контакты.

            На рисунке показан внешний вид программатора, подключённый к преобразователю интерфейса ProlificUSBtoSerial Comm Port(драйверPL-2303):   

 

AvrUsb500

 

            Распиновка и тип разъёмаSPIобусловлен задачами автора статьи и совместимостью с другими имеющимися программаторами.

            При сборке данного программатора под рукой не оказалось резонатора на требуемую частоту 14,7456 МГц. Взамен установлен резонатор со старой материнской платы на частоту 14,3181 МГц. Сбоев в работе программатора не наблюдалось.

Подготовка к работе

            После монтажа программатора необходимо запрограммировать микроконтроллер. При этом должны быть запрограммированы (т.е. установлены = «0») следующие фьюзы (ATmega8, 14.7456 МГц):

 

SUT1

= 0

BOOTSZ1

= 0

BOOTSZ0

= 0

CKOPT

= 0

SPIEN

= 0

 

            Все остальные фьюзы должны быть незапрограммированные, т.е. установлены = «1». Как пра­вило, установка флажка напротив названия фьюза в программе программатора, соответствует програм­мированию соответствующего фьюза, однако бывают исключения.

 

Самый простой способ разово запрограммировать МК— воспользоваться компьютером сLPTпор­том и какой-либо программой-программатором. Для этого нужно подключить микроконтроллер компьютеру в соответствии со схемой:

 

 

 

 

            Питание микроконтроллера можно взять от блока питания компьютера (красный провод в любом разъёме). Для программирования воспользуемся простой бесплатной программой UniProF (см.файлы к статье). В архиве с программой есть справка (как любую техническую документацию, её настоя­тельно рекомендуется прочитать, чтобы не задавать бестолковых вопросов), поэтому отметим главное:

                        — при запуске программа автоматически определяет тип микроконтроллера, если, конечно, исправна и работает аппаратная часть. Загрузив в программу файл прошивки Atmega8_14745600.hex и отказавшись от загрузки файлаEEPROM, получим следующую картину:

 

 

            Предварительно очистив память микроконтроллера через кнопку «Erase«, жмём на кнопку «Prog» — запись выбранного файла программы в память микроконтроллера. Успешная запись программы завер­шается без сообщений;

                        — установка фьюзов. Нажав кнопку «FUSE«, попадаем в окно настойки, где необходимо выста­вить следующее:

 

AvrUsb500

 

 

            Как видно из рисунка, эта программа из ряда «исключений», т.е. запрограммированному фьюзу соот­ветствует снятый флажок. После расстановки флажков жмём подряд три кнопки «Write«. Всё, кон­троллер запрограм­миро­ван;

                        — в этой программе назначение сигналовSCK,MOSI,MISO,RESET наLPTпорт задаётся через кнопку «LPT pins«. Настройки должны соответствовать приведённой схеме соединенияLPT и МК:

 

 

 

            Этим диалогом следует воспользоваться при первом запуске программы, до подключения МК, (проверить правиль­ность распиновки), а также в случае частично «палёного» порта, когда некоторые пины порта не действуют.

            После установки запрограммированного микроконтроллера в программатор, подключаем кабель преобразователяUSBCOM. В диспетчере устройств операционной системы узнаём номер появивше­гося виртуального порта, запускаем программу HyperTerminal. Запуск программы либо из главного меню Пуск \ Программы \ Стандартные \ Связь \ HyperTerminal  (C:\ ProgramFiles \ Windows NT \ hypertrm.exe), либо через файл в архиве с документацией. Основные настройки программы, кроме номера порта, сле­дующие:

                        — параметры порта:

 

 

                        — параметры терминала:

 

 

 

 

                        —параметрыASCII:

 

 

 

 

            После выполнения настроек включают питание программатора. При этом светодиод должен быстро миг­нуть шесть раз, затем светиться постоянно (горизонтальный масштаб 100 мс/дел):

 

 

 

            Далее, в программе HyperTerminal два раза нажимаем «Enter» на клавиатуре. Должно поя­виться сообщение:

 

 

            Если сообщение не появляется, нужно проверить осциллографом прохождение сиг­нала по линииPC_TxDот преобразователяUSBCOMк микроконтроллеру. Периодически нажимая клавишу «Enter» на клавиатуре проверяют наличие и амплитуду сигнала. Верхняя эпюра соответствует сигналу на контакте 3 разъёмаRS-232, нижняя — на выводе 2 микроконтроллера. Вертикальный масштаб: 5 В/дел, горизон­тальный масштаб: 20 мкс/дел:

 

 

            Если данные к микроконтроллеру поступают, проверяем «ответ» микроконтроллера на получен­ную команду. На верхней эпюре показан сигнал на выводе 3 микроконтроллера после нажатия «Enter«, на нижней — сигнал на контакте 2 разъёмаRS-232. Вертикальный масштаб: 2 В/дел, горизонтальный мас­штаб: 20 мкс/дел:

 

 

            Амплитуды всех сигналов за исключением контакта 3 разъёмаRS-232 должны быть близки к напря­жению питания программатора.

            Итак, если сообщение есть, вводим цифру «2», нажимаем «Enter«. После этого появляется новая строка:

 

 

            Переключаем раскладку на английскую, и вводим букву «a«, что соответствует десятичной цифре «10». То, что сейчас было введено — версия программатора. Должна быть 2.10, иначе, данный програм­матор нельзя будет использовать с некоторыми управляющими программами «верхнего уровня».

            Программатор может детектировать наличие подключения к программируемому контроллеру. Де­лает это путём определения наличия «подтяжки» линии Reset к Vcc (со стороны программируемого мик­роконтроллера). Если подключение есть, то программатор включит светодиодHL1. Этот тест можно от­ключить или включить:

 

 

AvrUsb500

 

 

            «1», «Enter» — тест включён; «0», «Enter» — тест выключен.

            Сигнал 1 МГц включается / выключается в следующем «пункте меню»:

 

AvrUsb500

 

           

            «1», «Enter» — сигнал присутствует, скорость программирования небольшая; «0», «Enter» — сигнал вы­ключен, при этом скорость программирования максимальна. После этого конфигурирование программа­тора можно считать законченным:

 

 

AvrUsb500

 

 

            Программу HyperTerminal нужно закрыть. После этого пробуем запрограммировать какой-либо мик­роконтроллер. Для работы с программатором можно использовать программу AvrDUDE. Эта программа консольная, управляется из командной строки. Для упрощения использования имеется надстройка AvrdudeGUI, внешний вид которой показан на рисунке:

 

AvrUsb500

 

           

            Скорость работы программатора можно косвенно оценить по следующему: при от­ключенном сигнале 1 МГц программирование микроконтроллераATmega16 (размер прошивки 8 кБ, т.е. половина всей памяти данного МК) занимает 4 секунды.

 

Скачать [1.5 Mb] (cкачиваний: 114) печатку, прошивку, документацию

 

Еще один источник обсуждения статьи…

]]>
http://elektro-shemi.ru/avr_atmega_i_attiny_avrusb500.html/feed 0
Программатор AVR910 с USB интерфейсом http://elektro-shemi.ru/programmator_avr910_s_usb_interfejsom.html http://elektro-shemi.ru/programmator_avr910_s_usb_interfejsom.html#respond Tue, 18 Oct 2011 20:00:00 +0000 http://www.elektro-shemi.ru/programmator_avr910_s_usb_interfejsom.html Обозрением этой статьи будет предложенная Рыжковым Андреем схема программатора AVR910 с USB интерфейсом представленная на сайте: http://prottoss.com

С описанием конструкции этого программатора можно ознакомится по следующей ссылке: http://prottoss.com/projects/AVR910.usb.prog/avr910_usb_programmer.htm

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

Программатор поддерживается программами CodeVision, AVR Studio, AVRProg…




Рисунок 1 – Принципиальная электрическая схема.

На рисунке 2 представлен чертеж печатной платы программатора AVR910, выполненный в программе Sprint Layout 5. Печатная плата имеет габаритные размеры 66мм ? 45 мм, с двумя крепежными отверстиями под винты M3. При печати ее на фотобумаге в настройках программы Sprint Layout ставить галочку «зеркально» в настройках печати не надо.



Рисунок 2 – Печатная плата программатора.

На рисунке 3 представлен собранный программатор, в пластмассовом корпусе из каталога «Мастер КИТ».



Рисунок 3 – Общий вид готового устройства.

Данным устройством я пользуюсь уже больше двух лет. Пару раз выручал вывод LED при ошибочно установленных fuse-bits.

P.S. Для заливки прошивка в МК программатора советую воспользоваться простенькой схемой LPT-программатора, представленной на сайте «Железный Феликс»:

Скачать прошивку, печатную плату, програму для прошив

скачать три ваоианта печаток!

]]>
http://elektro-shemi.ru/programmator_avr910_s_usb_interfejsom.html/feed 0
Программатор STK200/300 для микроконтроллеров AVRPrint This Post http://elektro-shemi.ru/programmator_stk200_300_dlja_mikrokontrollerov_avrprint_this_post.html http://elektro-shemi.ru/programmator_stk200_300_dlja_mikrokontrollerov_avrprint_this_post.html#comments Mon, 17 Oct 2011 20:00:00 +0000 http://www.elektro-shemi.ru/programmator_stk200_300_dlja_mikrokontrollerov_avrprint_this_post.html Автор Code007
Опубликовано 27 Авг 2009 
Рубрики: Готовые устройства
Метки: ,

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.

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

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

]]>
http://elektro-shemi.ru/programmator_stk200_300_dlja_mikrokontrollerov_avrprint_this_post.html/feed 2
Простой программатор для AT89C2051 http://elektro-shemi.ru/prostoj_programmator_dlja_at89c2051.html http://elektro-shemi.ru/prostoj_programmator_dlja_at89c2051.html#respond Tue, 23 Aug 2011 20:00:00 +0000 http://www.elektro-shemi.ru/prostoj_programmator_dlja_at89c2051.html Устройство содержит всего 2 транзистора и 5 резисторов и позволяет только записывать без чтения и верификации.

Программное обеспечение для программатора — скачать

]]>
http://elektro-shemi.ru/prostoj_programmator_dlja_at89c2051.html/feed 0
AVR — USBAsp http://elektro-shemi.ru/avr_usbasp.html http://elektro-shemi.ru/avr_usbasp.html#respond Tue, 02 Aug 2011 20:00:00 +0000 http://www.elektro-shemi.ru/avr_usbasp.html
ак как у многих уже давным давно нет ни COM ни LPT порта, то я решил выложить схему USB программатора для AVR. Это будет широко известный в узких кругах USBASP. Схема простая как три копейки, но COM или LPT порт все же потребуется — для того, чтобы прошить управляющий контроллер. Так что можешь сходить к другану. Программатор строится на контроллере ATMega48 или ATMega8. Нужна именно 8 или 48, без всяких индексов L. Так как у нас требуется частота выше чем 8 Мгц.

СБОРКА
Так как я стараюсь не выкладывать непроверенные решения, то я повторил этот программатор. Чисто для себя, поприколу. Подобрал наиболее компактную схему и перевел ее в формат Sprint Layout. Изготовил печатную плату, стравил. Засверловал и напаял компоненты. Микросхему рекомендую ставить на панельку.

Прошивка программатора
Далее замыкаем перемычку J1 и J2 и подключаем к разьему стандартный последовательный программатор, да хоть тот же программатор Громова. Программатор должен иметь свое питание, иначе нужно подать его на схему.

И заливаем в проц прошивку. Для ATMega8 одна прошивка, для ATmega48 другая. Дальше нужно выставить биты конфигурации.

Для ATMega48:
Старший байт FUSE выставляется как 0хDD, младший 0xFF. На картинке я привел скриншот из UniProf с правильно расставлеными битами конфигурации для контроллера ATMega48.

Если применяется контроллер ATmega8, то байты FUSE таковы:
Старший 0xC9, младший 0xEF


Настройка в работу
После прошивки нужно снять перемычку J1 и все, можно втыкать в комп. Сразу же должно обнаружитсья USB устройство. Скармливаем ему дрова и у нас в системе появляется новый девайс — USBAsp. Если система ругается на драйвера, говорит, что это не драйвер, а фуфел какой то. Значит контроллер либо криво прошился, либо ты забыл снять перемычку J1.

Перемычка J3 используется для прошивки контроллеров у которых частота не превышает 1.5 МГц. Я ее поставил, без нее у меня мега 8 не хотела определяться. Потом подправил меге Fuse биты, чтобы она заработала на 8 Мгц, перемычку не снял, но работает. Слышал, что подправили и теперь перемычку можно не дергать туда сюда.

Красный светодиод показывает, что программатор подключен к USB и запитан. Зеленый, что идет обращение к прошиваемому контроллеру. 

Прошивающий софт
Все, теперь можно подключать к программатору провод и тыкать им в прошиваемые контроллеры.
Единственная софтина которая поддерживает этот программатор это AVR-чувак, она же дудка, она же AVRDUDE. Мощнейший консольный программатор. Не стоит пугаться его консольности, во первых батники никто не отменял, а во вторых не него существует несколько оболочек.

ВНИМАНИЕ! В той GUI оболочке что находится в архиве ИНВЕРСНЫЕ FUSE!!! То есть если в даташите написано, что дефолтные SCKEL3..0 = 0100 то тут будет показан 1011!!! Короче, как в PoniProg. Чего эти утырки так вертят эти несчастные FUSE я понять не могу, хоть бы предупреждали, а то бы залочил кристалл нахрен.

Конфигурирование Fuse для Mega48

Fuses для Mega8


Программатор должен появится в диспетчере устрйств

GUI Оболочка на AVRDUDE


Вот, пример командной строки для прошивки через USBAsp — Записываем main.hex во флеш ATmega8:

 avrdude -c usbasp -p atmega8 -U flash:w:main.hex

В архив usbasp.rar я сложил все файлы необходимые для этого программатора:

  • Прошивка для ATMega 48 и ATMega 8
  • Драйвер для винды
  • Схема
  • Печатная плата в формате Sprint Layout
  • Фотки
  • AVRDUDE
  • GUI к AVRDUDE

UPD:
Для тех у кого вдруг пишет, что архив битый, я выложил то же самое в ZIP —USBASP.ZIP

Проверено — работает! Пользуйтесь 🙂

Страничка автора USBASP — там обновления прошивок, драйверов и варианты разводок плат.

Страничка разработчика GUI оболочки для AVRDude

]]>
http://elektro-shemi.ru/avr_usbasp.html/feed 0
Универсальный программатор avr-usb http://elektro-shemi.ru/universalnyj_programmator_avr_usb.html http://elektro-shemi.ru/universalnyj_programmator_avr_usb.html#respond Tue, 02 Aug 2011 20:00:00 +0000 http://www.elektro-shemi.ru/universalnyj_programmator_avr_usb.html Универсальный программатор avr-usb

Универсальный программатор AVR-USB предназначен для внутрисхемного последовательного программирования микроконтроллеров AVR. Является функциональным аналогом программаторов USBASP, AVR910_usb_programmer(prottoss), STK500, работающих от USB. Выбор типа программатора осуществляется путём его перепрошивки файлом usbasp.hex (по умолчанию), avr910usb.hex, либо STK500.hex. Скачать файлы.

 

usbasp

Технические параметры.

ОС: Windows NT/2000/XP/VISTA/WINDOWS 7
Питание: от USB
Потребляемая мощность: не более 2,5 ВА
Температура окружающей среды: -40…+50С
Цена: 750р. [купить]

 

Разъём программатора.

razem

Прошивка FUSE BITS.

Для всех типов программатора установить в «0” биты SPIEN, CKOPT , SUT0, BODEN. Остальные установлены в «1”.

 

Универсальный программатора AVR-USB ? USBASP.

Замкнув контакты 1 и 3 на программаторе, прошить контроллер программатора (через существующий разъём) файлом USBasp.hex (расположен в папке HEX). Замкнув контакты 1 и 2, подключить программатор к РС через свободный разъем USB. ОС найдет новое устройство – USBASP при предложении автоматически найти драйвер, отказаться, и указать путь к файлу …\driver\usbasp-windriver\usbasp.inf. При предупреждении, что драйвер не имеет цифровой подписи, нажать «согласен». После удачной установки программатор должен появиться в диспетчере устройств.

Для программирования AVR микроконтроллеров данным программатором, можно воспользоваться программой USBASP_AVRDUDE_PROG.

 

Универсальный программатора AVR-USB ? AVR910_usb_programmer(prottoss).

Замкнув контакты 1 и 3 на программаторе, прошить контроллер программатора (через существующий разъём) файлом avr910usb.hex (расположен в папке HEX). Замкнув контакты 1 и 2, подключить программатор к РС через свободный разъем USB. ОС найдет новое устройство – AVR910 USB Programmer, при предложении автоматически найти драйвер, отказаться, и указать путь к файлу …driver\usb910-windriver\avr910usb.inf. При предупреждении, что драйвер не имеет цифровой подписи, нажать «согласен». После окончания установки необходимо изменить номер ком порта (COM1 — COM4) в диспетчере устройств в: AVR910 USB Programmer -> Свойства–> Параметры порта -> Дополнительно -> Номер COM-порта для его последующего автоматического определения различными программами. После удачной установки программатор должен появиться в диспетчере устройств.

avr

Для программирования AVR микроконтроллеров данным программатором, можно воспользоваться программой

AVR910 (CodeVisionAVR C Compiler, AvrStudio и т.п.).

 

Универсальный программатора AVR-USB ? STK500.

Замкнув контакты 1 и 3 на программаторе, прошить контроллер программатора (через существующий разъём) файлом usbasp-mega8-12mhz.hex (расположен в папке HEX). Замкнув контакты 1 и 2, подключить программатор к РС через свободный разъем USB. ОС найдет новое устройство – AVR-Doper, при предложении автоматически найти драйвер, отказаться, и указать путь к файлу …driver\stk500\avrdoper.inf (avrdoper-vista.inf). При предупреждении, что драйвер не имеет цифровой подписи, нажать «согласен». После удачной установки программатор должен появиться в диспетчере устройств.

Запускаем AVRStudio. Tools -> Programm AVR -> Connect…

STK500_2

Выбираем STK500 и номер порта, который появился в системе. Нажимаем «Connect».

AVRStudio предложит обновить ПО программатора. Необходимо отказаться, нажав «Отмена».

 Скачать файлы.

]]>
http://elektro-shemi.ru/universalnyj_programmator_avr_usb.html/feed 0