SS Best USB Audio I/O Controller for Headset and Multi-Media Devices CM108 High Integrated USB Audio I/O Controller DataSheet 1.5 C-MEDIA ELECTRONICS INC. TEL: 886-2-8773-1100 FAX: 886-2-8773-2211 6F, 100, Sec. 4, Civil Boulevard, Taipei, Taiwan 106, R.O.C. For detailed product information, please contact sales@cmedia.com.tw TU UT CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver NOTICES THIS DOCUMENT IS PROVIDED "AS IS" WITH NO WARRANTIES WHAT SO EVER, INCLUDING ANY WARRANTY OF MERCHANT ABILITY, NONINFRINGEMENT, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, DOCUMENT OR SAMPLE. ALL RIGHTS RESERVED. NO PART OF THIS DOCUMENT MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS, ELECTRONIC OR MECHANICAL, INCLUDING INFORMATION STORAGE AND RETRIEVAL SYSTEMS, WITHOUT PERMISSION IN WRITING FROM C-MEDIA ELECTRONICS, INC. COPYRIGHT U Copyright (c) 2003-2004 C-Media Electronics Inc. All rights reserved. All content included on this document, such as text, graphics, logos, button icons, images, audio clips, digital downloads, data compilations, and software, is either the exclusive property of C-Media Electronics Inc., its affiliates (collectively, "C-Media"), its content suppliers, or its licensors and protected by Republic of China and international copyright laws. TRADEMARKS U C-Media, the C-Media Logo, Xear 3D, Xear 3D Logo, Speaker Shifter, Smart Jack, and Smart Audio Jack are trademarks of C-Media Electronics Inc. in Republic of China and/or other countries. All other brand and product names listed are trademarks or registered trademarks of their respective holders and are hereby recognized as such. *C-Media reserves the right to modify the specifications without further notice* Date: Nov/01/2004 Version: -1- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver TABLE OF CONTENTS 1. DESCRIPTION AND OVERVIEW 2. FEATURES 3. PIN DESCRIPTIONS 3.1 PIN ASSIGNMENT BY PIN NUMBER 3.2 PIN-OUT DIAGRAM 3.3 PIN SIGNAL DESCRIPTIONS 4. IS INTERFACE 5. BLOCK DIAGRAM 6. ORDERING INFORMATION 7. FUNCTION DESCRIPTIONS 7.1 USB INTERFACE 7.1.1 DEVICE DESCRIPTOR 7.1.2 CONFIGURATION DESCRIPTOR 7.1.3 CONTENT FORMAT FOR 94C46 7.1.4 USB AUDIO TOPOLOGY DIAGRAM 7.2 JUMPER PINS AND MODE SETTING 7.2.1 MODE PIN AND MSEL PIN 7.2.2 MODE PIN AND PWRSEL PIN 7.2.3 VSEL PIN 7.3 HID FEATURE 7.4 INTERNAL REGISTERS Date: Nov/01/2004 Version: -2- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 8. ELECTRICAL CHARACTERISTICS 8.1 ABSOLUTE MAXIMUM RATING 8.2 OPERATION CONDITIONS 8.3 ELECTRICAL PARAMETERS 8.4 AUDIO PERFORMANCE 9. FREQUENCY RESPONSE GRAPHS 9.1 DIGITAL PLAYBACK FOR LINE OUTPUT FREQUENCY (10K OHM LOADING) 9.1.1 FREQUENCY RESPONSE 48KS/SEC 9.1.2 FREQUENCY RESPONSE 44.1KS/SEC 9.2 DIGITAL PLAYBACK FOR LINE OUTPUT FREQUENCY (32 OHM LOADING) 9.2.1 FREQUENCY RESPONSE 48KS/SEC 9.2.2 FREQUENCY RESPONSE 44.1KS/SEC 9.3 DIGITAL RECORDING FOR LINE OUTPUT FREQUENCY 9.3.1 FREQUENCY RESPONSE 48KS/SEC 9.3.2 FREQUENCY RESPONSE 44.1KS/SEC 10. REFERENCE APPLICATION CIRCUIT Date: Nov/01/2004 Version: -3- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 1. DESCRIPTION AND OVERVIEW CM108 is a highly integrated single chip USB audio solution. All essential analog modules are embedded in CM108, including dual DAC and earphone driver, ADC, microphone booster, PLL, regulator, and USB transceiver. It is very suitable for USB headset, USB earphone or USB audio interface box application. Many features are programmable with jumper pins or external EEPROM. In addition, audio adjustment can be easily controlled via specific HID compliant volume control pins. For value added application, external codec or audio DSP can be connected to CM108 via I2S pin for further processing. 4 GPIO pins can be accessed with customer application software for additional value added application. 2. FEATURES Compliant with USB 2.0 Full Speed Operation Compliant with USB Audio Device Class Specification v1.0 Supports USB Suspend / Resume Mode and Remote Wakeup with Volume Control Pins Single 12MHz Crystal Input with On-chip PLL and Embedded USB Transceiver Jumper Pin for Speaker Mode (Playback Only) or Headset Mode (Playback + Recording) For Headset Mode, USB Audio Function Topology has 2 Input Terminals, 2 Output Terminals, 1 Mixer Unit, 1 Selector Unit, and 3 Feature Units Jumper Pin for Mixer Unit Enable / Disable under Headset Mode For Speaker Mode, USB Audio Function Topology has 1 Input Terminal, 1 Output Terminal, and 1 Feature Unit Support One Control Endpoint, One Isochronous Out Endpoint, One Isochronous In Endpoint, and One Interrupt In Endpoint Date: Nov/01/2004 Version: -4- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver Alternate Zero Bandwidth Setting for Releasing Playback Bandwidth on USB Bus when this Device is Inactive Supports AES/EBU, IEC60958, S/PDIF Consumer Formats for Stereo PCM Data at S/PDIF Output Volume Up, Volume Down, and Playback Mute Pins support USB HID device class for Host Control Synchronization Record Mute Pin with LED Indicator for Record Mute Status External EEPROM Interface for Vendor Specific USB VID, PID, and Serial Number EEPROM Write Function via Vendor Specific request for Mass Production Convenience Customized Embedded VID, PID, and Product String by Customer Request 4 GPIO Pins with Read/Write via HID Interface Jumper Pin to Set the Output Voltage Swing (3.5V or 2.5V) Jumper Pin to Set the Power Mode (100mA or 500mA, Bus Power or Self Power) Isochronous Transfer uses Adaptive Mode with Internal PLL for Synchronization 48K / 44.1KHz Sampling Rate for Both Playback and Recording Soft Mute Function Embedded High Performance 16-Bit Audio DAC with Earphone Phone Amplifier Host Side Data Loss Noise Reduction Function Embedded 16-Bit ADC Input with Microphone Boost Embedded Power-On-Reset Block Embedded 5V to 3.3V Regulator for Single External 5V Operation Compatible with Win98 SE / Win ME / Win 2000 / Win XP and Mac OS9 / OS X without Additional Driver 48 Pin LQFP Package Date: Nov/01/2004 Version: -5- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 3. PIN DESCRIPTIONS 3.1 PIN ASSIGNMENT BY PIN NUMBER Pin # 1 2 3 4 5 6 7 8 9 10 11 12 Signal Name SPDIFO DW DR SK CS MUTER PWRSEL XI XO MODE GPIO2 LEDO Pin # 13 14 15 16 17 18 19 20 21 22 23 24 Signal Name Pin # GPIO3 DVSS1 GPIO4 SDIN ADSCLS MUTEP ADLRCK ADMCLK LEDR ADSEL TEST AO 25 26 27 28 29 30 31 32 33 34 35 36 Signal Name AO AI AI P AO AO AO AO AVSS2 AVDD2 DVDD DVSS2 Pin # 37 38 39 40 41 42 43 44 45 46 47 48 Signal Name REGV MSEL VOLUP PDSW USBDP USBDM GPIO1 SDOUT RAMCLK DALRCK DASCLS VOLDN MSEL REGV VOLUP PDSW USBDP GPIO1 USBDM SDOUT DAMCLK DASCLK DALRCK VOLDN 3.2 PIN-OUT DIAGRAM 37 SPDIFO DVSS2 1 DW DVDD DR AVDD2 SK AVSS2 CS LOR MUTER LOBS CM108 PWRSEL LOL XI AVDD1 XO VSEL CM108 MODE GPIO2 LEDO MICIN VREF 25 VBIAS AVSS1 TEST ADSEL LEDR ADMCLK ADLRCK MUTEP SDIN ADSCLK GPIO4 DVSS1 GPIO3 13 Pin Assignments (Top View) Date: Nov/01/2004 Version: -6- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 3.3 PIN SIGNAL DESCRIPTIONS Pin # Symbol Type 1 SPDIFO DO, 8mA, SR 2 DW DIO, 8mA, PD, 5VT 3 DR DO, 4mA, SR EEPROM Interface Data write to EEPROM 4 SK DO, 4mA, SR EEPROM Interface Clock 5 CS DO, 4mA, SR EEPROM Interface Chip Select 6 MUTER DI, ST, PU Description SPDIF Output EEPROM Interface Data read from EEPROM Mute Recording (Edge Trigger with de-Bouncing) Chip Power Select Pin, worked with MODE Pin Speaker Mode HSelf Power with 100mA 7 PWRSEL DI, ST LBus Power with 500mA Headset Mode HBus Power with 100mA LBus Power with 500mA ( H: Pull Up to 3.3V; L: Pull Down to Ground ) 8 XI DI Input Pin for 12MHz Oscillator 9 XO DO Output Pin for 12MHz Oscillator Operating mode select 10 MODE DI, ST HSpeaker Mode - Playback Only LHeadset Mode - Playback & Recording ( H: Pull Up to 3.3V; L: Pull Down to Ground ) 11 GPIO2 DIO, 8mA, PD, 5VT 12 LEDO DO, SR, 8mA 13 GPIO3 DIO, 8mA, PD, 5VT 14 DVSS1 P 15 GPIO4 DIO, 8mA, PD, 5VT GPIO Pin LED for Operation; Output H for Power On; Toggling for Data Transmit GPIO Pin Digital Ground GPIO Pin Date: Nov/01/2004 Version: -7- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 16 SDIN DIO, 8mA, PD, 5VT 17 ADSCLK DIO, 4mA, SR 18 MUTEP DI, ST, PU 19 ADLRCK DO, 4mA, SR 20 ADMCLK DIO, 4mA, SR 21 LEDR DO, SR, 8mA ADC I2S Data Input ADC I2S Serial Clock Mute Playback (Edge Trigger with de-Bouncing) ADC I2S Left / Right Clock 11.2896MHz Output for 44.1KHz Sampled Data and 12.288MHz Output for 48KHz Sampled Data LED for Mute Recording Indicator; Output H when Recording is Muted ADC Input Source Select Pin 22 ADSEL DI, ST, PD H: Use external (via I2S) ADC L: Use internal ADC ( H: Pull Up to 3.3V; L: Pull Down to Ground ) Test Mode Select Pin; 23 TEST DI, ST, PD H: Test Mode L: Normal Operation ( H: Pull Up to 3.3V; L: Pull Down to Ground ) 24 AVSS1 P 25 VBIAS AO 26 VREF AO 27 MICIN AI Analog Ground Microphone Bias Voltage Supply (4.5V), with a small Driving Capability Connecting to External Decoupling Capacitor for Embedded Bandgap Circuit; 2.25V Output Microphone Input Line Out Voltage Swing Select 28 VSEL AI H: Line out Vpp = 3.5 Volts L: Line out Vpp = 2.5 Volts ( H: Pull Up to 5V; L: Pull Down to Ground ) 29 AVDD1 P 5V Analog Power for Analog Circuit 30 LOL AO Line Out Left Channel 31 LOBS AO DC 2.25V Output for Line Out Bias Date: Nov/01/2004 Version: -8- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver Line Out Right Channel 32 LOR AO 33 AVSS2 P Analog Ground 34 AVDD2 P 5V Power Supply for Analog Circuit 35 DVDD P 5V Power Supply for Internal Regulator 36 DVSS2 P Digital Ground 37 REGV AO 3.3V Reference Output for Internal 5V 3.3V Regulator Mixer Enable Select, worked with MODE pin H: With Mixer / AA-Path Enable (With Default Mute) 38 MSEL DI, ST L: Without Mixer / AA-Path Disable ( H: Pull Up to 3.3V, L: Pull Down to Ground ) USB Descriptors will also be changed accordingly 39 VOLUP DI, ST, PU Volume Up (Edge Trigger with de-Bouncing) Power Down Switch Control Signal (for PMOS Polarity) 40 PDSW DO, 4mA , OD 0: Normal Operation, 1: Power Down Mode (Suspend Mode) 41 USBDP AIO USB Data D+ 42 USBDM AIO USB Data D- 43 GPIO1 DIO, 8mA, PD, 5VT 44 SDOUT DO, 4mA, SR 45 DAMCLK DO, 4mA, SR 46 DALRCK DO, 4mA, SR DAC I2S Left/Right Clock 47 DASCLK DO, 4mA, SR DAC I2S Serial Clock 48 VOLDN DI, ST, PU GPIO Pin DAC I2S Data Output 11.2896 MHz Output for 44.1KHz Sampled Data and 12.288 MHz Output for 48KHz Sampled Data Volume Down (Edge Trigger with de-Bouncing) Note : DI / DO / DIO - Digital Input / Output / Bi-Directional Pad U U AI / AO / AIO - Analog Input / Output / Bi-Directional Pad SR - Slew Rate Control ST - Schmitt Trigger PD / PU - Pull Down / Pull Up 5VT - 5 Volt Tolerant (3.3V Pad) OD - Open Drain Date: Nov/01/2004 Version: -9- 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 4. IS INTERFACE CM108 provide I 2 S interface for both playback and recording. External ADC, DAC, or DSP can be added to provide additional function in the USB audio system. CM108 sends out the master clock (fixed at x256), LRCK (fixed at x64), and data clock. Therefore external ADC, DAC, or DSP should be set at slave mode for I 2 S interface. Left channel of I 2 S bus is used for CM108 mono recording. Both I 2 S buses use 5V tolerant pad so they can be easily interfacing with 5V or 3.3V devices. Playback data is simultaneously sent to both DAC and I 2 S bus. Recording source (from ADC or from I 2 S bus) can be selected by ADSEL jumper pin. P P P P P P P P P P P P Right Channel Left Channel LRCK SCLK SDATA MSB -1 -2 +2 +1 LSB Date: Nov/01/2004 MSB -1 -2 +2 +1 LSB Version: - 10 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 5. BLOCK DIAGRAM VOLUP VOLDN MUTER LEDO MUTEP LEDR GPIO PWRSEL MODE PDSW MSEL REGV power on reset USB control 3.3V - USBDP USBDM reset interface logics 5 -> 3.3 regulator CS SK DW DR SPDIFO VREF 16 bit DAC USB interface EEPROM interface LOL 0 ~ -45dB 38 steps ISO out processing 16 bit DAC LOR 0 ~ -45dB 38 steps USB TRX SRAM +12 ~ -33 dB 32 steps ISO in processing MICIN 16 bit ADC +22.5 ~ 0 dB 16 steps 12 MHz LOBS + PLL1 48 MHz clock gen +20dB boost enable VREF (2.25V) VREF VBIAS IIS I/F bandgap 4.5V Block Diagram Of CM108 Date: Nov/01/2004 Version: - 11 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 6. ORDERING INFORMATION Model Number Package Operating Ambient Temperature Supply Range CM108 48-Pin LQFP 7mmx7mmx1.4mm (Plastic) 0 o C to +70 o C DVdd = 5V, AVdd = 5V Outline Dimensions *Dimensions shown in inches and (mm) 48-Lead Thin Plastic Quad Flatpack (LQFP) Ordering Information Of CM108 Date: Nov/01/2004 Version: - 12 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 7. FUNCTION DESCRIPTIONS 7.1 USB Interface CM108 integrates USB transceiver, PLL, and regulator. So only a few passive components are necessary for the USB interface connection. Default USB descriptors are embedded in CM108; therefore no additional design effort is needed for USB operation. PID will be changed with the MODE pin setting, so different setting will have different PID. For customized product, customer can attach a 93C46 EEPROM to override the embedded VID, PID and provide addition serial number for each set. CM108 will automatically detect the 93C46 existence and performs the overwrite function during power up. 7.1.1 Device Descriptor Offset Field Size 0 bLength 1 1 bDescriptorType 1 Value Description (Hex) 12 Total 18 Bytes 01 Device Descriptor 2 bcdUSB 2 0110 4 bDeviceClass 1 00 5 bDeviceSubClass 1 00 6 bDeviceProtocol 1 00 7 bMaxPacketSize0 1 40 8 idVendor 2 0d8c 10 idProduct 2 12 bcdDevice 2 USB 1.1 compliant. Endpoint zero Size = 64 bytes Vendor ID 0008 ~ Product ID 000F Programmable by MSEL and MODE pin 0100 Device compliant to the Audio Device Class specification version 1.00 14 iManufacturer 1 01 Index of string descriptor describing manufacturer 15 iProduct 1 02 Index of string descriptor describing product 16 iSerialNumber 1 03 Index of string descriptor describing the device's serial number 17 bNumConfigurations 1 01 Configurations number = 1 Note: VID, PID, and serial number can be overridden by external EEPROM content Date: Nov/01/2004 Version: - 13 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 7.1.2 Configuration Descriptor Offset Field Size 0 bLength 1 1 bDescriptorType 1 2 wTotalLength 2 4 bNumInterfaces 1 5 bConfigurationValue 1 6 iConfiguration 1 7 bmAttributes 1 8 bMaxPower 2 Value Description (Hex) 09 Total 9 Bytes 02 Configuration Descriptor Total length of data returned for this configuration. Programmable by MSEL and MODE pin 04 or 03 Number of interfaces supported by this Configuration, Changed by MODE pin. EP0: Control Interface EP1: ISO-OUT Interface EP2: ISO-IN Interface (Optional) EP3: INT-IN (HID) Interface 01 00 A0 or E0 Programmable by PWRSEL 32 or FA Maximum power consumption of the USB. Programmable by MODE and PWRSEL Pin 7.1.3 Content Format for EEPROM (93C46) 670X where X = bit 4, 3, 2, 1 bit 2 serial num ber enable control 1: enable 0: disable bit 1 product string enable control 1: enable 0: disable 1W = 2B ytes id code 2 bytes V ID 2 bytes address = 0 P ID 2 bytes serial num ber 6 bytes unused Date: Nov/01/2004 Version: - 14 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 7.1.4 USB Audio Topology Diagram USB Out IT Speaker out ID = 0 1 OT ID = 0 6 F e a tu re U n it M ix e r U n it ID = 0 F (v o lu m e ) (m u te ) F e a tu re U n it ID = 0 9 (v o lu m e ) (m u te ) ID = 0 D e n a b le o r d is a b le b y M S E L p in U S B IN OT M ic ro p h o n e In ID = 0 7 IT s e le c to r U n it ID = 0 2 F e a tu re U n it ID = 0 8 (v o lu m e ) (m u te ) ID = 0 A Date: Nov/01/2004 Version: - 15 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 7.2 Jumper Pins and Mode Setting: Jumper pins can set the configuration of CM108. These jumper pin settings affect both USB descriptors and USB audio topology. 7.2.1 MODE Pin and MSEL Pin If MODE pin is pulled high (Speaker Mode), a playback only function is activated and there is no recording function declared to the host. At this setting, MSEL pin is ignored and only one input terminal, one output terminal and one feature unit is declared in USB audio topology. If MODE pin is pulled low (Headset Mode), a full duplex playback and recording function is reported to the host. MSEL pin setting activates one mixer unit and one feature unit. When MSEL = 1, Mixer is enable (AA-Path enable), but with default mute setting; When MSEL = 0, Mixer is disable (AA-Path disable). The above USB audio topology (7.1.4) is an example of headset mode with Mixer enable. 7.2.2 MODE Pin and PWRSEL Pin PWRSEL pin affects the power configuration of CM108; together with MODE pin totally 4 combinations are programmable. Combinations 3.3V PWRSEL GND MODE 3.3V GND Speaker Mode: Headset Mode: Playback Only Playback + Recording (Self Power with 100mA) (Bus Power with 100mA) Speaker Mode: Headset Mode: Playback Only Playback + Recording (Bus Power with 500mA) (Bus Power with 500mA) USB Audio Topology Diagram 7.2.3 VSEL Pin VSEL jumper pin sets the output voltage swing. When VSEL is connected to 5V, output voltage swing is 3.5Vpp; when VSEL is connected to ground, output voltage is 2.5Vpp. Date: Nov/01/2004 Version: - 16 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 7.3 HID Feature HID feature is provided by CM108 so user setting to Volume Up, Volume Down, and Playback Mute button pin is reported to the host to synchronize host side setting. In addition, all CM108 internal registers can be accessed via HID function call. 7.2.3 What's HID USB protocols can configure devices at startup or when they are plugged in at run time. These devices are broken into various device classes. Each device class defines the common behavior and protocols for devices that serve similar functions. The HID (Human Interface Device) class is one of the device classes. The HID class consists primarily of devices that are used by humans to control the operation of computer systems. Typical examples of HID class devices include: - Keyboards and pointing devices, for example: mouse, trackballs, and joysticks. - Front-panel controls, for example: knobs, switches, buttons, and sliders. - Controls that might be found on devices such as VCR remote controls, games or simulation devices, for example: data gloves, throttles, and steering wheels. - Devices that may not require human interaction but provide data in a similar format to HID class devices, for example: bar-code readers, thermometers, or voltmeters. 7.2.4 HID Descriptor HID Interface Descriptor Offset Field Size 0 bLength 1 1 bDescriptorType 1 2 bInterfaceNumber 1 3 bAlternateSetting 1 Value (Hex) 09 04 03 00 4 bNumEndpoints 1 01 5 6 7 bInterfaceClass bInterfaceSubClass bInterfaceProtocol 1 1 1 03 00 00 8 iInterface 1 00 Date: Nov/01/2004 Description Size of this descriptor: 9 byte INTERFACE descriptor type Number of Interface: 3 alternate 0 Number of endpoints used by this Interface: 1 HID Interface Class No Subclass Must be set to 0 Index of a string descriptor that describes this interface. Version: - 17 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver HID Descriptor Offset Field 0 bLength 1 bDescriptorType 2 bcdHID 4 bCountryCode 5 bNumDescriptors 6 bDescriptorType 7 Size 1 1 2 1 1 1 Value (Hex) 09 21 0100 00 01 22 2 0030 wDescriptorLength Description Total 9 Bytes HID Descriptor Type HID class version 1.00 Report Descriptor Numeric expression that is the total size of the optional descriptor: 48 Bytes Interrupt IN Endpoint Descriptor Offset Field Size Value (Hex) Description 0 bLength 1 07 Total 7 Bytes 1 bDescriptorType 1 05 ENDPOINT Descriptor Type IN Endpoint 2 bEndpointAddress 1 83 Endpoint number = 3 3 bmAttributes 1 03 Interrupt endpoint type 4 wMaxPacketSize 2 0004 Maximum packet size: 4 bytes 6 bInterval 1 20 32ms 7.2.5 Windows Software Architecture for HID Applications C-Media SDK Winmm.dll User32.exe or User.exe Keyboard Class Driver Direct Input HID.dll Joy Stick Class Driver Reports (device specification) Audio Driver Mouse Class Driver HID Class Driver(HIDCLASS.SYS) Gameport MiniDriver(HIDGAME.SYS) USB Gameport USB HUB Driver(USBHUB.SYS) USB Class Driver(USBD.SYS) PCI Enumerator Note: Please contact with our sales for the C-Media SDK example if needed. Date: Nov/01/2004 Version: - 18 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 7.4 Internal Registers All internal registers of CM108 can be accessed via generic HID functional calls without the need to develop kernel mode driver. Totally 4 bytes of data can be read or write from HID. Input report is for read and output report is for write. Internal registers of CM108 are used to control GPIO, S/PDIF output, and EEPROM data access. HID_IR0 (HID input report byte 0) Offset : 0x00 Bits Read/Write Description Default 7-6 R 00: HID_IR1 is used as GPI 10: Values written to HID_IR0-3 are also mapped to EEPROM_DATA0-1, EEPROM_CTRL Others: Reserved 0x0 5-4 R Reserved 0x0 3 R 0: No activity on Record-Mute button 1: Record-Mute button pressed then released 0x0 2 R 0: No activity on Playback-Mute button 1: Playback-Mute button pressed then released 0x0 1 R 0: Volume-Down button released 1: Volume-Down button pressed 0x0 0 R 0: Volume-Up button released 1: Volume-Up button pressed 0x0 HID_IR1 (HID input report byte 1) Offset : 0x01 Bits Read/Write 7-0 R Description When HID_IR0[7:6] == 2'b00: HID_IR1[3:0] is the input from GPIO4 ~ GPIO1 in input mode When HID_OR0[7] == 1'b1: Mapped from EEPROM_DATA0 Date: Nov/01/2004 Default 0x00 Version: - 19 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver HID_IR2 (HID input report byte 2) Offset : 0x02 Bits Read/Write 7-0 R Description When HID_OR0[7] == 1'b1: Mapped from EEPROM_DATA1 Default 0x00 HID_IR3 (HID input report byte 3) Offset : 0x03 Bits Read/Write 7-0 R Description When HID_OR0[7] == 1'b1: Mapped from EEPROM_CTRL Default 0x00 HID_OR0 (HID output report byte 0) Offset : 0x04 Bits Read/Write Description Default 7-6 R/W 0: HID_OR1-2 are used for GPO; HID_OR0, 3 are used for SPDIF 1: Reserved 2: Values written to HID_OR0-3 are also mapped to EEPROM_DATA0-1, EEPROM_CTRL (See Note) 3: Reserved 0x0 5 R/W Reserved 0x0 4 R/W When HID_OR0[7] == 1'b0: Valid bit in SPDIF frame When HID_OR0[7] == 1'b1: Reserved 0x0 3-0 R/W When HID_OR0[7] == 1'b0: First nibble of SPDIF status channel When HID_OR0[7] == 1'b1: Reserved 0x0 Note 1: When EEPROM access is done, HID interrupt will occur. USB host can get the result from interrupt pipe (endpoint 3). Note 2: HID_OR0 is used for SPDIF when SPDIF_CONFIG[5] == 1'b0 Date: Nov/01/2004 Version: - 20 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver HID_OR1 (HID output report byte 1) Offset : 0x05 Bits Read/Write 7-0 R/W Description When HID_OR0[7:6] == 2'b00: HID_OR1[3:0] is the output to GPIO4 ~ GPIO1 in output mode 0: GPO drives L 1: GPO drives H When HID_OR0[7:6] == 2'b01: Reserved When HID_OR0[7:6] == 2'b1x: Mapped to EEPROM__DATA0 Default 0x00 HID_OR2 (HID output report byte 2) Offset : 0x06 Bits Read/Write 7-0 R/W Description When HID_OR0[7:6] == 2'b00: HID_OR2[3:0] is the mode setting for GPIO4 ~ GPIO1 0: Set GPIO to input mode 1: Set GPIO to output mode When HID_OR0[7:6] == 2'b01: Reserved When HID_OR0[7:6] == 2'b1x: Mapped to EEPROM_DATA1 Default 0x00 HID_OR3 (HID output report byte 3) Offset : 0x07 Bits Read/Write 7-0 R/W Description When HID_OR0[7] == 1'b0: Category byte of SPDIF status channel When HID_OR0[7] == 1'b1: Mapped to EEPROM_CTRL Default 0x00 Note: HID_OR3 is used for SPDIF when SPDIF_CONFIG[5] == 1'b0 Date: Nov/01/2004 Version: - 21 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 8. ELECTRICAL CHARACTERISTICS 8.1 Absolute Maximum Rating Symbol Dvmin Dvmax Avmin Avmax Dvinout Avinout T stg ESD (HBM) ESD (MM) B B Parameter Min Digital Supply Voltage Max Digital Supply Voltage Min Analog Supply Voltage Max Analog Supply Voltage Voltage on any Digital Input or Output Pin Voltage on any Analog Input or Output Pin Storage Temperature Range ESD Human Body Mode ESD Machine Mode Value - 0.3 +6 - 0.3 +6 -0.3 to +5.5 -0.3 to +5.5 -40 to +125 3500 200 Unit V V V V V V 0 C V V P P 8.2 Operation Conditions Analog Supply Voltage Digital Supply Voltage Total Power Consumption Suspend Mode Power Consumption Operating ambient temperature Operation conditions Min Typ 4.5 5.0 4.5 5.0 - Max 5.5 5.5 70 Unit V V mA uA - - 300 0 - 70 Min Typ Max Unit 20 20 0.5 16 -74.29 93.6 98.2 93.8 1.25 - 20K 20K 4.0 Bits dB dB dB dB Hz Hz Vrms V o P C P 8.3 Electrical Parameters DAC (10K Ohm Loading) Resolution THD + N (-3dBr) SNR Silent SNR Dynamic range Frequency response 48KHz Frequency Response 44.1KHz Output Voltage (rms) Output Voltage Swing Date: Nov/01/2004 Version: - 22 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver DAC (32 Ohm Loading) Resolution THD + N (-3dBr) SNR Silent SNR Dynamic Range Frequency Response 48KHz Frequency Response 44.1KHz Output Voltage (rms) Output Voltage Swing ADC Resolution THD + N (-3dBr) SNR Dynamic Range Frequency Response 48KHz Frequency Response 44.1KHz Input Range Amplification Volume Control Level Volume Control Step Microphone Input Boost Gain Gain Adjustment Range Gain Adjustment Steps Mixer Gain Adjustment Mixer Gain Adjustment Steps 20 20 0.5 16 -71.1 93.7 98.2 93.8 1.25 - 20K 20K 4.0 Vrms V 20 20 0 16 -76.1 83.1 81.6 - 19.2K 17.6K 2.88 bit dB dB dB Hz Hz Vpp -45 - 38 0 - dB Steps 0 -33.0 - +20 16 32 22.5 12.0 - dB dB Steps dB Steps Date: Nov/01/2004 Bits dB dB dB dB Hz Version: - 23 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 9. FREQUENCY RESPONSE GRAPHS 9.1 Digital Playback for Line Output Frequency (10K Ohm Loading) 9.1.1 Frequency Response 48Ks/Sec (10K Ohm Loading) C-Media Digital Playback (PC-D-A) for Line Output Frequency Response 07/15/03 19:03:14 +1 +0 d B r A -1 -2 -3 -4 -5 -6 30 50 100 200 500 1k 2k 5k 10k Hz Color Line Style Thick Data Axis Green Yellow Solid Solid 2 2 Fasttest.Ch.1 Ampl!Normalize Fasttest.Ch.2 Ampl!Normalize Left Left 9.1.2 Frequency Response 44.1Ks/Sec (10K Ohm Loading) C-Media Digital Playback (PC-D-A) for Line Output Frequency Response 07/15/03 19:05:40 +1 +0 d B r -1 A -4 -2 -3 -5 -6 20 50 100 200 500 1k 2k 5k 10k Hz Color Line Style Thick Data Axis Green Yellow Solid Solid 2 2 Fasttest.Ch.1 Ampl!Normalize Fasttest.Ch.2 Ampl!Normalize Left Left Date: Nov/01/2004 Version: - 24 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 9.2 Digital Playback for Line Output Frequency (32 Ohm Loading) 9.2.1 Frequency Response 48Ks/Sec (32 Ohm Loading) C-Media Digital Playback (PC-D-A) for Line Output Frequency Response +1 +0 d B r 1 -1 -2 -3 -4 -5 -6 20 50 100 200 500 1k 2k 5k 10k Hz Color Line Style Thick Data Axis Cyan Yellow Solid Solid 2 2 Fasttest.Ch.1 Ampl!Normalize Fasttest.Ch.2 Ampl!Normalize Left Left 9.2.2 Frequency Response 44.1Ks/Sec (32 Ohm Loading) C-Media Digital Playback (PC-D-A) for Line Output Frequency Response +1 +0 -1 d B -2 -3 -4 -5 -6 20 50 100 200 500 1k 2k 5k 10k Hz Color Line Style Thick Data Axis Green Yellow Solid Solid 2 2 Fasttest.Ch.1 Ampl!Normalize Fasttest.Ch.2 Ampl!Normalize Left Left Date: Nov/01/2004 Version: - 25 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 9.3 Digital Recording for Line Output Frequency 9.3.1 Frequency Response 48Ks/Sec C-Media Digital Recording (A-D-PC) for Line Input Frequency Response 07/21/03 14:27:29 +1 +0 d B r A -1 -2 -3 -4 -5 -6 30 50 100 200 500 1k 2k 5k 10k Hz Sweep Trace Color Line Style Thick Data Axis 1 1 1 2 Cyan Yellow Solid Solid 2 2 Fasttest.Ch.1 Ampl!Normalize Fasttest.Ch.2 Ampl!Normalize Left Left Comment 9.3.2 Frequency Response 44.1Ks/Sec C-Media Digital Recording (A-D-PC) for Line Input Frequency Response 07/21/03 15:16:55 +1 +0 d B r -1 A -4 -2 -3 -5 -6 20 50 100 200 500 1k 2k 5k 10k Hz Sweep Trace Color Line Style Thick Data Axis 1 1 1 2 Cyan Yellow Solid Solid 2 2 Fasttest.Ch.1 Ampl!Normalize Fasttest.Ch.2 Ampl!Normalize Left Left Date: Nov/01/2004 Comment Version: - 26 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver 10. REFERENCE APPLICATION CIRCUIT Date: Nov/01/2004 Version: - 27 - 1.5 CM108 Integration Dual DAC, Earphone Driver, ADC, Microphone Booster, PLL, Regulator, and USB Transceiver REFERENCE Universal Serial Bus Specification, Version 2.0 Universal Serial Bus Device Class Definition for Audio Devices, Version 1.0. Universal Serial Bus Device Class Definition for Human Interface Devices, Version 1.11 End of Specifications C-MEDIA ELECTRONICS INC. 6F., 100, Sec. 4, Civil Boulevard, Taipei, Taiwan 106 R.O.C. TEL:886-2-8773-1100 FAX:886-2-8773-2211 E-mail sales@cmedia.com.tw TU UT URL http://www.cmedia.com.tw TU Date: Nov/01/2004 UT Version: - 28 - 1.5