Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FT232RL - изменение baud rate
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
xdeller
Возник вопрос - как можно интерпретировать лог ниже? Видно, что бодрейт меняется, но одна из сторон - FT232RL(будильник sleeptracker elite) по определению крайне тупа и не должна изменять параметры протокола во время работы. Дамп делал в виртуальной машине c помощью дампилки последовательных портов от aggsoft, в хост-системе вайршарк выдает крайне малочитабельный дамп обмена по юсб, из которого сложно выцепить что-либо кроме собственно дата-чаров, передающихся после установления последовательного протокола. Предыдущие версии будильника работали, судя по исходникам, на 24008N1, потому такое поведение и удивляет.

Код
<20120117010045.756 SYS>
COM is open
<20120117010045.756 SYS>
In/out queue size 4096/4096
<20120117010045.756 SYS>
Baud rate 9600
<20120117010045.772 SYS>
RTS on
<20120117010045.772 SYS>
DTR on
<20120117010045.772 SYS>
Data bits=8, Stop bits=1, Parity=None
<20120117010045.772 SYS>
Set chars: Eof=0x00, Error=0x00, Break=0x00, Event=0x00, Xon=0x11, Xoff=0x13
<20120117010045.787 SYS>
Handflow: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL), XonLimit=2048, XoffLimit=512
<20120117010045.787 SYS>
Baud rate 19200
<20120117010045.787 SYS>
RTS on
<20120117010045.803 SYS>
DTR on
<20120117010045.803 SYS>
Data bits=8, Stop bits=1, Parity=None
<20120117010045.803 SYS>
Set chars: Eof=0x00, Error=0x00, Break=0x00, Event=0x00, Xon=0x11, Xoff=0x13
<20120117010045.803 SYS>
Handflow: ControlHandShake=(DTR_CONTROL), FlowReplace=(TRANSMIT_TOGGLE, RTS_CONTROL), XonLimit=1024, XoffLimit=1024
<20120117010045.803 SYS>
Set timeouts: ReadInterval=-1, ReadTotalTimeoutMultiplier=0, ReadTotalTimeoutConstant=0, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=2147483647
<20120117010045.803 SYS>
Set timeouts: ReadInterval=-1, ReadTotalTimeoutMultiplier=0, ReadTotalTimeoutConstant=0, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=212900
<20120117010045.803 SYS>
Set timeouts: ReadInterval=1000, ReadTotalTimeoutMultiplier=0, ReadTotalTimeoutConstant=1000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=212900
<20120117010045.803 SYS>
Set timeouts: ReadInterval=1000, ReadTotalTimeoutMultiplier=0, ReadTotalTimeoutConstant=1000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=2147483647
<20120117010045.803 TX>
V_G
Я бы присоединил лог размером мегабайт и заставил форумчан его разбирать, чтобы служба медом не казалась...

По делу - никогда не считал FT232RL тупой машиной, бодрейт она (точнее, ее драйвер) меняет точно в соотвествии с командами от виндовой программы.
Вы же даже не обозначили, в какой операционке и с какими драйверами работате. И в чем состоит вопрос (интерпретировать лог - это не вопрос)
xdeller
Цитата(V_G @ Jan 18 2012, 02:45) *
Я бы присоединил лог размером мегабайт и заставил форумчан его разбирать, чтобы служба медом не казалась...

По делу - никогда не считал FT232RL тупой машиной, бодрейт она (точнее, ее драйвер) меняет точно в соотвествии с командами от виндовой программы.
Вы же даже не обозначили, в какой операционке и с какими драйверами работате. И в чем состоит вопрос (интерпретировать лог - это не вопрос)


А, конечно - гостевая система, в которую проброшен усб-девайс - windows 2008, можно считать, та же семерка, драйвер с оффсайта фтди. Про сам лог - имеет ли смысл делать соединение сразу на 19200 и пытаться общаться с девайсом или нужно обязательно повторять путь выше? Поскольку даты в сессии на 9600 не передается никакой, возникает вопрос, зачем она создается.
V_G
Все равно непонятно, к чему вопрос, и непонятно, лог чего это. Если вы пишете софт сами, устанавливайте нужную скорость сразу и качайте данные. Или вы хотите вскрыть чью-то программу? Тогда это вопрос не как работать с FT232, а как вскрывать чужие программы!

Да, и я использую драйвер виртуального компорта (VCP), а не D2XX. Какие команды шлет при работе драйвер микросхеме, мне сугубо по барабану, я использую обычные виндовые API функции работы с компортом.
xdeller
Цитата(V_G @ Jan 18 2012, 12:09) *
Все равно непонятно, к чему вопрос, и непонятно, лог чего это. Если вы пишете софт сами, устанавливайте нужную скорость сразу и качайте данные. Или вы хотите вскрыть чью-то программу? Тогда это вопрос не как работать с FT232, а как вскрывать чужие программы!

Да, и я использую драйвер виртуального компорта (VCP), а не D2XX. Какие команды шлет при работе драйвер микросхеме, мне сугубо по барабану, я использую обычные виндовые API функции работы с компортом.


Я хочу избавиться от необходимости запускать гостевую винду каждый раз, когда мне потребуется слить данные, плюс виндовая программа умеет только одно - отсылать данные о цикле сна на сервер слиптрекера, чего я, например, могу не желать. Хочется получить для себя полное описание протокола, благо он не шибко сложный, и наваять консольную софтинку, которую можно будет пускать в хостовом линуксе. То есть ответ на мой вопрос - пробовать сразу ставить 19200, верно?
V_G
Под виндой я бы сказал однозначно: да, верно!
Где-то писали о линукс-драйверах для FTDI. Может, на самом сайте FTDI?
Не думаю, что где-то в открытом доступе есть протокол FTDI, там какие-то заморочки с авторскими правами.
Но на этом форуме что-то подобное обсуждалось (то ли сам протокол, то ли линукс-дрова), поищите.

PS. Точно, на http://www.ftdichip.com есть линуксовые дрова, заходите и качайте
xdeller
Цитата(V_G @ Jan 18 2012, 13:43) *
Под виндой я бы сказал однозначно: да, верно!
Где-то писали о линукс-драйверах для FTDI. Может, на самом сайте FTDI?
Не думаю, что где-то в открытом доступе есть протокол FTDI, там какие-то заморочки с авторскими правами.
Но на этом форуме что-то подобное обсуждалось (то ли сам протокол, то ли линукс-дрова), поищите.

PS. Точно, на http://www.ftdichip.com есть линуксовые дрова, заходите и качайте


С драйвером проблем нету, используется ядерный ftdi_sio. Дело в том, что слиптрекеры предыдущих моделей кроме отличного бодрейта имели другой протокол обмена, сейчас там аскей не задействован вообще и используются байты выше 127 и нулевой(зачем?). В общем спасибо, буду на 19200 пинать железку.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.