|
Com порт и нестандартные скорости?, возможно ли поставить нест. скорость? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 26)
|
Dec 27 2006, 23:54
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(The Fresh @ Dec 27 2006, 17:41)  Я так понял, что настраивть мой USB пролифик на PL2303 бесполезно. Отчего такой диагноз? Цитата Можно ли это сделать на PC(ноут) с штатными портами, если нет, то существует ли какая нибудь возможность это сделать. А как у Вас "не получилось"? Настраиваются в пределах сетки которую может обеспечить делитель UART. Если Вы вдруг захотели 60000 получить, то получите вместо этого 115200, ибо возможны только два варианта 115200 - делитель на 1 и следующая 576000 - делитель на 2. На более низких скоростях вариантов естественно побольше.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 28 2006, 01:58
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 27 2006, 18:41)  Я так понял, что настраивть мой USB пролифик на PL2303 бесполезно. Можно ли это сделать на PC(ноут) с штатными портами, если нет, то существует ли какая нибудь возможность это сделать. Спасибо. Вы напрасно списали PL2303 в утиль. Как оказалось, он умеет работать на любой скорости Обнаружено это было на телесистемах: Туплю не могу вывести формулу таблицы скоростей PL2303Итоговая дока лежит тут
|
|
|
|
|
Dec 28 2006, 21:56
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 28 2006, 20:05)  Смотрел на форуме телесистем, так и не понял что к чему. Пробовал записывать их примеры но дополнительные скорости нигде не узрел, да и скорости у них бешенные, а мне надо 10400. Объясните глупышу  . На телесистемах был рабочий процесс. Читайте документ PL2303_extBaudrate.rtf - что там непонятно?
|
|
|
|
|
Dec 29 2006, 17:18
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 29 2006, 11:06)  Не могу скачать этот .rtf точнее скачивается вот этот файл PL2303_extBaudrate.rtf.zip. Разархивировать бесполезно - это не файл архива, убрал расширение zip, открыл как .rtf а том копия той страницы с которой собсно скачивал т.е. Рапида этого. Чтото делаю неправильно при скачивании и если не затруднит может скинете на email back1981@mail.ru. Заранее спасибо. Отправил. С рапиды действительно неудобно скачивать, но у меня файл приходит нормальный.
|
|
|
|
|
Dec 30 2006, 13:59
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 30 2006, 10:53)  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.
Сообщение отредактировал _3m - Dec 30 2006, 14:09
|
|
|
|
|
Dec 30 2006, 19:46
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 30 2006, 19:10)  Если не секрет откуда такая базовая частота 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); } }
|
|
|
|
|
Dec 30 2006, 23:04
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Dec 30 2006, 20:57)  ... Вышлю на мыло откуда пришел файл про настройки pl2303. Заранее спасибо. Программу получил. (у меня есть такая же, но я ей не пользовался). Проверил. Сигнал контролировал осциллографом, так как эбу подключенного к компу под рукой нет. в реестр занес дополнительную скорость 10400, сигнал контролировал осциллографом - скорость ориентировчно 10400. Для чистоты экспримента задал делитель для 10400 как для 2000000 - получил на выходе 2mbps сразу при запуске программы в режиме MP7.0. Итог: скорость устанавливается. Что-то вы неправильно делаете. Значение заносите в нужную ветку реестра? Вот что у меня: [attachment=8933:attachment]
|
|
|
|
|
Jan 9 2007, 00:51
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(The Fresh @ Jan 6 2007, 11:51)  Установка ENG XP не помогла, мало того пробовал шпионом просматривать реестр. Если передернуть шнурок, то драйвер считывает строку из реестра ExtBaudrate нормально, но при попытке забить скорость он таки "забивает" на нее и подставляет ближайшую не зависимо 10400 - 9600, 1000000 - 921600. И вообще если скорость допустим принялась это можно как нибудь проследить програмно? Проверить просто - считать DCB функцией GetCommState и посмотреть поле BaudRate. Там будет фактически установленная скорость. PS. У вас в переходнике на pl2303 случайно seeprom 24сxx не стоит? В моих переходниках ее нет, может в этом дело?
|
|
|
|
|
Jan 9 2007, 12:57
|

Частый гость
 
Группа: Новичок
Сообщений: 146
Регистрация: 3-12-06
Пользователь №: 23 071

|
Нет таких микросхем, на USB - COM там микруха конвертации уровней ADM, на телефонном почти голый там осцил и все. Кусок проги вот такой ZeroMemory(@FOverWrite, SizeOf(FOverWrite)); FPortName := 'COM' + IntToStr(PortNumber); {Open port} FPort := CreateFile(PChar(PortName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); if FPort = INVALID_HANDLE_VALUE then Begin raise EComPortError.Create('Îøèáêà îòêðûòèÿ ïîðòà ' + PortName); end; try {Set port state} if not GetCommState(FPort, Dcb) then raise EComPortError.Create('Error setting port ' + PortName + ' state'); Dcb.BaudRate := 10400; Dcb.Parity := NOPARITY; Dcb.ByteSize := 8; Dcb.StopBits := ONESTOPBIT; if not SetCommState(FPort, Dcb) then raise EComPortError.Create('Error setting port ' + PortName + ' state'); //Дальше добавляю вот это и смотрю вывалившийся диалог sleep(100); GetCommState(FPort, Dcb); raise EComPortError.Create(inttostr(DCB.BaudRate)); в структуре висит 9600 хоть тресни. Ума не приложу в чем разница, Regmonom смотрел там драйвер пытается обратится в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_Ser2pl которой нет. Я ее искуственно создал, создал в ней элементы и все равно нет. В ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ser2pl ExtBaudrate 10400,2147485840
Сообщение отредактировал The Fresh - Jan 9 2007, 13:04
Эскизы прикрепленных изображений
|
|
|
|
|
May 6 2011, 18:29
|
Группа: Новичок
Сообщений: 2
Регистрация: 4-05-11
Пользователь №: 64 765

|
Цитата(The Fresh @ Jan 10 2007, 00:00)  Обращаюсь к общественности. Неужели у нас у одних с _3m такие проводулины может еще кто потестит. Здесь в принципе все описано. А то у меня складывается мнение что лыжи все таки у меня едут  . У меня есть драйвер заточенный под скорость 10400 проверял работает на Автоваз(прога диагностики) и автотулс кажется. Могу выложить там переопределена скорость в 300 бод на 10400 бод. Да извините поздороваться забыл. Здравствуйте.))))
|
|
|
|
|
May 25 2011, 15:57
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028

|
Цитата(lutvun @ May 6 2011, 21:29)  У меня есть драйвер заточенный под скорость 10400 проверял работает на Автоваз(прога диагностики) и автотулс кажется. Могу выложить там переопределена скорость в 300 бод на 10400 бод. Да извините поздороваться забыл. Здравствуйте.)))) выложите если не сложно
|
|
|
|
|
Jun 10 2011, 16:16
|
Группа: Новичок
Сообщений: 2
Регистрация: 4-05-11
Пользователь №: 64 765

|
Если драйвер устройства FT232 уже установлен, для вступления изменений в силу, программное обеспечение устройства необходимо полностью деинсталлировать и установить повторно из каталога, в котором находится отредактированный INF файл. В силу особенностей операционной системы, функция обновления драйвера или удаление устройства в диспетчере устройств может не дать результата. Для работы выбираете скорость в 300 бод (скорость в 10400 визуально отображаться не будет) Если у кого то работать не будет то можете попробовать вот что Находите в драйвере INF файл и там редактируете вот эту запись, я тупо вырезал и вставил строчку представленную ниже. Если не заработает то я ко всему этому ещё редактировал реестр согласно инфы в данной ветке, если честно не знаю что помогло)))), но после редактирования реестра связи не было. Отсюда либо редактирование драйверы помогло, либо редактирование реестра и драйвера всё вместе. И ещё для полной информации: Винда семёрка, адаптер UAS111 [FtdiPort232.NT.HW.AddReg] HKR,,"ConfigData",1,01,00,3F,3F,20,41,88,13,C4,09,E2,04,71,02,38,41,9c,80,4E,C0,34,00,1A,00, 0D,00,06,40,03,80,00,00,d0,80
.rar ( 105.29 килобайт )
Кол-во скачиваний: 600Да, драйвер уже отредактирован можете устанавливать. Удачи. Если у кого есть желание, прошу поделится прогами для диагностики и прошивки контроллеров Январь 7.2 (проверенными на работоспособность)
Сообщение отредактировал lutvun - Jun 10 2011, 16:17
|
|
|
|
|
Nov 19 2011, 14:23
|
Группа: Новичок
Сообщений: 2
Регистрация: 19-11-11
Пользователь №: 68 393

|
По поводу pl2303: Лучше всего чтобы значения делителя были в диапазоне 70-300. Написал прогу на экселе которая вычисляет значение ExtBaudrate :-) Скачать можно тут. Кстати, вот значения ExtBaudrate для стандартных скоростей, прямо из драйвера: std rate ExtBaudrate 6000000 2147483712 3000000 2147483776 2457600 2147483804 1228800 2147484238 921600 2147484264 812500 2147484278 806400 2147484279 614400 2147484316 460800 2147484368 406250 2147484396 403200 2147484398 268800 2147484761 230400 2147484776 201600 2147484791 161280 2147484820 134400 2147484850 128000 2147484859 115200 2147484880 57600 2147485288 38400 2147485340 28800 2147485392 19200 2147485774 14400 2147485800 9600 2147485852 7200 2147485904 4800 2147486286 3600 2147486312 2400 2147486364 1800 2147486416 1200 2147486798 600 2147486876 300 2147487310 150 2147487388 75 2147487544
|
|
|
|
|
Dec 11 2011, 06:00
|
Группа: Новичок
Сообщений: 1
Регистрация: 11-12-11
Пользователь №: 68 785

|
Здравствуйте! Помогите решить проблемму с вычислениями прескалера делителя вот этого устройства для настройки нестандартной скорости 10400. Может формула есть, не знаю как проверить реальную скорость Буду очень признателен. сом портвот что еще нашел на 43 странице, но всеравно понять не могу как настроить параметры прскалера и делителя и частоты
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|