STK500v2 Мой вариант данного программатора

С самого начала, как только я начал заниматься микроконтроллерами, я собрал себе самый простой STK200 программатор и пользовался им до этого момента. Но в последнее время он перестал меня устраивать и я начал искать альтернативу.
Что из этого вышло я и постараюсь рассказать далее.
 
 


К программатору у меня были следующие требования:
  • Скорость прошивки
  • Работа с avrstudio, avrdude и другими распространенными программами
  • USB интерфейс (не программный)
  • Возможность прошивки устройств с различными напряжениями питания (1.5v — 5v)


   По всем параметрам мне понравился клон Avrisp mkII. Он был собран и опробован на макетке. По скорости прошивки, думаю, он безусловный лидер. Но у него есть один недостаток, из за которого я отказался его собирать, это невозможность работы с avrstudio и с avrdude одновременно. Тип программы, с которой будет работать программатор задается на этапе компиляции прошивки. Меня это не устраивало.

   Позже был найден проект AvrUsb500v2, на основе которого я и сделал себе программатор.
Этот проект был мной доработан программно и схемотехнически. Главная программная доработка, пожалуй, это замена программного spi интерфейса на аппаратный, что дало значительный прирост скорости прошивки. (Полностью atmega8 зашивается за 2 секунды, с верификацией 3 секунды) Теперь скорость isp соответствует выбранной в avrstudio и может меняться от 4kHz до 1.845 MHz. Скорость и другие настройки сохраняются в eeprom.
Также было исправлено несколько багов, переработан местами алгоритм работы программы, добавлена возможность просмотра напряжения питания программируемой схемы в avrstudio. Добавлена возможность генерации внешнего тактового сигнала на 3 ножке 10-пинового isp коннектора. Частота сигнала устанавливается из окна настроек avrstudio и может менятся от 112.5 Hz до 3.686 MHz, либо генерация сигнала вообще может быть отключена.
Добавлена возможность обновления прошивки программатора через bootloader.



   В схему я добавил буферы на все линии, для возможности программирования схем с различным напряжением питания (1.5-5v) На линии reset тоже стоит буфер. Это дает возможность программирования нескольких поддерживаемых AT89S* микроконтроллеров, которые сбрасываются плюсом. Если поддержка их не нужна, можно сэкономить на буфере и поставить транзистор (схема и прошивка такого варианта в архиве ниже).
После того, как прошивка зашита в целевое устройство, все буферы, кроме буфера в линии Ex. Clock переводятся в Hi-Z состояние. Буфер в линии Ex. Clock переводится в Hi-Z состояние если выключена генерация внешнего тактового сигнала.
Если не подключено целевое устройство, все буферы, включая Ex. Clock, переводятся в Hi-Z состояние.
В спящем режиме программатора (см. ниже.) все буферы переводятся в Hi-Z состояние.
   В качестве usb-uart преобразователя используется CP2102.
   Три светодиода индицируют работу программатора.
LED1 — горит, если связь с компьютером установлена, мигает если связи с компьютером нет (компьютер в спящем режиме, компьютер выключен и т.д.).
LED2 — горит при подключении программируемой схемы.
LED3 — обмен данными с компьютером.
Кнопка S1 — режим обновления прошивки, я её не выводил. При необходимости обновления просто замыкаю пинцетом 2 и 3 ножки атмеги (либо 1 и 2 в данной прошивке). Чтобы войти в bootloader необходимо на подключенном к компьютеру программаторе просто замкнуть эти ножки (пинцетом например), при этом никаких переподключений не требуется. Пока мы в бутлоадере горят все три светодиода. Прошивка обновляется средствами avrstudio программой avrprog.
На транзисторе VT1 собрана защита входа VCC от переплюсовки без падения напряжения.
В схеме использована Atmega88. Т.к. SPI теперь используется аппаратный, для достижения минимальных скоростей isp используется программный делитель частоты. В Atmega8, например, его просто нет.

Схема в формате pdf в архиве ниже.


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





Под этот корпус делалась плата, корпус вообще без всяких отверстий.


Такая получилась плата.




На заводской плате:



Спичечный коробок для масштаба


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








В режиме бутлоадера


Программатор в работе


Во вложении схема в pdf, прошивки (bootloader и основная), печатная плата в формате sprint layout 6.0.

UPD.
Обновил прошивку. Теперь минимальная скорость ISP не 14 а 4KHz, что дает возможность программировать контроллеры с низкочастотным кварцем, например часовым.
Такой низкой скорости удалось достигнуть использованием программого spi, на остальных частотах задействован аппартный spi модуль.

UPD1. от 30.03.2013
Обновил прошивку и бутлоадер.
— Изменена работа с бутлоадером, теперь при включении программатора работа начинается не с него, а с разу с основной программы. Чтобы войти в бутлоадер, необходимо на подключенном к компьютеру программаторе замкнуть 1 и 2 либо 2 и 3 ножки микроконтроллера.
— Для исключения дребезга при работе со схемами на граничном напряжении 1.6в введен небольшой гистерезис.
— Мелкие исправления.
! Данная версия прошивки и бутлоадера не совместима с предыдущей! Если хоте обновить, делайте, как написано ниже.

Порядок первой прошивки программатора после сборки:
— Зашейте bootloader.hex и установите фьюзы сторонним программатором. (Прошивка и фьюзы в архиве ниже).
— Подключите программатиор к компьютеру (светодиоды гореть не будут), убедитесь, что номер определившегося com порта не превышает 4.
— Откройте Avr Studio 4 версии, запусти Tools -> AVR Prog., Если все сделали правильно, откроется окошко AVRprog.
— Зашейте по очереди файлы STK500.hex во влеш и STK500.eep в еепром. Нажмите Exit.
— Загорится зеленый светодиод — программатор готов к работе.

UPD2. от 30.03.2013
Конфигурация CP2102.
Скачайте и установите последнюю версию драйвера CP210x, если у вас его ещё нет.
Подключите программатор к компьютеру, запустите программу CP210xSetIDs.exe (скачать), в выпадающем списке выберите подключеннный программатор, заполните поля Max power, Serial Number* и Product String, как показано на скриншоте, не забудьте установить галочки. Нажмите «Program Device».
* Поле Serial Number заполните произвольным набором букв и/или цифр, это нужно для того, чтобы программатор не конфликтовал с другими устройствами на CP2102.
(Кликните для увеличения)


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


Для корректной работы программатора необходимо на вкладке «Управление электропитанием» снять галочку.


UPD3. от 04.06.2013
Добавил в архив схему и прошивку (файлы с префиксом RSTINVERT_) с транзистором вместо буфера на линии reset. Таким образом можно сэкономить один буфер, но теряется поддержка нескольких (старых и экзотических) микроконтроллеров, с инвертированным reset.
  • +3
  • 17 февраля 2012, 23:41
  • Bonio
  • 1
Файлы в топике: STK500v2.zip

Комментарии (203)

RSS свернуть / развернуть
Что-то я не понял, а бутлоадер как прошивается?
0
  • avatar
  • ACE
  • 18 февраля 2012, 03:17
Очевидно программатором))
0
Здорово! Это многое прояснило :)
А теперь хотелось бы автора послушать, как именно, проводками подпаиваясь?
PS Линию D+ можно было провести по одной стороне, без переходов.
0
Контроллер запаивал уже прошитый. Прошивал предварительно в TQFP32-DIP32 панельке, я про неё тут писал.
0
Эта штуковина есть только программатор или как отладчик тоже может быть использована?
0
  • avatar
  • Aneg
  • 18 февраля 2012, 03:30
Только программатор.
0
Отлично! Вот так и должны делаться устройства- красиво, продуманно, аккуратно.
0
спасибо
0
Приятно смотреть на хорошо сделанное устройство.
0
спасибо
0
Вопросы… :)
1. «В качестве usb-uart преобразователя используется CP2102» А FT232RL может использоваться без доработок напильником?
2. «Добавлена возможность генерации внешнего тактового сигнала на 3 ножке 10-пинового isp коннектора.» Может лучше это было вывести на отдельный, одиноко стоящий пин?
А в целом да, конструкция зачетная. Однозначно рекомендовать к повторению тем у кого еще пока нет :)
0
1. Конечно, FT232RL можно использовать, у неё корпус более паябельный. CP2102 я выбрал из за меньшего размера и меньшей цены. Не знаю только может ли FT232RL выдавать высокий уровень на ножке при отсутствии сигнала usb. Если отображение спящего режима не нужно, можно оставить вывод SUSPEND микроконтроллера подтянутым к минусу и никуда не подключать.
2. Мне показалось лучше оставить вывод в составе 10-пинового разъема. Всеравно, чтобы снять с него сигнал, надо подключить целевое устройство.
К тому же, так, например, сделано в stk200 программаторе.
0
Автор — молодец. Приятно смотреть на железку! :)
0
спасибо
0
У Вас переходные отверстия под корпусом микроконтроллера?
0
да, целых семь штук)
0
Хорошая работа! Аккуратно и красиво.
Как переходные отверстия под контроллером паял?
0
Несколько жилок тонкого провода пропаиваются с двух сторон. Со стороны контроллера получившиеся бугорки припоя аккуратно срезаются острым резаком.
0
да. Микрокусачки+дремель и маленький бугорок обеспечен) НО есть ограничения на пайку феном, если перестараться.
0
На корпусе баг!
0
Какой?
0
Действительно баг))) После фразы «Под этот корпус делалась плата, корпус вообще без всяких отверстий.»
0
А ведь действительно :))
0
Это же Lucanus cervus :)
0
Bonio, в схеме и на печатке Вашего программатора есть различия в подключении пятого вывода четырёх буферных
микросхем. Схема не последняя, раз у Вас всё работает?
0
Прощу прощения, в схеме действительно была ошибка, поправил. На плате её нет.
Спасибо Вам, что обратили внимание.
0
Вам спасибо!
0
Bonio, а бутлоадер с какой графической оболочкой работает?
0
AVRprog, невнимательно статью читал…
0
Bonio, правильно ли я понимаю, прошиваем bootloader и уже потом в режиме обновления прошивки зашиваем основной .hex?
0
Да, все верно. Сначала зашивается бутлоадер. Затем с помощью программы AvrProg, входящей в состав Avrstudio зашивается основная прошивка и прошивка eeprom.

Если что-то не получится, то можно зашить основную прошивку программатором, правда в таком случае уже не будет возможности обновиться прямо из студии.
0
Спасибо, все понял.

И еще хочу спросить на счет лицензии. Можно ли использовать материалы статьи для разработки новой версии платы под ваш программатор?
0
Конечно, я буду только рад ))
0
Вот замутил новую версию программатора (плату). Решил прошить и тут глитч. Скрины прилогаю:


Подскажите как спрятать изображения под спойлер?
0
У вас микроконтроллер Atmega88A или PA. У них вроде разные сигнатуры, выберите правильный вариант из списка. Другие микроконтроллеры шьются? программатор рабочий?

А под спойлер здесь нельзя спрятать, только на форуме.
0
А под спойлер здесь нельзя спрятать, только на форуме.
для лайвстрита плаг есть. почему барин его не включил — хз-хз…
0
МК ATmega88PA в него зашил bootloader с помощью программы ChipBlasterAVR (с вышеуказанными фузами). В момент записи FLASH вылетает ошибка, показанная выше. После всего этого мк отзывается на команды программатора (STK 200/300) и может по желанию стереть FLASH, в процессе стирания возникает аналогичная ошибка… Хотелось бы спросить с чем может быть связанна данная проблема (может кто-нибудь сталкивался ранее).

P.S. Для удобства бросаю PCB (P-CAD 2006)
0
0
Тоесть булоадер нормально зашивается? Попробуйте тогда прошить основную программу из студии.
Ошибка такая, думаю, может возникать из за слишком длинных проводов программатора. Если провода действительно длинные, попробуйте уменьшить. Можно ещё попробовать снизить скорость программирования.

Файл битый, не открывается.
0
По ходу бутлоадер не прошивается до конца, доходит прогресс бар до 70% и выскакивает ошибка (см. выше).
На программатор грешить не буду, т.к. им было прошито очень много контроллеров и до сегодняшнего дня с ним проблем вообще не возникало. Снизить скорость прошивки, думаю что вообще особой роли не сыграет (хотя вечером попробую). Да и еще драйвера под CP2102 из статьи на отказ не захотели устанавливаться пришлось скачать другие.
multi-up.com/722863
0
Может контроллер вам глючный попался. И всетаки попробуйте снизить скорость пришивания.
А фузы нормально прошиваются?

Драйвер надо ставить из диспетчера устройств. Принудительно указав нужный драйвер (Пункт «Не выполнять поиск. Я сам выберу нужный драйвер.»), предварительно перепрограммировав номер VID микросхемы CP2102 с помощью программы CP210xSetIDs, как указано выше.
Это не является обязательным и сделано только для того, чтобы микросхема CP2102 определялась в системе как «STK500v2 USB Programmer».
0
«Видно свет в конце тоннеля, но только вот тоннель, сука, не кончается!»

Нашел непропай, видать из-за этого не мог прошить камень. Подконнектил к ПК, AVRprog запустился))). Как правильно сделать апгрейт софта в проррамматоре? Скрины прилогаю…


0
Browse -> Выбрать файл прошивки .hex -> Flash -> Program
Browse -> Выбрать файл прошивки .eep -> EEPROM -> Program
Exit
0
Сделал так как написано, FLASH прошивается некорректно:

С EEPROM проблем нет, все ОК. После таких манипуляций перестает запускаться бутлоадер, так что приходиться перепрошивать (bootloader.hex(SPI) -> AVRprog -> main.hex(11.8 kb) -> main.eep (1 kb)).
Попробовал зашить [main.hex(11.8 kb)] без бутлоадера, программатор ожил, зажег светодиод, только вот не хочет он дружиться со студией — каждая заканчивается ошибкой.
0
Выствьте пожалуйста фузы вот так, чтоб загрузчик работал. С фузами напутал я.
После прошивки проверьте работу со студией, правильно выбирите com порт, должно заработать.
0
В CodeVisionAVR установленная галочка это 0!
0
Это понятно… Спасибо за отзывчивость...)
0
Так, все прошилось как нужно из бутлоадера. Программатор вышел на рабочий режим))) Подскажите программатор нужно подключать как (STK500 COM(n))? Или каким-нибудь AVRISP mkII?
0
Ну вот и отлично) В студии надо выбрать программатор STK500, указать com порт явно или Auto (я указываю явно).
0
Сразу выражу свою благодарность «Bonio» за его подсказки и понимание, а так же наверное и терпение, т.к. подсказывать практически вслепую не каждый сможет — так что спасибо огромное… хотя мне кажется что это не последний пост обращения за помощью...

Значится так, программатор как бы подконнектился к AVR Studio 5.1.208 & 4.19 (build 716). Из-за недостатка резисторов и конденсатора, в узле управления питания, я не смог проверить полностью собранный программатор. Так что все еще впереди…
0
Рад, что все получается ))
Если будут ещё какие вопросы, спрашивайте)
0
1) Зависит от производителя USB-UART мостика. На сейчас, AFAIK, дрова под Win7x64 для них для всех есть, по крайней мере для новых и популярных.
2) А вот тут нужно смотреть, что студия поддерживает. Из них регулярно поддержку старых тулзов выпиливают :( Но с пятой вроде совместимо.
0
  • avatar
  • Vga
  • 29 августа 2012, 08:33
Да я четверку даже за IDE не считаю. Правда, зато она пока что единственный инструмент отладки в железе — в новых старые жтаги не поддерживаются, а новые жтаги дорогие и пока никем не клонированы.
Пятерка правда тоже так себе. Майкрософтовская часть на пятерку, а вот атмеловская на троечку с минусом.
0
Под win7x32 точно работает, x64 х.з.
У меня есть программатор AVR910, перепрошитый под AVRDoper, с Atmel Studio 6 отлично работает.
0
ничего не могу сказать, я никогда не пользовался x64 системами.
0
Спасибо за разработку но, может быть подскажете что не так?.. Собрал перешил СР2102, подпаялся вторым программатором зашил мегу (88РА), светодиод ready горит при подключении, а вот на подключение платы с контроллером не реагирует, если на пин VCC ISP разьема подать +5 загорается лед target, но плата упорно не детектится (CodeVision). При обращении к МК светодиод active кратковременно зажигается. Может быть что мега 88РА не подходит в программатор?
piccy.info/view3/3538407/0c2553e751e8df5acdfc388be7e1fc0a/
0
  • avatar
  • moon7
  • 03 октября 2012, 00:45
На разъеме ISP прграммируемой платы на пине VCC обязательно должно присутствовать напряжение питания платы. Напряжение у вас присутствует?
Также не забывайте установить нужную скорость прошивания, она должна быть минимум вчетверо меньше частоты тактирования прошиваемого микроконтроллера.
0
Почему то оно отсутствует, возможно буферы на печатке\схеме не корректно разведены?
Частота стандартная максимальная в кодевижине 460.8 кГц, на 230,4 тоже пробовал, и что то я не понимаю откуда берется питание на этом пине, с буфера? Выходы Vccb никуда ведь не подключены. Возможно ли подключив пины PB3,4,5,PC0, через токоограничительные резисторы проверить работоспособность исключив буфера?
0
Не надо исключать буферы, просто разберитесь с подключением.
Выводы Vccb питаются ОТ программируемой платы, все правильно, это сделано для согласования логических уровней.
Соответственно программируемая плата должна подавать на пин VCC программатора напряжение.

Вы ведь соединяете выводы GND программатора и программируемого устройства, вот и выводы VCC соедините, и все заработает.
0
Ага, вот как, просто обычно программирую обесточенные устройства запитывающиеся от программатора. Спасибо за совет.
0
  • avatar
  • moon7
  • 03 октября 2012, 21:06
Пожалуйста)
Программатор должен запитываться от устройства, а не наоборот. Это как бы стандарт.
0
строго говоря, от устройства должен запитываться выходной буфер, а не весь программатор.
но я обычно предусматриваю все варианты запитки. на всякий случай.
0
строго говоря, от устройства должен запитываться выходной буфер, а не весь программатор.
конечно же. выходной буфер и зипитывается.
0
Да но с другой стороны получается не удобно, если МК никуда не запаян, про уровни как бы не слышал что возникали когда то какие то проблемы, а вот скорость у этой разработки процентов на 20 выше чем у программатора от уважаемого Петьки. Спасибо еще раз, все работает :)
0
  • avatar
  • moon7
  • 03 октября 2012, 21:29
Рад, что все работает:)
Без использования буферов проблемы возникнут если вы захотите прошить МК с питанием меньше чем 5в. Для того, чтобы проблем не возникало тут и используются буферы. Этим программатором можно прошивать МК, запитанные от 1.6в до 5.5в.

Для того, чтобы программатор знал с какими уровнями напряжений ему работать, на пин VCC и должно подаваться напряжение с программируемой схемы.
0
А для включения генератора нужно подключить программатор через программатор в студии выставив в меню Device programming требуемую частоту? Изначально на пине нету сигнала.
0
Для включения генератора нужно подключить программатор к программируемому устройству, установить вкладке HW Settings нужную частоту и нажать кнопку write.
0
Да, программатор работает со всеми версиями студии.
STK600 прикрутить так просто не получится. Там подключение происходит по usb, тут же com порт.
0
Просто в 6 студии, видимо, скрываются не поддерживаемые микроконтроллеры. А так как STK600 поддерживает ещё XMEGA и 32-битные UC3, то список получается больше. Все микроконтроллеры с ISP отлично видно из 6 студии (специально сейчас проверил).
Просто переписать прошивку не выйдет.
0
Действительно, почему то не все микроконтроллеры поддерживают stk500 в 6 студии, Atmega1280 в частности. С чем это связано я не знаю. Шестой студией не пользуюсь.
0
1. Совсем немного — это «классические» Tiny и Mega. STK600 же поддерживает ВСЕ AVR, включая AVR32, xMega и новые 6-лапые Tiny. Потому и список такой длинный.
2. Надыбаете описание протокола для STK600? ОК, тогда и прошивку написать не проблема. Только вот, боюсь, что даже в 16к она не влезет (ATmega168)… И это будет уже совсем другой девайс. Как-то так…
0
Ну вот, опередили… :)
0
Комментарием.
0
Это совсем не то, что нужно, а нужно: 1)протокол передачи данных между программатором и компьютером и 2) между программатором и МК (тот же ISP). Более старшие товарищи меня поправят, потому как протокол этот — проприетарщина, и его придется расковыривать (man реверс-инжиниринг).
0
Туда они засандалили поддержку ARM чипов.
емнип, армы в шестерке всегда были.
а авростудия нужна ровно для одного — дебажить. работать с кодом удобнее в более удобных для этого средах. ;)
0
А чем студия не устраивает? MSVS 8+ одна из самых мощных сред, особенно с такими дополнениями как VAX.
0
у меня изначально со студией не срослось…
ну не нравится онаа мне, и всё!
0
Это, конечно, аргумент, но все же не значит, что студия хуже другим сред для работы с кодом.
0
А клон AVR ISP mkII не выполняет эту задачу?
0
Не внушает. Этот клон, ЕМНИП, известен еще с год назад. Сделан на макетке, прошивка на депозите — повторюсь, не внушает. У нас тут где-то было…
0
  • avatar
  • yars
  • 24 марта 2013, 12:14
Вот один из вариантов этого же программатора. При желании можно еще найти. Их «только ленивый» не повторял :)
0
Тут были и более полные статьи про этот программатор. Вот, например. Ну и по ссылка оттуда на радиокота пройти стоит.
По идее, это клон достаточно нового программатора от Atmel, с поддержкой PDI и TPI, так что должен нормально поддерживаться в 6-й студии.
А вообще, если хочется удобств и отладки из студии — стоит посмотреть в сторону AVR JTAG ICE 3. Правда, он дорогой.
0
Там где-то сказано прямо, что этот программатор с 6-й студией будет работать? Говорю же, этот программатор известен еще ДО её появления. А одну из хороших реализаций я вам привел. И сопутствующие проекту файлы лежат не абы где, и всегда доступны. А депозиту лично я не доверяю.
0
Я клоном avr isp mkII из студии 5.1 контроллеры прошиваю.

Помню, скачивали на оф. сайте клона прошивку новую, которая с поддержкой 6 студии. Скомпилировали под свою плату (или плату подправлили перемычкой, не помню), всё завелось.
0
Уважаемый, Bonio! Помогите, пожалуйста, своим опытом для совсем начинающих, типо меня:
1. Зашить, приведенные Вами фьюзы, можно только chipblaster-ом AVR или AVR Studio тоже позволяет это сделать?
2. Если chipblaster-ом AVR — нужно выставлять адреса начала и конца FLASH или это не принципиально?
3. Правильно я понял порядок действий таков?:
а) с помощью стороннего программатора шьем фьюзы и затем bootloader
б) подключаем далее сам программатор к AVR Studio и заливаем сначала Flash и затем EEprom?
4. Какая версия указанных фьюзов является рабочей? (а то «зашил» я один камешек уже)
5. А в какой момент выставляется тактовая частота для повторяемого программатора?
0
Обновил статью, все никак руки не доходили. Прочитайте внимательно про прошивку.
1. Прошить бутлоадер и фьюзы можно любым софтом.
2. оставьте их по умолчанию.
3. Да, все правильно.
4. Прошивайте новую версию бутлоадера и программы, скачайте заного STK500v2.zip. Для новой версии фьюзы такие: EXTENDED:0xF9, HIGH:0xD4, LOW:0xF7.
5. Тактовая частота внутрисхемного программирования? После того, как AVR studio определит новый программатор, там в настройках программатора это будет.
0
Чтобы не запутаться в фьюзах, можно перевести их шестнадцатиричное представление в галочки вот тут.
0
Спасибо, огромное! Если Вам не сложно, гляньте опытным взглядом на те фьюзы, которыми я «прошил» МК. Его как-то можно оживить или выкусить и поставить новый.
EXTENDED:0x07, HIGH:0x2B, LOW:0x08
Ими я прошил, посчитав, что галочка означает 1, а она оказывается 0 (вот, что значит не внимательно читать инструкцию), иными словами я прошил «инверсией» Ваших предыдущих фьюзов. Вот такие пироги…
0
Вот за что я не люблю галочки. Ваш МК, к сожалению, получится теперь оживить только с помощью параллельного программатора. Выпаивать придется.
0
Еще вопросик: в процессе первой прошивки на этапе заливки STK500.hex и затем STK500.eep нужно ли входить в bootloader или нет?
0
После заливки бутлоадера подключите программатор к компьютеру и запускайте Tools -> Avrprog. Бутлоадер будет уже запущен.
0
Все сделал как по инструкции, по окончании горит зеленый и почему-то желтый светодиод (таргет)?
0
желтый светодиод горит при подключении программируемого микроконтроллера к программатору (если есть напряжение на VCC пине ISP коннектора).
0
У меня ничего не подключено…
0
Тогда ищите ошибку, КЗ, или отмойте плату от флюса.
Померийте напряжение на 2 пине ISP коннектора, на 28 ножке атмеги и на истоке транзистора.
0
Вооруженный огромной лупой нашел таки КЗ прямо на ногах МК! Нещадно устранил — все заработало! На днях проверили с братом скорость прошивки — впечатляет!!! Сравнили с обычным STK500 (c софтовым isp)
Прошивали Atmega 1280 (если не ошибаюсь).
Если интересно делюсь результатами:
Исходные данные 1. программа «весила» 47 кБайт, 2. тактовая частота ISP — 1,845 МГц,
3. Программа AVRStudio-4

Результаты:
STK500 (софтовый ISP) — 36 сек, с верификацией — 64 сек
STK500v2 (хардовый ISP) — 8 сек, с верификацией — 14 сек,
Итого: В 4,5 БЫСТРЕЕ, КЛАСС!!!

Особая благодарность Bonio за помощь и разработку!!! Спасибо также Asticon
0
Рад, что все заработало)
0
но горит...???
0
Если есть возможность залейте фотку девайса, так будет проще подсказывать.
0
Добрый день.
Огромное спс за данный девайс). Проблема с покупкой cp2102(ft232rl), подскажите можно ли использовать кабель типа dku-5? Заранее благодарю за ответ.
0
Без проблем, любой usb->uart преобразователь.
0
Благодарю)
0
Здравствуйте всем.
Собрал этот программатор, но так и не смог запустить.
Последовательность действий:
1. Для начала посадил на плату CP2102 и обвязку, установил драйвер, сконфигурировал EEPROM CP2102, проверил работу USB-UART преобразователя — все ок.
2.Припаял контроллер Atmega88PA, кварц, резисторы и конденсаторы в обвязке контроллера. Подпаялся и успешно прошил бутлоадер и фьюзы по картинке выше из CVAVR через AVR910.
3. Подключаю плату к USB порту, запускаю AVR Studio 4, запускаю AVRPROG, выбираю файлы .hex .eep, успешно прошиваю, на плате загорается зеленый светодиод.
После описанных действий программатор видится в системе как мост USB-UART (не как STK500 USB Programmer ?), студия его не видит, CVAVR тоже, через AVRPROG пробовал несколько раз прошить.
Как можно объяснить такое?
0
Зеленый светодиод горит, не мигает?
Если бутлоадер работает, связь с атмегой есть, все должно работать.
Программатор и должен видится как мост usb-uart, все првильно.
Вы com порт при подключении из студии правильный выбираете?
0
И да, по пункту 3. hex и eep надо прошивать не за раз, сначала прошиваете hex (Flash -> Program) затем eep (EEPROM -> Program)
0
Ком порт правильный выбираю. — 32
Так и делаю, сначала выбираю hex, Flash -> Program, потом eep EEPROM -> Program.

UPD Сейчас вспомнил, что зеленый светодиод не загорался после прошивки (перепутал — шил еще и другое устройство практически также)и при нажатии exit окно AVRPROG становилось неактивным и закрыть его можно только крестиком.
0
Порт №2
0
Так светодиод горит или нет?
Вы другой hex бутлоадером однажды зашили? Если так, попробуйте очистить чип из бутлоадера (Advanced -> Chip erase) и прошить заного.
Вот с com портом вы наверное и напутали что то. Не может он у вас быть 32, AVRPROG тогда не видел бы программатор. Попробуйте установить тип порта: Auto при подключении.
0
Итак по порядку:
— проверил всю плату на наличие кз / отсутствие контакта / непропаи — все нормально
— заменил кварц, результата нет, заменил конденсаторы кварца, результата нет, заменил контроллер — результата нет
Дальше и не знаю что думать.
Может мега не та, ставлю Atmega88PA AU. Вспомнил, что до этого на прошлой неделе стояла Atmega88-20AU, ее спалил неправильным подключением питания. Так вот она прошивалась нормально и светодиод работал как положено.
Сейчас зашил мегу сразу файлами прошивки через программатор — завелся, студией видится, значит и кварц и мега нормальные, а из студии не прошиваются.
0
Если бутлоадером определяется, значит с кварцем и с мегой все впорядке.
Мне кажется, вы напортачили с фьюзами. Проверьте внимательно, как они у вас установлены. BOOTRST должен быть отключен!
0
У меня тоже мысль, что фьюзами что-то, и при старте начинает работать бутлоадер, а не основная программа. Ставил их в CVAVR по Вашей картинке в посту от 24 июня 2012, 21:43 там где 0 — поставил галку, потом считал с меги — один в один.
0
Нет, там старые фузы. Надо их ставить, так, как в архиве. Если вы используете CVAVR, выставьте их вот так. И все заработает как надо)
0
Стоп, я их тут инверсно не поставил?
0
Нет, отбой, все правильно.
0
Ну вот и разобрались общими усилиями :) BOOTRST у меня стоит *0*, а нужно *1*. Завтра попробую, о результатах отпишусь.
0
Ну вот и отлично )
0
В результате все заработало, быстродействие программатора по сравнению с AVR910 просто потрясающее! Не жалею, что потратил время на изготовление и доводку девайса.
Огромное спасибо автору за поддержку.
Один ньюанс есть — в CVAVR почему то после прошивки не проходит верификация, в студии все нормально.
0
Рад, что все получилось.
С CodeVisionAVR тоже все должно хорошо рабоатать. Сейчас специально проверил, прошивка и верефикация проходит нормально. Возможно, вы делаете что то не правильно, попробуйте при прошивке выбрать меньшую скорость.
0
Перебрал все варианты скоростей, в CVAVR упорно не хочет работать -не стирает, не проходит верификацию, считанные данные из контроллера — 0, хотя прогрессбар прошивки идет. Пробовал несколько контроллеров и менять скорости порта в диспетчере устройств и во вкладке программатора. Версия CVAVR 2.05.0
0
В диспетчере устройств скорость менять не надо.
Не знаю, у меня версия 3.05a, все работает как положено, хотя раньше тоже какая то старая версия стояла и тоже все работало.
CVAVR вообще использует утилиту Stk500.exe из комплекта студии, насколько я знаю, может CVAVR у вас установилась криво, или студия по нестандартному пути располагается?
Вообще то такого быть не должно, попробуйте переустановить эти программы.
0
О, они уже третью версию выпустили? Что изменилось? Оно все также упорно переписывает на себя .c и .h файлы?
И ты ознакомительную версию используешь или где-то на нее лекарство водится?
0
  • avatar
  • Vga
  • 25 сентября 2013, 20:34
А я ей вообще не пользуюсь)) так что не скажу, что изменилось, много окошек и кнопочек появилось всяких, как в больших IDE.
Лекарства, наверное, не нужно, в about написано: Freeware for evaluation and non-commercial use.
0
Ну вот, профит!
Переустановил сначала студию, она у меня на D диске жила — не помогло, затем сам CVAVR, туже 2.05 версию — все ОК. Доволен, как слон :).
По скорости работы — на AVR910 шью прошивку размером 7,5кб в Atmega8 с верификацией 1 минуту 20 секунд, на этом программаторе то же самое за 6 секунд — просто бомба!
Еще раз выражаю свою благодарность автору за такой ценный девайс, обязательно сделаю еще один для резерва.
0
На радостях забыл добавить — шлейф от программатора до устройства у меня длиной 50см, скорость программирования в CVAVR выставил максимальную. Визуально студия шьет процентов на 30 быстрее, кодевижен задумывается после нажатия на кнопку программирования.
0
Все правильно, CVAVR почему то не устанавливает самую высокую скорость.
Пользуйтесь студией, там прошивальщик удобный и фьюзы устанавливать удобно, не запутаешься в этих галочках.
0
Вопрос к автору топика. У Вас есть фото заводской платы, Вы их продаете?
0
Фото пустой платы? Где то были, только я их не выкладывал.
Продаю, но не платы, а программаторы в сборе.
0
Немножко некропост…
В общем решил повторить вашу схему программатора. Для начала решил смоделировать её в протеусе. наткнулся на проблему (писал на форуме но что то вопрос заглох):
в коде бутлоадера при инициализации USART-а в UCSR0C пишется 0x86 (0b10000110(http://puu.sh/4Sf2C.png))
нашел в интернетах табличку:
UMSEL01 UMSEL00 Mode USART
0 0 Asynchronous USART
0 1 Synchronous USART
1 0 Reserved
1 1 Master SPI Mode (MSPIM)

получается в UMSEL пишется зарезервированное значение? или я что то не понял? proteus ругается…
изменил код:
mega88.h (строка 22)
было:
#define UART_CTRL2_DATA	((1<<UMSEL01) | (1<<UCSZ01) | (1<<UCSZ00))

стало:
#define UART_CTRL2_DATA   ((1<<UCSZ01) | (1<<UCSZ00))

изменённая прошивка работает как в протеусе так и в железе.
хотелось узнать почему так происходит.
+1
Спасибо, что обратили внимание, поправил. В UCSR0C действительно писалось зарезервированное значение.
0
Может кому-то пригодится в виде опыта, на что следует обратить внимание, когда собраное устройство не хочет работать или работает абы как…
Собрал данный прогер, работает через раз… Помучал автора, спасибо ему за помощь в поиске причин…
Долго расписывать не буду, вообщем проблема оказалась в ацетоне… Был ацетон, как ацетон, купленный в Максидоме, изготовленный во Всеволожске, под Питером, закончился, купил новый, оказался изготовлен в Уфе, ГОСТ тот же а ТУ разные, короче старый мыл чисто, без проблем, а после этого, остается какой-то белый налет, который видно на очень мелких деталях, типа CP2102(USB-UART мост) между ножками…
Печатная плата была тщательно проверяна, но отказывалась работать, как должна…
Решив развеять свои сомнения, купил FLUX-OFF Российского изготовления(У Немецкого оригинала запах ядерный..), промыл, высушил, налет ушел, а с ним и проблема…
Прогер заработал устойчиво и в CodeVisionAVR и в AVRStudio4… Ни одного глюка не выявилось…
0
купил FLUX-OFF Российского изготовления
Это что за зверь такой? И что у него в составе?
0
Кстати на Немецком состав не указан…


0
Любопытная штучка. А как у него с ценой?
И как с поведением? У крамолиновского мне не нравится дикая текучесть (или, скорее смачивание) и медленное высыхание. Он быстро растворяет флюс, затекает с ним ВЕЗДЕ и потом долго и мучительно там сохнет, вываливая в итоге флюс в осадок. Особенно от этого страдают разъемы и кнопки. Один раз помыл плату с microSD слотом — флешка приклеилась)
0
Флюкс-офф та еще штука. Растворяет даже такую гадость которую я считал нерастворимой типа белого осадка от ЛТИ 120, и маркировку с некоторых микросхем, проводов и термоусадки
Сохнет быстро, следов не оставляет почти в отличии от ацетона
Но немного агрессивен к пластику разъемов, малость подъедает.
Еще от него подштыривает, только на открытом воздухе можно использовать
0
маркировку с некоторых микросхем, проводов и термоусадки
… и резонитовскую шелкографию)
Сохнет быстро, следов не оставляет почти в отличии от ацетона
Насчет «быстро сохнет» я бы поспорил, там явно есть какой-то медленно сохнущий ингредиент. Ну и насчет следов — не испарится же оно вместе с канифолью. Значит, что на плате высохло — оставит осадок из того, что в нем было растворено.
Впрочем, не исключено, что мы о разных составах. У меня CRAMOLIN, без кисточки, довольно старый (года 2010-2011).
0
Цена у этого 385 руб. по-моему, а оригинальный в два раза дороже… На мой выбор повлияло то, что я в магазине пшикнул в колпачок и посмотрел, высохо все за пол минуты и следа не осталось…
А плату чистил, трубочку одел и под давлением пару раз прошелся, потом осторожно зубной щеткой и еще раз-все смылось с платы, только чуть чуть осталось блеска на уголке чипа, типа остатков отмытого безотмывочного флюса…
0
Все таки осталось немного, если под большим увеличением смотреть, но ни на что не влияет…

0
Bonio добрый день, подскажите, вместо SN74LVC1T45 подойдут SN74AVC1T45dckr? как я понимаю у них разница по питанию идёт.
0
Да разница в вольтаже. SN74AVC1T45 работает только от 1.2 до 3.6в, а это значит, что вы не сможете применить программатор в схемах с 5в питанием.
0
Понял, спасибо за ответ. Будет дальше искать SN74LVC1T45.
0
Привет. Что-то я запутался окончательно.
Я знаю, что STK500 — это нечто типа evaluation board, то есть программатор (два раза) + панельки/кнопочки/светодиодики. Ещё есть протокол. Видимо STK500v1? Или всё же STK500v1 и STK500v2 это именно платы, а не протоколы? Судя по статье ты понимаешь под STK500v2 просто программатор, да?
0
здравствуйте подскажите, этот программатор что в теме сможет прошить контролер Atmega2561?
E vtyz ghjcnj tcnm STK-500 (сделаный из AVR910) Им не смог прошить, в AVRstudio при выборе этого программатора просто пропадает этот контролер из списка.
0
У меня в списке такой МК видно (вероятно поздно).
0
Повторил данный программатор. Использовал FT232RL как COMпорт. Использовал ножку С0 (можно любую, на самом деле), настроил ее через FTProg как PWREN#.

В своей реализации также добавил кнопку подачи питания с USB на target-плату (часто работаю с мелочью, которую для программирования не имеет смысла подключать к питанию). МК использовал ATMega168 — под рукой были.

В остальном все работает. Автору статьи спасибо.
0
Пожалуйста.
0
Файлик печатной платы адаптера для этого программатора можете выложить?
0
Вообще все файлы прикреплены под топиком, но сайт, к сожалению, давно сломан, и не ремонтируется.
Тут можно скачать файлы: https://1drv.ms/u/s!AggZ3jtERgCLjwwKtF_B89AeF-vt
0
win10 будет работать???
0
Да поставь уже ХР и не мучайся!
+1
  • avatar
  • Vga
  • 18 сентября 2018, 15:36
у меня уже виндовс 10 установлен. на win10 будет нормально работать?
0
Ну раз так, то просто ставишь поверх нее линух и все будет работать.
0
Месье знает толк в рекомендациях.
0
  • avatar
  • Vga
  • 20 сентября 2018, 00:08
Ну а чо. Стебаться так стебаться. Ты советуешь ХР, я линух :)
0
XP, однако, для железячных дел действительно подходит лучше. Особенно когда надо прицепиться битбанговым адаптером на LPT. А иногда и вовсе 98-я нужна.
0
  • avatar
  • Vga
  • 20 сентября 2018, 06:16
RT ядро линуха справляется с такими задачами еще лучше. И, что совсем уж хорошо, для этого не приходится возвращаться в давно забытое прошлое. Я ж говорю — обе рекомендации примерно одной категории.
0
Если не считать того, что авторы всего специфического софта, работающего с железякой через битбанг и требующего вин98, о линуксе даже не слышали.
0
  • avatar
  • Vga
  • 20 сентября 2018, 07:43
А так же того, что авторы другого, не менее специфического софта, работающего с железякой через битбанг и требующего RT Linux, на все разновидности винды положили с прибором.

P.S. LinuxCNC работает именно таким образом.
0
Про софт, требующий винду конкретной ревизии я слышал неоднократно. А про линукс — только от тебя.
0
  • avatar
  • Vga
  • 20 сентября 2018, 08:00
LinuxCNC требует не ревизии, а варианта сборки ядра. Ну а то, что виндовый софт временами, очень мягко говоря, странный, я в курсе.
0
А софт того класса, о котором я говорю — странный вдвойне. Особенно когда написан по принципу «куда ж вы от нас денетесь».
0
  • avatar
  • Vga
  • 20 сентября 2018, 16:20
Ну, для простого программатора реалтайм как бы и не нужен — обычное ядро Линукс справится без проблем.
0
Битбанг по разному реализовать можно. Для примера, драйвер FTDI, который включен в последние версии винды (или имеет ЭЦП от MS), вполне себе позволяет дрыгать ногами из юзерспейса.
0
Ну да. Но как об этом рассказать старому софту, знающему только LPT?
0
  • avatar
  • Vga
  • 20 сентября 2018, 16:19
Написать новый софт. LPT сегодня какбэ ископаемый артефакт.
0
Как ни странно, LPT есть даже на моем новом компе, куда ничего старше десятки не ставится.
А написать новый… То-то NASA i386 для шаттлов искало в свое время. А у них хотя бы софт собственный был, с сырками и всем таким.
0
  • avatar
  • Vga
  • 20 сентября 2018, 22:14
Насчет «ничего не ставится» — правильно писать: «я не смог».
0
Пффф. Ну найди мне того кто смог поставить семерку на Ryzen 5 2400G. С полноценной поддержкой его встроенного видеоядра. А потом уже лечи за «не смог».
Линукс предположительно ставится, хотя пока я гуглил — натыкался и на жалобы линуксоидов. Но он меня не интересует.
0
  • avatar
  • Vga
  • 21 сентября 2018, 14:07
А зачем было этот хлам покупать?
0
Ты куда-то ушел от изначального вопроса о устаревшем LPT ;) А теперь еще и от «не смог». Ну давай, давай, найди мне того, кто смог! На крайняк смоги сам ;)
0
  • avatar
  • Vga
  • 22 сентября 2018, 16:05
А что с LPT — на сегодняшний день бесполезный разъем.
А что за трудности с виндой? Встроенная видеокарта не работает совсем?
0
Для встроенной видяхи нет дров, но это не проблема, так как на этом процессоре семерка падает в бсод еще при установке — какие-то косяки с биосом, причем исключительно с Ryzen APU. Ryzen CPU работают (не считая мелких сюрпризов при установке типа невозможности подключить клаву на мамке без PS/2), дискретный Radeon Vega — тоже.
0
  • avatar
  • Vga
  • 22 сентября 2018, 21:19
Амд выпустил глючное гавно?
0
Скорее прогнулся под M$.
0
  • avatar
  • Vga
  • 22 сентября 2018, 21:44
Не думаю. Скорее просто накосячили.
0
Странный косяк — разработать драйвер под семерку (а он разработан, да — AMD это подтверждает) и не выкладывать его уже полгода несмотря на жалобы юзеров.
0
  • avatar
  • Vga
  • 22 сентября 2018, 22:19
А что с LPT — на сегодняшний день бесполезный разъем.
Лет с десяток назад его повыпиливали с материнок. А нынче опять вернули. Оказалось что он не столь бесполезен и ненужен, как казалось.
0
  • avatar
  • Vga
  • 22 сентября 2018, 21:23
То-то NASA i386 для шаттлов искало в свое время
Насколько я понимаю, у них софт вылизан и оттестирован на конкретной конфигурации и проще/дешевле было найти готовые компы, чем заново все протестировать и убедиться, что ничего не сломалось. Таких ситуаций было/есть некоторое количество, но это очень специфично некоторых узких «mission critical» решений.
0
У них хотя бы сорцы были. А ситуация, когда софт какого-то станка существует только в виде бинарников, требующих конкретную ось и заменяется только вместе со станком — не такая уж редкость.
Еще вспоминается, как ремонтники телефонов жаловались что вынесли офис и в том числе — комп на втором пне, нужный для специфического софта. Каковой им было жалко не меньше паяльного оборудования, если не больше.
В любительской среде не редкость и ситуация, когда на специфичный чип удалось нарыть IDE, которая шьет и дебажит через простенький донгл на LPT либо через официальный USB-программатор, который поди найди.
0
  • avatar
  • Vga
  • 21 сентября 2018, 20:38
Хоть один специфический чип из любительской среды приведи. Я за всю свою, более чем 30 летнюю практику, пользовался только ByteBlaster для LPT.
0
HC-06 (ЕМНИП), MSP430F1612. USB-программаторы есть, но через LPT дешевле.
0
  • avatar
  • Vga
  • 22 сентября 2018, 16:15
Про hc-06 не знаю, а для msp430 launchpad стоит аж 15$, если дорого, то китайский программатор — 3$
0
Я не зря указал конкретный чип. Там нет ни SBW (так что ланчпад идет лесом), ни (ЕМНИП) BSL, так что китайский программатор идет туда же.
Можно, конечно, собрать полноценный MSP430UIF, который поддерживает этот чип… Но как раз для этого и нужно чем-то прошить MSP430F1612!
0
  • avatar
  • Vga
  • 22 сентября 2018, 21:16
Проще этот чип выкинуть и забыть
0
Проще все выкинуть, все забыть и купить бутылку водки, да.
0
  • avatar
  • Vga
  • 22 сентября 2018, 21:35
Ну, это ты сказал.
0
Всего лишь довел твое предложение до логического завершения.
0
  • avatar
  • Vga
  • 22 сентября 2018, 22:15
Ну не знаю. Например в надгробной речи :)
0
Если бы можно было ему надгробную речь зачитать — то и проблема бы не стояла.
0
  • avatar
  • Vga
  • 20 сентября 2018, 22:16
Как я выше писал — столь жесткие рамки есть только в очень отдельных ситуациях, подавляющая часть юзеров с ними не сталкиваются. Другой вопрос, что многим кажется, что вместо замены софта они найдут железо/дохлую ось и таким образом экономят время/деньги. По факту они лишь увеличивают стоимость переделки софта для себя оттягивая неизбежное.

P.S. сталкивался с похожим в одном очень большом банке. стоял кластеризованный мейнфрейм, который, в принципе, работал и, как бы, особых проблем с ним не было, только что-либо изменить в установленном там софте было очень дорого. вместе с ежегодными платежами за 24-часовой сервис внесение даже небольшого изменения в софт стоило дороже, чем стоимость переписывания всего софта полностью на другом технологическом и железном стеке.
0
Тем не менее в этих ваших «больших банках» до сих пор основной софт на коболе.
0
  • avatar
  • Vga
  • 21 сентября 2018, 20:40
В каком банке софт на коболе?
0
Не знаю. Я там не работаю, а кто работает больше склонен рассказать о коболе, чем о том, где именно работает.
0
  • avatar
  • Vga
  • 22 сентября 2018, 16:12
Я из банка в 2000 уволился. У меня много знакомых админов из разных банков, но про Кобол впервые слышу.
0
А разве этим занимаются админы, а не программисты?
0
  • avatar
  • Vga
  • 22 сентября 2018, 21:21
Админы в курсе систем, которые стоят на серверах.
0
На серверах стоят системы, написанные на коболе, а не сам кобол. И я подозреваю, что на системах не написано, на чем они разработаны.
0
  • avatar
  • Vga
  • 22 сентября 2018, 21:43
Тем не менее, админы действительно в курсе, на чем оно написано.
0
Может быть. Мои источники говорят «еще юзается, но массово заменяется на java».
0
  • avatar
  • Vga
  • 23 сентября 2018, 16:06
В тех, с которыми я работал, уже нет. Тот мейнфрейм был последним динозавром.
0
чтобы не мучатся с пайкой CP2102, можно
платку для USB-UART мини-переходник на CP2102 сделать
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.