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 спасибо! |
Раскурил я виндовые дрова(сцуки FTDI, даже исходников дров не дают, я не говорю уже о документации со стороны usb) - ужасть раскуривать код softice-om под vmware в freebsd :)) . кучу panic-ов поймал. выяснилось, что ихние чип сначала посылает 2 байта статуса и 62 байта даных независимо от размера буффера(чипу вобще наплевать на буффер), а freebsd-шники видимо подумали,раз 62+2, значть надо ставить 64:) тоже видимо курили виндовые дрова, врядли им ftdi дали доки... что за статус, я не курил.просто игнорю ега да и все. пофиксил uftdi.c, собрал свой модуль. теперь он фигачит все,что идет с ftdi. а уже софтиной режу.вроде не глючит. даные доходят нормаль
ех,классное занятие монологи проводить:) |
Супер :)
Мало кто делиться своими костылями :) |
спасибо!
на подобные чипы,не только ftdi, а к примеру prolific итд вообще нету никакой документации по программированию. а prolific вообще за специальные дорова(которые реализуют 12-мегабитный ком-порт) денег хотят,да еще и под винду. я решил не использовать переходников usb->com,lpt итп,а делать самому девайсы на atmel-ах,филипсах,сайперсах итп.там хоть документация неплохая. Все дрова в фре на подобные девайсы писались реверсингом виндовых.ошибок там куча. на пролифике часто дата-кабели к мобилам делают |
brag,
Объясни, мне дилетанту, - http://www.ftdichip.com/Documents/ProgramGuides.htm это не та документация ? |
не, то верхний уровень. для юзера драйвера;)
|
Скажи, brad, как можно разогнать обмен по USB 2.0 чтобы передавать через этот интерфейс много данных? Хочу попробовать сделать что-то типа многоканального осциллографа на USB. Ведь по спецификации USB постоянно, кажись раз в 125мс идёт пинг устройств, и это накладывает ограничения на размер пакетов передаваемых данных. Если плохо настроен обмен с твоим девайсом, то возможны существенные паузы при обмене (единицы милисекунд). Как с этим всем справляются чипы преобразователи в COM разных производителей? Или лучше выбрать микроконтроллер со встроенным USB интерфейсом?
Кстати, у меня есть статья из журнала. Там чуваки исследовали причины этого замедления скорости, дали рекомендации, объяснения. Выкладывать? |
dimmich, выкладываете, или дайте хотя бы ссылку на нее.
|
Время: 04:07. |
Время: 04:07.
© OSzone.net 2001-