|
|
  |
USB programmer AVR910, с драйвером от obdev |
|
|
|
Oct 18 2007, 13:10
|
Участник

Группа: Участник
Сообщений: 63
Регистрация: 17-04-07
Пользователь №: 27 098

|
 Проверил программатор Выдает сообщение: не может войти в режим программирования Где трабл?
|
|
|
|
|
Oct 26 2007, 06:27
|
Группа: Новичок
Сообщений: 3
Регистрация: 9-10-07
Пользователь №: 31 192

|
День добрый. Не хотелось поднимать данную тему на верх вновь, но я попал в тупик. Ситуация следующая: Был собран программатор Prottossa (отдельная благодарность автору) один в один, в сборке ошибок не выявлено. Была успешно прошита AtMega8-16PU находясь в системе, с помощью «5 проводков» и PonyProg, следовательно SPI часть схемы работоспособна. Установленный FUSE- биты: SPIEN, CKOPT и SUT0 На выход программатора подключена такая же «голая» Mega8-16PU, запитывается от программатора. Джампера J1/J2 установлен в положение Norm. Джампер J3 не установлен. Устройство опознается системой, запускается AVRprog
Результат - невозможность войти в режим программирования.
Подробности: На пине 15 LED формируется правильный меандр. На пинах 17 MOSI 18 MISO 19 SCK сигнал обнаружить не удалось На пине 16 RESET – постоянный уровень 2.66 В На пине RESET Меги8 программатора – 3.6 В
Вопрос верны ли напряжения на пинах 1 и 16 ?
Сообщение отредактировал Floyd - Oct 26 2007, 06:30
|
|
|
|
|
Oct 26 2007, 10:48
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Floyd @ Oct 26 2007, 14:27)  День добрый. Привет. 1. "подобытная" ATmega8 точно не битая? 2. Можно попробовать проверить исправность программатора без "подопытного" контроллера. Для этого на выводы ISP-разъема программатора повесить напрямую светодиоды. При ожидании команд от AVRProg светодиоды будут погашены (MISO, MOSI, SCK), Светодиод на выводе RESET будет гореть. При попытке войти в режим программирования ВСЕ светодиоды начнут мерцать, так как программатор сделает 32 попытки войти в коннект с "подопытным" контроллером. Если этого не происходит значит у Вас какие-то проблемы C: 1. МК программатора; 2. разводкой печатной платы; 3. Целостностью линий SPI от МК программатора до программируемого МК (ISP-разъемы, шлейф). Удачи.
--------------------
|
|
|
|
|
Oct 26 2007, 12:42
|
Группа: Новичок
Сообщений: 3
Регистрация: 9-10-07
Пользователь №: 31 192

|
Цитата(prottoss @ Oct 26 2007, 14:48)  Привет.
1. "подобытная" ATmega8 точно не битая? 2. Можно попробовать проверить исправность программатора без "подопытного" контроллера. Для этого на выводы ISP-разъема программатора повесить напрямую светодиоды. При ожидании команд от AVRProg светодиоды будут погашены (MISO, MOSI, SCK), Светодиод на выводе RESET будет гореть. При попытке войти в режим программирования ВСЕ светодиоды начнут мерцать, так как программатор сделает 32 попытки войти в коннект с "подопытным" контроллером.
Если этого не происходит значит у Вас какие-то проблемы C: 1. МК программатора; 2. разводкой печатной платы; 3. Целостностью линий SPI от МК программатора до программируемого МК (ISP-разъемы, шлейф).
Удачи. Развязал питание микроконтроллеров все заработало  . GDI и Prottoss спасибо за помощь.
Сообщение отредактировал Floyd - Oct 26 2007, 12:43
|
|
|
|
|
Oct 27 2007, 19:43
|

Бывалый
  
Группа: Validating
Сообщений: 375
Регистрация: 19-10-05
Из: Kiev, UA
Пользователь №: 9 853

|
Цитата(GDI @ Oct 26 2007, 11:10)  Схема прграмматора не рассчитана на то чтобы от нее чтотопитать, обычыве программаторы, например STK-200, наоборот , сами питаются от прошиваемой схемы. По моему просто проседает напряжение питания программатора - вот ничего и не работает. Я свой (естественно от ув. протоса) программатор доработал таким образом: отдельный диод поставил с 5В УСБ на программируемый таргет и даже если потребление достигало 200мА(!) и более от таргета, программатор НОРМАЛЬНО функционировал и никаких сбоев не наблюдалось. У меня часы с 9-ти сегментным ЛЕД индикатором уже с год работают. Потребление в СРЕДНЕМ около 100мА. Я думаю это хороший пример, как можно решить насущную проблему не прибегая к "разбору полетов": кто виноват. Как всегда: тот, кто что-то делает, тот и виноват. Я так думаю про себя, и , надеюсь, так-же думают про себя все те, кто ДЕЛАЕТ, и добивается от себя такого-же и большего. PS: Это не всё адресовано к GDI. Не обижайтесь, если что.
--------------------
|
|
|
|
|
Oct 28 2007, 12:54
|

Частый гость
 
Группа: Участник
Сообщений: 148
Регистрация: 23-02-07
Пользователь №: 25 618

|
Цитата(bloodden @ Oct 27 2007, 22:43)  Я свой (естественно от ув. протоса) программатор доработал таким образом: отдельный диод поставил с 5В УСБ на программируемый таргет и даже если потребление достигало 200мА(!) и более от таргета, программатор НОРМАЛЬНО функционировал и никаких сбоев не наблюдалось. Я тоже использую диод. Поставил с падением 0.1 вольта(германевый), так как при падении в 0.6 вольта на кремневом диоде, схема с включенным BOD на 4.5 вольта незапускается, после программирования. Есть и свои минусы - коротнула схема, и чуть не сжог материнку ( повезло сработала защита USB )
Сообщение отредактировал Marian - Oct 28 2007, 12:55
|
|
|
|
|
Oct 29 2007, 10:20
|
Группа: Новичок
Сообщений: 3
Регистрация: 9-10-07
Пользователь №: 31 192

|
Цитата(prottoss @ Oct 26 2007, 16:50)  Хм... Либо программируемый МК тактировался частотой более 14 Мгц (так как питание, как я понял 3,6 вольт было), либо Вы не подцепили землю от программатора до программируемого МК  Имелось в виду питание на МК программатора. Целевая Mega8, тактируемая от внутреннего генератора, подключалась напрямую к линии питания программатора, но до диодов, естественно и программатор и целевой контроллер имели один общий провод. Еще один момент: целевой контроллер (без обвеса) запитывался от USB интерфейса ноута, к это му же компьютеру подключался программатор. Так вот при соединении земли целевого МК и программатора первый переставал определяться.
|
|
|
|
|
Dec 7 2007, 16:55
|

Группа: Новичок
Сообщений: 7
Регистрация: 7-12-07
Пользователь №: 33 080

|
Наконец дошли руки собрать этот можно смело сказать "легендарный" программатор CodeVision принял его как родного. А вот c avrdude проблема. Во вложенном файле видно что avrdude пишет при соединении с программатором при подключении меги8. Не совпадают коды микросхем в конф. файле avrdude и зашитые в программатор (подсмотрел в исходниках Protoss-a) - в частности меги8: в конфиге avrdude он "77" а у Protoss-a - "76" Версия WinAVR-20070525. Что править - прошивку или конфиг avrdude? Подскажите кто ошибся?
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 8 2007, 09:55
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(Vrungel @ Dec 7 2007, 23:55)  Наконец дошли руки собрать этот можно смело сказать "легендарный" программатор  Спасибо:-) Цитата(Vrungel @ Dec 7 2007, 23:55)  CodeVision принял его как родного. А вот c avrdude проблема. Во вложенном файле видно что avrdude пишет при соединении с программатором при подключении меги8. Не совпадают коды микросхем в конф. файле avrdude и зашитые в программатор (подсмотрел в исходниках Protoss-a) - в частности меги8: в конфиге avrdude он "77" а у Protoss-a - "76" Версия WinAVR-20070525. Что править - прошивку или конфиг avrdude? Подскажите кто ошибся? На самом деле ошиблись Вы:-) В архиве с моими исходниками на сайте есть оригинальный asm-файл с которого я сочинял свой программатор. Код 76 есть ATmega8, код 77 есть ATmega8 Boot loader, что фактически одно и тоже. Отличия в том, что boot поддерживает команду exit, по которой он передает управление вновь прошитой программе. По скольку программатору передавать управление не чему:-) он его и не передаетЪ:-) По avrdude - он прекрасно работает с моим программатором, НО надо кое что поправить в исходниках: В оригинальном протоколе AVR109(AVR910) после команд LEDON/LEDOFF идет байт в котором соответсвующие биты сигналят об зажигании/гашении светодиодов. А avrdude почему то просто посылает только код команды, без байта данных для светодиодов. Программатор сооответсвенно ждет байт команды, следующую команду воспринимает, как данные и т.п. В исходниках нужно просто поправить сдедующий код, чтоб все заработало: Код /***************************************************************************** Зажечь индикатор программирования команда игнорируется ******************************************************************************/ static void SetLED(void) { // проверяем, есть ли данные для команды /* CheckCommParams(1); if(TRUE == g_NeedParams) return;
GetChar(); */ PutChar(ACK); }
/***************************************************************************** Погасить индикатор программирования команда игнорируется ******************************************************************************/ static void ClrLED(void) { // проверяем, есть ли данные для команды /* CheckCommParams(1); if(TRUE == g_NeedParams) return;
GetChar(); */ PutChar(ACK); } То что закомментировано /* */ - удалить
--------------------
|
|
|
|
|
Dec 8 2007, 12:20
|

Группа: Новичок
Сообщений: 7
Регистрация: 7-12-07
Пользователь №: 33 080

|
Спасибо, исходники исправлю. А что делать с тем что avrdude у меня не признаёт в 0х76 мегу8? Пока в его конфиге не поменяю 77 на 76 мегу8 он не пишет (повторю картинку). Такие мои действия к камим либо последствиям для самой меги не приведут? Да и ещё он (avrdude) несколько кодов не понимает. Или мне версия подгулявшая попалась?
Эскизы прикрепленных изображений
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|