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 TUsales@cmedia.com.twUT
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 1 -
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.
UCOPYRIGHT
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.
UTRADEMARKS
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*
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 2 -
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. I²S 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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 3 -
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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 4 -
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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 5 -
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 fo
r
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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 6 -
3. PIN DESCRIPTIONS
3.1 PIN ASSIGNMENT BY PIN NUMBER
Pin # Si
g
nal Name Pin # Si
g
nal Name Pin # Si
g
nal Name Pin # Si
g
nal Name
1 SPDIFO 13 GPIO3 25 AO 37 REGV
2 DW 14 DVSS1 26 AI 38 MSEL
3 DR 15 GPIO4 27 AI 39 VOLUP
4 SK 16 SDIN 28 P 40 PDSW
5 CS 17 ADSCLS 29 AO 41 USBDP
6 MUTER 18 MUTEP 30 AO 42 USBDM
7 PWRSEL 19 ADLRCK 31 AO 43 GPIO1
8 XI 20 ADMCLK 32 AO 44 SDOUT
9 XO 21 LEDR 33 AVSS2 45 RAMCLK
10 MODE 22 ADSEL 34 AVDD2 46 DALRCK
11 GPIO2 23 TEST 35 DVDD 47 DASCLS
12 LEDO 24 AO 36 DVSS2 48 VOLDN
3.2 PIN-OUT DIAGRAM
CM108
SPDIFO
DW
DR
SK
CS
MUTER
PWRSEL
XI
XO
MODE
GPIO2
LEDO
DVSS2
DVDD
AVDD2
AVSS2
LOR
LOBS
LOL
AVDD1
VSEL
MICIN
VREF
VBIAS
GPIO3
DVSS1
GPIO4
SDIN
ADSCLK
MUTEP
ADLRCK
ADMCLK
LEDR
ADSEL
TEST
AVSS1
VOLDN
DASCLK
DALRCK
DAMCLK
SDOUT
GPIO1
USBDM
USBDP
PDSW
VOLUP
MSEL
REGV
1
13
25
37
Pin Assignments (Top View)
CM108
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 7 -
3.3 PIN SIGNAL DESCRIPTIONS
Pin # Symbol Type Description
1 SPDIFO DO, 8mA, SR SPDIF Output
2 DW DIO, 8mA,
PD, 5VT EEPROM Interface Data read from EEPROM
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
Mute Recording (Edge Trigger with de-Bouncing)
7 PWRSEL DI, ST
Chip Power Select Pin, worked with MODE Pin
Speaker Mode HSelf Power with 100mA
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
10 MODE DI, ST
Operating mode select
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 GPIO Pin
12 LEDO DO, SR, 8mA
LED for Operation;
Output H for Power On; Toggling for Data Transmit
13 GPIO3 DIO, 8mA,
PD, 5VT GPIO Pin
14 DVSS1 P
Digital Ground
15 GPIO4 DIO, 8mA,
PD, 5VT GPIO Pin
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 8 -
16 SDIN DIO, 8mA,
PD, 5VT ADC I2S Data Input
17 ADSCLK DIO, 4mA, SR ADC I2S Serial Clock
18 MUTEP DI, ST, PU
Mute Playback (Edge Trigger with de-Bouncing)
19 ADLRCK DO, 4mA, SR ADC I2S Left / Right Clock
20 ADMCLK DIO, 4mA, SR
11.2896MHz Output for 44.1KHz Sampled Data and
12.288MHz Output for 48KHz Sampled Data
21 LEDR DO, SR, 8mA
LED for Mute Recording Indicator;
Output H when Recording is Muted
22 ADSEL DI, ST, PD
ADC Input Source Select Pin
H: Use external (via I2S) ADC
L: Use internal ADC
( H: Pull Up to 3.3V; L: Pull Down to Ground )
23 TEST DI, ST, PD
Test Mode Select Pin;
H: Test Mode
L: Normal Operation
( H: Pull Up to 3.3V; L: Pull Down to Ground )
24 AVSS1 P
Analog Ground
25 VBIAS AO
Microphone Bias Voltage Supply (4.5V), with a small Driving
Capability
26 VREF AO
Connecting to External Decoupling Capacitor for Embedded
Bandgap Circuit; 2.25V Output
27 MICIN AI
Microphone Input
28 VSEL AI
Line Out Voltage Swing Select
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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 9 -
32 LOR AO Line Out Right Channel
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
38 MSEL DI, ST
Mixer Enable Select, worked with MODE pin
H: With Mixer / AA-Path Enable (With Default Mute)
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)
40 PDSW DO, 4mA , OD
Power Down Switch Control Signal (for PMOS Polarity)
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 GPIO Pin
44 SDOUT DO, 4mA, SR DAC I2S Data Output
45 DAMCLK DO, 4mA, SR
11.2896 MHz Output for 44.1KHz Sampled Data and
12.288 MHz Output for 48KHz Sampled Data
46 DALRCK DO, 4mA, SR DAC I2S Left/Right Clock
47 DASCLK DO, 4mA, SR DAC I2S Serial Clock
48 VOLDN DI, ST, PU
Volume Down (Edge Trigger with de-Bouncing)
UNoteU: DI / DO / DIO – Digital Input / Output / Bi-Directional Pad
AI / AO / AIOAnalog 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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 10 -
4. I²S INTERFACE
CM108 provide IP
2
PS 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 IP
2
PS interface. Left channel of IP
2
PS bus is used for
CM108 mono recording. Both IP
2
PS 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 IP
2
PS bus.
Recording source (from ADC or from IP
2
PS bus) can be selected by ADSEL jumper pin.
LRCK
SCLK
MSB -1 -2 +2 +1 LSB MSB -1 -2 +2 +1 LSB
SDATA
Left Channel
Right Channel
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 11 -
5. BLOCK DIAGRAM
Block Diagram Of CM108
USB
TRX
USB
interface
USB control
ISO out
processing
PLL1
48 MHz
clock
gen
12 MHz
VREF
(2.25V)
power on
reset
reset
bandgap
3.3V
5 -> 3.3
regulator
REGV
ISO in
processing
SRAM
16 bit ADC
16 bit
DAC
+12 ~ -33 dB
32 steps
LOL
interface logics
MUTER
VOLDN
VOLUP
VREF
MUTEP
LOR
LEDO
LEDR
PDSW
VBIAS
4.5V
EEPROM
interface
CS
SK
DW
DR
USBDP
USBDM
MICIN
VREF +
-
LOBS
GPIO
+20dB boost enable
PWRSEL
MODE
MSEL
IIS I/F
SPDIFO
0 ~ -45dB
38 steps
0 ~ -45dB
38 steps
16 bit
DAC
+22.5 ~ 0 dB
16 steps
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 12 -
6. ORDERING INFORMATION
Model
Number Package Operating Ambient
Temperature Supply Range
CM108 48-Pin LQFP
7mm×7mm×1.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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 13 -
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 Value
(Hex)
Description
0 bLength 1 12
Total 18 Bytes
1 bDescriptorType 1 01
Device Descriptor
2 bcdUSB 2 0110
USB 1.1 compliant.
4 bDeviceClass 1 00
5 bDeviceSubClass 1 00
6 bDeviceProtocol 1 00
7 bMaxPacketSize0 1 40
Endpoint zero Size = 64 bytes
8 idVendor 2 0d8c
Vendor ID
10 idProduct 2 0008 ~
000F
Product ID
Programmable by MSEL and MODE pin
12 bcdDevice 2 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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 14 -
7.1.2 Configuration Descriptor
Offset Field Size Value
(Hex)
Description
0 bLength 1 09
Tot al 9 Byt es
1 bDescriptorType 1 02
Configuration Descriptor
2 wTotalLength
2
Total length of data returned for this
configuration.
Programmable by MSEL and MODE pin
4 bNumInterfaces
1 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
5 bConfigurationValue 1 01
6 iConfiguration 1 00
7 bmAttributes 1 A0 or E0 Programmable by PWRSEL
8 bMaxPower
2 32 or FA Maximum power consumption of the
USB. Programmable by MODE and
PWRSEL Pin
7.1.3 Content Format for EEPROM (93C46)
id code 2 bytes
PID 2 bytes
serial number
6 bytes
unused
address = 0
1W = 2Bytes
VID 2 bytes
670X where X = bit 4, 3, 2, 1
bit 2 serial number enable control 1: enable 0: disable
bit 1 product string enable control 1: enable 0: disable
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 15 -
7.1.4 USB Audio Topology Diagram
IT
IT
OT
OT
USB Out
Microphone In
Feature Unit
(volume) (mute)
Speakerout
USB IN
Feature Unit
(volume) (mute)
ID = 01
ID=02
ID = 0A
ID = 09
ID = 06
ID = 07
Feature Unit
(volume) (mute)
ID = 0D
Mixer Unit
ID = 0F
selector Unit
ID = 08
enable or disable by
MSEL pin
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 16 -
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.
MODE
Combinations 3.3V GND
3.3V
Speaker Mode:
Playback Only
(Self Power with 100mA)
Headset Mode:
Playback + Recording
(Bus Power with 100mA)
PWRSEL
GND
Speaker Mode:
Playback Only
(Bus Power with 500mA)
Headset Mode:
Playback + Recording
(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.
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 17 -
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 Value (Hex) Description
0 bLength 1 09 Size of this descriptor: 9 byte
1 bDescriptorType 1 04 INTERFACE descriptor type
2 bInterfaceNumber 1 03 Number of Interface: 3
3 bAlternateSetting 1 00 alternate 0
4 bNumEndpoints 1 01 Number of endpoints used by this
Interface: 1
5 bInterfaceClass 1 03 HID Interface Class
6 bInterfaceSubClass 1 00 No Subclass
7 bInterfaceProtocol 1 00 Must be set to 0
8 iInterface 1 00
Index of a string descriptor that
describes this interface.
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 18 -
HID Descriptor
Offset Field Size Value (Hex) Description
0 bLength 1 09 Total 9 Bytes
1 bDescriptorType 1 21 HID Descriptor Type
2 bcdHID 2 0100 HID class version 1.00
4 bCountryCode 1 00
5 bNumDescriptors 1 01
6 bDescriptorType 1 22 Report Descriptor
7 wDescriptorLength 2 0030 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
2 bEndpointAddress 1 83 IN Endpoint
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
Note: Please contact with our sales for the C-Media SDK example if needed.
PCI Enumerator
USB Class Driver(USBD.SYS)
USB HUB Driver(USBHUB.SYS)
USB
HID Class Driver(HIDCLASS.SYS)
Gameport MiniDriver(HIDGAME.SYS)
Gameport
A
udio Drive
r
Keyboard Class Driver
Mouse Class Driver
Joy Stick Class Driver
C-Media SDK
Reports
(device specification)
Winmm.dll
Direct Input HID.dll
Applications
User32.exe or User.exe
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 19 -
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 Description Default
7-0 R 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
0x00
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 20 -
HID_IR2 (HID input report byte 2)
Offset : 0x02
Bits Read/Write Description Default
7-0 R When HID_OR0[7] == 1’b1:
Mapped from EEPROM_DATA1
0x00
HID_IR3 (HID input report byte 3)
Offset : 0x03
Bits Read/Write Description Default
7-0 R When HID_OR0[7] == 1’b1:
Mapped from EEPROM_CTRL
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
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 21 -
HID_OR1 (HID output report byte 1)
Offset : 0x05
Bits Read/Write Description Default
7-0 R / W 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
0x00
HID_OR2 (HID output report byte 2)
Offset : 0x06
Bits Read/Write Description Default
7-0 R / W 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
0x00
HID_OR3 (HID output report byte 3)
Offset : 0x07
Bits Read/Write Description Default
7-0 R / W When HID_OR0[7] == 1’b0:
Category byte of SPDIF status channel
When HID_OR0[7] == 1’b1:
Mapped to EEPROM_CTRL
0x00
Note: HID_OR3 is used for SPDIF when SPDIF_CONFIG[5] == 1’b0
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 22 -
8. ELECTRICAL CHARACTERISTICS
8.1 Absolute Maximum Rating
Symbol Parameter Value Unit
Dvmin Min Digital Supply Voltage – 0.3 V
Dvmax Max Digital Supply Voltage + 6 V
Avmin Min Analog Supply Voltage – 0.3 V
Avmax Max Analog Supply Voltage + 6 V
Dvinout Voltage on any Digital Input or Output Pin –0.3 to +5.5 V
Avinout Voltage on any Analog Input or Output Pin –0.3 to +5.5 V
TBstgB Storage Temperature Range -40 to +125 P
0
PC
ESD (HBM) ESD Human Body Mode 3500 V
ESD (MM) ESD Machine Mode 200 V
8.2 Operation Conditions
Operation conditions
Min Typ Max Unit
Analog Supply Voltage 4.5 5.0 5.5 V
Digital Supply Voltage 4.5 5.0 5.5 V
Total Power Consumption - - 70 mA
Suspend Mode Power
Consumption - - 300 uA
Operating ambient
temperature 0 - 70
P
o
PC
8.3 Electrical Parameters
Min Typ Max Unit
DAC (10K Ohm Loading)
Resolution - 16 - Bits
THD + N (-3dBr) - -74.29 - dB
SNR - 93.6 - dB
Silent SNR - 98.2 - dB
Dynamic range - 93.8 - dB
Frequency response 48KHz 20 - 20K Hz
Frequency Response 44.1KHz 20 - 20K Hz
Output Voltage (rms) - 1.25 - Vrms
Output Voltage Swing 0.5 - 4.0 V
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 23 -
DAC (32 Ohm Loading)
Resolution - 16 - Bits
THD + N (-3dBr) - -71.1 - dB
SNR - 93.7 - dB
Silent SNR - 98.2 - dB
Dynamic Range - 93.8 - dB
Frequency Response 48KHz 20 - 20K Hz
Frequency Response 44.1KHz 20 - 20K
Output Voltage (rms) - 1.25 - Vrms
Output Voltage Swing 0.5 - 4.0 V
ADC
Resolution - 16 - bit
THD + N (-3dBr) - -76.1 - dB
SNR - 83.1 - dB
Dynamic Range - 81.6 - dB
Frequency Response 48KHz 20 - 19.2K Hz
Frequency Response 44.1KHz 20 - 17.6K Hz
Input Range 0 - 2.88 Vpp
Amplification
Volume Control Level -45 - 0 dB
Volume Control Step - 38 - Steps
Microphone Input
Boost Gain - +20 - dB
Gain Adjustment Range 0 - 22.5 dB
Gain Adjustment Steps - 16 - Steps
Mixer Gain Adjustment -33.0 - 12.0 dB
Mixer Gain Adjustment Steps - 32 - Steps
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 24 -
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 07/15/03 19:03:14Digital Playback (PC-D-A) for Line Output Frequency Response
Color Line Style Thick Data
A
xis
Green Solid 2 Fasttest.Ch.1 Ampl!Normalize Left
Yellow Solid 2 Fasttest.Ch.2 Ampl!Normalize Left
-
6
+1
-
5
-4
-
3
-2
-1
+
0
d
B
r
A
30
1
k
50
1
00
2
00
500
1k 2k
5
k
Hz
9.1.2 Frequency Response 44.1Ks/Sec (10K Ohm Loading)
C-Media 07/15/03 19:05:40Digital Playback (PC-D-A) for Line Output Frequency Response
Color Line Style Thick Data
A
xis
Green Solid 2 Fasttest.Ch.1 Ampl!Normalize Left
Yellow Solid 2 Fasttest.Ch.2 Ampl!Normalize Left
-6
+1
-5
-4
-3
-2
-1
+0
d
B
r
A
2
0
1
k
50
1
00
2
00
500
1k 2k
5
k
Hz
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 25 -
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
Color Line Style Thick Data
A
xis
Cyan Solid 2 Fasttest.Ch.1 Ampl!Normalize Left
Yellow Solid 2 Fasttest.Ch.2 Am
p
l!Normalize Left
-6
+1
-
5
-4
-
3
-2
-1
+
0
d
B
r
1
2
0
1
0
k
50
1
00
2
00
500
1k 2k
5
k
Hz
9.2.2 Frequency Response 44.1Ks/Sec (32 Ohm Loading)
C-Media Digital Playback (PC-D-A) for Line Output Frequency Response
Color Line Style Thick Data
A
xis
Green Solid 2 Fasttest.Ch.1 Ampl!Normalize Left
Yellow Solid 2 Fasttest.Ch.2 Ampl!Normalize Left
-6
+1
-5
-4
-3
-2
-1
+0
d
B
20 10k50 100 200 500 1k 2k 5k
Hz
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 26 -
9.3 Digital Recording for Line Output Frequency
9.3.1 Frequency Response 48Ks/Sec
C-Media 07/21/03 14:27:29Digital Recording (A-D-PC) for Line Input Frequency Response
Color Swee
p
Trace Line St
y
le Thick Data
A
xis Comment
1 1 C
y
an Solid 2Fasttest.Ch.1 Am
p
l!Normalize Left
1 2 Yellow Solid 2Fasttest.Ch.2 Am
p
l!Normalize Left
-6
+1
-5
-4
-3
-2
-1
+0
d
B
r
A
30 10k50 100 200 500 1k 2k 5k
Hz
9.3.2 Frequency Response 44.1Ks/Sec
C-Media 07/21/03 15:16:55Digital Recording (A-D-PC) for Line Input Frequency Response
Color Swee
p
Trace Line St
y
le Thick Data
A
xis Comment
1 1 C
y
an Solid 2Fasttest.Ch.1 Am
p
l!Normalize Left
1 2 Yellow Solid 2Fasttest.Ch.2 Am
p
l!Normalize Left
-6
+1
-5
-4
-3
-2
-1
+0
d
B
r
A
20 10k50 100 200 500 1k 2k 5k
Hz
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 27 -
10. REFERENCE APPLICATION CIRCUIT
CM108
Integration Dual DAC, Earphone Driver, ADC,
Microphone Booster, PLL, Regulator, and USB Transceiver
Date: Nov/01/2004 Version: 1.5
- 28 -
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-mailTUsales@cmedia.com.twUT URLTUhttp://www.cmedia.com.twUT