Перейти к содержанию
    

USB Host для подключения FT232

Добрый день!

 

Прошу совета-помощи по возникшей проблеме.

 

Имеются устройства, в которых USB реализован на FT232. При подключении к компьютеру видно что устройства постоянно выдают пакеты данных на скорости 115200.

Возникла необходимость разработки хоста, к которому будут подключаться данные устройства и который будет принимать и обрабатывать эти пакеты данных.

Однако, просмотрев зарубежные форумы, встретил плохие обзывы по поводу USB хоста для FT232, пишут что не хочет работать и предлагают уходить от FT232. К сожалению, в данной ситуации нет возможности уйти от FT232, т.к. устройства уже есть и их нужно использовать.

 

Может ли кто-то что-то посоветовать по этому поводу?

Есть ли у кого-то опыт в подобных вещах?

 

Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день. К сожалению телепаты в отпуске. Могли бы вы более подробно описать, что именно вы хотите сделать? Получить информацию со стороны USB? или с другой стороны микросхемы? Если с другой стороны, то для начала необходимо определится с каким интерфейсом имеете дело. Это вы можете сделать при помощи осцилографа и логического анализатора. Далее в зависимости от задачи. :smile3046:

 

В простейшем случае, если вы хотите на пк разбирать инфорацию - и если доступен COM порт, судя по тому как вы пишете о скорости 115200, то берете пакеты и работаете с ними))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В устройствах микросхема FT232 используется по своему назначению как преобразователь UART-USB. Изначально эти устройства рассчитаны на подключение к ПК через USB. На ПК используется специальный софт, который принимает данные с устройств и отображает информацию о состояниях устройств, пишет логи.

Однако возникла необходимость собирать данные с этих устройств без помощи ПК, т.е. рядом с устройством располагать еще одно устройство(микроконтроллер+обвязка), которое будет иметь на борту USB HOST и соответственно как и ПК будет получать данные с устройств через USB.

Изменено пользователем Pasha_a13

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну здесь необходимо что либо, что умеет работать с ней. Это скорее всего или что то большое на базе какой либо *nix систем. Или возможно поможет реализация USB CDC, но не уверен что заработает. Необходимо думать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

плохие обзывы по поводу USB хоста для FT232, пишут что не хочет работать и предлагают уходить от FT232. К сожалению, в данной ситуации нет возможности уйти от FT232, т.к. устройства уже есть и их нужно использовать.

 

Наверное, они хосты реализовывали на других чипах, не от FTDI. А вы возьмите VNC1L или VNC2. Невозможно поверить, чтобы у одной фирмы USB хост-чипы плохо работали со своими же USB девайсами.

 

Впрочем, вполне может быть, что в деле замешаны китайцы со своими дешевыми пиратскими копиями FT232. FTDI по этому поводу очень переживает и добавляет в свои чипы и в драйверы какие-то примочки, из-за которых китайские копии чипов с драйверами FTDI не работают или глючат, это факт. Но, как обратная сторона медали, родные FTDI чипы FT232, возможно (тут пошли мои догадки), сами могут глючить, если общаются не с родными FTDI драйверами. В любом случае FTDI хосты обязаны уметь эту проблему решать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное, они хосты реализовывали на других чипах, не от FTDI. А вы возьмите VNC1L или VNC2. Невозможно поверить, чтобы у одной фирмы USB хост-чипы плохо работали со своими же USB девайсами.

спасибо, я к этим чипам и пришел.

VNC1L дороговатый. VNC2 больше заинтересовал. Но теперь заказчик чего-то задумался относительно USB и тех изделий :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Продолжаю работу по этому проекту.

Купил платку с VNC2 на борту и платку дебаггера для VNC2

V2DIP1-48_and_debugger-600x600.jpg

Судя по описанию микросхемы VNC2 и широкому ассортименту прошивок, все должно было пройти гладко.

Однако скачал прошивку "UART to FT232 Host Sample Application ROM" c сайта FTDI firmware, прошил ей свой чип VNC2, но он не заработал как было обещано в роли моста.

Тогда пришлось устанавливать среду разработки Vinculum II IDE и лезть в исходник этой прошивки (они есть в примерах идущих вместе со средой разработки).

Запустив это все под дебаггером я увидел что VNC2 (насколько я понимаю) не обнаруживает подключенного чипа FT232:

в функции

VOS_HANDLE ft232_host_attach(VOS_HANDLE hUSB, unsigned char devHostFT232, unsigned char ftport)
{
    usbhost_device_handle_ex ifFT232;
    usbhost_ioctl_cb_t hc_iocb;
    usbhost_ioctl_cb_vid_pid_t hc_iocb_vendor;
    common_ioctl_cb_t ft232_iocb;
    usbhostft232_ioctl_cb_attach_t ft232_att;
    VOS_HANDLE hHostFT232;

    // find FT232 class device
    hc_iocb_vendor.vid = USB_VID_FTDI;
    hc_iocb_vendor.pid = USB_PID_FTDI_FT232;

    // user ioctl to find first FT232 device
    hc_iocb.ioctl_code = VOS_IOCTL_USBHOST_DEVICE_FIND_HANDLE_BY_VID_PID;
    hc_iocb.handle.dif = NULL;
    hc_iocb.set = &hc_iocb_vendor;
    hc_iocb.get = &ifFT232;

    if (vos_dev_ioctl(hUSB, &hc_iocb) != USBHOST_OK)
    {
        return NULL;
    }
       // now we have a device, intialise the FT232 driver for it
    hHostFT232 = vos_dev_open(devHostFT232);
       ...

проверка условия

vos_dev_ioctl(hUSB, &hc_iocb)

всегда возвращает USBHOST_NOT_FOUND.

 

Может ли кто-то что-то подсказать по этому поводу?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может ли кто-то что-то подсказать по этому поводу?

Для начала подключаете сие устройство с FT232 к PC, запускаете родной FTDшный программатор и убждаетесь в том, что VID и PID не изменены. А изменены они почти наверняка.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала подключаете сие устройство с FT232 к PC, запускаете родной FTDшный программатор и убждаетесь в том, что VID и PID не изменены. А изменены они почти наверняка.

да вроде бы все нормально с VID и PID:

96751dd84eaf.png

Изменено пользователем Pasha_a13

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сам сталкивался с такой ситуацией, но решать не стал из-за отсутствия на тот момент необходимости. Очевидно, FTDI не соответствует CDC классу. У него собственные соглашения на конечные точки, служебные транзакции и процедуры обмена.

Вот тут немного пишут про это:

http://community.embeddedswstore.com/t5/Mi...B-Host/td-p/668

http://www.microchip.com/forums/m376186.aspx

Думаю, стоило бы поискать исходники Micrium USB Host Stack или ядра Linux для работы с FTDI, посмотрел в чем разница (думаю, для простейшей работы принять/передать разница с CDC минимальна) и добавил бы поддержку в используемый USB стек (если это скажем STM32). Либо напрямую использовал бы Micrium USB Host Stack.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да я честно говоря использовать VNC2 потому что бюджет проекта и временные рамки довольно ограничены и браться сейчас за переделывание-адаптацию какого-либо USB стека под FTDI это будет отнють не самое удачное решение.

А особенно если стек еще и платный(имею ввиду Micrium USB Host Stack).

Я думал что VNC2 уберет головную боль касательно USB хоста и позволит заниматься остальной частью проекта, но пока это не так.

Написал в техподдержку FTDI, жду ответа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да я честно говоря использовать VNC2 потому что бюджет проекта и временные рамки довольно ограничены и браться сейчас за переделывание-адаптацию какого-либо USB стека под FTDI это будет отнють не самое удачное решение.

А особенно если стек еще и платный(имею ввиду Micrium USB Host Stack).

Я думал что VNC2 уберет головную боль касательно USB хоста и позволит заниматься остальной частью проекта, но пока это не так.

Написал в техподдержку FTDI, жду ответа.

Извините, а что в итоге написали из FTDI? Сейчас столкнулся с тем же в отношении прошивки HIDUart Host, тоже вообще не запускается. Но Вашу прошивку тоже пытался запустить с тем же результатом. V2DAP работает при этом, что удивительно. Отладчика нет, поэтому посмотреть, что там чип делает, не могу :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У кого-нибудь заработала эта прошивка? У меня прошивка запустилась (V2DIP2-48) и данные идут в направлении UART => USBhost => FT232 на 9600. В обратную сторону данные - не проходят никак. Судя по отладчику не считываются через USBhost из ft232.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...