ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
26 марта
1505483 Топик полностью
VVB (12.03.2025 14:26, просмотров: 101) ответил VVB на Просветите несведущего. Разве протокол обмена используя USB CDC не стандартизован? На кой хрен нужны одинаковые "драйверы" разных производителей USB CDC устройств?
USB CDC 

USB CDC (Communications Device Class) — это стандартный класс устройств, определенный USB Implementers Forum (USB-IF), который используется для реализации виртуальных COM-портов и других коммуникационных устройств через USB. Этот класс устройств стандартизирован, что означает, что он имеет четко определенные протоколы и интерфейсы для обмена данными. Стандартизация протокола обмена Протокол обмена для USB CDC стандартизирован, и он включает в себя: Описание интерфейсов (например, управляющий интерфейс и интерфейс данных). Форматы данных и команды, которые используются для управления устройством и передачи данных. Подклассы CDC, такие как ACM (Abstract Control Model), ECM (Ethernet Networking Control Model), NCM (Network Control Model) и другие, которые определяют специфику работы устройства. Использование одного драйвера для всех устройств USB CDC В теории, если устройство соответствует стандарту USB CDC, оно должно работать с универсальным драйвером, предоставляемым операционной системой. Например: В Windows используется драйвер usbser.sys для устройств CDC ACM (виртуальные COM-порты). В Linux поддерживается драйвер cdc_acm, который работает с большинством устройств CDC ACM. В macOS также есть встроенная поддержка CDC через драйверы. Однако на практике могут возникнуть нюансы: Поддержка подклассов CDC: Если устройство использует специфический подкласс CDC (например, ECM или NCM), может потребоваться дополнительный драйвер или настройка. Вендор-специфичные расширения: Некоторые производители добавляют свои расширения к стандартному протоколу CDC, что может потребовать установки специального драйвера. Идентификация устройства: Операционная система может не распознать устройство как CDC, если его дескрипторы не соответствуют стандарту. Вывод Если устройство строго соответствует стандарту USB CDC (особенно CDC ACM), оно должно работать с универсальными драйверами, предоставляемыми ОС. Для устройств с нестандартными расширениями или подклассами может потребоваться установка специфичного драйвера. В большинстве случаев для стандартных виртуальных COM-портов (CDC ACM) один драйвер подходит для всех устройств.