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

 
 
> Composite CDC ACM, два виртуальных сериальника при недостатке EP
Dron_Gus
сообщение May 16 2017, 08:40
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Добрый день.

Есть задачка под STM32407 на FS порту (3 in EP + 3 out EP + EP0) сделать два или даже лучше три последовательных порта. И чтобы работало без самописных драйверов.
Т.е. композитное устройство из...

1. CDC ACM в классическом варианте "не влезает", т.к. используется 1 Bulk in + 1 Bulk out + 1 Interrupt EP.
Покурил стандарт - Interrupt EP опциональная. Т.е. вроде как хватит и двух EP на интерфейс.
Но тут же наступил на грабли - линуксовый драйвер такие устройства отфутболивает. Подавай ему Interrupt EP на Control Interface или иди нафиг.

2. Под линуксом можно использовать кого-нить из http://elixir.free-electrons.com/linux/lat...vers/usb/serial , например http://elixir.free-electrons.com/linux/lat...erial/generic.c но непонятно как он будет работать под виндами. Чужой драйвер подтягивать не хочется.

Может есть у кого какие-то идеи?
Можно ли заиспользовать одну Interrupt EP в двух интерфейсах? Вроде как нет.
Один Control Interface к двум Data Interface в CDC тоже не прицепить.

В общем приветствуются любые идеи.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Genadi Zawidowsk...
сообщение May 16 2017, 13:19
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Насчет альтернативных конфигураций в CDC кажется и не предполагается...
Цитата
Т.е. девайс будет слать NACK при обращении к ним? И все будет как бы верно?

Девайс не может слать NAK с отсутствующего EP, там таймаут просто... хотя надо смотреть, у меня уже не работает usblyzer. Критерий что все нормально - если работает через USB HUB, многие вещи допустимые при прямом соединении не работают через HUB.

Кстати, у F7 endpoints больше чем у F4
ps: в питере можно и лично повидаться.

Сообщение отредактировал Genadi Zawidowski - May 16 2017, 13:24
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение May 16 2017, 15:07
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(Genadi Zawidowski @ May 16 2017, 16:19) *
Насчет альтернативных конфигураций в CDC кажется и не предполагается...

Девайс не может слать NAK с отсутствующего EP, там таймаут просто... хотя надо смотреть, у меня уже не работает usblyzer. Критерий что все нормально - если работает через USB HUB, многие вещи допустимые при прямом соединении не работают через HUB.

Кстати, у F7 endpoints больше чем у F4
ps: в питере можно и лично повидаться.

Я имел в виду конфигурации устройства. Те что в Configuration Descriptor. Обычно он один, не очень представляю логику хоста по выбору из нескольких.
Надо будет почитать спеку, что же делает девайс если нет контрольной точки. Вроде как Int точки опрашиваются с заданным интервалом. Расточительно ждать таймаут. А вообще красивое решение. sm.gif
Да. Про Ф7 знаю. И про HS порт у 407го. Но таковы реалии проекта. Кстати вот этого http://rusefi.com Может быть осилю свою версию с STM32F7xx, но пока на стадии рисования железа завис.
Можно. Раньше вроде были какие-то встречи посетителей electronix.ru . Потом я лет так на 5 выпал. Ну в любом случае с меня пиво! sm.gif


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post



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

 


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


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