реклама на сайте
подробности

 
 
65 страниц V  « < 2 3 4 5 6 > »   
Closed TopicStart new topic
> AvrUsb500 by Petka, вариант программатора AVR, доступный для простого изготовления
cz0
сообщение Feb 19 2008, 09:49
Сообщение #46


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198



Сознаюсь, виноват smile.gif Я посмотрел Вашу схему, достаточно интересно. А есть ли такой режим программирования в avrdude или uisp? Я не проактикую Виндовз так что понипрога у меня нет.
Go to the top of the page
 
+Quote Post
Petka
сообщение Feb 19 2008, 09:53
Сообщение #47


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(cz0 @ Feb 19 2008, 12:49) *
Сознаюсь, виноват smile.gif Я посмотрел Вашу схему, достаточно интересно. А есть ли такой режим программирования в avrdude или uisp? Я не проактикую Виндовз так что понипрога у меня нет.

Так пони вроде и под *nix есть!
Go to the top of the page
 
+Quote Post
cz0
сообщение Feb 19 2008, 13:36
Сообщение #48


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198



Цитата(Petka @ Feb 19 2008, 12:53) *
Так пони вроде и под *nix есть!

Надо будет посмотреть что там к чему. Идея "самопрограммирующегося программатора" мне нравится. Более того, реализация Guido очень интересна, но это все-таки огород, потому что надо патчить uisp для реализации им битбанга. Метод, предложены Вами куда интересней, потому что позволяет шить контроллер штатными средствами без костылей типа битбанга. Если удасться прошить контроллер uisp/avrdude'ом, то, вероятно, переделаю программатор. Бляго, для проверки у меня есть все необходимое: отладочная плата с FT232RL и отладочная плата с mega8/mega88. Остается понять какой режим используется, usip точно умеет инвертировать сигналы, насчет avrdude - не знаю. Буду пробовать.
Go to the top of the page
 
+Quote Post
cz0
сообщение Feb 19 2008, 15:20
Сообщение #49


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198



Ога! Идея ясна. Ваш вариант - всего лишь разновидность serial bit banging, посмотрев конфигурацию avrdude нашел много различных вариантов, в том числе и тот, что у вас, обзывается sipprog (он же ponyser). Остается вопрос: почему в настройках понипрога Вы инвертируете rts dtr и cts? Потому, что соотв. выходы FT232 инвертированы? Насколько я помню, FT232Rx поддерживают конфигурирование этих линий через утилиту, которая пишет во встроенный EEPROM. Сконфигурировав таким способом FT232Rx можно отвязаться от понипрога и использовать более универсальный avrdude (впроем, его можно использовать в любом случае т.к. он поддерживает индивидальную конфигурацию шин). Однако, реализовав интерфес, называемый dasa можно сделать куба более универсальный самопрограмматор, потому что этот режим штатно поддерживается и avrdude и uisp. Я попробую реализовать именно его.
P.S. Да, и еще, в вашем HOWTO первым шагом написано соединить разъемы X2 и X3, в после программирование разъединить X2 и X3, соединив X2 с X4. Думаю все должно быть с тоночтью до наоборот: во время прошивки самого программатора X2 соединяется (который является его рессетом), а в шататном режиме Х2 соединяется с Х3, который RX микроконтроллера.

Сообщение отредактировал cz0 - Feb 19 2008, 15:37
Go to the top of the page
 
+Quote Post
Petka
сообщение Feb 19 2008, 15:29
Сообщение #50


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(cz0 @ Feb 19 2008, 18:20) *
Ога! Идея ясна. Ваш вариант - всего лишь разновидность serial bit banging, посмотрев конфигурацию avrdude нашел много различных вариантов, в том числе и тот, что у вас, обзывается sipprog (он же ponyser). Остается вопрос: почему в настройках понипрога Вы инвертируете rts dtr и cts? Потому, что соотв. выходы FT232 инвертированы? Насколько я помню, FT232Rx поддерживают конфигурирование этих линий через утилиту, которая пишет во встроенный EEPROM.

В оригинальной схеме ponyser уровни +12в, -12в (RS232) с помошью диодов, резисторов, стабилитронов преобразуются соответственно в +5в и 0в. (а ft232 делает 0в и +5в соответственно ) Отсюда и инверсия.

Можно и через утилиты, но зачем? Не вижу смысла.
Go to the top of the page
 
+Quote Post
cz0
сообщение Feb 19 2008, 20:23
Сообщение #51


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198



Цитата(Petka @ Feb 19 2008, 18:29) *
В оригинальной схеме ponyser уровни +12в, -12в (RS232) с помошью диодов, резисторов, стабилитронов преобразуются соответственно в +5в и 0в. (а ft232 делает 0в и +5в соответственно ) Отсюда и инверсия.

Можно и через утилиты, но зачем? Не вижу смысла.

Я попробовал зашить mega8 с вашей разводкой (благо есть отладочная плата на FT232RL и ATMega8) - все отлично прошилось. Однако мне никак не удется заставить работать avrdude и uisp. Это странно!
Go to the top of the page
 
+Quote Post
Petka
сообщение Feb 19 2008, 20:40
Сообщение #52


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



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

Что именно не получилось? Что получилось? Коды ошибок.... подробнее =)
Go to the top of the page
 
+Quote Post
cz0
сообщение Feb 19 2008, 21:56
Сообщение #53


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198



Цитата(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 секунд.
Go to the top of the page
 
+Quote Post
cz0
сообщение Feb 19 2008, 23:23
Сообщение #54


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198



Нда.. все веселее и веселее. Приладил к ft232r 47hc04 дабы аппаратно инвертировать сигналы. Это дало возможность шить контроллер без соотв. галочек - это раз, а в avrdude указать стандартный ponyser/siprog. В виндовзе все великолепно заработало. В GNU/Linux все так же мимо кассы: ioctl("TIOCMGET"): Bad address в avrdude и неизвестный девайс в uisp, хотя программатор в точности dasa2/ponyser/siprog. Забавно. Толи лыжи не едут... толи.. даже не знаю что.
Go to the top of the page
 
+Quote Post
cz0
сообщение Feb 19 2008, 23:23
Сообщение #55


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198



Нда.. все веселее и веселее. Приладил к ft232r 47hc04 дабы аппаратно инвертировать сигналы. Это дало возможность шить контроллер без соотв. галочек - это раз, а в avrdude указать стандартный ponyser/siprog. В виндовзе все великолепно заработало. В GNU/Linux все так же мимо кассы: ioctl("TIOCMGET"): Bad address в avrdude и неизвестный девайс в uisp, хотя программатор в точности dasa2/ponyser/siprog. Забавно. Толи лыжи не едут... толи.. даже не знаю что. Похоже это баг, буду писать в багтрак avrdude.

Сообщение отредактировал cz0 - Feb 19 2008, 23:39
Go to the top of the page
 
+Quote Post
Petka
сообщение Feb 20 2008, 07:43
Сообщение #56


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(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 я не разбирался, но вероятно его можно настроить и на более правильный обмен. попробуйте, расскажите.
Go to the top of the page
 
+Quote Post
cz0
сообщение Feb 20 2008, 12:11
Сообщение #57


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 11-12-07
Из: Россия, Москва
Пользователь №: 33 198



Дело в том, что виндовый avrdude тоже нормально шьёт.. К тому же, даже если оторвать DSR от RTS.
Go to the top of the page
 
+Quote Post
Petka
сообщение Feb 20 2008, 12:20
Сообщение #58


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(cz0 @ Feb 20 2008, 15:11) *
Дело в том, что виндовый avrdude тоже нормально шьёт. К тому же, даже если оторвать DSR от RTS.

Видимо в винде задержки другие. Если вы отрываете DSR от RTS и avrdude работает, значит подтверждается моя гипотеза, что avrdude НЕ контролирует RTS! Научите его контролировать RTS и будет программироваться и под линукс, но медленнее, разумеется =)
Go to the top of the page
 
+Quote Post
Lubitel
сообщение Feb 20 2008, 13:34
Сообщение #59


Участник
*

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



Непонятно зачем reset меги подсоединяется к Ft232, как это работает??? blink.gif blink.gif blink.gif
Go to the top of the page
 
+Quote Post
Petka
сообщение Feb 20 2008, 13:37
Сообщение #60


Профессионал
*****

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(Lubitel @ Feb 20 2008, 16:34) *
Непонятно зачем reset меги подсоединяется к Ft232, как это работает??? blink.gif blink.gif blink.gif

Это очевидно, Ватсон! Что бы программировать мегу через Ft232. Само-собой что после программирования эту связь надо убрать. Читайте внимательно howto.pdf, doc.pdf
Go to the top of the page
 
+Quote Post

65 страниц V  « < 2 3 4 5 6 > » 
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01522 секунд с 7
ELECTRONIX ©2004-2016