Полная версия этой страницы:
AvrUsb500 by Petka
Цитата(Petka @ Feb 19 2008, 18:29)

В оригинальной схеме ponyser уровни +12в, -12в (RS232) с помошью диодов, резисторов, стабилитронов преобразуются соответственно в +5в и 0в. (а ft232 делает 0в и +5в соответственно ) Отсюда и инверсия.
Можно и через утилиты, но зачем? Не вижу смысла.
Я попробовал зашить mega8 с вашей разводкой (благо есть отладочная плата на FT232RL и ATMega8) - все отлично прошилось. Однако мне никак не удется заставить работать avrdude и uisp. Это странно!
Цитата(cz0 @ Feb 19 2008, 23:23)

Я попробовал зашить mega8 с вашей разводкой (благо есть отладочная плата на FT232RL и ATMega8) - все отлично прошилось. Однако мне никак не удется заставить работать avrdude и uisp. Это странно!
Что именно не получилось? Что получилось? Коды ошибок.... подробнее =)
Цитата(Petka @ Feb 19 2008, 23:40)

Что именно не получилось? Что получилось? Коды ошибок.... подробнее =)
Что-то косячит именно в GNU/Linux, в винде все отлично зашилось avrdude'ом командой
avrdude -p atmega8 -P com4-c invdasa2 -i 10 -B 10 -b 9600 -U flash:w:display.hex
где в avrdude.conf
#----------------------
programmer
id = "invdasa2";
desc = "dasa2 with inverted rts, dtr and cts lines";
type = serbb;
reset = ~3;
sck = ~7;
mosi = ~4;
miso = ~8;
;
#----------------------
Похоже, проблемы в реализации обмена с USB в GNU/Linux. Версия avrdude таже, все вроде так же - ан нет, не работает.
Кстати, сответую к эксплуатации именно avrdude вмсето PonyProg т.к. заливается в десятки раз быстрее. Буквально 20 - 30 секунд.
Нда.. все веселее и веселее. Приладил к ft232r 47hc04 дабы аппаратно инвертировать сигналы. Это дало возможность шить контроллер без соотв. галочек - это раз, а в avrdude указать стандартный ponyser/siprog. В виндовзе все великолепно заработало. В GNU/Linux все так же мимо кассы: ioctl("TIOCMGET"): Bad address в avrdude и неизвестный девайс в uisp, хотя программатор в точности dasa2/ponyser/siprog. Забавно. Толи лыжи не едут... толи.. даже не знаю что.
Нда.. все веселее и веселее. Приладил к ft232r 47hc04 дабы аппаратно инвертировать сигналы. Это дало возможность шить контроллер без соотв. галочек - это раз, а в avrdude указать стандартный ponyser/siprog. В виндовзе все великолепно заработало. В GNU/Linux все так же мимо кассы: ioctl("TIOCMGET"): Bad address в avrdude и неизвестный девайс в uisp, хотя программатор в точности dasa2/ponyser/siprog. Забавно. Толи лыжи не едут... толи.. даже не знаю что. Похоже это баг, буду писать в багтрак avrdude.
Цитата(cz0 @ Feb 20 2008, 02:23)

Нда.. все веселее и веселее. Приладил к ft232r 47hc04 дабы аппаратно инвертировать сигналы. Это дало возможность шить контроллер без соотв. галочек - это раз, а в avrdude указать стандартный ponyser/siprog. В виндовзе все великолепно заработало. В GNU/Linux все так же мимо кассы: ioctl("TIOCMGET"): Bad address в avrdude и неизвестный девайс в uisp, хотя программатор в точности dasa2/ponyser/siprog. Забавно. Толи лыжи не едут... толи.. даже не знаю что. Похоже это баг, буду писать в багтрак avrdude.
Скорее всего причина такова: Ponyprog после дёргания DSR, дожидается когда линия ДЕЙСТВИТЕЛЬНО изменит состояние (пони контролирует RTS). И только после этого продолжает работу. Такой механизм гарантирует независимость от задержек по обмену USB и задержек в ОС и драйверах. avrdude не контролирует RTS, поэтому обмен быстрее, но ненадёжнее. (Отсутствует обратная связь по RTS). C avrdude я не разбирался, но вероятно его можно настроить и на более правильный обмен. попробуйте, расскажите.
Дело в том, что виндовый avrdude тоже нормально шьёт.. К тому же, даже если оторвать DSR от RTS.
Цитата(cz0 @ Feb 20 2008, 15:11)

Дело в том, что виндовый avrdude тоже нормально шьёт. К тому же, даже если оторвать DSR от RTS.
Видимо в винде задержки другие. Если вы отрываете DSR от RTS и avrdude работает, значит подтверждается моя гипотеза, что avrdude НЕ контролирует RTS! Научите его контролировать RTS и будет программироваться и под линукс, но медленнее, разумеется =)
Lubitel
Feb 20 2008, 13:34
Цитата(Lubitel @ Feb 20 2008, 16:34)

Это очевидно, Ватсон! Что бы программировать мегу через Ft232. Само-собой что после программирования эту связь надо убрать. Читайте внимательно howto.pdf, doc.pdf
Lubitel
Feb 20 2008, 13:40
Дело в том, что я прочитал этот 20 раз.
12. Remove wire X2 to X3.
13. Make wire from X2 to X4.
14. Programmer «AvrUsb500 by Petka» ready to use!
Т.Е. В конце концов должно быть TXD (FT-шки) На Reset (меги). (судя по схеме.)???
Цитата(Lubitel @ Feb 20 2008, 16:40)

Дело в том, что я прочитал этот 20 раз.
12. Remove wire X2 to X3.
13. Make wire from X2 to X4.
14. Programmer «AvrUsb500 by Petka» ready to use!
Т.Е. В конце концов должно быть TXD (FT-шки) На Reset (меги). (судя по схеме.)???
Да, это ошибка. X3 и X4 перепутал в документации. На днях поправлю. Спасибо за указание ошибки.
Lubitel
Feb 20 2008, 13:59
На схеме (на выходном разъеме) Обозначение Jtag сигналов. Планируется ли его реализовать?
Цитата(Lubitel @ Feb 20 2008, 16:59)

На схеме (на выходном разъеме) Обозначение Jtag сигналов. Планируется ли его реализовать?
У меня в планах нет, может кто-нибудь другой попробует?
Carbon
Feb 20 2008, 14:26
Достаточно-ли для работы вашего программатора двух проводков Rx и Tx с FTDI-ки? Именно для работы, так как саму мегу мы заранее можем запрограммировать другим программатором.
Цитата(Carbon @ Feb 20 2008, 17:26)

Достаточно-ли для работы вашего программатора двух проводков Rx и Tx с FTDI-ки? Именно для работы, так как саму мегу мы заранее можем запрограммировать другим программатором.
Достаточно.
Carbon
Feb 20 2008, 14:48
Цитата(Petka @ Feb 20 2008, 17:41)

Достаточно.
Странно... С прошивкой от tuxgrafix программатор действительно виден, а с Вашей прошивкой нет. Пробую с кварцем 14,7456 , Mega8. Это только у меня так?
Цитата(Carbon @ Feb 20 2008, 17:48)

Странно... С прошивкой от tuxgrafix программатор действительно виден, а с Вашей прошивкой нет. Пробую с кварцем 14,7456 , Mega8. Это только у меня так?
Программатор подключен к программируемому чипу? Каким софтом пользуетесь?
И по какой схеме собран ваш программатор?
Carbon
Feb 20 2008, 15:16
Цитата(Petka @ Feb 20 2008, 17:59)

Программатор подключен к программируемому чипу? Каким софтом пользуетесь?
И по какой схеме собран ваш программатор?
К программируемому чипу программатор не подключен. По схеме от tuxgrafix первой версии - то-есть совсем ничего лишнего - только rx и tx к меге, разъем для программирования висит в воздухе. Пробую с кварцем 3,6864 прошивку от tuxgr и 14,7... в Вашей. Пробую из AVR студии и CVAVR. FTDI-ка видна как COM6.
Цитата(Carbon @ Feb 20 2008, 18:16)

К программируемому чипу программатор не подключен. По схеме от tuxgrafix первой версии - то-есть совсем ничего лишнего - только rx и tx к меге, разъем для программирования висит в воздухе. Пробую с кварцем 3,6864 прошивку от tuxgr и 14,7... в Вашей. Пробую из AVR студии и CVAVR. FTDI-ка видна как COM6.
Прошивка сделана для моей схемы (схема отличается от tuxgraphics). как минимум не совпадает разпиновка на разъём программирования.
Carbon
Feb 20 2008, 15:43
Цитата(Petka @ Feb 20 2008, 18:19)

Прошивка сделана для моей схемы (схема отличается от tuxgraphics). как минимум не совпадает разпиновка на разъём программирования.
Да, схемы не совпадают. Если не касаться разъема для программирования, т.к. он всё равно пока не подключен к таргету, то в остальном всё также. Клок 1МГц на PC0 всегда присутствует или только при программировании?
Я поддтверждаю, что версия avrusb500v2-1.2 с туксграфикса полностью работоспособна в плане программирования таргетов, в плане самопрошивки в моем случае возникли косяки, отписал Guido, тот, как обычно, молчит.
Вероятно (если удасться решить проблему с самопрограммированием) я сделаю чуть более расширенную версью с похожим самопрограмматором как у господина Petke, но с возможность управления и защиты внешнего питания (смотрите мой топик про ограничение тока в ветке про аналоговые устройства). Плата будет двухсторонней с USBB-1J и одной перемычкой для переключения режимов. Возможно с еще небольшими доработками если Guido даст на это разрешение (т.к. программатор зарелизен под GPL, то, вероятно, с этим проблем не будет).
Цитата(Petka @ Feb 20 2008, 20:07)

Клок должен быть всегда, а не только при программировании. Ещё вопрос: мега в ДИПе? Если да, то обратите внимание, что нумерация пинов у меня указана для QFP корпуса, она отличается от DIP.
P.S. Поправил в документации ошибку с X3 X4. Новый вариант:
Нажмите для просмотра прикрепленного файлаЯ указывал Вам на эту ошибку страницей раньше.
Теперь самое интересное. Проблема с последовательным портом существет именно с FT232RL (даже не с RQ) и именно в 21, 22 и 23ей версии ядра. Как раз мой случай. Это отняло у меня двое суток непрерывных ковыряний. Сразу после наложения патча на 22ое ядро все заработало так же, как и в винде. Так что моей версии программатора быть.
2 Petke: большое спасибо за то, что указали мне на более красивую реализацию "самопрограммирования" чем оригинальный вариант Guido. siprog/ponyser поддерживается большим количеством программаторов (в частности с avrdude, uisp и понипрогом).
2 Petke: Да, вот еще что, проверил работу понипрога без соединенного RTS и DSR - зашилось так же, как и при соединенном варианте. Вероятно, понипрог также не проверяет результат.
Carbon
Feb 21 2008, 08:33
Цитата(Petka @ Feb 20 2008, 20:07)

Клок должен быть всегда, а не только при программировании. Ещё вопрос: мега в ДИПе? Если да, то обратите внимание, что нумерация пинов у меня указана для QFP корпуса, она отличается от DIP.
Корпус TQFP. Кварц генерит, но клока нет, светодиод при включении пять раз мигает.
Цитата(Carbon @ Feb 21 2008, 11:33)

Корпус TQFP. Кварц генерит, но клока нет, светодиод при включении пять раз мигает.
Попробуйте с кварцем 18.432
И какую именно прошивку вы туда загружали? Правильно ли выставили Фузы?
Carbon
Feb 21 2008, 09:46
Цитата(Petka @ Feb 21 2008, 12:38)

Попробуйте с кварцем 18.432
Уже попробовал. Пробовал на двух разных мегах, были подозрения на сгоревшый порт, клока не на одной нет.
Цитата(Carbon @ Feb 21 2008, 12:46)

Уже попробовал. Пробовал на двух разных мегах, были подозрения на сгоревшый порт, клока не на одной нет.
Попробуйте прошивку с туксграфикс
http://tuxgraphics.org/common/src2/article07052/
Carbon
Feb 21 2008, 10:13
Цитата(Carbon @ Feb 21 2008, 12:46)

Уже попробовал. Пробовал на двух разных мегах, были подозрения на сгоревшый порт, клока не на одной нет.
Включил в исходнике в функцию clk_start_1 установку направления ножки PC0 на выход DDRC|= (1<<DDC0); Клок появился. Без рукопашного изменения исходкика нога PC0 работает как вход!
Цитата(Carbon @ Feb 21 2008, 13:13)

Включил в исходнике в функцию clk_start_1 установку направления ножки PC0 на выход DDRC|= (1<<DDC0); Клок появился. Без рукопашного изменения исходкика нога PC0 работает как вход!
Понял. Поправил исходники:
Нажмите для просмотра прикрепленного файла
Carbon
Feb 21 2008, 11:04
Цитата(cz0 @ Feb 21 2008, 13:13)

Попробовал залить avrusb500_pre.hex из avrusb500v2-1.2.tar.gz.
Mega8 + 18,432MHz. Клок есть, программатор определяется.
Цитата(Carbon @ Feb 21 2008, 13:52)

Попробовал залить avrusb500_pre.hex из avrusb500v2-1.2.tar.gz.
Mega8 + 18,432MHz. Клок есть, программатор определяется.
С Вашей прошивкой программатор отвечает в терминале
////////
avrusb500v2-1.2
Enter SW Version Major in hex [2]: 2
Enter SW Version Minor in hex [a]: a
Reset target at connector polarity test(1=on 0=off)[1]: 1
OK, my SW version is now: 2.0a (hex)
Ready. Just close the terminal. No reset needed.
////////
а вот к АВРстудии программатор не коннектится.
CVAVR выдает Communication error.
Цитата(Carbon @ Feb 21 2008, 14:04)

Попробовал залить avrusb500_pre.hex из avrusb500v2-1.2.tar.gz.
Mega8 + 18,432MHz. Клок есть, программатор определяется.
С Вашей прошивкой программатор отвечает в терминале
////////
avrusb500v2-1.2
Enter SW Version Major in hex [2]: 2
Enter SW Version Minor in hex [a]: a
Reset target at connector polarity test(1=on 0=off)[1]: 1
OK, my SW version is now: 2.0a (hex)
Ready. Just close the terminal. No reset needed.
////////
а вот к АВРстудии программатор не коннектится.
Попробуйте установить версию 2.0 (на второй вопрос с [a] ответте нулем). Я не пользуюсь AVRStudio и её встроенным программатором, так что не могу утверждать с полной уверенностью. Возможно необходимо поставить последние патчи и сервиспаки для AVRStudio.
Carbon
Feb 21 2008, 11:52
Цитата(cz0 @ Feb 21 2008, 14:33)

Попробуйте установить версию 2.0 (на второй вопрос с [a] ответте нулем). Я не пользуюсь AVRStudio и её встроенным программатором, так что не могу утверждать с полной уверенностью. Возможно необходимо поставить последние патчи и сервиспаки для AVRStudio.
Попробовал. Связи так и нет. С другими программаторами, студия, увидев stk500 со старой версией, предлагает его проапдейтить. Тут ситуация другая - она его не видит совсем.
Может условная компиляция проекта под Мегу8 дает не совсем верный код, чего не наблюдается при компиляции под М48?
Выкладываю обновлённые HEX. (поправлена бага с 1Мгц выходом).
Carbon
Feb 21 2008, 12:24
Цитата(Petka @ Feb 21 2008, 14:54)

Выкладываю обновлённые HEX. (поправлена бага с 1Мгц выходом).
Большое спасибо.
Проверил с Mегой8 на разных кварцах, клок есть, терминал работает, связи с AVRstudio и CVAVR нет.
Цитата(Carbon @ Feb 21 2008, 15:10)

Большое спасибо.
Проверил с Mегой8 на разных кварцах, клок есть, терминал работает, связи с AVRstudio и CVAVR нет.
Спасибо всем за ответы.
Разобрался. Принципиальное значение имеет цепочка резисторов R6, R8, R9, связывающая TARGET_RST с RST_ADC. Без них программатор не определяется ни CVAVR ни AVRстудией.
Цитата(Carbon @ Feb 21 2008, 15:24)

Большое спасибо.
Проверил с Mегой8 на разных кварцах, клок есть, терминал работает, связи с AVRstudio и CVAVR нет.
Спасибо всем за ответы.
Разобрался. Принципиальное значение имеет цепочка резисторов R6, R8, R9, связывающая TARGET_RST с RST_ADC. Без них программатор не определяется ни CVAVR ни AVRстудией.
Скорее всего моя недоработка. Вечером поменяю в перечне элементов для меги8 другой номинал резистора.
У вас программатор полностью заработал?
Carbon
Feb 21 2008, 12:54
Цитата(Petka @ Feb 21 2008, 15:39)

Скорее всего моя недоработка. Вечером поменяю в перечне элементов для меги8 другой номинал резистора.
У вас программатор полностью заработал?
К таргету пока не подключал. Скоро попробую.
Цепочка резисторов R7/R12/R13 (обозначения по оригинальной схеме) играет ключевую роль в определении как таргета (точнее наличия его как такового) так и самого программатора. Если контроллер в программаторе не получает с ADC0 нужного значения, он не хочет общаться с программами, возвращая ошибку. Так он ведет себя не только в AVRStudio но и в avrdude. PC0(ADC0) - вход в любом случае, им микроконтроллер определяет что к нему подключено и как себя вести, клок генерится с PB0 через резистор в 220 Ом.
Автору

!Но FT232 мин $6 В Киеве,что говорить про отдаленные города?Видел пожожий проект у немцев но без FT232 ttp://www.ullihome.de/index.php?title=USBAVR-ISP-Download&oldid=2392#Software.Никто не пробовал собрать?
Carbon
Feb 21 2008, 13:46
Перенастроил проект на совместимость с
http://www.tuxgraphics.org/common/images2/.../circuit_th.gif скорректировав дефайны для канала АЦП, ног SPI, светодиода и ресета. Всё работает.
Проверил скорость программирования из студии : заливка в Mega16 16кб кода - 15сек. Верификация 12сек. Просто праздник какой-то! Почти как по LPT!
Да, и ещё - в терминале нужно указывать полярность ресета =0.
...
При установке в студии скорости SPI =921,6kHz заливка в Mega16 16кб кода - 11сек. Верификация 7сек.
Carbon
Feb 22 2008, 11:35
Интересно, можно ли просто подавая на ресет таргета 12 вольт сделать из обсуждаемого программатора HV-программатор? Хочу в своих поделках использовать все ножки контроллера, включая ножку reset, настроенную как порт вв/вывода. Останется ли тогда возможность внутрисхемного программирования? Или такой чип уже никак нельзя будет перепрограммировать? Интересуют в первую очередь 8-ногие тини.
Otvertkin
Feb 26 2008, 18:39
Может есть у кого макет ПП под стандартный выходной разъем?
Цитата(Otvertkin @ Feb 26 2008, 21:39)

Может есть у кого макет ПП под стандартный выходной разъем?
Пожайлуста задайте более развёрнутый вопрос. Что, для чего, как себе вы это видите?
Otvertkin
Feb 27 2008, 06:31
Hello, Petka! Решил повторить Вашу конструкцию. Мне нужен девайс со стандартным (ISP-10) ну на худой конец ISP-6 выходом а под него нужно переделать печатку либо сооружать переходник, а это не совсем удобно. По сему и интересуюсь нет ли у кого готового решения.
Цитата(Otvertkin @ Feb 27 2008, 09:31)

Hello, Petka! Решил повторить Вашу конструкцию. Мне нужен девайс со стандартным (ISP-10) ну на худой конец ISP-6 выходом а под него нужно переделать печатку либо сооружать переходник, а это не совсем удобно. По сему и интересуюсь нет ли у кого готового решения.
Как появится время сделаю вариант для ft232BM и со стандартным ISP разъёмом.
Otvertkin
Feb 27 2008, 12:52
Нельзя конечно мешать автору, но объясните почему ft232bm? Rl куда как практичнее (меньше обвязки), а так получится велосипед под названием
http://www.tuxgraphics.org/common/images2/.../circuit_th.gif
Цитата(ХЕРОХ @ Feb 21 2008, 17:44)

Автору

!Но FT232 мин $6 В Киеве,что говорить про отдаленные города?Видел пожожий проект у немцев но без FT232 ttp://www.ullihome.de/index.php?title=USBAVR-ISP-Download&oldid=2392#Software.Никто не пробовал собрать?
я вчерась убил весь вечер - лохотрон - не определяет винда сей девайс с этими прошивами(раньше была залита прошивка игоря USB-COM - всё фурычило) . Так что эти HEX-сы набор цифр от балды
жалко вечер потратил в пустую

странно а у немцев вроде пашет - не пойму
__//www.mikrocontroller.net/topic/70230
Цитата(backa @ Feb 28 2008, 11:50)

я вчерась убил весь вечер - лохотрон - не определяет винда сей девайс с этими прошивами(раньше была залита прошивка игоря USB-COM - всё фурычило) . Так что эти HEX-сы набор цифр от балды
жалко вечер потратил в пустую

странно а у немцев вроде пашет - не пойму
__//www.mikrocontroller.net/topic/70230
Если Вы про немецкий программатор,то у меня Винда его видит!Но под Чипбластером и Кодевижн работать,не хочет!Stk 500 ИЗ студии работает очень не устойчиво

Из того что я делал пока прог от Протосса самый рабочий
Цитата(ХЕРОХ @ Feb 28 2008, 13:22)

Если Вы про немецкий программатор,то у меня Винда его видит!Но под Чипбластером и Кодевижн работать,не хочет!Stk 500 ИЗ студии работает очень не устойчиво

Из того что я делал пока прог от Протосса самый рабочий
а не могли бы вы описать конкретно последовательность действий при прошивке и прикрепить файл для прошики(реально рабочий!) какие фьюзы и как работать с бутлодером(совсем не понятно как прошивать и как потом пользоваться). Буду очень признателен - т.к. есть исходники то в будущем можно переделать по себя сей девайс. Пробовали зашивать I2C шину в чип?
2backa, ХЕРОХ:
Прошу не оффтопить.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.