|
|
  |
AvrUsb500 by Petka, вариант программатора AVR, доступный для простого изготовления |
|
|
|
Feb 17 2008, 21:04
|

Знающий
   
Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768

|
Цитата(goodwin @ Feb 17 2008, 22:19)  В файле проекта при программировании поиграть частотой кристалла. CV выставляет скорость SPI автоматом ~1/4 от тактовой. И не всегда по максимуму - страхуется  Кстати, в прошивках для других кварцев надо корректировать делитель SPI - чтоб частота более-менее соответствовала стандартным (в AVRISP), которыуе учитывают утилиты для программирования. Нифига не понял.А если у кристала(tiny)вовсе нет SPI или он не используется или используется в режиме слэйва?И че-то я помню в даташитах такого,чтобы частота в режиме программирования зависела от частоты SPI.Вы с тактовой камня не перепутали?
--------------------
"Hello, word!" - 17 errors 56 warnings
|
|
|
|
|
Feb 18 2008, 10:33
|
Участник

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

|
Здравствуйте!!! Если вас не затруднит прошу ответить на пару вопросов.
1) Чем обусловлена частота кварца, и нельзя ли использовать 12 mГц ? (очень хочется)
2) Кто нибудь пробовал шить из windows Vista, какое ПО использовали? (AVRprog 1.40 Подойдет?)
|
|
|
|
|
Feb 18 2008, 12:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(Lubitel @ Feb 18 2008, 13:33)  Здравствуйте!!! Если вас не затруднит прошу ответить на пару вопросов. 1) Чем обусловлена частота кварца, и нельзя ли использовать 12 mГц ? (очень хочется) 2) Кто нибудь пробовал шить из windows Vista, какое ПО использовали? (AVRprog 1.40 Подойдет?) 1) частота кварца выбрана кратной стандартной скорости COM порта 115200. Можно конечно и другие кварцы ставить, но: а) скорость программирования будет меньше б) придётся изменить скорость работы по COM порту, и как следствие не всякий софт сможет работать с этим программатором 2) программатор под вистой видеться будет, а вот софт - надо смотреть конкретно.
|
|
|
|
|
Feb 18 2008, 12:32
|
Участник

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

|
Цитата(Petka @ Feb 18 2008, 15:26)  1) частота кварца выбрана кратной стандартной скорости COM порта 115200. Можно конечно и другие кварцы ставить, но: а) скорость программирования будет меньше А про висту? Тут назрел еще один вопрос. На сколько я знаю ft 232 требует кварц. А у вас его нет в схеме. Прокомментируйте пожалуйста.
|
|
|
|
|
Feb 18 2008, 12:40
|
Участник

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

|
Цитата(Petka @ Feb 18 2008, 15:34)  У Вас информация по предыдущему поколению чипов. Обвязка чипа ft232R - минимальна. Я живу в Н.Новгороде достать экзотические Микросхемы не возможно. А вот ft 232 bm у меня под рукой.
|
|
|
|
|
Feb 18 2008, 15:31
|
Частый гость
 
Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198

|
Ребята с Туксграфикс молодцы, конечно. У меня есть еще AVRUsb500 первой версии на 232BM и он отлично работает. Но я решил собрать второй, более современный (к тому же, первую версию, судя по всему бросили и больше не апдейтят), спроектировал плату, распаял (FT232RL, AtMega88, кварц на 18.432). Ставлю перемычку, говорю make load_test_1 - грузится, проверяется, мигает светодиодом (следовательно, BitBang mode работает) - идилия. Говорю make load_test_2 и...
make load_test_2 ./bbpg_firmware_load test_2.hex OK: erase chip... + uisp_bbpg --erase -dprog=bbpg -v=3 OK: bitbang mode on NOTE: bbpg is a bit slow. Be patient.... SCK Delay (t_sck): 50 Reset inactive time (t_reset) 1000 us AVR Direct Parallel Access succeeded after 31 retries. Vendor Code: 0x1e Part Family: 0x93 Part Number: 0x0a Atmel AVR ATmega88 is found. Page Write Enabled, size=64 FLASH Write Delay (t_wd_flash): 11111 us EEPROM Write Delay (t_wd_eeprom): 11111 us Erasing device ... Reinitializing device AVR Direct Parallel Access succeeded after 31 retries. Vendor Code: 0x1e Part Family: 0x93 Part Number: 0x0a Atmel AVR ATmega88 is found. Page Write Enabled, size=64 FLASH Write Delay (t_wd_flash): 11111 us EEPROM Write Delay (t_wd_eeprom): 11111 us disabling bitbang mode... + set +x OK: load and verify... + uisp_bbpg --upload if=test_2.hex -dprog=bbpg -v=3 --hash=8 --verify -dno-poll -dt_sck=1000 OK: bitbang mode on NOTE: bbpg is a bit slow. Be patient.... SCK Delay (t_sck): 1000 Reset inactive time (t_reset) 1000 us AVR Direct Parallel Access succeeded after 31 retries. Vendor Code: 0x1e Part Family: 0x93 Part Number: 0x0a Atmel AVR ATmega88 is found. Page Write Enabled, size=64 FLASH Write Delay (t_wd_flash): 11111 us EEPROM Write Delay (t_wd_eeprom): 11111 us Uploading: flash ################################################################################ ################################################## (total 1032 bytes transferred in 417.54 s (2 bytes/s) Verifying: flash #flash error at address 0x0: file=0x3c, mem=0x10 ##flash error at address 0x2: file=0x56, mem=0x02 flash error at address 0x4: file=0x55, mem=0x00 flash error at address 0x6: file=0x54, mem=0x00 flash error at address 0x8: file=0x53, mem=0x00 flash error at address 0xa: file=0x52, mem=0x02 flash error at address 0xc: file=0x51, mem=0x00 flash error at address 0xe: file=0x50, mem=0x00 flash error at address 0x10: file=0x4f, mem=0x04 ##flash error at address 0x12: file=0x4e, mem=0x02 flash error at address 0x14: file=0x4d, mem=0x00 flash error at address 0x16: file=0x4c, mem=0x00 flash error at address 0x18: file=0x4b, mem=0x00 flash error at address 0x1a: file=0x4a, mem=0x02 flash error at address 0x1c: file=0x49, mem=0x00 flash error at address 0x1e: file=0x48, mem=0x00 [..поскипано..]
Как видно, ошибки только по четным адресам. Проколупавшить с этим шлаком кача 4 к ряду в попытках понять что же это за беда, подключаю к нему внешний программатор (тот самый первый AVRUsb500) и, после некоторых затруднений, прошиваю 88ую мегу нужной финальной прошивкой. Более того, все это добро начинает вести себя не как кусок непонятно чего, а как нормальный программатор (работает и терминал и, что самое важное, оно отлично шьет другие АВРки). Отключаю внешний программатор, запаиваю на место резисторы - шиш! Пайку/разводку проверил, все прозвонил. Пробовал собирать более старую версию uisp и usblib - результат неизменно тот же - внутренний "самопрограмматор" не работает. Я было подумал, что сдох какой-то из портов FT232RL, но видно, что в начале процесса АВРка детектится правильно. Что за беда? Я бы не удивился, если бы оно не работало с самого начала, но test_1 самостоятельно загрузился и заработал, какого фига оно не работает дальше...
P.S. Программатор собран по оригинальной схеме.
Сообщение отредактировал cz0 - Feb 18 2008, 15:49
|
|
|
|
|
Feb 18 2008, 23:16
|
Частый гость
 
Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198

|
Итак, после долгой и мучительной войны я понял, что штатниые средства из архива просто напросто не стирают предыдущую прошивку. Если микроконтроллер стереть предварительно внешним программатором, то он отлично шьётся/проверяется. Подтверждением тому служит тот факт, что если сначала стереть прошивку 88ой меги а затем залить в нее штатными средствами test_1, то все будет работаеть. Если же следом зашить test_2, то ошибки будут длится ровно столько, сколько занимала прошивка test_1, далее все верифится отлично. Видимо, команда на стирание у ATMega88 отличается или же что-то не отрабатывает в той реализации BitBang mode, которую представил Guido Socher. Будем писать ему и просить починить, глядишь, опомнится, хотя я сильно сомневаюсь. Остается только попробовать поставить на место 88ой меги 8ю и посмотреть как будет вести себя она. Что-то мне подсказывает, что все будет отлично работать. Только смущает оверклокинг на 3.4 МГц...
|
|
|
|
|
Feb 19 2008, 08:23
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(cz0 @ Feb 19 2008, 02:16)  Итак, после долгой и мучительной войны я понял, что штатниые средства из архива просто напросто не стирают предыдущую прошивку. Если микроконтроллер стереть предварительно внешним программатором, то он отлично шьётся/проверяется. Подтверждением тому служит тот факт, что если сначала стереть прошивку 88ой меги а затем залить в нее штатными средствами test_1, то все будет работаеть. Если же следом зашить test_2, то ошибки будут длится ровно столько, сколько занимала прошивка test_1, далее все верифится отлично. Видимо, команда на стирание у ATMega88 отличается или же что-то не отрабатывает в той реализации BitBang mode, которую представил Guido Socher. Будем писать ему и просить починить, глядишь, опомнится, хотя я сильно сомневаюсь. Остается только попробовать поставить на место 88ой меги 8ю и посмотреть как будет вести себя она. Что-то мне подсказывает, что все будет отлично работать. Только смущает оверклокинг на 3.4 МГц... Это немного не по теме. т.к. тот вариант, что я выложил отличается от варианта с tuxgraphics. Прежде всего заливкой прошивки. Она заливается без использования BitBang. И более продвинутым ponyprog.
|
|
|
|
|
  |
7 чел. читают эту тему (гостей: 7, скрытых пользователей: 0)
Пользователей: 0
|
|
|