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

 
 
 
Reply to this topicStart new topic
Pasha_a13
сообщение Jun 21 2015, 06:39
Сообщение #1


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Добрый день!

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

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

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

Спасибо!
Go to the top of the page
 
+Quote Post
Leopoldius
сообщение Jun 21 2015, 10:05
Сообщение #2


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

Группа: Свой
Сообщений: 78
Регистрация: 23-03-11
Из: Россия
Пользователь №: 63 824



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

В простейшем случае, если вы хотите на пк разбирать инфорацию - и если доступен COM порт, судя по тому как вы пишете о скорости 115200, то берете пакеты и работаете с ними))
Go to the top of the page
 
+Quote Post
Pasha_a13
сообщение Jun 21 2015, 16:13
Сообщение #3


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



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

Сообщение отредактировал Pasha_a13 - Jun 21 2015, 16:15
Go to the top of the page
 
+Quote Post
Leopoldius
сообщение Jun 21 2015, 16:26
Сообщение #4


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

Группа: Свой
Сообщений: 78
Регистрация: 23-03-11
Из: Россия
Пользователь №: 63 824



ну здесь необходимо что либо, что умеет работать с ней. Это скорее всего или что то большое на базе какой либо *nix систем. Или возможно поможет реализация USB CDC, но не уверен что заработает. Необходимо думать.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Jun 23 2015, 05:19
Сообщение #5


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Pasha_a13 @ Jun 21 2015, 16:09) *
плохие обзывы по поводу USB хоста для FT232, пишут что не хочет работать и предлагают уходить от FT232. К сожалению, в данной ситуации нет возможности уйти от FT232, т.к. устройства уже есть и их нужно использовать.


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

Впрочем, вполне может быть, что в деле замешаны китайцы со своими дешевыми пиратскими копиями FT232. FTDI по этому поводу очень переживает и добавляет в свои чипы и в драйверы какие-то примочки, из-за которых китайские копии чипов с драйверами FTDI не работают или глючат, это факт. Но, как обратная сторона медали, родные FTDI чипы FT232, возможно (тут пошли мои догадки), сами могут глючить, если общаются не с родными FTDI драйверами. В любом случае FTDI хосты обязаны уметь эту проблему решать.
Go to the top of the page
 
+Quote Post
Pasha_a13
сообщение Jun 25 2015, 13:56
Сообщение #6


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Цитата(=AK= @ Jun 23 2015, 08:19) *
Наверное, они хосты реализовывали на других чипах, не от FTDI. А вы возьмите VNC1L или VNC2. Невозможно поверить, чтобы у одной фирмы USB хост-чипы плохо работали со своими же USB девайсами.

спасибо, я к этим чипам и пришел.
VNC1L дороговатый. VNC2 больше заинтересовал. Но теперь заказчик чего-то задумался относительно USB и тех изделий sm.gif
Go to the top of the page
 
+Quote Post
Pasha_a13
сообщение Aug 1 2015, 13:25
Сообщение #7


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Продолжаю работу по этому проекту.
Купил платку с VNC2 на борту и платку дебаггера для VNC2

Судя по описанию микросхемы 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.

Может ли кто-то что-то подсказать по этому поводу?
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 1 2015, 13:49
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Pasha_a13 @ Aug 1 2015, 16:25) *
Может ли кто-то что-то подсказать по этому поводу?

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Pasha_a13
сообщение Aug 1 2015, 14:00
Сообщение #9


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Цитата(zltigo @ Aug 1 2015, 16:49) *
Для начала подключаете сие устройство с FT232 к PC, запускаете родной FTDшный программатор и убждаетесь в том, что VID и PID не изменены. А изменены они почти наверняка.

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


Сообщение отредактировал Pasha_a13 - Aug 1 2015, 14:00
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 1 2015, 14:38
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Pasha_a13 @ Aug 1 2015, 17:00) *
да вроде бы все нормально с VID и PID:

Да, стандартные.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
OlegH
сообщение Aug 1 2015, 15:08
Сообщение #11


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

Группа: Свой
Сообщений: 186
Регистрация: 14-01-06
Из: Украина, г.Харьков
Пользователь №: 13 168



Сам сталкивался с такой ситуацией, но решать не стал из-за отсутствия на тот момент необходимости. Очевидно, 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.
Go to the top of the page
 
+Quote Post
Pasha_a13
сообщение Aug 2 2015, 06:12
Сообщение #12


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

Группа: Участник
Сообщений: 166
Регистрация: 8-09-09
Из: Украина
Пользователь №: 52 244



Цитата(OlegH @ Aug 1 2015, 18:08) *

Да я честно говоря использовать VNC2 потому что бюджет проекта и временные рамки довольно ограничены и браться сейчас за переделывание-адаптацию какого-либо USB стека под FTDI это будет отнють не самое удачное решение.
А особенно если стек еще и платный(имею ввиду Micrium USB Host Stack).
Я думал что VNC2 уберет головную боль касательно USB хоста и позволит заниматься остальной частью проекта, но пока это не так.
Написал в техподдержку FTDI, жду ответа.
Go to the top of the page
 
+Quote Post
Polaris
сообщение Mar 8 2016, 14:31
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 266
Регистрация: 8-12-05
Пользователь №: 11 964



Цитата(Pasha_a13 @ Aug 2 2015, 09:12) *
Да я честно говоря использовать VNC2 потому что бюджет проекта и временные рамки довольно ограничены и браться сейчас за переделывание-адаптацию какого-либо USB стека под FTDI это будет отнють не самое удачное решение.
А особенно если стек еще и платный(имею ввиду Micrium USB Host Stack).
Я думал что VNC2 уберет головную боль касательно USB хоста и позволит заниматься остальной частью проекта, но пока это не так.
Написал в техподдержку FTDI, жду ответа.

Извините, а что в итоге написали из FTDI? Сейчас столкнулся с тем же в отношении прошивки HIDUart Host, тоже вообще не запускается. Но Вашу прошивку тоже пытался запустить с тем же результатом. V2DAP работает при этом, что удивительно. Отладчика нет, поэтому посмотреть, что там чип делает, не могу sad.gif
Go to the top of the page
 
+Quote Post

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

 


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


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