Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Железо во FreeBSD (http://forum.oszone.net/forumdisplay.php?f=34)
-   -   FTDI в FreeBSD - битые даные.как полечить? (http://forum.oszone.net/showthread.php?t=86292)

brag 02-07-2007 23:11 607250

FTDI в FreeBSD - битые даные.как полечить?
 
Значт есть такой чип FT245BM от FTDI. его поддержка есть в FreeBSD. это usb->parport конвертор.
Держит он 1mbytes/s по d2xx и 300kbytes/s по VCP(ucom итд..).хотя у меня давал 500k/s, выше не пробовал.
С тем дровом(костыль однозначно) он держит 64byte/0.002sec=32000byte/s по понятным причинам. я увеличил FTDIIBUFSIZE до 384(так ,как OFIFO в чипе 384 байта). стало быстрее,вобщем скорость устраивает.но есть неприятная вещ. даные каждых 64 байта еще вмещают в себе 31 60(62 байта нормальных,следующие за ними 31 60) :( перепробовал уже много чего.игрался с атрибутами порта - до лампочки,только тачка падала неодноразово:)
при чем со стандартным размером буффера(64 байта) все ок.

сомневаюсь,что кто-то ответит,но все же..вдруг :) тк в инете про эту тему есть только в одном месте, тут: http://arkiv.freebsd.se/?ml=freebsd-...5-08&t=1228401
спасибо!

brag 03-07-2007 00:33 607273

Раскурил я виндовые дрова(сцуки FTDI, даже исходников дров не дают, я не говорю уже о документации со стороны usb) - ужасть раскуривать код softice-om под vmware в freebsd :)) . кучу panic-ов поймал. выяснилось, что ихние чип сначала посылает 2 байта статуса и 62 байта даных независимо от размера буффера(чипу вобще наплевать на буффер), а freebsd-шники видимо подумали,раз 62+2, значть надо ставить 64:) тоже видимо курили виндовые дрова, врядли им ftdi дали доки... что за статус, я не курил.просто игнорю ега да и все. пофиксил uftdi.c, собрал свой модуль. теперь он фигачит все,что идет с ftdi. а уже софтиной режу.вроде не глючит. даные доходят нормаль

ех,классное занятие монологи проводить:)

Igor_I 23-07-2007 20:19 617621

Супер :)
Мало кто делиться своими костылями :)

brag 04-08-2007 11:59 622839

спасибо!
на подобные чипы,не только ftdi, а к примеру prolific итд вообще нету никакой документации по программированию. а prolific вообще за специальные дорова(которые реализуют 12-мегабитный ком-порт) денег хотят,да еще и под винду. я решил не использовать переходников usb->com,lpt итп,а делать самому девайсы на atmel-ах,филипсах,сайперсах итп.там хоть документация неплохая.
Все дрова в фре на подобные девайсы писались реверсингом виндовых.ошибок там куча. на пролифике часто дата-кабели к мобилам делают

Igor_I 04-08-2007 17:13 622961

brag,
Объясни, мне дилетанту, - http://www.ftdichip.com/Documents/ProgramGuides.htm это не та документация ?

brag 05-08-2007 00:51 623125

не, то верхний уровень. для юзера драйвера;)

dimmich 29-10-2007 11:46 669062

Скажи, brad, как можно разогнать обмен по USB 2.0 чтобы передавать через этот интерфейс много данных? Хочу попробовать сделать что-то типа многоканального осциллографа на USB. Ведь по спецификации USB постоянно, кажись раз в 125мс идёт пинг устройств, и это накладывает ограничения на размер пакетов передаваемых данных. Если плохо настроен обмен с твоим девайсом, то возможны существенные паузы при обмене (единицы милисекунд). Как с этим всем справляются чипы преобразователи в COM разных производителей? Или лучше выбрать микроконтроллер со встроенным USB интерфейсом?

Кстати, у меня есть статья из журнала. Там чуваки исследовали причины этого замедления скорости, дали рекомендации, объяснения. Выкладывать?

BlackEric 03-12-2007 16:55 689670

dimmich, выкладываете, или дайте хотя бы ссылку на нее.


Время: 04:07.

Время: 04:07.
© OSzone.net 2001-