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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Проблеммы с FT2232 от FTDI, не можем заставить ее работать в full-speed
alex112
сообщение Feb 14 2010, 13:25
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 14-02-10
Пользователь №: 55 477



В свое время работали с USB 1.0 (FT232R, FT245R). Софт для PC писался под Delphi, с использованием драйверов и библиотек от разработчика. Все было нормально.

Решили перейти на USB2.0 и бешеные скорости, так как 800 кбайт/сек уже упиралось в наши требования.
Купили kit 2232. Библиотек для Delphi не оказалось, решили писать на Borland.

Собрали макет. Подключили. Запускаем написанную программу. Устанавливаем режим Full-speed (SetBitMode 0x40). Осцилографом смотрим - появилась желаемая частота в 60мегагерц. Ок. Дальше посылаем 0х01, в ответ на которое наша плата должна была загореть светодиод и выдавать данные. Единичка записывается, светодиод загорается, но "плата" больше ни на что не реагирует. UsbTracer показывает "смерть" девайся и его отключение. Винды иногда при этом пишут "устройство не опознано".

Тыкались-тыкались, решили попробовать ассинхронный режим, без SetBitMode 0x40. Сделали плату, перепрошили контроллер. Запускаем. Посылаем единичку. После этого GetStatus выдает наличие данных в буфере (и если циклично проверять, то видно как буфер наполняется), но Read не читает ничего, ft_status равен 4, ошибка чтения, но GetStatus так же исправно продолжнает показывать данные в буфере без ошибок.

Берем старую программу из под Delphi и пробуем ей - она все прекрасно читает. Отличия только в разных библиотеках для дельфей и для борланда. И фих с этой борладской библиотекой, но проблемма в том, что дельфевая библиотека старая и она не умеет SetBitMode. Я пытался его руками добавить, т.к. в ftdi2xx.dll такая функция есть, но неполучается - устройство не видит этой команды. Возможно в борландовской библиотеке какая-то обертка стоит над этой функцией.

Впринципе, сейчас мы получаем почти 5 мегабайт в секунду по usb в ассинхронном режиме, но это как то неправильно, на мой взгляд. Кто нить добивался большего? У кого-нить получилось работать в full-speed?Как вообще работать с этой 2232?
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Feb 14 2010, 14:45
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
В свое время работали с USB 1.0 (FT232R, FT245R).

FT232R - USB 2.0 Full speed device вoобще-то.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
alex112
сообщение Feb 14 2010, 14:59
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 14-02-10
Пользователь №: 55 477



Цитата(DpInRock @ Feb 14 2010, 17:45) *
FT232R - USB 2.0 Full speed device вoобще-то.

http://www.filur.net/PDF/FTDI/mikros/USB.htm
Хотя я может че и путаю. Но вопрос то не в этом. smile.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Feb 14 2010, 16:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата
не можем заставить ее работать в full-speed
Дурацкий вопрос: а кабель USB менять не пробовали?
Go to the top of the page
 
+Quote Post
alex112
сообщение Feb 14 2010, 16:14
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 14-02-10
Пользователь №: 55 477



Цитата(rezident @ Feb 14 2010, 19:01) *
Дурацкий вопрос: а кабель USB менять не пробовали?

пробовали. Непомогает. Сейчас там кабель длинной 15 см от фотоаппарата.
По usbtracer-у видно что устройство "штатно" умирает, т.е. уходит единичка, потом всякие синхры пошли, статус "ансупортед" и пипец.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Feb 14 2010, 21:37
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
Но вопрос то не в этом

Именно в этом.
http://www.ftdichip.com/Documents/DataSheets/DS_FT232R.pdf
Цитата
Data transfer rates from 300 baud to 3 Mbaud
(RS422, RS485, RS232 ) at TTL levels.


Цитата
The FT232R is fully compliant with the USB 2.0 specification and has been given the USB-IF Test-ID (TID)
40000133.


Так что FTDI работает совершенно замечательно. Причем, на той скорости, которой на 1.5 мегабита не достичь. А только на 12.
----

Цитата
Библиотек для Delphi не оказалось

Так ведь FTDI поставляет DLL. Кто мешает 10 строк написать в дельфях?

Сообщение отредактировал DpInRock - Feb 14 2010, 21:40


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
alex112
сообщение Feb 14 2010, 21:49
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 14-02-10
Пользователь №: 55 477



Цитата(DpInRock @ Feb 15 2010, 00:37) *
Так ведь FTDI поставляет DLL. Кто мешает 10 строк написать в дельфях?

Я же писал, что пробовал дописать, но неполучается. Невидит девайс написанных команд. Для борланда идет еще бибилотека дополнительная.
А то что что в борланде у меня ft_read выдает еррор в ассинхронном режиме, это у всех так?
Go to the top of the page
 
+Quote Post
plombir
сообщение Feb 15 2010, 05:58
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Драйвера с сайта давно обновляли?

На 232R было у меня подобное. Зависал на 2 минуты при определённых действиях. Нашёл обход через другие функции, но 10 секундный вис остался. Когда ставил дрова на другой комп, прямо с сайта, тормозов не увидел. Проверил у себя. Оказалось, что эту проблему пофиксили. Разница между обновлениями была 3 месяца.

В итоге, мне хватило тупой замены файла ftd2xx.dll на новый.
Go to the top of the page
 
+Quote Post
alex112
сообщение Feb 15 2010, 10:06
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 14-02-10
Пользователь №: 55 477



Цитата(plombir @ Feb 15 2010, 08:58) *
Драйвера с сайта давно обновляли?

драйвера последние. От октября 2009, свежее не видел. И у нас он не "зависает", а именно умирает. Попозже пришлю лог от usbtracer-a.
А кто нить вообще работает с этой железкой (2232H)?

Сообщение отредактировал rezident - Feb 15 2010, 11:31
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Feb 15 2010, 12:11
Сообщение #10


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(alex112 @ Feb 15 2010, 12:06) *
А кто нить вообще работает с этой железкой (2232H)?
Пока пробовал только MPSSE (SPI, avreal). На обеих каналах работает, AVR-ки шьёт ;-)
Штыри со всех портов и перемычка запрета буферов для рпограмматора заложены, но на альтеру пока не цеплял и SyncFIFO не пробовал.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
plombir
сообщение Feb 16 2010, 05:28
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Цитата(alex112 @ Feb 14 2010, 16:25) *
Устанавливаем режим Full-speed (SetBitMode 0x40)
Из какого документа это значение 0x40?

Удалось найти
Код
Reset the IO Bit Mode           0x0
Asynchronous Bit Bang Mode      0x1
MPSSE                           0x2
Synchronous Bit Bang Mode       0x4
MCU Host Bus Emulation          0x8
Fast Serial For Opto-Isolation  0x10
Go to the top of the page
 
+Quote Post
alex112
сообщение Feb 17 2010, 18:52
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 14-02-10
Пользователь №: 55 477



Цитата(plombir @ Feb 16 2010, 08:28) *
Из какого документа это значение 0x40?

у меня в документации еще 0х20 и 0х40 есть. smile.gif

Сообщение отредактировал rezident - Feb 17 2010, 19:25
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
plombir
сообщение Feb 18 2010, 06:28
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 99
Регистрация: 14-12-05
Пользователь №: 12 191



Цитата(alex112 @ Feb 17 2010, 21:52) *
у меня в документации еще 0х20 и 0х40 есть. smile.gif
Я рад за Вас и вашу документацию.
Удачи.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Feb 18 2010, 19:25
Сообщение #14


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(plombir @ Feb 18 2010, 08:28) *
Я рад за Вас и вашу документацию.
Удачи.
Кто Вам виноват, что у Вас в документации этого нет?

FT2232H DUAL HIGH SPEED USB TO MULTIPURPOSE UART/FIFO IC
Datasheet Version 2.06
Цитата
4.13 FT2232H Mode Selection
When in FT245 FIFO mode, the FT_SetBitMode command can be used to select either Synchronous FIFO (FT_SetBitMode = 0x40) or Asynchronous FIFO mode.


Application Note AN_130
FT2232H Used In An FT245 Style Synchronous FIFO Mode
Цитата
Next send command FT_SetBitMode(Mask, 0x40) to the FTDI driver to switch the FT2232H to FT245 Synchronous FIFO mode (this mode uses the RX & TX buffer of port B, so port B cannot be used for any other purpose in this mode).


Document Reference No.: FT_000071
D2XX Programmer's Guide Version 1.02
Цитата
ucMode Mode value. Can be one of the following:
0x0 = Reset
0x1 = Asynchronous Bit Bang
0x2 = MPSSE (FT4232H, FT2232H and FT2232 devices only)
0x4 = Synchronous Bit Bang (FT4232H, FT2232H, FT232R, FT245R and FT2232 devices only)
0x8 = MCU Host Bus Emulation Mode (FT4232H, FT2232H and FT2232 devices only)
0x10 = Fast Opto-Isolated Serial Mode (FT4232H, FT2232H and FT2232 devices only)
0x20 = CBUS Bit Bang Mode (FT232R devices only)
0x40 = Single Channel Synchronous 245 FIFO Mode (FT2232H devices only)


Удачи.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Feb 19 2010, 09:25
Сообщение #15


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Цитата
Устанавливаем режим Full-speed (SetBitMode 0x40).

На самом деле - это вообще никак не связано с Full speed или LowSpeed или Hi-Speed.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:33
Рейтинг@Mail.ru


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