Как прошить микроконтроллер (на примере ATtiny2313)
Итак, имеем ATtiny2313, LPT порт (обязательно
железный - никакие USB-2-LPT не работают), 6 проводков (длина не более
10-15см), паяльник.
Желательно иметь разъём DB-25M (папа). С ним удобней подключать, но можно обойтись и без него.
Припаиваем проводки к выводам 1, 10, 17, 18, 19, 20 микроконтроллера. Получаем нечто вроде:
- fig.1.jpg (17.82 КБ) Просмотров: 29152
- fig.2.jpg (37.37 КБ) Просмотров: 29152
Правда тут не показаны проводки для питания. На следующей картинке они уже есть
Далее
если есть разъём DB-25M, то припаиваем проводки к нему в соответствии с
таблицей. Если нет, то просто втыкаем проводки в разъём на компьютере
(не забывая про таблицу!!!).
- connect.gif (6.87 КБ) Просмотров: 29152
Я делал без разъёма (в наличии были тока мамы...), и вот что получилось:
- fig.3.jpg (35.14 КБ) Просмотров: 29152
Правда у меня LPT порт вынесен на стол с помощью
кабеля длиной 1,5 метра. Но при этом кабель должен быть экранированный,
иначе ничего не получится.
Схема сего чуда примерно вот такая:
- easySTK200.gif (9.68 КБ) Просмотров: 29152
Ну если быть совсем честным, то желательно собрать
"правильный" программатор. И потом будет проще и порт целее. Я пользую
STK200/300, схему которого можно найти
тут Далее пользуем программу
PonyProg2000.
На том же сайте Вы найдёте и схемы программаторов и саму программу. На всякий случай повторю архив у себя -
вот.
После запуска программы она "заржет...." как настоящий пони. Чтобы этого больше не слышать в появившемся окне ставим галочку
"Disable sound". Жмём "ОК". Выскакивает окошко:
- fig.4.gif (5.81 КБ) Просмотров: 29152
Которое говорит, что нужно откалибровать программу. Компы бывают же разные и медленные и шустрые.
Жмём "ОК". Выскакивает ещё одно окошко:
- fig.5.gif (5.57 КБ) Просмотров: 29152
А это нам говорит, что нужно настроить интерфейс (какой программатор и куда подключен.).
Итак заходим в меню:
Setup -> Calibration. В появившемся окошке:
- fig.6.gif (7.06 КБ) Просмотров: 29152
жмём
"YES". Проходит пара секунд и программа говорит
"Calibration OK".
Далее заходим в меню:
Setup -> Interface Setup. В появившемся окошке настраиваем как у показано на рисунке.
- fig.7.gif (9.58 КБ) Просмотров: 29152
Далее заходим в меню:
Command -> Program Options. В появившемся окошке настраиваем как у показано на рисунке.
- fig.8.gif (8.27 КБ) Просмотров: 29152
Всё готово к программированию!...
Итак, последовательность действий:
- fig.9.gif (14.73 КБ) Просмотров: 29152
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 (13.49 КБ) Просмотров: 29152
Это соответствует следующей конфигурации:
DWEN | 1 | debugWIRE - Disable |
EESAVE | 1 | EEPROM memory is preserved through the Chip Erase - OFF |
WDTON | 1 | Watchdog Timer - OFF |
BODLEVEL | 101 | Brown-out Detection level = 2,7V |
CKDIV8 | 1 | Divide clock by 8 - DISABLED |
CKOUT | 1 | Output Clock on CKOUT pin - DISABLED |
SUT | 10 | Start-up time: 14CK + 65 ms (Slowly rising power) |
CKSEL | 0100 | Internal Calibrated RC Oscillator 8MHz |
Ну вот теперь у нас готовый к работе контроллер!
- Вложения
-
- PonyProg_V207c.zip
- (545.43 КБ) Скачиваний: 2074
а вот у меня вопросик...
если сначала собрать полностью устройство (например термостат) с "чистым" flash,
то можно ли подключить программатор прямо к устройству и запрограммировать?
если да, то предполагаю последовательность действий:
- подключаем программатор
- запускаем PonyProg
- подаем питание на ATtiny2313
- программируем
просьба поправить если что не так написал
Valentin_N писал(а):можно ли подключить программатор прямо к устройству и запрограммировать
имеенно
так и делаю, только надо иметь ввиду, если к выводам контроллера
подключены светодиоды, или другая нагрузка, то её должен потянуть
программатор!
Valentin_N писал(а):если да, то предполагаю последовательность действий:
1) подключаем программатор
2) запускаем PonyProg
3) подаем питание на ATtiny2313
4) программируем
1-3
пункты можно выполнять в любой последовательности, главное чтобы в
момент программирования на контроллере было питание и он был подключен к
программатору.
В даташите на ATTINY2313 написано, что на вход
XTAL1 нужно подать не менее 6 импульсов чтоб ввести контроллер в режим
програмирования...
Доброе время суток!
Помогите мне с одной (возможно, и с несколькими, еще не знаю сам) проблемами.
Делаю вот такие действия, надеюсь в комментариях не нуждается. Картинки кликабельни.
* Разводка такая, как у Вас на
єтой картинке.И потом наблюдаю при программировании:
Подскажите, в чем проблема, а еще лучше, как ее устранить.
Заранее спасибо.
З.И. извините, что пишу уркаинскими символами - какой-то глюк.
нда... фото очень прояснили дело - ничего не видно.
перемычки есть?
питание?
Раз вы уже завязвлись с платой, то сделали бы нормальный программатор с буферное микросхемой.
Извините за качество - под рукой только моб.
перемички есть: (2-12) (3-11)
питание подаю от блока питания.
возможно єто из-за того, что у меня установлен принтер на LPT. (где-то вичитал)
я не так с платой хотел поковиряться как испробовать новую "травилку")))
Физически - отключаю, конечно.
По сути там только драйвер принтера на операционке остался.
здравствуйте
у меня такая проблема
Заблокировался ATTINY2313 как можно разблокироват мк без спец программатора
спасибо за ответ
Что значит заблокировался? лок биты? или биты отвечающие за источник тактовых импульсов? Подробнее пожалуйста.
ЗЫ: у меня поломалась машина, как исправить?
лок биты. и теперь не могу подключить не с rs232 и не с lpt программатором.
не один программатор не видит мк.
если лок биты, то никак. На то они и лок биты...
Для
современных (здесь я не имею ввиду ПЛИС) PIC’ов и в AVR защищенность
так высока, что вскрытие если и производится, то путем разборки
микросхемы с соответствующими знаниями по архитектуре кристалла. Иногда
быстрей и дешевле сделать ре инжинеренг системы, чем пытаться вскрыть
прошивку. Или как вариант дать деньги, которые планируются на вскрытие,
некому лицу, который имеет доступ к прошивки, а еще лучше к исподникам.
Потому что дизасм hexов в том же IDA тоже имеет свои заморочки. А как
дело идет дальше разговоров - начинаются отмазки. Так что не
беспокойтесь - защиты современных кристаллов достаточно.
Можно БЕСТОЛКОВЫЙ ВОПРОС ЗАДАТЬ?!? А по этому же
принципу какие ещё контроллеры можно прошивать? Я имею ввиду принцип 6
проводов...
все контроллеры Атмела. С другими не работал -
не знаю. В ПИКах - там вроде только через COM-порт, соответственно
преобразователь уровней нужен...
я когда только начинал, сделал программатор известный как ByteBlaster, и прямо в плату впаял панельку под тини 2313.
http://radiokot.ru/start/mcu_fpga/avr/03/
вот статья эта . Но проблемма - ни с какой программой нормальной не
конектится, только со своей программкой , для которой *.bat файлы писать
нада под контроллеры и биты настраивать. Не очень удобно.... Нада на "5
проводков" переходить
Мне нужно прошить МК на кварц 10Mhz. Фьюзы
виставил как надо. После того Комп не видит МК. Как прошить МК на кварц
10Mhz с помощью вашей схеми??
Help! Установил PonyProg 2000, собрал адаптер на м/сх М74НС244В.
Схема правильно собрана, питание +4,94v, но на програмирование ругается "Devise missing or unknowt devise(-24)".
Подскажите где искать ошибку!
Добрый день.
Изготавливаю большие светодиодные часы-термометр (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 . Вопрос. Что мне нужно выставить?
То что в примере, или оставить все без изменений как само стало, или
чтото изменить???
Пока ничего не менял, боюсь запороть контролер.
Спасибо.