Easyelectronics.ru

Электроника для всех
Текущее время: 07 июл 2020, 20:46

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 03:03 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1931
Откуда: Харьков
dev писал(а):
- API - совсем не UART-подобное. А если не нужен UART, то зачем связываться с CDC?

Это ваще не понял. Че оно должно быть UART подобное?
dev писал(а):
- Как определить, что предыдущий блок уже ушел?

uUSBLIB_DataTransmitedHandler
dev писал(а):
- Как определить, что данные вообще уйдут? (вторая половина этого топика)

uUSBLIB_LineStateHandler
dev писал(а):
- Как притормозить поток с хоста, если не успеваешь обрабатывать? А не блокируя прерывание? (первая половина этого топика)

Тут да, возможно нужно добавить. Просто не было надобности. Хотя это уже тонкости реализации протокола обмена. Хост как бы не должен быть тупым.. А слать следующую порцию только после того, как девайс ему подтвердил чем-то внятным что он переварил предыдущий пакет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 03:15 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1931
Откуда: Харьков
Кстати, народ, напишите под какими ОСями отличными от Windows7, MacOS 10.13 (High Sierra) and Raspbian OS вы запускали либу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 03:22 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4679
Откуда: КЧР, поселок Нижний Архыз
void1509 писал(а):
Если ваше устройство соответствует USB CDC ACM спецификации, то вы можете ставить любые VID/PID

ACM не умеет аппаратное управление потоком!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 14:34 
Заглядывает иногда

Зарегистрирован: 15 ноя 2015, 12:11
Сообщения: 188
void1509 писал(а):
Если ваше устройство соответствует USB CDC ACM спецификации, то вы можете ставить любые VID/PID их любая (кроме винды) система все равно будет видеть как ttyACM. А для винды нужен текстовый файл .inf , он там в библиотеке Alexsam присутствует,

Подпись ведь ещё нужна. А для х64 так и до зарезу.
void1509 писал(а):
и винда ставит свой драйвер usbser.sys. Так что получается есть дрова под все системы что называется из коробки. И не важно какие вы себе нарисовали VID/PID.

Важно, чтобы они [VID/PID] были известны в базе драйверов винды как CDC ACM. ;-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 14:36 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4679
Откуда: КЧР, поселок Нижний Архыз
Да плевать на ваши игровые приставки! Кто в здравом уме будет игровую приставку для работы использовать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 14:37 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 4823
Откуда: Кемеровская область, Киселевск
Eddy_Em, при чем тут игровая приставка?

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 16:52 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 681
Откуда: Германия
alexsam писал(а):
Это ваще не понял. Че оно должно быть UART подобное?


А зачем тогда CDC?

alexsam писал(а):
dev писал(а):
- Как определить, что данные вообще уйдут? (вторая половина этого топика)

uUSBLIB_LineStateHandler


О чем и речь - не работаем оно.

alexsam писал(а):
Тут да, возможно нужно добавить. Просто не было надобности. Хотя это уже тонкости реализации протокола обмена. Хост как бы не должен быть тупым.. А слать следующую порцию только после того, как девайс ему подтвердил чем-то внятным что он переварил предыдущий пакет.


Хост должен быть тупым, иначе зачем CDC.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 18:29 
Старожил

Зарегистрирован: 17 дек 2014, 04:38
Сообщения: 692
siarzhuk писал(а):
Подпись ведь ещё нужна. А для х64 так и до зарезу.

На никсах никаких подписей не надо, можете лепить любые VID/PID
siarzhuk писал(а):
Важно, чтобы они [VID/PID] были известны в базе драйверов винды как CDC ACM. ;-)

Не важно, для этого есть файл .inf в котором вы указываете VID/PID которые указаны в вашем устройстве, а драйвер берете из каталога system usbser.sys и все работает.
Eddy_Em писал(а):
ACM не умеет аппаратное управление потоком!

Я немного просмотрел даташит, но управление потоком там только со стороны последовательного интерфейса, про управление USB не нашел. Если не трудно, по подробней об управлении потоком.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 19:23 
Заглядывает иногда

Зарегистрирован: 15 ноя 2015, 12:11
Сообщения: 188
void1509 писал(а):
На никсах никаких подписей не надо, можете лепить любые VID/PID

Речь о винде.
void1509 писал(а):
siarzhuk писал(а):
Важно, чтобы они [VID/PID] были известны в базе драйверов винды как CDC ACM. ;-)

Не важно, для этого есть файл .inf в котором вы указываете VID/PID которые указаны в вашем устройстве, а драйвер берете из каталога system usbser.sys и все работает.

Проверил на микрочиповском CDC примере - родной PID 000А - драйвер ставится влёт как с приложенного к примеру inf/cat так и с центральной базы винды. Меняю PID на 0ААА - центральная база ожидаемо даёт отлуп, при установке же с правленым inf - ворчит со страшными глазами что "невозможно проверить источник происхождения", но в режиме "да мне пофиг, давай ставь" ставит. Т.е. правленый inf очевидно утрачивает подпись. Система 7 х64. От десятки в хозяйстве бог пока милует - проверить сейчас не могу, но как-то прежде изучал по работе возможность задания custom PID для FTDI-шного serial-а - запало в память утверждение, что в десятке без подписи вообще никаких шансов. Впрочем завтра у коллеги на работе попробую - может и на самом деле она к "стандартным" лояльнее относится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 20 янв 2019, 21:18 
Старожил

Зарегистрирован: 17 дек 2014, 04:38
Сообщения: 692
FTDI кастомный, не соответствует спецификации CDC ACM. Я проверял свое устройство на вин 7 x64, действительно винда выругалась, что производитель не известен и не сертифицирован мелкомягким. Но стал и работал без проблем. Да и Alexsam то же писал, что под виндой живет без трудностей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 21 янв 2019, 01:49 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1931
Откуда: Харьков
dev писал(а):
alexsam писал(а):
Это ваще не понял. Че оно должно быть UART подобное?


А зачем тогда CDC?


Дописать один метод это всяко легче чем переписать всю либу (можно даже ПР потом забацать ну или зорк сделать), которая в итоге будет на 95% такая же. Но дело хозяйское. Да.

dev писал(а):
alexsam писал(а):
dev писал(а):
- Как определить, что данные вообще уйдут? (вторая половина этого топика)

uUSBLIB_LineStateHandler


О чем и речь - не работаем оно.

Работает. Но зависимо от хоста. Либа тут ни при чем.
dev писал(а):
alexsam писал(а):
Тут да, возможно нужно добавить. Просто не было надобности. Хотя это уже тонкости реализации протокола обмена. Хост как бы не должен быть тупым.. А слать следующую порцию только после того, как девайс ему подтвердил чем-то внятным что он переварил предыдущий пакет.


Хост должен быть тупым, иначе зачем CDC.


Задача я так понимаю - сферический конь в вакууме? У меня была конкретная задача, под нее написал либу. Все работает на отлично уже больше года под разными осями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: USB CDC ACM
СообщениеДобавлено: 21 янв 2019, 23:42 
Заглядывает иногда

Зарегистрирован: 15 ноя 2015, 12:11
Сообщения: 188
void1509 писал(а):
Я проверял свое устройство на вин 7 x64, действительно винда выругалась, что производитель не известен и не сертифицирован мелкомягким. Но стал и работал без проблем.

Попробовал сегодня на десятке - вы не поверите - даже inf оказался не нужен - встало и пошло как дети в школу. Конвергенция, однако... До ромало́в дошло значение слова "стандартный"? :-D


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу Пред.  1, 2, 3


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB