-=Space=- 0 30 июля, 2007 Опубликовано 30 июля, 2007 · Жалоба Начал заниматься c ft245 обнаружилась такая вот штука В ft245 есть сигнал TXE, лог 0 разрешена запись , лог 1 запись запрещена при записи 1 байта сигнал TXE сраз встает в 1 и держится там 4,183 мкс в дадташите указана только минимальная длительность 80 нс но 4 мкс это же огромная задержка при такой задержке я получу масимум 1/4,183e-6 ~= 239000 байт в сек или обещание даташита скорости 1 Мб сек это только на чтение (из PC в девайс) ? и второй вопросик: кто как реализовал опрос ft245 на чтение? проблема в следущем сигнал RXF в 0 говорит не тольок о том что байт принят, в 0 он и когда юзби не подключен сигнал PWR_ENA не спасает , т.к. 1 на нем это только когда девайс в суспенде а когда режим либо активный либо неподключен там 0 а вот ресет (делилка с +5Vusb ) у меня на плис не заведен, да и он походу не спасет он в 1 слишком рано, когда подключение состоялось а енумерация еще не начилась. вообщем как мне однозначно определить наличие байта в fifo ft245? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-=Space=- 0 1 августа, 2007 Опубликовано 1 августа, 2007 · Жалоба Если на первые две проблемы можно забить (скорость и "вечное" прерывание по приему можно пережить и потом отладить) то глюк с FT_IO_ERROR уже говрит мне о том что пора б взять кусачки и выкусить эту микруху нафиг Пока девайс сконфигурирован так что на прием одного любого байта он отвечает посылку 48 байт по хорошему это надо сделать в цикле и желательно побыстрее, еще лучше в разных потоках но сейчас это 2 события , 2 кнопки на форме одна запись байта , вторая чтение буфера так вот на n-ое нажате кнопки запись драйвер подвисает (выдает 4 ошибку на любую функцию) пока девайс не переткнешь. n = 1..30, в среднем 3-5 По поводу совета с кондерами на D+ D- , пробовал: резюки 27ом, кондеры до 180p нет пользы, 330p затыкают прием (девайс перестает принимать байт) может питание критично? стоят импульсники на TPS54350 +5 +3,3 +1,2 2 последних для спартана3 попробую на линениках собрать питалово ---------- на линейниках также, без изменений Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-=Space=- 0 22 августа, 2007 Опубликовано 22 августа, 2007 · Жалоба провел такой эксперимент с VCP драйверами программа написана таким образом что длина ответа равна значению в байте запроса т.е. я могу варьировать длину ответа при большой длине ответа происходит зависание программы (драйвера?) вероятность события тем чем длиннее посылка при длинне 62 байта вероятность 100% а через 50 мс после записи последнего байта txe становится в 1 и держится там до отключения от юзби Это глюк программы? драйвера? микросхемы? (серия битая попалась)? моего железа? мониторинг в usb сниффере показал что затык происходит на функции BULK_OR_INTERRUPT_TRANSFER длина данных 0, result 0xC0000005 а должно быть длина данных [2+длина посылки], result 0 после этого идет куча RESET_PIPE с result 0xC0000005 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kada 0 25 сентября, 2007 Опубликовано 25 сентября, 2007 (изменено) · Жалоба to -=Space=- Проблемы решили? Если да, то поделитесь пожалуйста. to all Уважаемые господа, посодействуйте в решении проблемы. Работаю с FT245. Пробовал пример для C++, приведенный на сайте FTDI. Все исправно функционировало. Понадобилось использовать функцию FT_OpenEx. В примере используется хидер FTD2XX.H и ftd2xx.lib от старой версии драйвера, в которой нет функции FT_OpenEx. Поэтому скачал новый драйвер с сайта FTDI - "CDM 2.02.04 WHQL Certified". Приложение пишу в BCB6. В папку с проектом, как и положено, скопировал ftd2xx.lib и FTD2XX.H. При попытке скомпилировать выдает ошибку линкера: [Linker Error] 'C:\D2XXAPP\FTD2XX.LIB' contains invalid OMF record, type 0x21 (possibly COFF) to all Уважаемые господа, посодействуйте в решении проблемы. Работаю с FT245. Пробовал пример для C++, приведенный на сайте FTDI. Все исправно функционировало. Понадобилось использовать функцию FT_OpenEx. В примере используется хидер FTD2XX.H и ftd2xx.lib от старой версии драйвера, в которой нет функции FT_OpenEx. Поэтому скачал новый драйвер с сайта FTDI - "CDM 2.02.04 WHQL Certified". Приложение пишу в BCB6. В папку с проектом, как и положено, скопировал ftd2xx.lib и FTD2XX.H. При попытке скомпилировать выдает ошибку линкера: [Linker Error] 'C:\D2XXAPP\FTD2XX.LIB' contains invalid OMF record, type 0x21 (possibly COFF) Разобрался. FTDI предоставляет файл ftd2xx.lib для Visual C++. А чтобы работало и для BCB необходимо получить этот LIB файл из ftd2xx.dll с помощью утилиты IMPLIB, поставляющейся вместе с BCB. Вот что пишет FTDI: The FTD2XX.DLL and FTD2XX.LIB files from the latest release are for Microsoft Visual C++ projects only. For Borland projects use FTD2XX.DLL from the latest release, but create a LIB file for use with C++ Builder. Borland supplies a utility with C++ Builder called IMPLIB which can be used to create a LIB file from a DLL. IMPLIB can be run using the following command: implib ftd2xx.lib ftd2xx.dll Then FTD2XX.LIB can be linked with the application. Изменено 25 сентября, 2007 пользователем kada Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-=Space=- 0 26 сентября, 2007 Опубликовано 26 сентября, 2007 · Жалоба kada: lib'a сделана для MSVC и для BCB на подходит нужно конвертить. Или возми мою , уже конверченную. Т.к. сам пишу на BCB6 и столкнулся с этим в первый же день. Проблема кстати решена наложились 2 глюка 1. были перпутаны D+ и D- 2. резистор для подтяжки D+ номиналом 1,5к нужно ставить 1,5к, а не как я "пойдет и 1,8к, ошибка всего 20%, перживем". Не пережило! А эффект забавный: т.к. подтягивалась D- а не D+ винда девайс обнаруживала как LowSpeed (отсюда удлиненный TXE) и на несоласованной шине все это как то работало! FTD2XX.ZIP Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kada 0 26 сентября, 2007 Опубликовано 26 сентября, 2007 (изменено) · Жалоба kada: lib'a сделана для MSVC и для BCB на подходит нужно конвертить. Или возми мою , уже конверченную. Т.к. сам пишу на BCB6 и столкнулся с этим в первый же день. Проблема кстати решена наложились 2 глюка 1. были перпутаны D+ и D- 2. резистор для подтяжки D+ номиналом 1,5к нужно ставить 1,5к, а не как я "пойдет и 1,8к, ошибка всего 20%, перживем". Не пережило! А эффект забавный: т.к. подтягивалась D- а не D+ винда девайс обнаруживала как LowSpeed (отсюда удлиненный TXE) и на несоласованной шине все это как то работало! Библиотеку уже сам успел конвертнуть, но все равно спасибо! За разъяснения тоже благодарю. Эффект и правда забавный :) Думаю многим будет полезно. С проблемами реализации в железе пока не сталкивался, т.к. использую готовый модуль DLP-USB245M. Изменено 26 сентября, 2007 пользователем kada Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться