Что такое usb cdc

Обновлено: 21.11.2024

Jungo предлагает USB CDC-ACM (абстрактная модель управления), CDC-ECM (модель управления сетью Ethernet), CDC-NCM (модель управления сетью), OBEX (обмен объектами) и WCM-Device Management USB-драйверы классов и функций, которые обеспечивают полное встроенное решение для сетевого подключения между хостами USB и периферийными устройствами USB.

Спецификация CDC была разработана, чтобы удовлетворить потребность в телекоммуникационных услугах (устройства, которые традиционно подключаются к аналоговым или цифровым телефонным линиям) и сетевых услугах средней скорости ("Всегда на связи" LAN/WAN). типы носителей) и идеально подходит для таких устройств, как мобильные телефоны, аналоговые/ADSL/кабельные модемы, аналоговые/цифровые телефоны, беспроводные терминалы, адаптеры Ethernet, а также устаревшие и другие сетевые устройства.

Драйвер CDC USB поддерживает следующие подклассы: ECM, NCM, ACM, OBEX, управление устройствами.

Драйвер CDC USB Class Driver поддерживает связь на стороне хоста с USB-периферийными устройствами CDC, а CDC USB Function Driver обеспечивает необходимую реализацию USB CDC на стороне устройства для таких периферийных устройств.

Универсальная последовательная шина (USB) обеспечивает расширяемый последовательный интерфейс Plug and Play с возможностью горячей замены, который обеспечивает стандартное и недорогое подключение периферийных устройств, таких как устройства хранения данных, клавиатуры, джойстики, принтеры, сканеры, модемы и другие устройства. цифровые камеры.

Драйвер класса USB – это драйвер логического устройства (LDD), который управляет устройствами USB, обеспечивающими общие функции и реализованными в соответствии с определенным классом устройств.

Драйвер USB-функции — это драйвер, реализованный в устройстве для управления специфическими для устройства функциями стандартной или пользовательской функции USB-устройства. Этот драйвер представляет собой аналог драйвера класса USB.

Драйвер класса/функции CDC USB (USBnet) — это драйвер класса/функции USB, который поддерживает определение класса USB для устройств связи, а также подкласс CDC для беспроводных мобильных устройств связи.

Драйвер класса USB CDC от Jungo и функциональный драйвер USB CDC — это полнофункциональные драйверы класса/устройства связи USB (соответственно). Драйвер класса CDC является частью стека хоста USB Jungo, который предлагает комплексное решение для связи с хостом USB для встроенных систем, которые изначально не поддерживают USB. Драйвер функции CDC является частью стека USB-устройств Jungo, который позволяет производителям программного обеспечения и устройств включать стандартное подключение USB-устройств/функций в свои встроенные устройства.

CDC-ACM (абстрактная модель управления) позволяет любому коммуникационному устройству предоставлять последовательный коммуникационный интерфейс (например, модемные устройства, которые отправляют и получают AT-команды).

CDC-ECM (модель управления сетью Ethernet) предлагает производителям устройств интерфейс в качестве стандартного устройства NIC (сетевой интерфейсной карты). Этот интерфейс обычно используется высокоскоростными сетевыми устройствами LAN, обеспечивающими высокоскоростную передачу данных Ethernet через USB.

CDC-NCM (модель управления сетью).

OBEX (обмен объектами) совместим с функциональной моделью беспроводной мобильной связи OBEX, поддерживая приложения OBEX через USB.

WMC-Device Management совместим с функциональной моделью управления устройствами, поддерживая минимальную модель управления на основе AT-команд.

RNDIS — предоставляет возможности связи, подобные CDC, на ПК с ОС Windows, поддерживающих протокол Microsoft RNDIS. Дополнительную информацию см. на веб-странице RNDIS.

  • Запросить бесплатную консультацию по проекту
  • Также связано: Jungo Connectivity также предлагает драйверы классов для поддержки ПК и хостов CE. Чтобы узнать больше, ознакомьтесь с нашими решениями для драйверов хоста для Windows и Linux.
  • Высококачественные драйверы классов и функций USB CDC
  • Модульный и масштабируемый драйвер класса/функции CDC
  • Поддержка стека устройств для составных USB-устройств, позволяющая использовать несколько функций подкласса USB CDC на одном встроенном устройстве (например, OBEX + 2 CDC-ECM и т. д.), а также поддержка общих составных устройств (например, CDC-ACM). + CDC-ECM + Mass Storage).
  • Поддержка стека хоста для составных устройств. Драйверы стека хоста USB можно использовать одновременно для поддержки различных устройств USB (например, драйвер класса CDC ACM можно использовать одновременно с драйвером класса CDC ECM и т. д.).
  • Небольшие размеры
  • Решение «под ключ»: значительно сокращает время и затраты на разработку.
  • Аппаратно-программно-независимое решение
  • Интуитивно понятный API на C
  • Исходный код доступен
  • Легкая переносимость приложений, использующих драйвер, между поддерживаемыми операционными системами.
  • Обширная документация
  • Всесторонняя техническая поддержка, предоставляемая инженерами, разработавшими стек.
  • Часть комплексного программного решения для встраиваемых USB-устройств от Jungo, которое включает в себя стек USB Host, USB Device и USB On-The-Go (OTG).

Драйверы класса для ПК и хостов Windows CE?Jungo Connectivity также предлагает драйверы класса для ПК и хостов Windows CE. Чтобы узнать больше, посетите страницу продукта.

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

USBlyzer включает комплексный декодер классов CDC, который помогает легко визуализировать различные функциональные дескрипторы, запросы и уведомления, относящиеся к классам CDC.

Подклассы CDC для конкретных классов

Поддерживаются следующие классы и подклассы CDC:

Класс Подкласс
02h - CDC 01h – Модель управления прямой линией
02h – Модель абстрактного управления
03h – Модель управления телефоном
04h – Модель многоканального управления
05h – Модель управления CAPI
br />06h - Модель управления сетью Ethernet
07h - Модель управления сетью ATM
08h - Модель управления беспроводной телефонной трубкой
09h - Управление устройствами
0Ah - Модель мобильной прямой линии
0Bh - OBEX

Функциональные дескрипторы класса CDC

Устройства коммуникационного класса используют функциональные дескрипторы класса, которые отличаются от стандартных дескрипторов USB. USBlyzer декодирует и отображает следующие функциональные дескрипторы класса CDC:

Функциональный дескриптор заголовка

Функциональный дескриптор объединения

Функциональный дескриптор выбора страны

Функциональный дескриптор управления вызовами

Функциональный дескриптор управления абстрактными элементами управления

Функциональный дескриптор прямого управления

Функциональный дескриптор телефонного звонка

Функциональный дескриптор телефонного звонка

Функциональный дескриптор режимов работы телефона

Функциональный дескриптор USB-терминала

Функциональный дескриптор терминала сетевого канала

Функциональный дескриптор модуля протокола

Функциональный дескриптор модуля расширения

Функциональный дескриптор многоканального управления

Функциональный дескриптор управления элементами управления CAPI

Функциональный дескриптор сети Ethernet

Функциональный дескриптор сети ATM

Функциональный дескриптор WHCM

Функциональный дескриптор модели управления устройствами

Функциональный дескриптор OBEX

Функциональный дескриптор набора команд

Функциональный дескриптор подробностей набора команд

Функциональный дескриптор модели управления телефоном

Функциональный дескриптор идентификатора службы OBEX

Функциональный дескриптор модели Mobile Direct Line

Функциональный дескриптор подробностей модели мобильной прямой линии

Примечание. Конкретная информация, связанная с моделью набора команд, указанной GUID в функциональном дескрипторе набора команд, и конкретная информация, связанная с семантической моделью, указанной GUID в функциональном дескрипторе MDLM, не определена в спецификации класса CDC и не декодируется USBlyzer, хотя данные отображаются в виде шестнадцатеричного дампа.

Ниже приведен пример декодирования интерфейса управления CDC, который инкапсулирует набор функциональных дескрипторов.

Запросы и уведомления CDC для конкретных классов

Класс связи определяет интерфейс класса связи, состоящий из элемента управления и, при необходимости, элемента уведомления. Элемент управления конфигурирует и контролирует устройство и состоит из конечной точки 0. Элемент уведомления передает события на хост и в большинстве случаев состоит из конечной точки прерывания. Полное описание запросов класса USB CDC см. в спецификации Определения классов универсальной последовательной шины для устройств связи.

Запросы элемента управления коммуникационным интерфейсом

Элемент управления запрашивает управление и настройку рабочего состояния устройства связи. Декодируются следующие специфичные для класса запросы:

Отправить инкапсулированную команду (SEND_ENCAPSULATED_COMMAND)

Получить инкапсулированный ответ (GET_ENCAPSULATED_RESPONSE)

Примечание. Класс CDC определяет только формат инкапсуляции данных, но не конкретный инкапсулированный протокол.Таким образом, инкапсулированные данные не декодируются USBlyzer, хотя данные отображаются в виде шестнадцатеричного дампа.

Установить функцию связи (SET_COMM_FEATURE)

Получить функцию связи (GET_COMM_FEATURE)

Очистить функцию связи (CLEAR_COMM_FEATURE)

Установить состояние вспомогательной линии (SET_AUX_LINE_STATE)

Установить состояние ловушки (SET_HOOK_STATE)

Настройка пульса (PULSE_SETUP)

Отправить импульс (SEND_PULSE)

Установить время импульса (SET_PULSE_TIME)

Вызов дополнительного разъема (RING_AUX_JACK)

Установить кодировку линии (SET_LINE_CODING)

Получить код строки (GET_LINE_CODING)

Установить состояние линии управления (SET_CONTROL_LINE_STATE)

Отправить перерыв (SEND_BREAK)

Установить параметры звонка (SET_RINGER_PARMS)

Получить параметры звонка (GET_RINGER_PARMS)

Установить параметры операции (SET_OPERATION_PARMS)

Получить параметры операции (GET_OPERATION_PARMS)

Установить параметры линии (SET_LINE_PARMS)

Получить параметры строки (GET_LINE_PARMS)

Набор цифр (DIAL_DIGITS)

Установить параметр устройства (SET_UNIT_PARAMETER)

Получить параметр объекта (GET_UNIT_PARAMETER)

Удалить параметр объекта (CLEAR_UNIT_PARAMETER)

Получить профиль (GET_PROFILE)

Установить фильтр шаблона управления питанием Ethernet (SET_ETHERNET_POWER_MANAGEMENT_PATTERN_FILTER)

Получить фильтр шаблонов управления питанием Ethernet (GET_ETHERNET_POWER_MANAGEMENT_PATTERN_FILTER)

Установить фильтры многоадресной рассылки Ethernet (SET_ETHERNET_MULTICAST_FILTERS)

Установить фильтр пакетов Ethernet (SET_ETHERNET_PACKET_FILTER)

Получить статистику Ethernet (GET_ETHERNET_STATISTIC)

Установить формат данных банкомата (SET_ATM_DATA_FORMAT)

Получить статистику банкомата (GET_ATM_DEVICE_STATISTICS)

Установить VC по умолчанию для банкомата (SET_ATM_DEFAULT_VC)

Получить статистику ATM VC (GET_ATM_VC_STATISTICS)

Уведомления элемента управления интерфейсом класса связи

Ответы устройства элемента управления и уведомления о событиях информируют хост о событиях, происходящих на устройстве. Декодируются следующие специфичные для класса ответы и уведомления:

Сетевое подключение (NETWORK_CONNECTION)

Доступен ответ (RESPONSE_AVAILABLE)

Изменение скорости подключения (CONNECTION_SPEED_CHANGE)

Состояние дополнительного разъема (AUX_JACK_HOOK_STATE)

Обнаружение звонка (RING_DETECT)

Серийное состояние (SERIAL_STATE)

Изменение состояния вызова (CALL_STATE_CHANGE)

Изменение состояния линии (LINE_STATE_CHANGE)

Ниже приведен пример декодирования запроса на установку состояния линии управления.

– Добавлена ​​поддержка класса запоминающих устройств USB.
[. ]

– Добавлена ​​поддержка USB 3.0.
[. ]

– Поддержка 64-разрядных ОС.
– Измерение прошедшего и продолжительного времени.
[. ]

Класс устройств связи USB (или класс USB CDC) — это составной класс устройств универсальной последовательной шины. Благодаря INF-файлу, предоставленному поставщиком, Windows Vista работает с устройствами USB CDC и USB WMCDC.

Что такое CDC ACM?

USB CDC (класс коммуникационных устройств) ACM (абстрактная модель управления) – это независимый от поставщика общедоступный документированный протокол, который можно использовать для эмуляции последовательных портов через USB.

Во-вторых, что такое составное USB-устройство? Составное USB-устройство — это периферийное устройство, которое поддерживает более одного класса устройств. Например, они состоят из определенного класса устройств, а также USB-диска, на котором хранятся все необходимые драйверы, чтобы устройство можно было установить автоматически, без необходимости иметь доступ к определенному программному драйверу.

Также знаете, что такое драйвер CDC ACM?

Драйвер гаджета CDC ACM + Linux MS представляет собой составной USB-драйвер гаджета, который реализует функции последовательной связи и запоминающего устройства. Это позволяет зарегистрировать устройство на хост-компьютере как последовательный порт (например, /dev/ttyACM0 или COM1:) и как флэш-накопитель USB (например, /dev/sdf или E:).

Что такое Usbser Sys?

Предоставленный Microsoft встроенный драйвер (Usbser. sys) для вашего устройства связи и управления CDC. В Windows 10 драйвер был переписан с использованием инфраструктуры драйверов режима ядра, что повышает общую стабильность драйвера. Улучшено управление PnP и питанием драйвером (например, обработка неожиданного удаления).

Как работает USB CDC?

Класс устройств связи USB (или класс USB CDC) — это составной класс устройств универсальной последовательной шины. Устройство подключается к линии связи RS-232, и операционная система на стороне USB делает устройство USB видимым как традиционный порт RS-232.

Что такое код USB?

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

Какой порт USB 2.0 на моем компьютере?

Используйте Диспетчер устройств, чтобы определить, есть ли на вашем компьютере порты USB 1.1, 2.0 или 3.0. Откройте Диспетчер устройств. В окне «Диспетчер устройств» щелкните значок + (плюс) рядом с пунктом «Контроллеры универсальной последовательной шины». Вы увидите список портов USB, установленных на вашем компьютере.

Как обновить драйверы USB для Windows 10?

Обновите драйвер устройства. В поле поиска на панели задач введите диспетчер устройств, затем выберите Диспетчер устройств. Выберите категорию, чтобы увидеть названия устройств, затем щелкните правой кнопкой мыши (или нажмите и удерживайте) устройство, которое хотите обновить. Выберите Автоматический поиск обновленного программного обеспечения драйвера. Выберите Обновить драйвер.

Что такое порт USB C?

USB-C — это стандартный разъем для передачи данных и питания по одному кабелю. Разъем USB-C был разработан Форумом разработчиков USB (USB-IF), группой компаний, которая на протяжении многих лет разрабатывала, сертифицировала и поддерживала стандарт USB.

Что такое ошибка драйвера USB?

Причина. Эта проблема может быть вызвана любой из следующих ситуаций: Загруженный в данный момент USB-драйвер стал нестабильным или поврежден. Вашему компьютеру требуется обновление для решения проблем, которые могут конфликтовать с внешним жестким диском USB и Windows. В Windows могут отсутствовать другие важные аппаратные или программные обновления.

Что произойдет, если я удалю корневой концентратор USB?

Развернуть Контроллеры универсальной последовательной шины. Щелкните правой кнопкой мыши поврежденный корневой концентратор USB и выберите «Удалить», чтобы удалить его. Перезагрузите компьютер. После запуска компьютера Windows автоматически выполнит поиск изменений в оборудовании и переустановит все корневые концентраторы USB, которые вы удалили.

Что такое расширяемый хост-контроллер USB 3.0?

Расширяемый интерфейс хост-контроллера (xHCI) — это спецификация компьютерного интерфейса, которая определяет описание на уровне регистров хост-контроллера для универсальной последовательной шины (USB), который может взаимодействовать с USB 1. Эта спецификация также называется спецификации хост-контроллера USB 3.0.

Что такое универсальный концентратор USB?

Универсальный концентратор – это устройство, которое разделяет один USB-порт на несколько портов (обычно четыре, хотя также доступны концентраторы с семью портами). При использовании нескольких концентраторов один порт USB на компьютере может поддерживать десятки устройств. Концентраторы общего назначения делятся на две категории: с питанием от шины и с автономным питанием.

USB произвел революцию в области периферийных устройств ПК, предоставив пользователям очень простой интерфейс plug-and-play. В результате многие современные компьютеры больше не поддерживают последовательные COM-порты RS-232, выбирая более тонкую альтернативу USB. Это может быть проблемой для разработчика, которому нужен COM-порт для связи между периферийным устройством и хост-компьютером. Подмножество USB Communication DeviceClass (CDC) может использоваться для эмуляции последовательного порта, обеспечивающего интерфейс UART виртуального COM-порта. Это позволяет разработчикам использовать устаревшие приложения с новыми продуктами, используя тот же интерфейс COM-порта, что и раньше, с небольшими модификациями аппаратного и программного обеспечения.

В этом примечании по применению подробно описывается драйвер класса устройств связи USB (или USB CDC) и содержится пример реализации для микроконтроллера Silicon Labs EFM32 Giant Gecko.

1.1. Предположения

  • Рабочее знание языка программирования C.
  • Знакомство со спецификацией USB 2.0, терминами и сокращениями, определенными в спецификации USB.
  • Знакомство со средой разработки Silicon Labs EFM32GG.

1.2. Возможности и ограничения

  • Имитирует последовательный COM-порт на ПК, который поддерживает абстрактную модель управления CDC (ACM).
  • Предоставляет абстрактный коммуникационный интерфейс для передачи данных между хостом и устройством.
  • Обрабатывает стандартные запросы USB-устройств согласно главе 9.
  • Обрабатывает запросы CDC от хоста USB.
  • Уведомляет USB-хост о состоянии с помощью конечной точки прерывания.
  • Обеспечивает обмен данными с USB-хостом с помощью массовой конечной точки.
  • Поддерживаются следующие скорости передачи: 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 76800, 115200 и 230400 бит/с.
  • Управление CTS/RTS не выполняется, поэтому в программе терминала для управления потоком должно быть установлено значение none.
  • Управление RTS/DTR не реализовано.

2. Соответствующая документация

  • AN758, РЕАЛИЗУЮЩИЙ КЛАСС УСТРОЙСТВ СВЯЗИ USB (CDC) НА MCU SiM3U1XX — предоставляет пример реализации переноса LUFA USB CDC на микроконтроллеры SiM3U1xx.
  • РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ SIMPLICITY STUDIO AN0822 — содержит описание функций и среды Simplicity Studio IDE.
  • AN0065 EFM32 как USB-устройство — содержит описание стека USB-устройств EFM32.

3. Класс USB CDC

Класс USB-коммуникационных устройств (CDC) — это составной класс USB-устройств, который может включать более одного интерфейса. CDC используется в основном для модемов, а также для ISDN, факсимильных аппаратов и телефонных приложений для выполнения обычных голосовых вызовов. Подкласс абстрактной модели управления CDC и устраняет разрыв между устаревшими модемными устройствами и USB-устройствами, позволяя использовать прикладные программы, разработанные для старых модемов.

3.1. Запросы класса

3.1.1. Установить кодировку линии

3.1.2. Получить код строки

Этот запрос позволяет хосту узнать текущий сконфигурированный код строки. Таблица 2 определяет свойства кодирования строк.

3.1.3. Установить состояние линии управления

3.2. Уведомления класса

Серийное состояние

Поле данных для этого уведомления представляет собой растровое значение, содержащее текущее состояние обнаружения несущей передачи, прерывания, сигнала вызова и ошибки переполнения устройства. Эти сигналы обычно находятся на UART и используются для сообщения о состоянии связи. Состояние считается включенным, если его соответствующий бит установлен в 1.

Читайте также: