Page 1 of 6

Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 29 Jan 2009 16:37
by hardlock
Итак, имеем ATtiny2313, LPT порт (обязательно железный - никакие USB-2-LPT не работают), 6 проводков (длина не более 10-15см), паяльник.

Желательно иметь разъём DB-25M (папа). С ним удобней подключать, но можно обойтись и без него.

Припаиваем проводки к выводам 1, 10, 17, 18, 19, 20 микроконтроллера. Получаем нечто вроде:
fig.1.jpg
fig.2.jpg
Правда тут не показаны проводки для питания. На следующей картинке они уже есть :-)

Далее если есть разъём DB-25M, то припаиваем проводки к нему в соответствии с таблицей. Если нет, то просто втыкаем проводки в разъём на компьютере (не забывая про таблицу!!!).
connect.gif
connect.gif (6.87 KiB) Viewed 98884 times
Я делал без разъёма (в наличии были тока мамы...), и вот что получилось:
fig.3.jpg
Правда у меня LPT порт вынесен на стол с помощью кабеля длиной 1,5 метра. Но при этом кабель должен быть экранированный, иначе ничего не получится.

Схема сего чуда примерно вот такая:
easySTK200.gif
easySTK200.gif (9.68 KiB) Viewed 98884 times
Ну если быть совсем честным, то желательно собрать "правильный" программатор. И потом будет проще и порт целее. Я пользую STK200/300, схему которого можно найти тут

Далее пользуем программу PonyProg2000.

На том же сайте Вы найдёте и схемы программаторов и саму программу. На всякий случай повторю архив у себя - вот.

После запуска программы она "заржет...." как настоящий пони. Чтобы этого больше не слышать в появившемся окне ставим галочку "Disable sound". Жмём "ОК". Выскакивает окошко:
fig.4.gif
fig.4.gif (5.81 KiB) Viewed 98884 times
Которое говорит, что нужно откалибровать программу. Компы бывают же разные и медленные и шустрые.

Жмём "ОК". Выскакивает ещё одно окошко:
fig.5.gif
fig.5.gif (5.57 KiB) Viewed 98884 times
А это нам говорит, что нужно настроить интерфейс (какой программатор и куда подключен.).

Итак заходим в меню: Setup -> Calibration. В появившемся окошке:
fig.6.gif
fig.6.gif (7.06 KiB) Viewed 98884 times
жмём "YES". Проходит пара секунд и программа говорит "Calibration OK".

Далее заходим в меню: Setup -> Interface Setup. В появившемся окошке настраиваем как у показано на рисунке.
fig.7.gif
fig.7.gif (9.58 KiB) Viewed 98884 times
Далее заходим в меню: Command -> Program Options. В появившемся окошке настраиваем как у показано на рисунке.
fig.8.gif
fig.8.gif (8.27 KiB) Viewed 98884 times
Всё готово к программированию!...

Итак, последовательность действий:
fig.9.gif
1. Выбираем из списка "AVR micro"
2. Из другого списка выбираем "ATtiny2313"
3. Загружаем файл прошивки (File -> Open Device File), выбираем нужный файл, например "rm-1_full.hex".
4. Жмём кнопочку "Launch program cycle". Когда программирование завершится прога скажет "Program successful"
5. Ну и напоследок надо запрограммировать так называемые Фьюзы (fuses). Для этого жмём кнопочку "Security and Configuration Bits". В появившемся окне жмём "Read", потом выставляем галочки СТРОГО так, как показано на рисунке, и жмём "Write".

ВНИМАНИЕ! Если Вы не знаете, что означает тот или иной конфигурационный бит, то не трогайте его.
fuses.gif
fuses.gif (13.49 KiB) Viewed 98884 times
Это соответствует следующей конфигурации:
DWEN1debugWIRE - Disable
EESAVE1EEPROM memory is preserved through the Chip Erase - OFF
WDTON 1Watchdog Timer - OFF
BODLEVEL101Brown-out Detection level = 2,7V
CKDIV81Divide clock by 8 - DISABLED
CKOUT1Output Clock on CKOUT pin - DISABLED
SUT10Start-up time: 14CK + 65 ms (Slowly rising power)
CKSEL0100Internal Calibrated RC Oscillator 8MHz
Ну вот теперь у нас готовый к работе контроллер!

ВНИМАНИЕ! Дополнение!
German wrote:Перед тем как подключать программатор с мк к лпт,нужно на мк в ресет подать импульс(+) от источника питания(секунд 1-2 подержать)."Активируется кристалл и все получится.

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 17 Feb 2009 03:24
by Valentin_N
а вот у меня вопросик...
если сначала собрать полностью устройство (например термостат) с "чистым" flash,
то можно ли подключить программатор прямо к устройству и запрограммировать?

если да, то предполагаю последовательность действий:
- подключаем программатор
- запускаем PonyProg
- подаем питание на ATtiny2313
- программируем
просьба поправить если что не так написал :jokingly:

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 17 Feb 2009 09:22
by hardlock
Valentin_N wrote:можно ли подключить программатор прямо к устройству и запрограммировать
имеенно так и делаю, только надо иметь ввиду, если к выводам контроллера подключены светодиоды, или другая нагрузка, то её должен потянуть программатор!
Valentin_N wrote:если да, то предполагаю последовательность действий:
1) подключаем программатор
2) запускаем PonyProg
3) подаем питание на ATtiny2313
4) программируем
1-3 пункты можно выполнять в любой последовательности, главное чтобы в момент программирования на контроллере было питание и он был подключен к программатору.

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 20 May 2009 23:25
by _Ruslan_
В даташите на ATTINY2313 написано, что на вход XTAL1 нужно подать не менее 6 импульсов чтоб ввести контроллер в режим програмирования...

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 21 May 2009 09:17
by hardlock
_Ruslan_ wrote:В даташите на ATTINY2313 написано
Страница какая?

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 09 Jul 2009 19:54
by DCShooozzze
Доброе время суток!
Помогите мне с одной (возможно, и с несколькими, еще не знаю сам) проблемами.
Делаю вот такие действия, надеюсь в комментариях не нуждается. Картинки кликабельни.
Image Image Image
Image Image Image
Image Image
* Разводка такая, как у Вас на єтой картинке.
И потом наблюдаю при программировании:
Image Image Image

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

З.И. извините, что пишу уркаинскими символами - какой-то глюк.

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 09 Jul 2009 23:00
by hardlock
нда... фото очень прояснили дело - ничего не видно.
перемычки есть?
питание?
Раз вы уже завязвлись с платой, то сделали бы нормальный программатор с буферное микросхемой.

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 10 Jul 2009 11:36
by DCShooozzze
Извините за качество - под рукой только моб.
перемички есть: (2-12) (3-11)
питание подаю от блока питания.
возможно єто из-за того, что у меня установлен принтер на LPT. (где-то вичитал)
я не так с платой хотел поковиряться как испробовать новую "травилку")))

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 10 Jul 2009 12:00
by hardlock
DCShooozzze wrote:возможно єто из-за того, что у меня установлен принтер на LPT. (где-то вичитал)
конечно! Вы что не отключаете принтер, когда прошиваете?

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 10 Jul 2009 12:04
by DCShooozzze
Физически - отключаю, конечно.
По сути там только драйвер принтера на операционке остался.

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 10 Jul 2009 12:05
by hardlock
А, ну тогда не знаю. Попробуйте удалить принтер, потом его отключить физически, потом пробовать шить - может поможет?

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 29 Jul 2009 15:05
by satelitman
здравствуйте
у меня такая проблема
Заблокировался ATTINY2313 как можно разблокироват мк без спец программатора
спасибо за ответ

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 29 Jul 2009 17:16
by hardlock
Что значит заблокировался? лок биты? или биты отвечающие за источник тактовых импульсов? Подробнее пожалуйста.

ЗЫ: у меня поломалась машина, как исправить? :shock:

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 29 Jul 2009 17:50
by satelitman
лок биты. и теперь не могу подключить не с rs232 и не с lpt программатором.
не один программатор не видит мк.

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 29 Jul 2009 22:13
by hardlock
если лок биты, то никак. На то они и лок биты...
Для современных (здесь я не имею ввиду ПЛИС) PIC’ов и в AVR защищенность так высока, что вскрытие если и производится, то путем разборки микросхемы с соответствующими знаниями по архитектуре кристалла. Иногда быстрей и дешевле сделать ре инжинеренг системы, чем пытаться вскрыть прошивку. Или как вариант дать деньги, которые планируются на вскрытие, некому лицу, который имеет доступ к прошивки, а еще лучше к исподникам. Потому что дизасм hexов в том же IDA тоже имеет свои заморочки. А как дело идет дальше разговоров - начинаются отмазки. Так что не беспокойтесь - защиты современных кристаллов достаточно.

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 10 Aug 2009 10:01
by jurok1402
Можно БЕСТОЛКОВЫЙ ВОПРОС ЗАДАТЬ?!? А по этому же принципу какие ещё контроллеры можно прошивать? Я имею ввиду принцип 6 проводов...

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 10 Aug 2009 15:59
by hardlock
все контроллеры Атмела. С другими не работал - не знаю. В ПИКах - там вроде только через COM-порт, соответственно преобразователь уровней нужен...

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 11 Aug 2009 07:16
by jurok1402
А этот "преобразователь" где можно купить и в какую цену?

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 12 Aug 2009 00:01
by hardlock
да его можно и собрать. Почитайте в инете насчёт программирования ПИКов. Я их не люблю (читай не занимаюсь).

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 10 Sep 2009 16:04
by Kenny
я когда только начинал, сделал программатор известный как ByteBlaster, и прямо в плату впаял панельку под тини 2313. http://radiokot.ru/start/mcu_fpga/avr/03/ вот статья эта . Но проблемма - ни с какой программой нормальной не конектится, только со своей программкой , для которой *.bat файлы писать нада под контроллеры и биты настраивать. Не очень удобно.... Нада на "5 проводков" переходить :-)

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 18 Nov 2009 01:11
by Gizmo
Мне нужно прошить МК на кварц 10Mhz. Фьюзы виставил как надо. После того Комп не видит МК. Как прошить МК на кварц 10Mhz с помощью вашей схеми??

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 18 Nov 2009 17:41
by Samouchka
Help! Установил PonyProg 2000, собрал адаптер на м/сх М74НС244В.
Схема правильно собрана, питание +4,94v, но на програмирование ругается "Devise missing or unknowt devise(-24)".
Подскажите где искать ошибку!

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 18 Nov 2009 23:24
by hardlock
Samouchka, а микросхема подключена? тип программатора выбран?

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 27 Nov 2009 06:53
by Samouchka
Уже помощь не нада, разобрался, оказалось сжег LPT порт, (на другой маме работает).
Ребята! Будьте внимательны! Не оставляйте подключенный програматор к порту, особенно через кабель-удлинитель,как в моем случае!
Сжечь LPT, раз плюнуть, но потом геммороя на всю голову!

Re: Как прошить микроконтроллер (на примере ATtiny2313)

Posted: 06 Dec 2009 00:52
by neon-f
Добрый день.
Изготавливаю большие светодиодные часы-термометр (1000 светодиодов). Облазив
интернет в поисках схемы, решил собрать на базе http://ryaskin65.narod.ru/Project03/Project03.html#7
С контролерами работать не умею, пытаюсь разобраться. Вот что сделал.
собрал программатор на 5 проводов по схеме отсюда
http://hardlock.org.ua/mc/other/burn_2313/index.html , питание взял с
компа, Вот что получилось http://mdoga.ru/Cloc/clok.htm . Подключил,
запустил. Все делал пошагово как указано на
http://hardlock.org.ua/mc/other/burn_2313/index.html . Контролер
определился, процес прошивки пошел (побежали строки) и....вот дело
дошло до фьюзов. И здесь не понятно. В пошаговой инструкции есть такой пример
http://hardlock.org.ua/mc/other/burn_2313/fuses.gif , в реальности
при нажатии на кнопку "Security and Configuration Bits" появляется
http://mdoga.ru/Cloc/CLOC2.htm . Вопрос. Что мне нужно выставить?
То что в примере, или оставить все без изменений как само стало, или
чтото изменить???
Пока ничего не менял, боюсь запороть контролер.
Спасибо.