USB Complete fourth- P20 ppsx

10 151 0
USB Complete fourth- P20 ppsx

Đang tải... (xem toàn văn)

Thông tin tài liệu

Chapter 7 166 audio 2.0 device can’t use an audio 1.0 host driver. Version 2.0 adds full support for high speed, mandatory use of the interface association descriptor, and new capabilities and controls. &QEWOGPVCVKQP The audio specification consists of the main class specification and supporting documents for audio data formats, terminal types, and MIDI devices. The MIDI standard is available from the MIDI Manufacturers Association at www.midi.org. Table 7-2: Windows provides drivers for many classes. %NCUU 9KPFQYU'FKVKQPUYJGP%NCUU&TKXGT9CU#FFGF Audio Windows 98 Gold: audio 1.0 Windows Me: MIDI Windows XP: MIDI (improved) Communications Windows 98 SE: modem Windows 2000: Remote NDIS Content Security Windows XP: devices with CSM-1 interfaces can provide a serial number Device Firmware Upgrade No support Human Interface Windows 98 Gold: HID 1.0 Windows 98SE: HID 1.1 IrDA Bridge No support Mass Storage Windows 2000: class driver Windows 2000 XP3: support for multiple LUNs Personal healthcare No support Printer Windows 2000: class driver Smart Card Windows 2000 update: class driver Still Image Windows 98SE: class driver (first phase/preliminary) Windows 2000: class driver (improved) Test and Measurement No support Video Windows 98 Gold: USB camera minidriver library USBCAMD 1.0 (not supported under Windows 2000) Windows Me: USB camera minidriver library USBCAMD 2.0 Windows XP SP2: class driver Device Classes 167 1XGTXKGY Each audio function in a device has an Audio Interface Collection that consists of one or more interfaces. The interfaces include one AudioControl (AC) inter- face, zero or more AudioStreaming (AS) interfaces and zero or more MIDIStreaming (MS) interfaces (Figure 7-1). In other words, every Audio Interface Collection has an AudioControl interface, while AudioStreaming and MIDIStreaming interfaces are optional. In audio 2.0 devices, an interface association descriptor (IAD) specifies the interfaces that belong to a collection. In audio 1.0 devices, a class-specific AC interface header descriptor contains this information. An AudioControl interface can enable accessing controls such as volume, mute, bass, and treble. An AudioStreaming interface transfers audio data in isochro- nous transfers and may also carry control data related to the streaming data. A MIDIStreaming interface transfers MIDI data. MIDI is a standard for controlling synthesizers, sound cards, and other elec- tronic devices that generate music and other sounds. A MIDI representation of a sound includes values for pitch, length, volume, and other characteristics. A pure MIDI hardware interface carries asynchronous data at 31.25 kbps. A USB interface that carries MIDI data uses the MIDI data format but not the asyn- chronous interface. Instead, the MIDI data travels on the bus in bulk transfers. A device can have multiple Audio Interface Collections that are active at the same time, with each collection controlling an independent audio function. Figure 7-1. Each audio function has an Audio Interface Collection that contains one or more interfaces. Chapter 7 168 &GUETKRVQTU Each audio interface uses standard and class-specific descriptors to enable the host to learn about the interface, its endpoints, and what kinds of data the end- points transfer. The specification defines a variety of class-specific descriptors that provide information specific to audio functions. Audio 1.0 endpoint descriptors have two additional bytes that follow the 7 bytes defined in the USB 2.0 specification. Audio 2.0 endpoint descriptors use the standard 7-byte struc- ture. %NCUUURGEKHKE4GSWGUVU The audio class provides optional class-specific requests for setting and getting the state of audio controls and exchanging generic data. %JKRU Some USB controllers have built-in support for audio functions. The support may include codec (compressor/decompressor) functions, analog-to-digital converters (ADCs), digital-to-analog converters (DACs), and support for Sony/Philips Digital Interface (S/PDIF) encoding for transmitting audio data in digital format. Texas Instruments has a variety of USB audio chips. The PCM2900 is a stereo audio codec with a full-speed USB port and 16-bit ADC and DAC. The chip has an AudioControl interface, an AudioStreaming interface for each direction, and a HID interface that reports the status of three pins on the chip. The chip requires no user programming but has the option to use a vendor-specific Ven- dor ID, Product ID, and strings. The PCM2902 adds support for S/PDIF encoding. The PCM2702 is a 16-bit stereo DAC with a full-speed USB inter- face. The chip can accept data sampled at 48, 44.1, and 32 kHz using either 16-bit stereo or monaural audio data and supports digital attenuation and soft-mute features. The TUSB3200A USB streaming controller contains an 8052-compatible microcontroller that supports up to seven IN endpoints and seven OUT endpoints. The audio support includes a codec port interface, a DMA controller with four channels for streaming isochronous data packets to and from the codec port, and a phase lock loop (PLL) and adaptive clock gener- ator (ACG) to support synchronization modes. Device Classes 169 9KPFQYU5WRRQTV Windows XP and Windows Vista support USB Audio 1.0. Windows Vista implements Microsoft’s Universal Audio Architecture (UAA), which improves audio support and defines requirements for devices that will use the operating system’s audio drivers. Earlier Windows editions through Windows 2000 can also install the UAA driver. All devices that are compatible with the USB audio class system driver (usbaudio.sys) are UAA compliant. Applications can access USB audio devices using the DirectMusic and Direct- Sound components of the Windows DirectX technology. %QOOWPKECVKQPU The communications device class (CDC) encompasses a wide range of devices that perform telecommunications and networking functions. Telecommunica- tions devices include analog phones and modems, digital phones (including cell phones), and ISDN terminal adapters as well as virtual COM-port devices. Networking devices include ADSL modems, cable modems, and Ethernet adapters and hubs. The communications data typically uses an application-specific protocol such as V.250 for modem control or Ethernet for network data. &QEWOGPVCVKQP Documentation for the class consists of a main class specification and separate documents for these subclasses: Asynchronous transfer mode (ATM) Ethernet emulation model (EEM) Ethernet control model (ECM) ISDN Public switched telephone network (PSTN) Wireless mobile communications (WMC) The V.250 standard (a previous version was V.25ter) defines a derivative of the Hayes AT modem command set and is available from the International Tele- communication Union at www.itu.int. The Ethernet standard, IEEE 802.3, is available from www.ieee.org. The Remote Network Driver Interface Specification (NDIS) defines a protocol for using USB and other buses to configure network interfaces and carry Ether- Chapter 7 170 net-framed data. Remote NDIS is based on NDIS, which defines a protocol to manage communications with network adapters and higher-level drivers. Both specifications are from Microsoft and are supported only on Windows. 1XGTXKGY A communications device is responsible for device management, call manage- ment if needed, and data transmission. Device management includes control- ling and configuring a device and notifying the host of events. Call management involves establishing and terminating telephone calls or other connections. Not all devices require call management. Data transmission is the sending and receiving of application data such as phone conversations or files sent over a modem or network. The communications device class supports six major models for communicat- ing. • Asynchronous transfer mode (ATM) devices include ADSL modems. • Ethernet emulation model (EEM) devices exchange Ethernet-framed data. Commands share endpoints, and each packet is preceded by a 2-byte header. • Ethernet control model (ECM) devices also exchange Ethernet-framed data using an older protocol that is less efficient than EEM. Class-specific requests and notifications manage the interface. • ISDN devices include terminal adapters for ISDN lines. • Public switched telephone network (PSTN) devices include voice modems, telephones, and serial-emulation (virtual COM-port) devices. Some devices that exchange Ethernet-framed data use the PSTN model with a ven- dor-specific protocol. • Wireless mobile communications (WMC) devices include cell phones and other multi-function devices. Notifications, which announce events such as ring detect and network connect or disconnect, can travel to the host in an interrupt or bulk pipe. Most devices use interrupt pipes. Each notification consists of an 8-byte header followed by a variable-length data field. Some device types don’t require notifications. &GUETKRVQTU The descriptors can specify a communications function at the device or inter- face level. If specified at the device level, all of the device’s interfaces belong to Device Classes 171 the communications function. In the device descriptor, bDeviceClass = 02h to specify CDC (Figure 7-2). In a composite device, which contains multiple functions, an interface association descriptor (IAD) specifies which interfaces belong to the communication function, and bDeviceClass, bDeviceSubclass, and bDeviceProtocol are set as required for the IAD as described in Chapter 4. Figure 7-2. A communications device provides interfaces for data and notifications. Chapter 7 172 Every communications device must have an interface descriptor with bInter- faceClass = 02h to indicate a Communication interface that handles device management and call management. The bInterfaceSubClass field specifies a communication model. Table 7-3 shows defined values for the subclasses. The bInterfaceProtocol field can name a protocol supported by a subclass. Table 7-4 shows defined values for protocols. Table 7-3: In the interface descriptor for a communication device, the bInterfaceSubClass field indicates the communication model the device supports. %QFG D+PVGTHCEG5WD%NCUU #RRNKECVKQP 00h RESERVED – 01h PSTN Direct Line Control Model Telephone modem with the host providing any data compression and error correction. The device or host may provide modulation/demodulation of the modem data. 02h PSTN Abstract Control Model Telephone modem with the device providing any data compression, error correction, and modulation/demodulation of the modem data. 03h PSTN Telephone Control Model Telephone. 04h ISDN: Multi-Channel Control Model ISDN device with multiple, multiplexed channels. 05h ISDN: CAPI Control Model ISDN device with support for COMMON-ISDN-API (CAPI) commands and messages. 06h ECM (Ethernet Control Model) Device that exchanges Ethernet-framed data. 07h ATM Asynchronous transfer mode device. 08h WMC wireless handset control model Logical handset. 09h WMC device management model AT commands only. 0Ah WMC mobile direct line model Migrates some functions of wireless terminal adapters to the USB host. 0Bh WMC OBEX model Data exchange protocol. 0Ch EEM (Ethernet Emulation Model) Device that exchanges Ethernet-framed data. 0Dh–7Fh Reserved Future use. 80h–FEh Vendor specific Vendor defined. Device Classes 173 Following the Communication interface descriptor is a class-specific Functional descriptor consisting of a Header Functional descriptor followed by one or more descriptors (also called Functional descriptors) that provide information about a communication function. Table 7-5 shows defined values for these descriptors. One of these descriptors, the Union Functional descriptor, has the special func- tion of defining a relationship among interfaces that form a functional unit. The descriptor designates one interface as the master or controlling interface, which can send and receive certain messages that apply to the entire group. For example, a Communication interface can be a master interface for a group con- sisting of a Communication interface and a Data interface. The interfaces that make up a group can include communications-class interfaces as well as other related interfaces such as audio and HID. If the Communication interface has a bulk or interrupt endpoint for event noti- fications, the endpoint has a standard endpoint descriptor. A communications device can also have an interface descriptor with bInterface- Class = 0Ah to indicate a Data interface. A Data interface can have bulk or iso- chronous endpoints for carrying application data. Each of these endpoints has a standard endpoint descriptor. Some devices use other class or vendor-specific interfaces for application data. For example, a telephone might use an audio interface to send and receive voice data. A virtual COM-port device provides serial port emulation. Applications can use COM-port functions to access the device in the same way as if the device con- Table 7-4: In the descriptor for a Communication interface, the bInterfaceProtocol field can indicate a protocol the communications model supports. %QFG &GUETKRVKQP 00h No class-specific protocol required 01h AT commands (specified in ITU V.250) 02h–06h AT commands used by WMC devices 07h Ethernet Emulation Model (EEM) 08h–FDh Future use FEh External protocol. The commands are defined by a command set functional descriptor FFh Vendor specific Chapter 7 174 nected directly to an RS-232 port on the PC. The device may have an asyn- chronous serial interface that communicates with other circuits, but an asynchronous interface isn’t required. The USB host doesn’t have to know how the device uses the COM-port data. A virtual COM-port device can use bInter- faceSubClass = 02h to specify the abstract control model and bInterfaceProto- col = 01h to specify AT commands. For compatibility with the Windows driver, the interface should specify this subclass even if the device doesn’t use AT com- mands. The Communication interface has an interrupt endpoint, and the Data interface has a bulk endpoint for each direction. For improved performance, some virtual COM-port devices use vendor-specific drivers and thus don’t Table 7-5: A Functional descriptor consists of a Header functional descriptor followed by one or more function-specific descriptors. D+PVGTHCEG5WD%NCUU (WPEVKQPCN&GUETKRVQT6[RG 00h Header 01h Call Management 02h Abstract Control Management 03h Direct Line Control Management 04h Telephone Ringer 05h Telephone Call and Line State Reporting Capabilities 06h Union 07h Country Selection 08h Telephone Operational Modes 09h USB Terminal 0Ah Network Channel Terminal 0Bh Protocol Unit 0Ch Extension Unit 0Dh Multi-channel Management 0Eh CAPI Control Management 0Fh Ethernet Networking 10h ATM Networking 11h–18h WMC Functional Descriptors 19h OBEX Service Identifier 1Ah–7Fh Reserved (future use) 80h–FEh Vendor specific Device Classes 175 belong to the communications device class. My book Serial Port Complete has more about COM ports and USB virtual COM-port devices. A USB/Ethernet adapter that functions as a Remote NDIS device consists of a Communication interface and a Data interface. In the Communication inter- face, bInterfaceSubClass = 02h to specify the abstract control model and bInter- faceProtocol = FFh to specify a vendor-specific protocol. The Communication interface has an interrupt endpoint, and the Data interface has two bulk end- points. Each endpoint has an endpoint descriptor. %NCUUURGEKHKE4GSWGUVU Class-specific requests get and set status and control information. The sup- ported requests vary with the subclass and the device. %JKRU Many communications devices, including virtual COM-port devices, can use just about non-low-speed, general-purpose device controller. For USB/Ethernet bridges, Asix Electronics Corporation has the AX88172A, which converts between full- or highspeed USB and 10- or 100-Mbps Ether- net. K-Micro has the KLKUSB220 with a 16-bit CPU, full/high-speed USB port, and a 10/100-Mbps Ethernet interface. Freescale Semiconductor’s 32-bit MCF5482 ColdFire microprocessor contains a full/high-speed USB device controller and an Ethernet controller. 9KPFQYU5WRRQTV The modem driver included with Windows 98 SE and later (usbser.sys) is com- patible with modems and other devices that use the abstract control model. Each device must have an INF file that contains the device’s Vendor ID and Product ID. USB virtual COM-port devices can also use the usbser.sys driver. Composite CDC devices should use Windows XP SP3 or later, which have updated versions of the usbser.sys and usbccgp.sys drivers. For mapping Remote NDIS to USB, Windows 2000 and later have the usb8023.sys driver. Several vendors offer drivers for subclasses that Windows doesn’t support and enhanced drivers for other subclasses. Belcarra Technologies Corporation has ECM and EEM drivers. Jungo Ltd. has drivers for modems, serial-port emula- tion, ACM, ECM, and OBEX. MCCI has firmware and driver support for modems, serial-port emulation, WMC, ECM, and OBEX. Thesycon System- . Measurement No support Video Windows 98 Gold: USB camera minidriver library USBCAMD 1.0 (not supported under Windows 2000) Windows Me: USB camera minidriver library USBCAMD 2.0 Windows XP SP2: class driver Device. use the usbser.sys driver. Composite CDC devices should use Windows XP SP3 or later, which have updated versions of the usbser.sys and usbccgp.sys drivers. For mapping Remote NDIS to USB, Windows. 175 belong to the communications device class. My book Serial Port Complete has more about COM ports and USB virtual COM-port devices. A USB/ Ethernet adapter that functions as a Remote NDIS device consists

Ngày đăng: 04/07/2014, 07:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan