|
|
  |
AvrUsb500 by Petka, вариант программатора AVR, доступный для простого изготовления |
|
|
|
Sep 26 2009, 13:33
|
Участник

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

|
Цитата(Petka @ Sep 26 2009, 16:31)  Заработало? пока нет. я решил на всякий случай еще раз перешить. минут через 15 прошивка должна закончится. надеюсь.
|
|
|
|
|
Sep 26 2009, 14:57
|
Участник

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

|
кажется разобрался. два резистора не того номинала и поэтому программатор не мог утянуть в 0 RESET целевого процессора. вероятно именно это приводило к зависанию. Кстати мне кажется что номинал R10 должен быть 100 Ом а не 220 как в перечне к схеме.заменил резисторы - предварительно поехало но со следующей граблей: Код # avrdude -p atmega48 -P "/dev/ttyUSB4" -c stk500v2 -U eeprom:w:tm.eep
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.10s
avrdude: Device signature = 0x1e9205 avrdude: reading input file "tm.eep" avrdude: input file tm.eep auto detected as Intel Hex avrdude: writing eeprom (255 bytes):
Writing | | 0% 0.00s avrdude: stk500v2_paged_write: loadpage instruction not defined for part "ATMEGA48" Writing | ################################################## | 100% 0.00s
avrdude: failed to write eeprom memory, rc=-1
avrdude: safemode: Fuses OK
avrdude done. Thank you. # не подскажеш что что это такое и как это полечить? мне всетаки нужно писать EEPROM ...
Сообщение отредактировал cvv - Sep 26 2009, 14:58
|
|
|
|
|
Sep 26 2009, 15:23
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(cvv @ Sep 26 2009, 18:57)  Кстати мне кажется что номинал R10 должен быть 100 Ом а не 220 как в перечне к схеме. Почему так кажется? Что навело на эти мысли? Обоснуйте. Цитата [code]# avrdude -p atmega48 -P "/dev/ttyUSB4" -c stk500v2 -U eeprom:w:tm.eep avrdude: stk500v2_paged_write: loadpage instruction not defined for part "ATMEGA48" Так это под линуксом? Какая версия avrdude? P.S. Нагуглил: bugfix была раньше такая ошибка, но в 2006 году уже залечили =)
|
|
|
|
|
Sep 26 2009, 15:27
|
Участник

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

|
заапгрейтил avrdude и все поехало без ошибок.
всплыл еще один нюанс:
Stk300 на старой машинке шил EEPROM на порядок быстрее
Спасибо за разработку.
Сообщение отредактировал cvv - Sep 26 2009, 15:29
|
|
|
|
|
Sep 26 2009, 15:44
|
Участник

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

|
Цитата(Petka @ Sep 26 2009, 18:23)  Почему так кажется? Что навело на эти мысли? Обоснуйте. я думаю что в этом случае мы будем иметь более уверенный резет при новолунии и подобных ситуациях. прежде чем спаять твою схему я прошерстил довольно схем и более 33 Ом в этой цепи ни у кого не припоминаю. Цитата(Petka @ Sep 26 2009, 18:23)  > Так это под линуксом? естественно > Какая версия avrdude? снапшот CVS конца 2006 года Цитата(Petka @ Sep 26 2009, 18:30)  А avreal + ft2232 ещё быстрее =) серьезно? надо будет подумать об этой железке. Мне кажется светит ARM-ы шить
Сообщение отредактировал cvv - Sep 26 2009, 15:41
|
|
|
|
|
Sep 26 2009, 16:19
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(cvv @ Sep 26 2009, 19:44)  я думаю что в этом случае мы будем иметь более уверенный резет при новолунии и подобных ситуациях. прежде чем спаять твою схему я прошерстил довольно схем и более 33 Ом в этой цепи ни у кого не припоминаю. Тут всё просто: Вы же свои схемы программируете? Тогда вам известен номинал подтяжки Reset к Vcc. Считаете делитель, сравниваете с пороговым значением ресета из datasheet (0,1*Vcc минимум для Mega8). И приходите к выводу достаточно 220 Ом или нет. Для 220 Ом подтягивать reset к vcc можно номиналом от 2,2 кОм. Чего более чем достаточно для надёжной работы. 100 Ом может понадобится если вы подтянули 1 кОм. 33 Ома - если подтяжка 330 Ом, что уже чрезмерно. С другой стороны уменьшать последовательное сопротивление не стоит, т.к. оно обеспечивает защитное токоограничение на выводе меги в программаторе. Считаем: питание меги 5В, допустимый ток 20мА. Соответственно если вывод программатора будет закорочен на GND, то надо поставить токоограничивающий резистор не менее 250 Ом. Правда в absolute maximum ratings топустимый ток на пин указан 40 мА. это позволяет поставить резистор от 125 Ом. Думайте сами, решайте сами =) Цитата снапшот CVS конца 2006 года Вот там то бага и жила. Цитата серьезно? надо будет подумать об этой железке. Мне кажется светит ARM-ы шить  Olimex ARM-USB-OCD - хорошая реализация этого программатора. Скорости прошивки я выкладывал в топике по "avreal".
|
|
|
|
|
Sep 26 2009, 16:47
|
Участник

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

|
Цитата(Petka @ Sep 26 2009, 19:19)  Тут всё просто: Вы же свои схемы программируете? Тогда вам известен номинал подтяжки Reset к Vcc. Считаете делитель, сравниваете с пороговым значением ресета из datasheet (0,1*Vcc минимум для Mega8). И приходите к выводу достаточно 220 Ом или нет. Для 220 Ом подтягивать reset к vcc можно номиналом от 2,2 кОм. Чего более чем достаточно для надёжной работы. 100 Ом может понадобится если вы подтянули 1 кОм. 33 Ома - если подтяжка 330 Ом, что уже чрезмерно. С другой стороны уменьшать последовательное сопротивление не стоит, т.к. оно обеспечивает защитное токоограничение на выводе меги в программаторе. Считаем: питание меги 5В, допустимый ток 20мА. Соответственно если вывод программатора будет закорочен на GND, то надо поставить токоограничивающий резистор не менее 250 Ом. Правда в absolute maximum ratings топустимый ток на пин указан 40 мА. это позволяет поставить резистор от 125 Ом. Думайте сами, решайте сами =)
Вот там то бага и жила.
Olimex ARM-USB-OCD - хорошая реализация этого программатора. Скорости прошивки я выкладывал в топике по "avreal". еще раз спасибо!-)
|
|
|
|
|
Sep 29 2009, 19:15
|
Группа: Участник
Сообщений: 14
Регистрация: 11-06-09
Пользователь №: 50 187

|
Petka подскажите как с помощью вашего программатора реанимировать мегу48. Я работаю в CodeVision. Через терминал включаю режим 1 Mhz. Подкидываю проводок от X5 к XTAL1. Выставляю SCK Freq 57600 Hz.И делаю Erase Chip. Превожу програматор в fast режим, и при чтении чипа ошибка. Что я делаю не так?
|
|
|
|
|
Sep 30 2009, 00:49
|
Местный
  
Группа: Свой
Сообщений: 408
Регистрация: 21-10-06
Из: Санкт-Петербург
Пользователь №: 21 527

|
Цитата(ukrman @ Sep 29 2009, 23:15)  Petka подскажите как с помощью вашего программатора реанимировать мегу48. Я работаю в CodeVision. Через терминал включаю режим 1 Mhz. Подкидываю проводок от X5 к XTAL1. Выставляю SCK Freq 57600 Hz.И делаю Erase Chip. Превожу програматор в fast режим, и при чтении чипа ошибка. Что я делаю не так? Стирать как раз необязательно. Надо фьюзы перешивать. И только потом переходить в fast.
|
|
|
|
|
Sep 30 2009, 07:05
|
Группа: Участник
Сообщений: 14
Регистрация: 11-06-09
Пользователь №: 50 187

|
Цитата Попробуйте ещё скинуть частоту ISP. 10кГц будет достаточно для реанимации. А как это сделать? Цитата Стирать как раз необязательно. Надо фьюзы перешивать. И только потом переходить в fast. После стирания я считываю фьюзы и там везде "единички". Как их стереть не пойму
|
|
|
|
|
  |
9 чел. читают эту тему (гостей: 9, скрытых пользователей: 0)
Пользователей: 0
|
|
|