Войти

Показать полную графическую версию : FTDI в FreeBSD - битые даные.как полечить?


brag
02-07-2007, 23:11
Значт есть такой чип 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-usb&a=2005-08&t=1228401
спасибо!

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

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

Igor_I
23-07-2007, 20:19
Супер :)
Мало кто делиться своими костылями :)

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

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

brag
05-08-2007, 00:51
не, то верхний уровень. для юзера драйвера;)

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

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

BlackEric
03-12-2007, 16:55
dimmich, выкладываете, или дайте хотя бы ссылку на нее.




© OSzone.net 2001-2012