Программирование PC Драйвер устройств класса USB CDC/ACM от компании Thesycon Thu, January 19 2017  

Поделиться

нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Драйвер устройств класса USB CDC/ACM от компании Thesycon Печать
Добавил(а) microsin   

usbcdcacm win archThesycon USB CDC/ACM драйвер предоставляет эмуляцию последовательного порта для операционных систем Windows (версий 8.1, 8, 7, Vista, XP), путем реализации протокола эмуляции последовательного канала связи поверх USB. Драйвер представляет Win32-совместимый COM-порт, и дополнительно некоторые уникальные возможности, такие как поддержка Plug&Play-совместимого процесса энумерации. Это позволяет избежать путаницы с нумерацией COM-портов и повышает удобство использования. 

Драйвер работает с устройствами, которые совместимы со стандартом Communication Device Class (CDC), подкласс Abstract Control Model (ACM). Однако драйвер поддерживает 3 различные типа протоколов USB, подробнее описанные ниже. 

 

 

[Поддерживаемые протоколы USB]

CDC/ACM - совместимый протокол. В устройстве USB должна быть реализована поддержка подкласса Abstract Control Model (ACM), определенного в стандарте USB Communication Device Class (CDC). Этот протокол требует наличия двух интерфейсов USB (подразумевается логический интерфейс в терминологии шины USB): интерфейс данных, который состоит из 2 конечных точек (bulk in + bulk out) и интерфейса управления (control interface), который состоит из одной конечной точки (EPO, конечная точка номер 0, типа interrupt in). Кроме того конечная точка EP0 устройства USB должна поддерживать запросы, специфичные для класса (class-specific requests), как это определено в стандарте USB-устройств класса CDC. Поскольку этот протокол USB совместим со стандартом CDC/ACM, поддерживаемым на некоторых других операционных системах (таких как Linux, MacOS) то устройство класса CDC/ACM может работать прямо "из коробки" (не требуя дополнительной установки драйвера на операционной системе). 

Сокращенный протокол CDC/ACM. Этот режим использует только интерфейс данных CDC (конечные точки bulk in + bulk out). Управляющий интерфейс (конечная точка interrupt in) не требуется. Устройство должно поддерживать запросы, специфические для класса CDC (CDC class-specific requests), чтобы оно все еще могло поддерживать настройку скорости передачи (baud rate settings) и обработку сигналов управления / состояния последовательного канала связи (serial control/status lines). Этот режим полезен, если количество доступных конечных точек ограничено имеющимися аппаратными возможностями. 

Протокол Bulk-only. Устройство реализует только интерфейс данных (конечные точки bulk in + bulk out). Устройство не предоставляет дополнительного интерфейса управления, и ему не нужно реализовывать обработку каких бы то ни было запросов на конечной точке EP0. Поскольку режим bulk-передач предоставляет механизм управления потоком данных (flow control), то нет необходимости в поддержке сигналов управления / состояния последовательного канала связи (serial control/status lines). Достоинство протокола bulk-only в том, что усилия по реализации поддержки протокола USB урезаны до минимума. 

[Функциональные возможности драйвера класса USB CDC/ACM

Поддержка USB. Со стороны USB поддерживается полная функциональность. Драйвер оптимизирован на максимальную эффективность. Драйвер USBIO поддерживает USB 3.0, USB 2.0 и USB 1.1. Это подразумевает поддержку USB-режимов скоростей передачи low speed, full speed и high speed.

Операционная система. Драйвер USBIO поддерживает все текущие системы Windows 32 bit и 64 bit.

Virtual COM Port. Драйвер предоставляет операционной системе виртуальный COM-порт, который совместим с API виртуального последовательного порта Win32 (serial port API). COM-порт может использоваться стандартными программами Windows, такими как HyperTerminal. Он может быть сконфигурирован либо как последовательный порт, либо как модемное устройство (используя драйвер unimodem). Имя COM-порта назначается автоматически.

Plug&Play. Поддерживаются оповещения по добавлению / удалению, и совместимая с Plug&Play энумерация и метод идентификации портов, который не основан на именах COM-портов.

Power Management. Драйвер поддерживает модель управления энергопотреблением Windows.

Статический COM-порт. Опционально виртуальный COM может поддерживать поведение статического COM-порта для поддержки старых приложений. Т. е. приложение может удерживать COM-порт открытым, даже когда соответствующее USB-устройство извлечено из системы, и продолжить обмен данными после того, как устройство подключено снова.

Прим. переводчика: ИМХО это самая важная функция, потому что стандартный драйвер USB CDC, встроенный в Windows, требует не только переподключения к открытому порту, но часто даже перезапуска программы.

Multiple USB Interfaces. Драйвер поддерживает 2 и большее количество COM-портов для многоинтерфейсных (Multi-Interface) устройств.

Несколько устройств USB. Одновременно драйвер может работать с несколькими устройствами USB.

Кастомизация. Драйвер класса USB CDC/ACM позволяет адаптации, специфические для вендора и продукта (VID и PID).

Инсталляция / деинсталляция. Установка и удаление драйвера класса USB CDC/ACM поддерживается простым для пользователя способом - через программу Thesycon PnP Driver Installer. Дополнительную информацию про PnP Driver Installer см. в разделе сайта Thesycon PnP Driver Installer [2].

Сертификация WHQL. Драйвер удовлетворяет стандарту Windows Driver Model (WDM) и может быть сертифицирован организацией Windows Hardware Quality Labs (WHQL) для операционных систем Windows 8.1 (32 bit и 64 bit), Windows 8 (32 bit и 64 bit), Windows 7 (32 bit и 64 bit), Windows Vista (32 bit и 64 bit) и Windows XP (32 bit и 64 bit).

Стеки для встраиваемых устройств (Embedded USB Stacks). В дополнение к драйверу устройства Thesycon предоставляется Embedded USB Device Stack [3] (библиотека подпрограмм для устройства USB) и Embedded USB Host Stack [4] (библиотека подпрограмм для хоста USB), доступная для некоторых микроконтроллеров. Вместе с этими комплектами разработчика Thesycon предоставляет быструю и эффективную по цене поддержку разработки firmware и драйвера устройства для USB-устройств класса CDC/ACM.

В таблице перечислена поддержка различных версий операционных систем Windows.

Поддерживаемые операционные системы 32 бита 64 бита
Windows 8.1 ДА ДА
Windows 8 ДА ДА
Windows 7 ДА ДА
Windows Vista ДА ДА
Windows XP ДА ДА
Windows Embedded 8 Standard ДА ДА
Windows Embedded Standard 7 (WES7) ДА ДА
Windows Embedded Enterprise ДА ДА
Windows Embegged POSReady ДА -
Windows Embedded Server ДА ДА
Windows XP Embedded ДА -
Windows Server 2012 R2 - ДА
Windows Server 2012 - ДА
Windows Home Server 2011 - ДА
Windows Server 2008 R2 - ДА
Windows Server 2008 ДА ДА
Windows Server 2003 ДА ДА
Windows Home Server ДА -

Thesycon также предоставляет драйверы класса ACM для Windows CE и Windows Mobile [5].

[Простая установка]

Используя Thesycon PnP Driver Installer, можно очень просто создать специальный помощник (setup wizard), который будет поддерживать установку драйвера, удаление и обновление драйвера самым комфортным и надежным способом. Дополнительную информацию по поводу PnP Driver Installer см по ссылке [2].

[Бесплатная демо-версия]

Чтобы получить free demo, нужно заполнить контактную форму на сайте thesycon.de [1]. Демо-версия имеет ограничение по времени использования, но в остальном поддерживается полный функционал. После того, как устройство подключено, драйвер может использоваться 4 часа, затем драйвер запретит сам себя, и компьютер должен быть перезагружен, чтобы demo можно было использовать снова. Пакет demo включает в себя сам драйвер и документацию. 

Примечание: драйвер, описанный здесь, не предназначен для применения у конечных пользователей. Он не поможет решить любые проблемы, связанные с каким-то потребительским устройством наподобие web-камеры, камкордера, картридера, внешней звуковой карты и т. д. Драйверы устройства Thesycon - это программные компоненты, которые предназначены для производителей аппаратуры и программного обеспечения в процессе разработки своих конечных продуктов. 

[Идентификаторы производителя и продукта (USB Vendor ID, Product ID)

Для каждой модели устройства USB требуется наличие официального идентификатора вендора (USB vendor ID, VID). Vendor ID должны быть уникальными, и они назначаются по специальному запросу организацией USB Implementers Forum (www.usb.org). При регистрации идентификаторов взимается плата.

Компания Thesycon владеет USB vendor ID, и может предоставить подмножество своих идентификаторов продукта (product ID, PID) для производителей устройства USB. Для производителей, которые купили лицензию на программное обеспечение USB компании Thesycon, услуга на предоставление пары VID/PID будет предоставлена бесплатно. 

[Ссылки]

1. USB CDC/ACM Class Driver for Windows 8.1, 8, 7, Vista, XP site:thesycon.de.
2. Thesycon Device Driver Installation for Windows site:thesycon.de.
3Thesycon’s USB device software stack site:thesycon.de.
4Thesycon’s USB host software stack site:thesycon.de.
5. Thesycon’s USB CDC/ACM Class Driver for Windows CE and Mobile site:thesycon.de.

 

Добавить комментарий


Защитный код
Обновить

Top of Page