реклама на сайте
подробности

 
 
> AvrUsb500 by Petka, вариант программатора AVR, доступный для простого изготовления
Petka
сообщение Jan 30 2008, 19:07
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Эта тема закрыта. Продолжение обсуждения здесь.
После обновления компьютера обнаружил, что LPT порта больше нету laughing.gif и использовать проверенную связку 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
Причина редактирования: Обновление

Прикрепленные файлы
Прикрепленный файл  HowTo.pdf ( 71.05 килобайт ) Кол-во скачиваний: 11447
Прикрепленный файл  doc.pdf ( 115.76 килобайт ) Кол-во скачиваний: 13988
Прикрепленный файл  AvrUsb500_by_Petka.zip ( 25.17 килобайт ) Кол-во скачиваний: 8132
Прикрепленный файл  AVRUSB500_by_Petka_HEX.zip ( 40.61 килобайт ) Кол-во скачиваний: 6328
Прикрепленный файл  AvrUsb500_by_Petka_v2.zip ( 25.61 килобайт ) Кол-во скачиваний: 7317
 
Go to the top of the page
 
+Quote Post
65 страниц V  « < 59 60 61 62 63 > »   
Start new topic
Ответов (900 - 914)
Petka
сообщение Sep 24 2009, 11:40
Сообщение #901


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(Budek @ Sep 24 2009, 15:22) *
Petka....Вот возникла необходимость моим заказчикам тупо перешивать микроконтроллер. Посоветуйте программу-оболочку (с графическим интерфейсом, конечно), типа понипрога для такой работы, с минимальным набором необходимых действий. Спасибо.

avrdude + gui. а ещё лучше для "заказчиков" avrdude + *.bat файл. тогда ничего настраивать не надо, только иконку "жамкнуть"
Go to the top of the page
 
+Quote Post
Budek
сообщение Sep 24 2009, 11:50
Сообщение #902


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116



Цитата(Petka @ Sep 24 2009, 17:40) *
avrdude + gui. а ещё лучше для "заказчиков" avrdude + *.bat файл. тогда ничего настраивать не надо, только иконку "жамкнуть"


Спасибо. Так и подозревал, что ответ будет таким. Неужели ничего другого нет?
Go to the top of the page
 
+Quote Post
ShuraX
сообщение Sep 24 2009, 12:24
Сообщение #903





Группа: Участник
Сообщений: 6
Регистрация: 24-09-09
Пользователь №: 52 544



Цитата(Petka @ Sep 24 2009, 08:39) *
Прошивка программатора НЕ расчитана на кварц 16МГц. Так что изменений в схеме у вас больше.

Вчера так и подумал. Но нужных кварцев нет нигде.
И бестолку собирать прошивку под кварц 16МГц??? (makefile подправить).
Просто в этой же ветке где-то писали, что можно любой разрешенный, просто если он не кратен 115200, то скорость прошивки будет меньше. Поэтому и взял тот, что есть.

Сообщение отредактировал ShuraX - Sep 24 2009, 12:29
Go to the top of the page
 
+Quote Post
ds1307
сообщение Sep 24 2009, 12:50
Сообщение #904


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 6-03-09
Пользователь №: 45 759



Цитата(ShuraX @ Sep 24 2009, 15:24) *
Вчера так и подумал. Но нужных кварцев нет нигде.
И бестолку собирать прошивку под кварц 16МГц??? (makefile подправить).
Просто в этой же ветке где-то писали, что можно любой разрешенный, просто если он не кратен 115200, то скорость прошивки будет меньше. Поэтому и взял тот, что есть.

Ктото не так давно делал на 14,318. Их полно на материнках. Поспрошайте...
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 24 2009, 13:37
Сообщение #905


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(ShuraX @ Sep 24 2009, 16:24) *
И бестолку собирать прошивку под кварц 16МГц??? (makefile подправить).
Просто в этой же ветке где-то писали, что можно любой разрешенный, просто если он не кратен 115200, то скорость прошивки будет меньше.

Всё правильно. Можно пересобрать прошивку под другой кварц с соответствующим снижением скорости по КОМпорту (в вашем случае до 38400). (если та программа, через какую вы программируете поддерживает изменение baudrate).

Цитата(Budek @ Sep 24 2009, 15:50) *
Спасибо. Так и подозревал, что ответ будет таким. Неужели ничего другого нет?

Скорее всего есть. Я рассказал чем пользуюсь сам. После некоторого исследования я пришёл к выводу что avrdude единственный программатор, который поддерживает практически все программаторы (что есть у меня) и работает как под win так и под linux. Avreal ещё хорош, но он не поддерживает стандартный stk500 =(.
Go to the top of the page
 
+Quote Post
ShuraX
сообщение Sep 24 2009, 14:08
Сообщение #906





Группа: Участник
Сообщений: 6
Регистрация: 24-09-09
Пользователь №: 52 544



Цитата(Petka @ Sep 24 2009, 16:37) *
Всё правильно. Можно пересобрать прошивку под другой кварц с соответствующим снижением скорости по КОМпорту (в вашем случае до 38400). (если та программа, через какую вы программируете поддерживает изменение baudrate).


Да я пока только пытаюсь через терминал получить ответ. На скорости 38400 тоже молчит. Смотрю может где не пропай, хотя вроде как сам то он прошился. Пока не завел...
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 24 2009, 15:27
Сообщение #907


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(ShuraX @ Sep 24 2009, 18:08) *
Да я пока только пытаюсь через терминал получить ответ. На скорости 38400 тоже молчит. Смотрю может где не пропай, хотя вроде как сам то он прошился. Пока не завел...

Опять двадцать пять:
1) Надо поменять в makefile частоту кварца и выбрать свой контроллер.
2) Поменять в файле cfg500.h константу "BAUDRATE".
3) Пересобрать прошивку.
Go to the top of the page
 
+Quote Post
ShuraX
сообщение Sep 24 2009, 15:51
Сообщение #908





Группа: Участник
Сообщений: 6
Регистрация: 24-09-09
Пользователь №: 52 544



Цитата(Petka @ Sep 24 2009, 18:27) *
Опять двадцать пять:
1) Надо поменять в makefile частоту кварца и выбрать свой контроллер.
2) Поменять в файле cfg500.h константу "BAUDRATE".
3) Пересобрать прошивку.

Спасибо за оперативные ответы. Уж извините за "тупые" вопросы и проблемы. smile.gif Я только начал заниматься МК (хотя по роду деятельности постоянно программирую контроллеры...только промышленные). Но быстро учусь и много читаю. Нашел уже решение своей проблемы. Банальный прокол - фьюзы не прошил.
И спасибо за программатор. Все заработало. Это мой первый девайс на МК и с применением SMD (замучался паять, под рукой нет необходимого инструмента). Но блин интереееесно стало! Сейчас будем тестить все.
пункт 1. так и сделал.
пункт 2. не трогал
пункт 3. пересобрал и залил сразу же под нужную частоту и МК

По поводу BAUDRATE вопросик. Я так понял для моего кварца необхоимо поставить 38400?
Хотя сейчас он у меня стоит 115200 и прекрасно связывается и отвечает.
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 24 2009, 16:16
Сообщение #909


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(ShuraX @ Sep 24 2009, 19:51) *
По поводу BAUDRATE вопросик. Я так понял для моего кварца необхоимо поставить 38400?
Хотя сейчас он у меня стоит 115200 и прекрасно связывается и отвечает.

Считаем вместе:

1) 16МГц = 16000000
2) UART AVR для себя делит частоту ядра на 16, итого UART работает на частоте 16000000/16 = 1000000 (1МГц)
3) Нам надо получить 115200, для этого делитель должен быть 1000000/115200 ~ 8,68 в делитель можно записать только целое число. 8,68 округляем до 9.
4) Считаем обратно: внутреннюю частоту UART делим на наш округлённый делитель: 1000000/9 = 111111,111(1)
5) Считаем насколько полученная частота отличается от требуемой: (111111,111 - 115200) ~ 4089
6) Теперь переводим ошибку в проценты (4089/115200)*100% = 3,54%
7) Уарт передаёт символ за 10бит (8 - байт + 1 стоповый бит + 1 стартовый). Для успешного принятия символа требуется, что бы за 10 бит погрешность накопилась не больше чем на пол бита. Пол бита составляет 5% от 10 бит.
8) Итого понимаем, что для успешного приёма нужно что-бы погрешность частоты была не больше 5%. С одной стороны полученное значение в пункте (6) меньше 5%, значит Приём будет работать без ошибок. Но с другой стороны "на том конце" тоже могли заложиться на некоторое отклонение по частоте. Значит 5% допустимой погрешности надо делить на 2 (на обе стороны). Итого на уарт допустимо отклоняться не боллее 2,5%, а эта цифра уже меньше, полученной в пункте (6). Так что если делать на совесть, то надо уменьшить частоту, до такой, при которой полученная ошибка будет меньше 2,5%. А если для себя, тяп-ляп, и если есть уверенность что в компе uart держит частоту точнее 1,45% (5%-3,54%), то можно оставить скорость такой.

Уф. ничего не забыл?
Go to the top of the page
 
+Quote Post
ShuraX
сообщение Sep 24 2009, 16:42
Сообщение #910





Группа: Участник
Сообщений: 6
Регистрация: 24-09-09
Пользователь №: 52 544



Petka спасибо за подробный ликбез!
Делаю для себя, но на совесть, поэтому снижаем скорость пока не найду подходящий кварц.
Go to the top of the page
 
+Quote Post
ShuraX
сообщение Sep 26 2009, 05:44
Сообщение #911





Группа: Участник
Сообщений: 6
Регистрация: 24-09-09
Пользователь №: 52 544



Может вопрос не по теме, но не могу найти...
как в AVR Studio в диалоге "Select AVR Programmer" при выборе STK500 изменить скорость com порта на 38400, у меня выпадающий список не активен. И если прграмматор прошит для скорости 38400 - студия его не видет, если для скорости 115200 - все нормально, опеределяется как надо. (или в платной версии программы она активируется?)
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 26 2009, 08:34
Сообщение #912


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(ShuraX @ Sep 26 2009, 09:44) *
...если прграмматор прошит для скорости 38400 - студия его не видет, если для скорости 115200 - все нормально...

как вариант программируйте другими программаторами, которые умеют менять baudrate.
Go to the top of the page
 
+Quote Post
cvv
сообщение Sep 26 2009, 12:34
Сообщение #913


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 3-02-08
Пользователь №: 34 700



Собрал программатор на связке ft232bl+atmega48.

Мега прошилась удачно но после рестарта светодиод не мигнул ни разу. При подключении программируемого девайса также не загорается. на запросы avrdude не отвечает.

не могу сообразить в чем грабля.

прошивку брал с первого поста. кварц на 18.432 МГц.

Кстати а почему в рекомендуемой установке фузов в картинке к первому посту BOD выключен?

Сообщение отредактировал cvv - Sep 26 2009, 12:33
Go to the top of the page
 
+Quote Post
Petka
сообщение Sep 26 2009, 13:17
Сообщение #914


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(cvv @ Sep 26 2009, 16:34) *
Собрал программатор на связке ft232bl+atmega48.

Мега прошилась удачно но после рестарта светодиод не мигнул ни разу. При подключении программируемого девайса также не загорается. на запросы avrdude не отвечает.

не могу сообразить в чем грабля.

прошивку брал с первого поста. кварц на 18.432 МГц.

Кстати а почему в рекомендуемой установке фузов в картинке к первому посту BOD выключен?

1) Перемычку перекинули?
2) Никакого идеологического смысла в отключении BODа нет. На той картинке показано минимальное изменение заводских фузов, необходимое для запуска контроллера от внешнего кварца. BOD желательно включить, (BODEN programmed, BODLEVEL programmed).
Go to the top of the page
 
+Quote Post
cvv
сообщение Sep 26 2009, 13:21
Сообщение #915


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 3-02-08
Пользователь №: 34 700



Цитата(Petka @ Sep 26 2009, 16:17) *
1) Перемычку перекинули?
2) Никакого идеологического смысла в отключении BODа нет. На той картинке показано минимальное изменение заводских фузов, необходимое для запуска контроллера от внешнего кварца. BOD желательно включить, (BODEN programmed, BODLEVEL programmed).


1) да

2) ок. спасибо
Go to the top of the page
 
+Quote Post

65 страниц V  « < 59 60 61 62 63 > » 
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01564 секунд с 7
ELECTRONIX ©2004-2016