roboforum.ru

Технический форум по робототехнике.

USB программатор для AVR

Ответить

Проблемы с программированием

XHunter » 30 янв 2007, 10:20

Собрал по схеме, на печатке, запрограммил. Винда видит отлично.
Но при программировании постоянные траблы :( То нет com-порта, то не могу запрограммировать флеш... Еще с небольшими программами так-сяк, но если чуть побольше ~ 2 кБ, то ку! Заливаю через CVAVR. Программирую Мегу 16. Через 5 проводков заливается отлично. В чем может быть проблемма? VCC мерил = 3,58В. Хотя разок выручил вывод LED-фьюзы ошибочно запрограммил :)
Вложения
409.jpg
Вид со стороны дорожек
409.jpg (21.61 КиБ) Просмотров: 6185
408.jpg
Вид со стороны элементов
408.jpg (35.34 КиБ) Просмотров: 5358

Re: Проблемы с программированием

prottoss » 30 янв 2007, 12:16

XHunter писал(а):Собрал по схеме, на печатке, запрограммил. Винда видит отлично.
Но при программировании постоянные траблы :( То нет com-порта, то не могу запрограммировать флеш...
Номиналы резисторов все как по схеме?

Re: Проблемы с программированием

XHunter » 30 янв 2007, 12:50

prottoss писал(а):Номиналы резисторов все как по схеме?


Да. Все как по схеме.

Re: Проблемы с программированием

prottoss » 30 янв 2007, 12:59

XHunter писал(а):
prottoss писал(а):Номиналы резисторов все как по схеме?

Да. Все как по схеме.
А Вы не пробовали другим софтом пользоваться, например, AVRProg 1.4 - она входит в пакет AVRStudio

Re: Проблемы с программированием

XHunter » 30 янв 2007, 13:02

prottoss писал(а):А Вы не пробовали другим софтом пользоваться, например, AVRProg 1.4 - она входит в пакет AVRStudio


Нет. А стоит? Меня в принципе CVAVR во всем устраивает, окромя заливки...

Re: Проблемы с программированием

prottoss » 30 янв 2007, 13:18

XHunter писал(а):
prottoss писал(а):А Вы не пробовали другим софтом пользоваться, например, AVRProg 1.4 - она входит в пакет AVRStudio

Нет. А стоит? Меня в принципе CVAVR во всем устраивает, окромя заливки...
Я не знаю, какая версия у Вас CVAVR, возможно, она просто не правильно работает с AVR910, или вообще с СОМ- портом. Просто, чтобы, убедится, что все таки вами собранный программатор работает правильно, стоит попробовать его с другим ПО. К тому же под AVRProg программатор пишет и читает раз в 10 быстрее

Re: Проблемы с программированием

XHunter » 30 янв 2007, 14:02

prottoss писал(а):Я не знаю, какая версия у Вас CVAVR, возможно, она просто не правильно работает с AVR910, или вообще с СОМ- портом. Просто, чтобы, убедится, что все таки вами собранный программатор работает правильно, стоит попробовать его с другим ПО. К тому же под AVRProg программатор пишет и читает раз в 10 быстрее
CVAVR-1.25.2 Beta1
Вечерком попробую другой софт...

Re: Проблемы с программированием

XHunter » 30 янв 2007, 14:21

prottoss писал(а):Я не знаю, какая версия у Вас CVAVR, возможно, она просто не правильно работает с AVR910, или вообще с СОМ- портом. Просто, чтобы, убедится, что все таки вами собранный программатор работает правильно, стоит попробовать его с другим ПО. К тому же под AVRProg программатор пишет и читает раз в 10 быстрее
CVAVR-1.25.2 Beta1
Вечерком попробую другой софт...

AVL » 30 янв 2007, 16:19

prottoss писал(а):
у меня этот тагет генерит там на одной ноге, так вот, тагет после такой прошивкой еле ногой этой дрыгает, то-есть частота таки глобально упала. ОМЕГА, к стати, тоже перестала тагет видеть.
Кстати, а эта самая ОМЕГА программирует такие МК на низкой частоте? Все же попробуйте сделать как я советовал выше, и затактировать МК от 1 МГц - возможно Вы ошибаетесь


Сделал так. как Вы сказали, затактировал  тагет от внешнего гегнератора LED, но ничего не изменилось. Тагет не видится, хоты программу свою выполняет (дрыгает медленно ножкой). Другой аналогичный тагет проггером видится без проблем. Эта моя ОМЕГА уже тоже не видит тагета. Есть у гого ещё практика  с программированием на пониженной частоте? Спасибо.

prottoss » 30 янв 2007, 16:26

AVL писал(а):Сделал так. как Вы сказали, затактировал  тагет от внешнего гегнератора LED, но ничего не изменилось. Тагет не видится, хоты программу свою выполняет (дрыгает медленно ножкой). Другой аналогичный тагет проггером видится без проблем. Эта моя ОМЕГА уже тоже не видит тагета. Есть у гого ещё практика  с программированием на пониженной частоте? Спасибо.
А Вы SPI, случаем, не отключили?

AVL » 30 янв 2007, 19:18

prottoss писал(а):
AVL писал(а):Сделал так. как Вы сказали, затактировал  тагет от внешнего гегнератора LED, но ничего не изменилось. Тагет не видится, хоты программу свою выполняет (дрыгает медленно ножкой). Другой аналогичный тагет проггером видится без проблем. Эта моя ОМЕГА уже тоже не видит тагета. Есть у гого ещё практика  с программированием на пониженной частоте? Спасибо.
А Вы SPI, случаем, не отключили?

Уверен, что не отключил, ибо я при трезвом разуме изменил только один фуз (тактирование). Частота на ноге резко упала и тагет перестал видится двумя проггерами.

Adsw » 07 фев 2007, 20:54

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

Самое интересное, что ни один из простых USB-программаторов (ни программатор от уважаемого prottoss, ни USBasp) не работают "в режиме". Что такое работа "не в режиме", и чем это грозит, можно почитать на ixbt.

В программаторе USBasp
1. Имеем размах в 5В вместо 3.3В между DP+ и DP-. В последней редакции автор поставил стабилитроны, причем один из них работает через какое-то место без балластного резистора - так что проблема решена через какое-то место :(

В программаторе от prottoss
1. ATmega8 гоняется на 12Mhz при питании около 3х вольт, хотя в даташите указано max 10Mhz. При этом 3 вольта получены с помощью двух диодов (сугубо имхо - решение просто безобразное, эти ~3.6 вольта несколько нестабильны, тогда уж надо ставить соответствующий low-drop регулятор или на крайняк стабилитрон)
2. Какую функцию выполняет резистор R5? Признаюсь, так и не смог разобраться.

В обоих программаторах
1. Что делать с согласованием уровней, если уровни target отличаются от уровней программатора. Здесь, выше, prottoss писал: "резисторы до таргета можете поставить любые - они защищают МК программатора, т.к. он от 3,6 вольт питается". Как эти резисторы защищают МК программатора? Если с target  идут сигналы с уровнями в 5В, то на МК даже через резисторы придет 5В (входное сопротивление порта весьма велико)
2. В состоянии suspend требования по энергопотреблению не будут удовлетворены.

PS. Данный пост НИ В КОЕМ СЛУЧАЕ не имеет целью критику каких-либо конструкций. Это всего лишь объективные размышления, проведенные "в поисках истины" и хотелось бы знать мнение знающих людей.
PPS. Очень хотелось бы, чтобы сам prottoss привел какие-то полезные размышления.

prottoss » 07 фев 2007, 22:01

Adsw писал(а):В программаторе от prottoss
1. ATmega8 гоняется на 12Mhz при питании около 3х вольт, хотя в даташите указано max 10Mhz. При этом 3 вольта получены с помощью двух диодов (сугубо имхо - решение просто безобразное, эти ~3.6 вольта несколько нестабильны, тогда уж надо ставить соответствующий low-drop регулятор или на крайняк стабилитрон)


Во первых, питание МК не "около 3-х вольт", а около 3,6 вольт (см. мою статью про программатор). Согласен с тем, что решение не лучшее - понижать питание с помощью диодов. НО, упор был сделан на дешивизну конструкции при максимуме надежности. Естественно, кто то поставил low-drop. Ставить же стабилитрон - решение еще более безобразнейшее, чем мое (ИМХО).

Во вторых, могли бы привести номер страницы даташита, или номер таблицы, откуда Вы подчерпнули информацию про 10 МГц. Я приведу конкретные данные: Даташит на ATmega8: ATmega8 Typical Characteristic->Active Supply Current: Page 247; Figure 119: И что мы видим? 3,3 Вольта - 14 МГц

Adsw писал(а):2. Какую функцию выполняет резистор R5? Признаюсь, так и не смог разобраться.

Резистор R5 служит для предотвращения ложных срабатываний прерывания INT0 МК, т.к. внутренние pull-up resistors на INT0 и INT1 отключенны

Adsw писал(а):1. Что делать с согласованием уровней, если уровни target Отличаются от уровней программатора. Здесь, выше, prottoss писал: "резисторы до таргета можете поставить любые - они защищают МК программатора, т.к. он от 3,6 вольт питается". Как эти резисторы защищают МК программатора? Если с target  идут уровни с сигналами в 5В, то на МК даже через резисторы придет 5В (входное сопротивление порта весьма велико)
В том посте, где я говорил, что "резисторы можете поставить любые" я, конечно, был не прав. Но там решалась несколько другая проблема, и я по моему спешил :-) На самом деле резисторы желательно поставить еще большего номинала - 470 Ом. Объясняю почему.
Кроме того, что пин МК, ежели рассматривать его как вход, имеет большое входное сопротивление, есть еще так называемые защитные диоды. Нас интересует верхний из них (тот, который анодом к выводу МК, а катодом к VCC МК). Так вот именно этот диод не дает попасть потенциалу выше напряжения питания + падение напряжения на этом диоде на вывод МК. Резистор нужен именно для этого диода, дабы ограничить ток через него. При номинале резисторов R10 - R13 330 Ом, этот ток будет примерно равен 4 мА. Честно говоря, значение допустимого тока через защитные диоды в даташитах на МК AVR я не нашел, но слышал, что около 2-4 мА диоды держат. Так что, пока напряжение таргета превышает питание МК программатора, его защищают резисторы, если же напряжение питания таргета ниже напряжения питания МК программатора все наоборот - резисторы предохраняют таргет :-)

Adsw писал(а):2. В состоянии suspend требования по энергопотреблению не будут удовлетворены.

Это чисто программная фича, и реализовать ее нет больших проблем

Adsw » 12 фев 2007, 20:25

prottoss писал(а):упор был сделан на дешивизну конструкции при максимуме надежности. Естественно, кто то поставил low-drop.

Подходящий low-drop в принципе можно найти за 0.5 уе, так что тут скорее вопрос не дешевизны, а "доставабельности" деталей. Причем регулятор будет иметь защиту от перегрузки и перегрева.

prottoss писал(а):Во вторых, могли бы привести номер страницы даташита, или номер таблицы, откуда Вы подчерпнули информацию про 10 МГц. Я приведу конкретные данные: Даташит на ATmega8: ATmega8 Typical Characteristic->Active Supply Current: Page 247; Figure 119: И что мы видим? 3,3 Вольта - 14 МГц

Действительно, страницу нашел, но тут возникает несоответствие с тем, что указано на первой странице того же даташита:
Operating Voltages
– 2.7 - 5.5V (ATmega8L)
– 4.5 - 5.5V (ATmega8)
Speed Grades
– 0 - 8 MHz (ATmega8L)
– 0 - 16 MHz (ATmega8)
По этим данным выходит, что ATmega8 не способна работать при питании 3.3В, а способна ATmega8L, но у нее потолок частоты - 8MHz. Но раз в реальной конструкции все работает и на стр. 247 приведены рисунки, говорящие совсем о другом, выходит, что это неточность даташита (?)

avr123.nm.ru » 12 фев 2007, 21:26

все уже в курсе что новая версия выложена 1.05  ???


cron
Rambler\'s Top100 Mail.ru counter