реклама на сайте
подробности

 
 
> Проблемы с обменом по USB...
Ostec
сообщение Feb 4 2005, 07:32
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 14-01-05
Пользователь №: 1 943



Принимаю данные по USB используюя контроллер-USB FT232BM (www.ftdichip.com), но получаю рваный поток с пропадающими пакетами, пакет в данном случае - это озаглавленный мной блок данных.
Кто работал с этим подскажите как заставить его принимать данные без пропусков и потерь? С другой стороны загоняю в него данные со скорость 1.5 или 2 Мбит/сек.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ostec
сообщение Feb 4 2005, 12:06
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 14-01-05
Пользователь №: 1 943



Передаю данные по RS232 со скоростью 2 Мбит/сек в контроллер USB FT232BM, и далее хочу передать эти данные в комп. Передача осуществляется в одном направлении, от компа в FT232BM, никогда ничего не передается, flow control не применяется, посылка состоит из 10 байт (RS-232, 2 Мбит), потом пауза порядка половины посылки, посылка 10 байт, пауза и т.д.
В PC пользуюсь direct driver (D2XX), а не виртуальным COM. Поток ориентировочно - 150-200 кбайт/сек. У меня возникло желание поиграться с размером буфера и задержками, как описано в родных AppNotes, но пока результат не достигнут...
Go to the top of the page
 
+Quote Post
khach
сообщение Feb 4 2005, 12:43
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Рекомендую включить RTS/CTS flow control и посмотреть осциллом в режиме ждущей развертки. Если RTS будет дергаться- это буфер переполняеться. Лечиться шаманским бубном, вплоть до смены компа ( материнской платы). Бывало FTDI выделывалось на USB2 контроллерах- воткни в честный USB1.1 и проверь симптомы.
Еще один вариант- тк FTDI построено на ядре 51 конроллера, то он просто неуспевает выгребать байты при приеме из UART. Поставь ДВА стоп-бита- это даст небольшую задержку между байтами.
Еще проверь фронт стартового бита (длинные провода, прохой драйвер)- если он завален, то UART может просто незапускаться. Лучше выкинь вообще формирователь RS232 уровней со стороны тестового сигнала (если он есть).
А вообще FT232 для таких скоростей приспособлен плохо. Или переходи на параллельную шину (245) или делай связку из внешнего UART и микроконтроллера с USB. Мы когда- то подобную проблему решить не смогли (правда это было на FT232AM) и сделали связку AN2135 (Cypress) и TI16c550 (UART с FIFO). При этом AN2135 грузился из serial eeprom и эмулировал полностью протокол FT232AM на USB т.к менять драйвера на компе было уже поздно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 18:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016