|
AvrUsb500 by Petka, вариант программатора AVR, доступный для простого изготовления |
|
|
|
Jan 30 2008, 19:07
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Эта тема закрыта. Продолжение обсуждения здесь.После обновления компьютера обнаружил, что LPT порта больше нету  и использовать проверенную связку avreal + byteblaster уже не получится. Захотелось чего-нибудь универсального, надежного и само-собой на USB порте. Остановился на варианте AvrUsb500v2 (http://tuxgraphics.org/electronics/200705/article07052.shtml) Достоинства: - Нормальный USB (не надо колдовать как в программной реализации USB). - Новый протокол от Atmel. Теперь не требуется перешивать программатор при появлении новых чипов. Недостатки: - На сайте (tuxgraphics) написано что под Windows не решена проблема "Курицы и яйца" (как запрограммировать AVRку в программаторе AVR) (Под Linux автор решает эту проблему путем "bit bang" режима микросхемы FTDI). - Используется контроллер в DIP корпусе. (под рукой был только в qfp32 корпусе) - Необходим контроллер как минимум с 8кб flash памяти. (под рукой была только mega48) Данные недостатки я устранил, немного изменив схемотехнику. Выкладываю на суд общественности результаты работы. в файле doc.pdf все необходимое для сборки программатора: - на первой странице принципиальная схема. - на второй странице фотошаблон в негативе (для производства на дому с помощью фоторезиста) - на третьей странице фотошаблон в позитиве (для "лазерно-утюговой" технологии) - на 4ой странице перечень элементов - на 5й странице сборочный чертеж со стороны поверхностного монтажа - на 6й странице сборочный чертеж со стороны выводных компонентов в файле HowTo.pdf описано как прошить этот программатор не имея другого программатора. в файле AvrUsb500_by_Petka.zip находятся исходники прошивки. Собираются в последнем WinAVR. ВНИМАНИЕ! делал для себя, поэтому разпиновка выходного разъёма как в byteblaster'е Принимаются все вопросы. Цитата(ae_ @ Jul 7 2009, 19:03)  Добавьте пожалуйста в первый пост этой ветки актуальные на данный момент схему и софт программатора (или ссылку на ресурс, где находятся текущие/архивные версии) Актуальные на 8 июля 2009 года документы: - Готовые прошивки и исходники- Схемы программаторов, перечни необходимых компонентов, сборочные чертежи, односторонняя разводка печатных плат (в негативе для изготовления фоторезистом и в позитиве для изготовления "лазерным утюгом"), краткая инструкция как прошить программатор без использования другого программатора.- Как надо выставить фузы, при прошивке через ponyprogПрошивки собрал из этих исходников: Модераторам: Прикрепите эти файлы к первому сообщению. Цитата(goodwin @ Feb 16 2008, 03:10)  Неправда ваша - работает эта махарайка и с CodeVision, и со студией, и из командной строки... Шьет быстро. Да, был не прав CodeVision тоже умеет использовать эту версию программатора. Для этого всего-навсего надо было выбрать тип программатора "Atmel STK500/AVRISP". Только что проверил - работает. Скорость действительно шустрая. Считал 128k flash за ~50s. Цитата(Petka @ Feb 16 2008, 01:19)  Ок, на выходных займусь =) Готово =) В архиве прошивки для некоторых комбинаций Кварц/Чип. Цитата(Carbon @ Feb 20 2008, 18:43)  Да, схемы не совпадают. Если не касаться разъема для программирования, т.к. он всё равно пока не подключен к таргету, то в остальном всё также. Клок 1МГц на PC0 всегда присутствует или только при программировании? Клок должен быть всегда, а не только при программировании. Ещё вопрос: мега в ДИПе? Если да, то обратите внимание, что нумерация пинов у меня указана для QFP корпуса, она отличается от DIP. P.S. Поправил в документации ошибку с X3 X4. Новый вариант:
HowTo.pdf ( 73.56 килобайт )
Кол-во скачиваний: 6346
Сообщение отредактировал IgorKossak - Oct 19 2009, 07:31
Причина редактирования: Обновление
|
|
|
|
|
 |
Ответов
(360 - 374)
|
Mar 3 2009, 17:10
|
Участник

Группа: Участник
Сообщений: 50
Регистрация: 12-09-06
Пользователь №: 20 300

|
Потестил немного шьет нормально на верификации виснет не операционка а прогер приходиться включать выключать скорость прошивки такая же как и была небольшой лог файл
STK500Com.rar ( 9.53 килобайт )
Кол-во скачиваний: 291
|
|
|
|
|
Mar 6 2009, 07:53
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 16-01-09
Пользователь №: 43 464

|
Petka Ну неужели жалко исходники печатки ? Замудохалсо однако
|
|
|
|
|
Mar 6 2009, 15:36
|
Группа: Новичок
Сообщений: 7
Регистрация: 15-05-07
Пользователь №: 27 728

|
Доброго времени суток! Спасибо большое автору за топик  Пересмотрел почти всё, но учитывая большое количество постов немного потерялся. Если не сложно, можно ли получить ответы на несколько вопросов: 1) Какие контроллеры можно будет шить данным программатором? (Я с AVR пока не работал, но по всей видимости прийдется) 2) Какой все-таки камень желательно взять для программатора? (Оптимально цена/функционал) 3) Сколько все-таки было сделано исправлений в прошивке и схеме (если были)? Заранее спасибо.
|
|
|
|
|
Mar 6 2009, 17:06
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(Boba Fett @ Mar 6 2009, 18:36)  Доброго времени суток! Спасибо большое автору за топик  Пересмотрел почти всё, но учитывая большое количество постов немного потерялся. Если не сложно, можно ли получить ответы на несколько вопросов: 1) Какие контроллеры можно будет шить данным программатором? (Я с AVR пока не работал, но по всей видимости прийдется) 2) Какой все-таки камень желательно взять для программатора? (Оптимально цена/функционал) 3) Сколько все-таки было сделано исправлений в прошивке и схеме (если были)? Заранее спасибо. 1) Все, которые поддерживают программирование через ISP. 2) мега8, мега88 3) Количество исправлений не считал. Но в топике есть крайняя версия без замеченных ошибок.
|
|
|
|
|
Mar 7 2009, 09:17
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 5-08-05
Пользователь №: 7 384

|
Цитата(Petka @ Jul 29 2008, 21:32)  Кроме понипрога первоначальную прошивку программатора можно сделать с помощью avrdude (он так же поставляется с WinAVR). Для этого:
1) В файл "avrdude.conf" (который лежит там где и "avrdude.exe") в соответствующее место добавить строки: По данному пункту вопросов не возникло. Цитата 2) Выполнить команду: Код avrdude -p atmega168 -c stk500_by_petka -P \\.\com3 -i 10 -B 10 -b 9600 -U flash:w:mega168.hex -U hfuse:w:0xDC:m -U lfuse:w:0xD7:m (Не забудьте поменять "mega168" и "com3" на соответствующие Вашим) Будут вопросы - задавайте. А вот здесь - ой! После несколькодневного траха, с кварцем 14,7456MHz и Mega8, вопросы возникли и появились кое-какие соображения, внимательно изучил даташит на мегу8, и пришёл к выводу, что фьюзы указанные в этой командной строке не совсем верные. Если прошить младший фьюз как указанно выше, то тактовый генератор меги будет переведён в режим работы с внешней RC цепочкой. Соответственно не факт, что мега сможет заработать с кварцем, в чём я и убедился лично. По моему мнению, программирование фьюзов должно выглядеть следушим образом: Код -U hfuse:w:0xD9:m -U lfuse:w:0x1F:m В этом случае тактовый генератор меги программируется на работу с внешним кварцом, плюс к этому настраивается BOD. Что получилось у меня: после программирования фьюзов как указано Petkой, мега перестала откликаться по SPI, когда понял, чего хочет тактовый генератор, подпаял RC цепочку, мега ожила и её удалось перепрограммировать с фьюзами которые я привёл выше, перекинул перемычку на нормальную работу, убрал RC цепочку, подпаял кварц, после этого всё заработало как положено. И ещё символы "\\.\" в командной строке avrdude, имхо, лишние, avrdude их просто игнорирует. Резюмируя всё изложенное: Код avrdude -p atmega8 -c stk500_by_petka -P com3 -i 10 -B 10 -b 9600 -U flash:w:mega8.hex -U hfuse:w:0xD9:m -U lfuse:w:0x1F:m
|
|
|
|
|
Mar 7 2009, 10:30
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(konny @ Mar 7 2009, 12:17)  ... с кварцем 14,7456MHz и Mega8, вопросы возникли и появились кое-какие соображения ... По моему мнению, программирование фьюзов должно выглядеть следушим образом: Код -U hfuse:w:0xD9:m -U lfuse:w:0x1F:m ..... после этого всё заработало как положено.  Каюсь, забыл ещё про фузы упомянуть, надеюсь теперь всё встало на свои места? Цитата И ещё символы "\\.\" в командной строке avrdude, имхо, лишние, avrdude их просто игнорирует. эти символы нужны для доступа к компортам номер которых больше 9, например к COM15 (при активном использовании микросхем FT232 количество компортов зарегистрированных в системе часто превышает 10 штук). Если номер компорта односимвольный, то этот префикс можно и не использовать. но лишним он никогда не бывает =) Цитата Резюмируя всё изложенное: Код avrdude -p atmega8 -c stk500_by_petka -P com3 -i 10 -B 10 -b 9600 -U flash:w:mega8.hex -U hfuse:w:0xD9:m -U lfuse:w:0x1F:m Спасибо за изучение вопроса. Добавлю эту строку в следующую редакцию HOWTO.
|
|
|
|
|
Mar 7 2009, 11:05
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 5-08-05
Пользователь №: 7 384

|
Цитата(Petka @ Mar 7 2009, 18:30)   Каюсь, забыл ещё про фузы упомянуть, надеюсь теперь всё встало на свои места? Ну да, заработал, по кр.м. в терминале откликается как положено, в работе ещё не пробовал. Цитата эти символы нужны для доступа к компортам номер которых больше 9, например к COM15 (при активном использовании микросхем FT232 количество компортов зарегистрированных в системе часто превышает 10 штук). Если номер компорта односимвольный, то этот префикс можно и не использовать. но лишним он никогда не бывает =) Хм... Откуда информация? Я прошерстил мануал на avrdude, специально, когда искал смысл в этих символах, но ничего не обнаружил, кроме как применение слэшей для переноса строк... Цитата Спасибо за изучение вопроса. Добавлю эту строку в следующую редакцию HOWTO. Да не за что, "щетильнее надо быть"(с)не мой  . Я думаю, надо учитывать интерес начинающих, такие проблемы их могут отпугнуть от AVR вообще, а потом стоит вой на форуме "аврка не шьёться  ". Можно даже не только HOWTO поправить, но и подредактировать исходное сообщение(номер не помню, к сожалению). И есть ещё предложение, вынести последнюю версию прошивки+исходники и HOWTO в самое начало топика(если это можно сделать). Учитывая нетерпение и жажду попробовать всё, сразу и срочно, читать несколько десятков страниц темы начинают потом, как правило когда возникли проблемы. С уважением.
|
|
|
|
|
Mar 7 2009, 12:45
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(konny @ Mar 7 2009, 14:05)  Хм... Откуда информация? Я прошерстил мануал на avrdude, специально, когда искал смысл в этих символах, но ничего не обнаружил, кроме как применение слэшей для переноса строк... Информация относится вообще к Windows API. Т.е. так надо открывать файл компорта в windows , номер которого больше 9. Написано соответственно в MSDN. Цитата Можно даже ... подредактировать исходное сообщение..., вынести последнюю версию прошивки+исходники и HOWTO в самое начало топика(если это можно сделать). Давно это хотел сделать, но прав на редактирование топика у меня нет =(.
|
|
|
|
|
Mar 7 2009, 18:06
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 5-08-05
Пользователь №: 7 384

|
Цитата(Petka @ Mar 7 2009, 21:45)  Информация относится вообще к Windows API. Т.е. так надо открывать файл компорта в windows , номер которого больше 9. Написано соответственно в MSDN. Во как... не знал о такой особенности, хотя компорты программить приходилось. Надо покопать MSDN, спасибо за информацию! Цитата Давно это хотел сделать, но прав на редактирование топика у меня нет =(. А движок форума вообще позволяет делать такие вещи, может к админам постучаться? Раз уж есть железка, надо и документацию добить как положено. Ещё предложение, файл HOWTO на русском языке сделать, ну или двуязычный, я думаю это тоже немаловажный момент.
|
|
|
|
|
Mar 8 2009, 04:04
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 5-08-05
Пользователь №: 7 384

|
Цитата(Petka @ Mar 8 2009, 03:38)  1) Как-то уже в топике предложил отредактировать первое сообщение. Реакции не последовало, следовательно - у них есть свои соображения почему не надо. Странно как-то... Цитата 2) HOWTO будет только на английском. Причина проста: кто не сможет осилить примитивный английский, тому и не стоит заниматься контроллерами. ИМХО. Может быть и так.
|
|
|
|
|
Mar 10 2009, 06:13
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 16-01-09
Пользователь №: 43 464

|
Я вот что хотел спросить тут где то рекомендовали на выход прикрутить 74ls244 Просто делаю проект в котором мега 128 прикручена к 3в дисплею на SPI скорее всего висеть будет ммс карта , а она вроде тоже 3в Я так понимаю если 74 224 прикрутить на выход и запитать её от таргета , то я получу согласование уровней ? Или проще мегу программатора запитать от таргета ?
Сообщение отредактировал Ильмар - Mar 10 2009, 06:14
|
|
|
|
|
Mar 10 2009, 08:01
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(Ильмар @ Mar 10 2009, 09:13)  Я вот что хотел спросить тут где то рекомендовали на выход прикрутить 74ls244 Просто делаю проект в котором мега 128 прикручена к 3в дисплею на SPI скорее всего висеть будет ммс карта , а она вроде тоже 3в Я так понимаю если 74 224 прикрутить на выход и запитать её от таргета , то я получу согласование уровней ? Или проще мегу программатора запитать от таргета ?  ISP в меге128 НЕ использует SPI. так что программатор будет подключен к одним портам меги, а mmc к другим. В таком случае можно не париться и программировать 3 вольтовую мегу программатором без изменений.
|
|
|
|
|
Mar 10 2009, 09:56
|

Частый гость
 
Группа: Участник
Сообщений: 84
Регистрация: 28-12-07
Из: Кобрин, Беларусь
Пользователь №: 33 698

|
Цитата(Petka @ Feb 26 2009, 09:20)  HEX для кварца 7,3728 МГц. Mega8. Прошивка экспериментальная. Пробуйте, сообщайте результаты. Сорри за нубский вопрос: фузы для такого кристалла такие же как для 14,7456МГц, т.е. как здесь? В сорцах "финальные" версии? Т.е. самому собрать можно? Просто есть "лишняя" mega168V - хочу на ней попробовать собрать Ваш программатор. Спасибо.
--------------------
Ищу рабочие версии драйвера ruki.sys и библиотеки golova.dll...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|