Технический форум по робототехнике.
o_serg » 25 май 2009, 00:38
Решил переделать кабель от мобильника(samsung) для программирования МК. В нем стоит PL2303HX
Нашел даташит, проводки припаял как на схеме для COM порта
http://avr.nikolaew.org/progr.htm только выкинул все детали кроме диода от Tx на MOSI. Uniprof при включении задумывается секунд на 10, но потом выдает что не может соединиться, если выбрать пустой порт, то он сразу выдает ошибку. Подскажите, что делаю не так?
slavaslx » 25 май 2009, 01:02
Другой прогой пробовал? ну например пони прогом.?
Добавлено спустя 1 минуту 24 секунды:
А как он (кабель) в системе опредиляется, и видноли его из програм прошивчиков.
o_serg » 25 май 2009, 01:05
Другой прогой не пробовал, но по той же схеме через COm порт пони прог не видел, а uniprof прекрасно шил.
кабель определяется как виртуальный COM порт, в uniprofe он есть, если соединить на кабеле Rx и Tx то в терминалке вводимые символы отображаются.
slavaslx » 25 май 2009, 01:21
Ага, получается кабель 100% рабочий.
А как дела с ISP програматором, всели там в порядке с пропайками, может лишние, или не достает.? просто у меня бывали проблемы такого рода, то провод не туда впаял, то еще чето...(насколько я понимаю вы к кабелю подключаете его (построеного по схеме с сыллки), а дальше МК), просто если кабелек рабочий то остается прогр.
o_serg » 25 май 2009, 01:37
весь программатор это и есть схема по ссылке, она прекрасно работает, но мне нужно прошивать МК с ноутбука, там COM порта нет.
как я написал от программатора я оставил один диод, остальное напрямую, сейчас еще раз все проверил, соединения правильные, не пойму в чем проблема...
RoboTok » 25 май 2009, 02:07
Что то я не могу понять, причём тут схема приведённая в первом посте по ссылке и PL2303 ?
(COM порт и виртуальный порт - это разные штучки.)
o_serg » 25 май 2009, 02:19
В первом посте схема подключения МК к COM порту компа для прошивки, pl2303 - эмулятор ком порта, почему бы вместо подключения МК к COM порту не подключить его к этой микросхеме, теоретически должно заработать. Т.к. pl2303 выдает TTL сигнал, то резисторы из схемы я выкинул.
RoboTok » 25 май 2009, 02:46
У меня похожая схема, только микросхема FT232.
Работает через ПониПрог, но очень медленно.
1кБ за 15 мин.
За это время можно сделать через LPT программатор и прошить пару мег по 8кБ
o_serg » 25 май 2009, 08:07
А как подключено, можешь схемку показать? И какие настройки в PonyProg'e?
LPT на ноуте тоже нету, поэтому надо что то придумывать
RoboTok » 25 май 2009, 13:59
Схемы в поиске.
И стоит сделать программатор, там всего добавится мега и пара резюков.
boez » 26 май 2009, 00:11
Стоп, а ты учел, что TTL UART кроме уровней отличается от RS232 (настоящего ком порта) еще и инверсией? То есть +12V на ком порту соответствуют 0V TTL, а -12V на компорту - +5V TTL. И поэтому твой программатор должен уметь эту инверсию учитывать...
А все детали выкинул токо на Tx? На reset и sck делители и диоды тоже нафиг не нужны... Вообще имхо приведенную схему для компорта на PL2303 перенести не так просто, ну по крайней мере не очевидно как - это раз, а два - скорость программирования будет очень грустной - это же по сути ногодрыжный программатор, а ногодрыг на USB1.x это не более одного дрыга в 1 мс... Время программирования одного чипа будет единицы-десятки минут.
На USB для нормальной работы надо программатор с контроллером...
contr » 26 май 2009, 11:53
Мобильник через PL2303 спокойно держит 115кб по USB1. Собственно PL2303 тот же МК в который уже залили нужную прошивку.
ps. щя пойду на программаторе проверю
действительно глючит
тактовая снизилась в 60 раз, с соответствующим увеличением времени прошивки до безобразного
o_serg » 26 май 2009, 12:59
1. Если не ошибаюсь у pl2303 инверсные выходы
2. Наоборот я выкинул все диоды и делители кроме диода на Tx
3. На счет скорости я уже понял после чтения многочисленных тем на форумах
4. Буду делать нормальный программатор с МК
5. Кабель буду пользовать для связи МК с компом по UART, надеюсь с этим проблем не будет
всем спасибо за подсказки
P.S. почему кабель не заработал осталось непонятным
прошивал tiny2313 на 16 Мгц
contr » 28 май 2009, 16:18
Вообще забавно. Скорость обмена с использованием USB-COM мостов не менее 115kbs.
Логично предположить, что на "дрыг ногой" (а именно так большинство COM и LPT программаторов и работает) стандартному мосту или МК с самопальной прошивкой или МК с аппаратной поддержкой нужно примерно одинаковое время для приема и расшифровки команды.
Даже для 32bit команд "дрыг ногой" допускает ~2kHz тактирование. Получается, что затык вызван не мостом USB-COM, а умением программатора через этот мост работать.
СОМ самоделка "заливает" 8кб за 100 секунд вместе с проверкой. Использование PL2303 превращает секунды в минуты и связано это вовсе не с типом примененного в мостике МК. А фирменный USB программатор аналогичную работу проделывает за 10 секунд.
boez » 29 май 2009, 22:12
Нее, там не все так просто. Вообще между программой программатора и железом USB есть еще драйвер усб-хоста. Именно он определяет "расписание" обмена пакетами по USB. USB цикл обмена составляет 1 мс. Какие-то вещи можно делать чаще, типа данные гонять, а вот ногами дрыгать эти чипы почему-то чаще 1 мс не умеют
Если честно, не вижу этому разумного объяснения, кроме того, что кто-то поленился и сделал как попроще... Но эмпирический опыт показывает, что ограничение 1 мс налицо, многие в инете об этом пишут.
Ну или это может быть связано даже не с дрыгом выходами, а с обратным опросом (нога MISO). Дело в том, что interrupt endpoints действительно не могут быть опрошены чаще 1 раза в 1 мс. и можно предположить, что опрос всех входных ног идет через interrupt endpoint. Но это уже гипотезы.
А 115200 (между прочим, это просто максимальная из стандартных скоростей, вообще эти чипы тянут до 2-3 мегабит, сам проверял) никакого отношения к ногодрыгу не имеет. Ногодрыг - это отправка USB пакетов типа "установи ноги RTS и DTR в такие-то значения". На каждый фронт - 1 USB пакет, т.е. 1 клок программатора - 2 пакета. А 115200 - это данные, они идут в виде "вот тебе 64 байта, передай их последовательно по битику, да еще старт и стоп биты не забудь повставлять" - одним USB пакетом
115200/640 = 180 пакетов/сек. На самом деле для 3 мегабит пакеты все равно пойдут чаще чем 1 шт в 1 мс. Но как я уже написал, почему-то данные можно слать часто, а ноги - нельзя...
Вот откуда, в общих словах, и растут ноги тормознутости USB переходников. Они просто не предназначены для работы в таком режиме.
А, да, для USB 2.0 High Speed цикл 125 мкс. Токо я ни одного High Speed чипа-конвертера еще не видел