back1981 0 27 декабря, 2006 Опубликовано 27 декабря, 2006 · Жалоба Я так понял, что настраивть мой USB пролифик на PL2303 бесполезно. Можно ли это сделать на PC(ноут) с штатными портами, если нет, то существует ли какая нибудь возможность это сделать. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 27 декабря, 2006 Опубликовано 27 декабря, 2006 · Жалоба Я так понял, что настраивть мой USB пролифик на PL2303 бесполезно. Отчего такой диагноз? Можно ли это сделать на PC(ноут) с штатными портами, если нет, то существует ли какая нибудь возможность это сделать. А как у Вас "не получилось"? Настраиваются в пределах сетки которую может обеспечить делитель UART. Если Вы вдруг захотели 60000 получить, то получите вместо этого 115200, ибо возможны только два варианта 115200 - делитель на 1 и следующая 576000 - делитель на 2. На более низких скоростях вариантов естественно побольше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 4 28 декабря, 2006 Опубликовано 28 декабря, 2006 · Жалоба Я так понял, что настраивть мой USB пролифик на PL2303 бесполезно. Можно ли это сделать на PC(ноут) с штатными портами, если нет, то существует ли какая нибудь возможность это сделать. Спасибо. Вы напрасно списали PL2303 в утиль. Как оказалось, он умеет работать на любой скорости :cheers: Обнаружено это было на телесистемах: Туплю не могу вывести формулу таблицы скоростей PL2303 Итоговая дока лежит тут Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
back1981 0 28 декабря, 2006 Опубликовано 28 декабря, 2006 · Жалоба Используя одну комуникационную программу для связи с авто заметил(при помощи прослушивалки ком порта), что программа пытаеться забить нестандартную скорость SETbaudrate 28 A0 - 10400(реально байты стоят наооборот), но тутже при чтении настройки порта GETbaudrate выдает 25 80 -9600 - это при помощи USB конвертора. Попробовал на PC с штатным портом и после SETbaudrate 28 A0 GETbaudrate выдает 28 A0. Отсюда сделал вывод что в первом случае настройки не принялись, а во втором да. И вероятно поэтому не смог законектиться с авто. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
back1981 0 28 декабря, 2006 Опубликовано 28 декабря, 2006 · Жалоба Смотрел на форуме телесистем, так и не понял что к чему. Пробовал записывать их примеры но дополнительные скорости нигде не узрел, да и скорости у них бешенные, а мне надо 10400. Объясните глупышу :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 4 28 декабря, 2006 Опубликовано 28 декабря, 2006 · Жалоба Смотрел на форуме телесистем, так и не понял что к чему. Пробовал записывать их примеры но дополнительные скорости нигде не узрел, да и скорости у них бешенные, а мне надо 10400. Объясните глупышу :). На телесистемах был рабочий процесс. Читайте документ PL2303_extBaudrate.rtf - что там непонятно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
back1981 0 29 декабря, 2006 Опубликовано 29 декабря, 2006 · Жалоба Не могу скачать этот .rtf точнее скачивается вот этот файл PL2303_extBaudrate.rtf.zip. Разархивировать бесполезно - это не файл архива, убрал расширение zip, открыл как .rtf а том копия той страницы с которой собсно скачивал т.е. Рапида этого. Чтото делаю неправильно при скачивании и если не затруднит может скинете на email [email protected]. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 4 29 декабря, 2006 Опубликовано 29 декабря, 2006 · Жалоба Не могу скачать этот .rtf точнее скачивается вот этот файл PL2303_extBaudrate.rtf.zip. Разархивировать бесполезно - это не файл архива, убрал расширение zip, открыл как .rtf а том копия той страницы с которой собсно скачивал т.е. Рапида этого. Чтото делаю неправильно при скачивании и если не затруднит может скинете на email [email protected]. Заранее спасибо. Отправил. С рапиды действительно неудобно скачивать, но у меня файл приходит нормальный. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
back1981 0 30 декабря, 2006 Опубликовано 30 декабря, 2006 · Жалоба Спасибо. Буду экспериментировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
back1981 0 30 декабря, 2006 Опубликовано 30 декабря, 2006 · Жалоба 2 _3m Сделал вроде все правильно поставил прескалер 6 (4096) основной делитель 9. В реестр сделал запись ExtBaudrate ----10472,2147486729(т.е. 0x8000 0C09)-расчитал на 10400. Но скорость не схватывается в программе, пытается забить 10472 а при чтении настроек тутже выдает 9600. Может версия дров нужна определенная или еще какие нюансы?Да кстати данная скорость где нибудь визуально отображается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 4 30 декабря, 2006 Опубликовано 30 декабря, 2006 (изменено) · Жалоба 2 _3m Сделал вроде все правильно поставил прескалер 6 (4096) основной делитель 9. В реестр сделал запись ExtBaudrate ----10472,2147486729(т.е. 0x8000 0C09)-расчитал на 10400. Но скорость не схватывается в программе, пытается забить 10472 а при чтении настроек тутже выдает 9600. Может версия дров нужна определенная или еще какие нюансы?Да кстати данная скорость где нибудь визуально отображается? 0x8000 0c09 действительно не работает. работающий делитель для 10400 - 0x8000 0890 , т.е в реестр записывается "10400,2147485840". Я поэкспериментировал с разными делителсями, при прескалере 6 (4096) основной делитель не должен быть меньше 16 (0x10), если меньше - на выходе получается полный бред (видимо у PLL и делителей вообще крышу сносит). Кроме того, чем меньше величина основного делителя, тем больше джиттер на выходе UART. Думаю, что стоит начинать с минимальных значений прескалера чтобы основной делитель был как можно больше. Все это надо контролировать осциллографом, так как расчет - это математическая абстракция, а чип работает как-то хитро и точных данных о делителях PL2303 нигде нет. После изменения в реестре обязательно нужно передернуть usb шнурок с pl2303 иначе изменения не вступят в силу. Дополнительные скорости нигде не отображаются, но если скорость установилась, она возвращаются в структуре DCB возвращаемой при вызове GetCommState. Значение скорости в ExtBaudrate должно точно совпадать со скоростью, которую устанавливает программа, например если в реестре определена дополнительная скорость 10400, а программа пытается установить 10472, то работать не будет - драйвер pl2303 "не увидит" 10472 и подставит вместо этого ближайшую стандартную - 9600. У меня драйвер PL2303 версии 2.0.2.1 от 25.07.2005, ОС - XP sp2 eng. Изменено 30 декабря, 2006 пользователем _3m Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
back1981 0 30 декабря, 2006 Опубликовано 30 декабря, 2006 (изменено) · Жалоба Почему то не работает и упорно ставит вместо 10400 скорость 9600. Поставил версию дров такуюже, выставил в реестре настройки(ExtBaudrate тип string 10400,2147485840), поставил сервис пак2,взял другую прогу, которая ставит скорость 10400 и все равно getbaudrate возвращает 9600. Испытывал на двух разных шнурах один USB-COM, другой от мобилки. А у Вас эта скорость нормально ставится? Может потестите на моей проге? Изменено 30 декабря, 2006 пользователем The Fresh Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
back1981 0 30 декабря, 2006 Опубликовано 30 декабря, 2006 · Жалоба Если не секрет откуда такая базовая частота 383385600Hz, извините за ламерский вопрос, но у меня на плате шнура на осциляторе 12 000 М написано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 4 30 декабря, 2006 Опубликовано 30 декабря, 2006 · Жалоба Если не секрет откуда такая базовая частота 383385600Hz, извините за ламерский вопрос, но у меня на плате шнура на осциляторе 12 000 М написано. Там внутрях PLL. Кроме того это частота условная для расчетов. Не факт, что в чипе она имеется в чистом виде, скорее всего код перскалера управляет частотй PLL. Давайте исходник проги которая не работает (тот его кусок, где устанавливается скорость) - только так можно разобраться. У меня смена скорости производится так: { DCB* dcb; /* инициализация DCB опущена */ dcb->BaudRate=10400; // задаем скорость SetCommState(port,dcb); Sleep(20); /* проверка */ { DCB* dcb2; dcb2=(DCB*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(DCB)); dcb2->DCBlength=sizeof(DCB); GetCommState(port,dcb2); cout << "\ndcb2.BaudRate=" << dcb2->BaudRate; HeapFree(GetProcessHeap(),0,dcb2); } } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
back1981 0 30 декабря, 2006 Опубликовано 30 декабря, 2006 · Жалоба Дело в том, что прога не моя и откомпиленная. Если логически рассуждать, то в обычном PC эта скорость 10400 нормально устанавливается прогой , теб более программная реализация не отличается применяешь ли ты штатный порт или переходник. Мое мнение что дело в настройках и почему-то они не срабатывают. Я могу выслать этот софт весит он 400 килов. В кратце там вверху есть кнопочки с моделями контроллеров те которые на М начинаются и работают на этой злосчатной частоте. При переключении между блочками инициализируется порт и считывает парметры Getbaurates(это при помощи шпиона ком портов HDD serial port ) затем забивает setbaudrates. переключая блочки туда обратно у меня на Getbaudrates, т.е. предыдущая скорость всегда появляется 9600, а не 10400. На PC после первого SETBaudrates 10400 дальнейшие getbaudrates выдают 10400. Вышлю на мыло откуда пришел файл про настройки pl2303. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться