Best High Integration/Low Cost USB Audio Controller for PC Internet Phone
CM109 USB I/O Controller DataSheet
Version 1.3a
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
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
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 Copyright (c) 2003-2006 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 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: 08/Sep/2005
-1-
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
TABLE OF CONTENTS
1. DESCRIPTIONS 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. MCU INTERFACE 5. BLOCK DIAGRAM 6. ORDERING INFORMATION 7. FUNCTION DESCRIPTIONS 7.1 USB INTERFACE 7.1.1 7.1.2 7.1.3 7.1.4
DEVICE DESCRIPTOR CONFIGURATION DESCRIPTOR CONTENT FORMAT FOR 94C46 USB AUDIO TOPOLOGY DIAGRAM
4 4 6 6 6 7 9 9 10 11 11 11 12 12 13 13 14 15 16 16 16 19
Version:
-2-
7.2 JUMPER PINS AND MODE SETTING 7.3 HID FEATURE 7.3.1 7.3.2
HID DESCRIPTOR WINDOWS SOFTWARE ARCHITECTURE FOR HID
7.4 INTERNAL REGISTERS 7.4.1 7.4.2
ACCESS VIA HID CLASS COMMAND ACCESS VIA ENTERNAL INTERFACE BY MCU
Date: 08/Sep/2005
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
7.4.3
INDIRECT ACCESSED REGISTERS
22 23 28 29 29 29 30 31
7.5 MCU INTERFACE 7.6 BUZZER OUTPUT 8. ELECTRICAL CHARACTERISTICS 8.1 ABSOLUTE MAXIMUM RATING 8.2 OPERATION CONDITIONS 8.3 ELECTRICAL PARAMETERS 9. FREQUENCY RESPONSE GRAPHS
9.1 DIGITAL PLAYBACK FOR LINE OUTPUT FREQUENCY (10K OHM LOADING) 31 9.1.1 9.1.2
FREQUENCY RESPONSE 48KS/SEC FREQUENCY RESPONSE 44.1KS/SEC
31 31 32 32 32 33 33 33 34
9.2 DIGITAL PLAYBACK FOR LINE OUTPUT FREQUENCY (32 OHM LOADING) 9.2.1 9.2.2
FREQUENCY RESPONSE 48KS/SEC FREQUENCY RESPONSE 44.1KS/SEC
9.3 DIGITAL RECORDING FOR LINE OUTPUT FREQUENCY 9.3.1 9.3.2
FREQUENCY RESPONSE 48KS/SEC FREQUENCY RESPONSE 44.1KS/SEC
10. APPLICATION CIRCUIT REFERENCE
Date: 08/Sep/2005
-3-
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
1.DESCRIPTIONS AND OVERVIEW
CM109 is a highly integrated single chip USB audio controller specifically for VoIP (Voice over internet protocol) application. All essential analog modules are embedded in CM109, including dual DAC and earphone driver, ADC, microphone booster, PLL, regulator, and USB transceiver. 8 GPIO pins can constitute a 24 key matrix directly support keypad control function without MCU. It’s also support buzzer output pin for VoIP application. In addition, audio adjustment can be easily controlled via specific HID compliant volume control pins. Many features are programmable with jumper pins or external EEPROM. Vender can customized unique USB VID/PID to EEPROM for VoIP software authentication. Moreover, individual unique phone number for each device is possible via serial number stored in external EEPROM. Moreover, CM109 provided I2C interface with MCU application for LCM integrated and advanced functions. VoIP applications are becoming increasing popular as VoIP can provide free or low-cost calling worldwide. To provide a VoIP experience that is the same as using a regular phone and eliminate the poor call quality that results from using the PC audio, C-Media has developed CM109 USB Controller that enables a regular phone, handset, or headset which is interfaced to the USB port on the PC. With the C-Media OEMs can quickly bring to market a family of low cost high quality VoIP products.
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 Operation System Mixer Unit Enable/Disable under Headset Mode
Date: 08/Sep/2005
-4-
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
For Speaker Mode, USB audio function topology has 1 Input Terminal, 1 Output Terminal, and 1 Feature Unit Support one Control Endpoint, one Isochroous out Endpoint, one Isochroous in Endpoint, and one Interrupt in Endpoint Alternate zero bandwidth setting for releasing playback bandwidth on USB Bus when this device is inactive Volume up, volume down, and playback mute support USB HID 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 Supports AES/EBU, IEC60958, S/PDIF Consumer Formats for Stereo PCM Data at S/PDIF Output 8 GPIO Pins with Read/Write via HID Embedded Buzzer Function controlled by Register Support I2C Interface for External MCU Integrated Jumper Pin for Output Voltage Swing (3.5V or 2.5V) Jumper Pin for Power Mode Setting Isochroous 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 Buffer 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 Support Hardware SDK tool for third-party software or soft-phone development
Date: 08/Sep/2005
-5-
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
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
GPIO3 DVSS1 GPIO4 GPIO5 GPIO6 MUTEP BUZZ GPIO7 LEDR GPIO8 TEST AVSS1
Pin #
25 26 27 28 29 30 31 32 33 34 35 36
Signal Name
VBIAS VREF MICIN VSEL AVDD1 LOL LOBS LOR 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 SCLK MINT SDAT MCLK VOLDN
3.2 PIN-OUT DIAGRAM
Date: 08/Sep/2005
-6-
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
3.3 PIN SIGNAL DESCRIPTIONS
Pin #
1 2 3 4 5 6 7 8 9 10
Symbol
SPDIFO DW DR SK CS MUTER PWRSEL XI XO MODE
Type
DO, 8mA, SR DIO, 8mA, PD, 5VT DO, 4mA, SR DO, 4mA, SR DO, 4mA, SR DI, ST, PU DI, ST DI DO DI, ST DIO, 8mA, PD, 5VT DO, SR, 8mA DIO, 8mA, PD, 5VT P DIO, 8mA, PD, 5VT DIO, 8mA, PD, 5VT DIO, 8mA, PD, 5VT DI, ST, PU DO, 8mA, SR DIO, 8mA, PD, 5VT DO, SR, 8mA DIO, 8mA, PD, 5VT DI, ST, PD P SPDIF Output
Description
USB Controller Data Read From EEPROM Interface. EEPROM Data Output. USB Controller Data Writes to EEPROM Interface. EEPROM Data Input. EEPROM Interface Clock (100KHz) EEPROM Interface Chip Select Mute Recording (Edge Trigger with de-Bouncing) H: Pull Up to 3.3V; L: Pull Down to Ground Speaker Mode H:Self Power with 100mA;L:Bus Power with 500mA Headset Mode H:Bus Power with 100mA;L:Bus Power with 500mA Input Pin for 12MHz Oscillator Output Pin for 12MHz Oscillator H: Pull Up to 3.3V; L: Pull Down to Ground L:Headset Mode: Playback & Recording H:Speaker Mode: Playback Only GPIO Pin LED for Operation; Output H for Power On; Toggling for Data Transmit GPIO Pin Digital Grounding GPIO Pin GPIO Pin GPIO Pin Mute Playback (Edge Trigger with de-Bouncing) Buzzer Output Pin GPIO Pin LED for Mute Recording Indicator; Output H when Recording is Muted GPIO Pin Test Mode Select Pin; Pull Low for Normal Operation Analog Ground
11 12 13 14 15 16 17 18 19 20 21 22 23 24
GPIO2 LEDO GPIO3 DVSS1 GPIO4 GPIO5 GPIO6 MUTEP BUZZ GPIO7 LEDR GPIO8 TEST AVSS1
Date: 08/Sep/2005
-7-
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
25 26 27 28 29 30 31 32 33 34 35 36 37
VBIAS VREF MICIN VSEL AVDD1 LOL LOBS LOR AVSS2 AVDD2 DVDD DVSS2 REGV
AO AO AI AI P AO AO AO P P P P AO
Microphone Bias Voltage Supply (4.5V) Connecting to External Decoupling Capacitor for Embedded Bandgap Circuit; 2.25V Output Microphone Input Line Out Voltage Swing Select H: Pull Up to 5V, L: Pull Down to Ground L: 2.5Vpp Output;H: 3.5Vpp Output 5V Analog Power for Analog Circuit Line Out Left Channel DC 2.25V Output for Line Out Bias Line Out Right Channel Analog Ground 5V Analog Power for Analog Circuit 5V Power Supply to Internal Regulator Digital Grounding 3.3V Reference Output for Internal 5V 3.3V Regulator
38
MSEL
DI, ST
Mixer Enable Select H: Pull Up to 3.3V, L: Pull Down to Ground L: Without Mixer; H: With Mixer (With Default Mute) USB Descriptors are changed accordingly Volume Up (Edge Trigger with de-Bouncing) Power Down Switch Control (for PMOS Polarity) 0: Normal Mode, 1: Power Down Mode USB Data D+ USB Data DGPIO Pin External MCU Serial Bus Clock Pin External MCU Interrupt Pin When Register Address 4 ~ 7 has new data, MINT is set Low; after MCU read MINT is reset to H External MCU Serial Bus Data Pin External MCU Clock Pin, Clock Frequency is Programmable Default is 1.5 MHz (Options Include, 6MHz, 3MHz, 1.5MHz) Volume Down (Edge Trigger with de-Bouncing)
39 40 41 42 43 44
VOLUP PDSW USBDP USBDM GPIO1 SCLK
DI, ST, PU DO, 4mA , OD AIO AIO DIO, 8mA, PD, 5VT DIO, 8mA, PD, 5VT DO, 4mA, SR DIO, 8mA, PD, 5VT DO, 4mA, SR DI, ST, PU
45
MINT
46 47 48
SDAT MCLK VOLDN
Date: 08/Sep/2005
-8-
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
Note: DI – Digital Input Pad, DO – Digital Output Pad, DIO – Digital bi-Directional Pad, AI/AO/AIO – Analog Pad, SR Slew Rate Control, ST – Schmitt Trigger, PD/PU – Pull Down or Pull Up, 5VT – 5 Volt Tolerant (3.3V Pad), OD – Open Drain
4. MCU INTERFACE
CM109 provides a serial MCU Interface for external MCU to access internal registers with these registers access. MCU and host side software can have bi-directional communication. This interface can keep flexibility for external module control and integrate, such as LCD panel.
5. BLOCK DIAGRAM
PWRSEL MODE PDSW MSEL VOLUP VOLDN MUTER LEDO MCU MUTEP LEDR I/F GPIO BUZZ SPDIFO
REGV
5 -> 3.3 regulator USB control
3.3V
interface logics
reset
power on reset
-
VREF
+
LOBS
CS SK DW DR
16 bit DAC
EEPROM interface
LOL
0 ~ -45dB 38 steps
USB interface
ISO out processing
16 bit DAC
0 ~ -45dB 38 steps
LOR
USBDP USBDM
USB TRX ISO in processing
48 MHz
SRAM
+12 ~ -33 dB 32 steps
16 bit ADC
+22.5 ~ 0 dB 16 steps
MICIN
+20dB boost enable
12 MHz
PLL1 clock gen
VREF (2.25V)
VREF 4.5V VBIAS
bandgap
Block Diagram Of CM109 Date: 08/Sep/2005
-9-
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
6. ORDERING INFORMATION
Model Number CM109 Package 48-Pin LQFP 7mm×7mm×1.4mm (Plastic) Operating Ambient Temperature 0 o C to +70 o C Supply Range DVdd = 5V, AVdd = 5V
Outline Dimensions
Dimensions shown in inches and (mm)
48-Lead Thin Plastic Quad Flatpack (LQFP)
Ordering Information Of CM109
Date: 08/Sep/2005
- 10 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
7. FUNCTION DESCRIPTIONS
7.1 USB Interface
CM109 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 CM109; therefore no additional design effort is needed for a generic USB operation. PID changes with the jumper pin setting so different setting 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. CM109 automatically detects 93C46 existence and performs the overwrite function during power up. 7.1.1 Device Descriptor Offset 0 1 2 4 5 6 7 8 10 12 14 15 16 17 Field bLength bDescriptorType bcdUSB bDeviceClass bDeviceSubClass bDeviceProtocol bMaxPacketSize0 idVendor idProduct bcdDevice iManufacturer iProduct iSerialNumber bNumConfigurations Size 1 1 2 1 1 1 1 2 2 2 1 1 1 1 Value (Hex) 12 01 0110 00 00 00 40 0d8c 0008 ~ 000F 0100 01 02 03 01 Description Total 18 Bytes Device Descriptor USB 1.1 compliant.
Endpoint zero Size = 64 bytes Vendor ID Product ID Programmable by MSEL and MODE pin Device compliant to the Audio Device Class specification version 1.00 Index of string descriptor describing manufacturer Index of string descriptor describing product Index of string descriptor describing the device’s serial number Configurations number = 1
Note: VID, PID, and serial number can be overridden by external EEPROM content Date: 08/Sep/2005
- 11 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone 7.1.2 Configuration Descriptor Offset 0 1 2 Field bLength bDescriptorType wTotalLength Size 1 1 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 (Decided by Speaker Mode and Head Set mode): 0: control interface 1: ISO-OUT interface 2: ISO-IN interface (Option) 3: 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
4
bNumInterfaces
1
5 6 7 8
bConfigurationValue iConfiguration bmAttributes bMaxPower
1 1 1 2
7.1.3 Content Format for 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 address = 0
1W = 2B ytes
i d code 2 bytes V ID 2 bytes P ID 2 bytes serial num ber 6 bytes
unused
Content Format for 93C46 Date: 08/Sep/2005
- 12 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone 7.1.4 USB Audio Topology Diagram
USB O ut IT ID = 0 1 Speaker out OT ID = 0 6 M ix e r U n it ID = 0 F F e a tu re U n it (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 F e a tu re U n it (v o lu m e ) (m u te ) ID = 0 9
U S B IN M ic ro p h o n e In IT ID = 0 2 F e a tu re U n it (v o lu m e ) (m u te ) ID = 0 A s e le c to r U n it ID = 0 8 OT ID = 0 7
USB Audio Topology Diagram
7.2 Jumper Pins and Mode Setting:
Several jumper pins can set the configuration of CM109. These jumper pin settings affect both USB descriptors and USB audio topology. If MODE pin is pulled up to 3.3V (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. The following USB audio topology in Chapter: 7.1.4 is an example of headset mode. PWRSEL pin affects the power configuration of CM109; together with MODE pin totally 4 combinations are programmable. Date: 08/Sep/2005
- 13 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
Combinations
MODE 3.3V 3.3V Speaker Mode : Playback Only (Self Power with 100mA) Speaker Mode : Playback Only (Bus Power with 500mA) GND Headset Mode : Playback + Recording (Bus Power with 100mA) Headset Mode : Playback + Recording (Bus Power with 500mA)
PWRSEL GND
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.
7.3 HID Feature and Descriptions
HID feature is provided by CM109 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 CM109 internal registers can be accessed via HID function call. 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. Date: 08/Sep/2005
- 14 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone 7.3.1 HID Descriptor HID Interface Descriptor Offset Field Size 0 bLength 1 1 bDescriptorType 1 2 bInterfaceNumber 1 3 bAlternateSetting 1 4 5 6 7 8 bNumEndpoints bInterfaceClass bInterfaceSubClass bInterfaceProtocol iInterface 1 1 1 1 1
Value (Hex) 09 04 03 00 01 03 00 00 00
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.
HID Descriptor Offset Field 0 bLength 1 bDescriptorType 2 bcdHID 4 bCountryCode 5 bNumDescriptors 6 bDescriptorType 7 wDescriptorLength
Size 1 1 2 1 1 1 2
Value (Hex) 09 21 0100 00 01 22 0030
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
Date: 08/Sep/2005
- 15 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone 7.3.2 Windows Software Architecture for HID
Applications Winmm.dll User32.exe or User.exe Direct Input C-Media SDK Reports (device specification)
HID.dll
Audio Driver Keyboard Class Driver Mouse Class Driver HID Class Driver(HIDCLASS.SYS) Gameport MiniDriver(HIDGAME.SYS) Gameport USB USB HUB Driver(USBHUB.SYS) USB Class Driver(USBD.SYS) PCI Enumerator Joy Stick Class Driver
Note: Please contact with our sales for the C-Media SDK example if needed.
7.4 Internal Registers
All internal registers of CM109 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 CM109 are used to control GPIO, S/PDIF output, EEPROM and MCU data access. Host side HID or external MCU can access CM109 internal registers. With both sides accessed to the same set of registers, two-way communication can be achieved. 7.4.1 Access via HID Class Command: HID_IR0 to HID_IR3 are HID input report and is use by host side receiving data to CM109. HID_OR0 to HID_OR3 are HID output report and is used by host side sending adta to CM109 HID interrupt will occur when HID_IR0-3 are updated by button status MCU (and GPI in case HID_IR0[7:6] == 2’b00).
Date: 08/Sep/2005
- 16 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone HID_IR0 (HID input report byte 0) Offset : 0x00 Bits 7-6 Read/Write Description R When HID_OR0[7] == 1’b0: HID_IR0-3 are programmed by MCU (and GPI) 0: HID_IR1 is used as GPI 1: HID_IR0-3 are used as generic HID registers 2: Values written to HID_IR0-3 are also mapped to MCU_CTRL, EEPROM_DATA0-1, EEPROM_CTRL 3: Reserved R When HID_OR0[7] == 1’b0: Generic registers programmed by MCU When HID_OR0[7] == 1’b1: Mapped from MCU_CTRL[5:4] R 0: No activity on Record-Mute button 1: Record-Mute button pressed then released R 0: No activity on Playback-Mute button 1: Playback-Mute button pressed then released R 0: Volume-Down button released 1: Volume-Down button pressed R 0: Volume-Up button released 1: Volume-Up button pressed Default 0x0
5-4
0x0
3 2 1 0
0x0 0x0 0x0 0x0
HID_IR1 (HID input report byte 1) Offset : 0x01 Bits 7-0 Read/Write Description Default R When HID_OR0[7] == 1’b0: 0x00 GPI (when HID_IR0[7:6] == 2’b00); or Generic registers programmed by MCU (otherwise) When HID_OR0[7] == 1’b1: Mapped from EEPROM_DATA0
HID_IR2 (HID input report byte 2) Offset : 0x02 Bits 7-0 Read/Write Description R When HID_OR0[7] == 1’b0: Generic registers programmed by MCU When HID_OR0[7] == 1’b1: Mapped from EEPROM_DATA1 Default 0x00
Date: 08/Sep/2005
- 17 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone HID_IR3 (HID input report byte 3) Offset : 0x03 Bits 7-0 Read/Write Description R When HID_OR0[7] == 1’b0: Generic registers programmed by MCU When HID_OR0[7] == 1’b1: Mapped from EEPROM_CTRL Default 0x00
HID_OR0 (HID output report byte 0) Offset : 0x04 Bits 7-6 Read/Write Description R/W 0: HID_OR1-2 are used for GPO; HID_OR0, 3 are used for buzzer and SPDIF 1: HID_OR0-3 are used as generic HID registers 2: Values written to HID_OR0-3 are also mapped to MCU_CTRL, EEPROM_DATA0-1, EEPROM_CTRL (see Note) 3: Reserved R/W When HID_OR0[7] == 1’b0: 0: Buzzer off 1: Buzzer on When HID_OR0[7] == 1’b1: Mapped to MCU_CTRL[5] R/W When HID_OR0[7] == 1’b0: Valid bit in SPDIF frame When HID_OR0[7] == 1’b1: Mapped to MCU_CTRL[4] R/W When HID_OR0[7] == 1’b0: First nibble of SPDIF status channel When HID_OR0[7] == 1’b1: Reserved Default 0x0
5
0x0
4
0x0
3-0
0x0
Note : When EEPROM access is done, HID interrupt will occur. USB host can get the result from interrupt pipe (endpoint 3).
Date: 08/Sep/2005
- 18 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone HID_OR1 (HID output report byte 1) Offset : 0x05 Bits 7-0 Read/Write Description R/W When HID_OR0[7:6] == 2’b00: 0: GPO drives L 1: GPO drives H When HID_OR0[7:6] == 2’b01: Generic HID registers When HID_OR0[7:6] == 2’b1x: Mapped to EEPROM__DATA0 Default 0x00
HID_OR2 (HID output report byte 2) Offset : 0x06 Bits 7-0 Read/Write Description R/W When HID_OR0[7:6] == 2’b00: 0: Set GPIO to input mode 1: Set GPIO to output mode When HID_OR0[7:6] == 2’b01: Generic HID registers When HID_OR0[7:6] == 2’b1x: Mapped to EEPROM_DATA1 Default 0x00
HID_OR3 (HID output report byte 3) Offset : 0x07 Bits 7-0 Read/Write Description R/W 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 7.4.2 Access via External Serial Interface by MCU: External MCU can write data to HID_IR0 to HID_IR3 and read data from HID_OR0 to HID_OR3. MINT will be active when HID_OR0-3 are updated by Set_Output_Report HID class command, and will be cleared after HID_OR0-3 are read by MCU.
Date: 08/Sep/2005
- 19 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone HID_IR0 (HID input report byte 0) Offset : 0x00 Bits 7-6 Read/Write Description R/W 0: HID_IR0-3 are not used by MCU 1: HID_IR0-3 are used as generic HID registers 2: Values written to HID_IR0-3 are also mapped to MCU_CTRL, EEPROM_DATA0-1, EEPROM_CTRL (see Note) 3: Reserved R/W When HID_IR0[7] == 1’b0: 0: Buzzer off 1: Buzzer on When HID_IR0[7] == 1’b1: Mapped to MCU_CTRL[5] R/W When HID_IR0[7] == 1’b0: Generic HID register When HID_IR0[7] == 1’b1: Mapped to MCU_CTRL[4] R 0: No activity on Record-Mute button 1: Record-Mute button pressed then released R 0: No activity on Playback-Mute button 1: Playback-Mute button pressed then released R 0: Volume-Down button released 1: Volume-Down button pressed R 0: Volume-Up button released 1: Volume-Up button pressed Default 0x0
5
0x0
4
0x0
3 2
0x0 0x0
1 0
0x0 0x0
Note: When EEPROM access is done, MINT will be active. MCU should read HID_OR0-3 to get the result, and then MINT will be cleared. HID_IR1 (HID input report byte 1) Offset : 0x01 Bits 7-0 Read/Write Description R/W When HID_IR0[7] == 1’b0: Generic HID registers When HID_IR0[7] == 1’b1: Mapped to EEPROM_DATA0 Default 0x00
Date: 08/Sep/2005
- 20 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone HID_IR2 (HID input report byte 2) Offset : 0x02 Bits 7-0 Read/Write Description R/W When HID_IR0[7] == 1’b0: Generic HID registers When HID_IR0[7] == 1’b1: Mapped to EEPROM_DATA1 Default 0x00
HID_IR3 (HID input report byte 3) Offset : 0x03 Bits 7-0 Read/Write Description R/W When HID_IR0[7] == 1’b0: Generic HID registers When HID_IR0[7] == 1’b1: Mapped to EEPROM_CTRL Default 0x00
HID_OR0 (HID output report byte 0) Offset : 0x04 Bits 7-6 Read/Write Description R When HID_IR0[7] == 1’b0: HID_OR0-3 are programmed by USB host 0: HID_OR1-2 are used for GPO 1: HID_OR0-3 are used as generic HID registers 2: Values written to HID_OR0-3 are also mapped to MCU_CTRL, EEPROM_DATA0-1, EEPROM_CTRL 3: Reserved When HID_IR0[7] == 1’b1: Always 2’b11 R When HID_IR0[7] == 1’b0: Generic registers programmed by USB host When HID_IR0[7] == 1’b1: Mapped from MCU_CTRL[5:4] R When HID_IR0[7] == 1’b0: Generic registers programmed by USB host When HID_IR0[7] == 1’b1: Always 4’h0 Default 0x0
5-4
0x0
3-0
0x0
Date: 08/Sep/2005
- 21 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone HID_OR1 (HID output report byte 1) Offset : 0x05 Bits 7-0 Read/Write Description R When HID_IR0[7] == 1’b0: Generic registers programmed by USB host When HID_IR0[7] == 1’b1: Mapped from EEPROM_DATA0 Default 0x00
HID_OR2 (HID output report byte 2) Offset : 0x06 Bits 7-0 Read/Write Description R When HID_IR0[7] == 1’b0: Generic registers programmed by USB host When HID_IR0[7] == 1’b1: Mapped from EEPROM_DATA1 Default
HID_OR3 (HID output report byte 3) Offset : 0x07 Bits 7-0 Read/Write Description R When HID_IR0[7] == 1’b0: Generic registers programmed by USB host When HID_IR0[7] == 1’b1: Mapped from EEPROM_CTRL Default 0x00
7.4.3
Indirect Accessed Registers:
MCU_CTRL (MCU control) Offset : 0x08 Bits 7-6 5-4 Read/Write Description -Reserved R/W 0: MCLK operating at 1.5MHz 1: MCLK operating at 3MHz 2: MCLK operating at 6MHz 3: Reserved -Reserved Default 0x0 0x0
3-0
0x0
Date: 08/Sep/2005
- 22 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone EEPROM_DATA0 (Low byte of EEPROM data) Offset : 0x09 Bits 7-0 Read/Write Description R/W Low byte of EEPROM data to be accessed Default 0x00
EEPROM_DATA1 (High byte of EEPROM data) Offset : 0x0a Bits 7-0 Read/Write Description R/W High byte of EEPROM data to be accessed Default 0x00
EEPROM_CTRL (Serial EEPROM access control) Offset : 0x0b Bits 7 Read/Write Description R/W When Register Read: 0: No EEPROM access pending 1: Last EEPROM access pending When Register Write: 0: No action 1: Start EEPROM access (will clear to 0 automatically) R/W 0: Read EEPROM 1: Write EEPROM R/W Address of serial EEPROM Default 0x0
6 5-0
0x0 0x00
7.5 MCU Interface
On MCU serial interface, CM109 serves as a slave device with bit rate up to 400Kbps (fast mode). MCU can read/write 3 bytes to CM109 device with a 2-bit register address. Since host side and MCU can both access to all the internal registers, access contention when both host and MCU try to access the same register should be avoided on application. The 7-bit slave address of CM109 is assigned as 7’b0111000. When a one-byte data is written by MCU, CM109 will transfer totally 4 bytes to the USB host via an additional interrupt pipe. The sequence of the upward HID report is the button status first (address 00), then register with address 01, then register with address 02, then register with address 03. The USB host will keep polling the upward HID Date: 08/Sep/2005
- 23 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone report every 32mS. When there is any button pressed or released, or MCU data coming, CM109 will transfer the 4 bytes of HID report to the USB host again. CM109 can also transfer one byte MCU data from the USB host to its register. This is accomplished by a ‘Set Output Report’ HID class request via default control pipe. MCU can get this downward byte by interrupt or polling. CM109 has one input pin ‘SCLK’ where it gets serial clock from MCU, and one open-drain output pin ‘SDAT’ where it sends or receives serial signal to/from MCU. As shown below, ‘SDAT’ should be stable when ‘SCLK’ is high, and can have transition only when ‘SCLK’ is low.
START and STOP conditions shown below are the exception. Every transaction begins from a START, and ends with a STOP, or another START (repeated START).
Date: 08/Sep/2005
- 24 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone The figure below demonstrates a typical transaction. After every 8 bits sent by the transmitter, the receiver should send one bit low for positive acknowledgement or one bit high for negative acknowledgement. After the negative acknowledgement, a STOP or repeated START should follow. The next figure shows more detailed about acknowledgement bit. Note that ‘SCLK’ is always driven by the master.
P
SDAT
MSB
Acknowledgement Signal from Receiver
Acknowledgment Signal from Receiver
Sr
SCLK S or Sr START or Repeated START Condition 1 2 7 8 9 ACK 1 2 3-8 9 ACK
Sr or P STOP or Repeated START Condition
Data Transfer on the MCU Interface
The figure below shows a complete data transfer. After a START, MCU should send 7-bit slave address (7’b0111000) first, and then the 8th bit denotes a read transfer when it’s high; or a write transfer when it’s low. The first acknowledgement is always from CM109.
Date: 08/Sep/2005
- 25 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone In the write transfer, MCU keep acting as the master and the transfer direction is not changed. The following figure gives an example of one byte write transfer.
CM109 regards the first DATA byte as the register address. The second DATA byte is the content that MCU writes at the register address. If there is the third DATA byte, CM109 will auto-increment this byte to the next register address. The figure below shows an example of two bytes read transfer. Because CM109 has auto-increment function, the second DATA byte will be the register data on the next address.
Please note that the USB host tries to get new HID data every 32mS. It’s quite slow. If the continuous write transfers are too close in time, the former transfer may have no effect. Date: 08/Sep/2005
- 26 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone The figure below shows typical transactions between MCU and CM109. After a START, MCU should send 7-bit slave address (0111000) first, and then the 8th bit denotes a read transfer when it’s high; or a write transfer when it’s low.
MCU write: S 0x70 MCU read: S 0x70 S 0x71 0 0x00 0 Byte 0 0 Byte 1 0 Byte 2 0 Byte 3 0 P
0 0
0x04 0 Byte 0 0
Byte 1 0
Byte 2 0
Byte 3 1
P
From CM109 to MCU S 0 Byte n START condition Positive acknowledge One byte data (address n) P 1
From MCU to CM109 STOP condition Negative acknowledge
In a write transfer, MCU keeps acting as the transmitter. CM109 regards the first DATA byte as start register address (it’s better to be 0x00). The following four DATA bytes are the content that MCU writes to the register addresses. In a read transfer, two transactions are necessary. MCU resets start register address by the first transaction. Then MCU changes to be the receiver during the second transaction to get four bytes of data. Note 1: Bits 0~3 of the first HID byte always reflect button activity, so they can not be written by MCU.
Date: 08/Sep/2005
- 27 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
7.6 Buzzer Output
Each time the software set "1" to the register HID-OR0 bit 5, an embedded ringing sequence is played once. Since the delay between one sequence and next sequence is long (around 1 second ~ 2 second), this delay to be set by software, H/W only play one sequence and then stop for one register write.
ringing phase content
0.025 sec 0.025 sec 0.025 sec 0.025 sec 0.025 sec 0.025 sec 0.025 sec 0.025 sec
5KHz
300Hz
5KHz
300Hz
5KHz
300Hz
5KHz
300Hz
0.2 sec ringing
0.1 sec
0.2 sec ringing
0.4 sec silent
0.2 sec ringing
0.1 sec
0.2 sec ringing silent & w next trigger ait
silent
silent
Date: 08/Sep/2005
- 28 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
8. ELECTRICAL CHARACTERISTICS
8.1 Absolute Maximum Rating
Symbol Dvmin Dvmax Avmin Avmax Dvinout Avinout Tstg ESD (HBM) ESD (MM) 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
8.2 Operation Conditions
Operation conditions Min Analog Supply Voltage Digital Supply Voltage Total Power Consumption Suspend Mode Power Consumption Operating ambient temperature 4.5 4.5 0 Typ 5.0 5.0 320 Max 5.5 5.5 TBD 70 uA
0
Unit V V
C
Date: 08/Sep/2005
- 29 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
8.3 Electrical Parameters
Min Typ DAC (10K Ohm Loading) Resolution 16 THD + N (-3dBr) -74.29 SNR 93.6 Silent SNR 98.2 Dynamic range 93.8 Frequency response 48KHz 20 Frequency Response 44.1KHz 20 Output Boltage (rms) 1.25 Output Voltage Swing 0.5 DAC (32 Ohm Loading) Resolution 16 THD + N (-3dBr) -71.1 SNR 93.7 Silent SNR 98.2 Dynamic Range 93.8 Frequency Response 48KHz 20 Frequency Response 44.1KHz 20 Output Voltage (rms) 1.25 Output Voltage Swing 0.5 ADC Resolution 16 THD + N (-3dBr) -76.1 SNR 83.1 Dynamic Range 81.6 Frequency Response 48KHz 20 Frequency Response 44.1KHz 20 Input Range 0 Amplification Volume Control Level -45 Volume Control Step 38 Microphone Input Boost Gain +20 Gain Adjustment Range 0 Gain Adjustment Steps 16 Mixer Gain Adjustment -33.0 Mixer Gain Adjustment Steps 32 Date: 08/Sep/2005
- 30 -
Max 20K 20K 4.0 20K 20K 4.0 19.2 17.6 2.88 0 22.5 12.0 -
Unit Bits dB dB dB dB Hz Hz Vrms V Bits dB dB dB dB Hz Vrms V bit dB dB dB Hz Hz Vpp dB Steps dB dB Steps dB Steps Version: 1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
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 -m e d ia D ig ital P layb ac k (P C -D -A ) f o r L ine O utp ut F re q ue nc y R e s p o ns e 0 7 /1 5 /0 3 1 9 :0 3 :1 4
+1 +0 d B r A -1 -2 -3 -4 -5 -6 30 50 100 200 500 Hz
C o lo r G re e n Ye llo w L in e S tyle S o lid S o lid Th ic k 2 2 D a ta Fa s tte s t.C h .1 Am p l!N o rm a lize Fa s tte s t.C h .2 Am p l!N o rm a lize Axis L e ft L e ft
1k
2k
5k
10k
W L -Mu ltito n e -4 8 k .a t2
9.1.2 Frequency Response 44.1Ks/Sec (10K Ohm Loading)
C -m e d ia D ig ital P layb ac k (P C -D -A ) fo r L ine O utp ut F re q ue nc y R e s p o ns e 0 7 /1 5 /0 3 1 9 :0 5 :4 0
+1 +0 d B r A -1 -2 -3 -4 -5 -6 20 50 100 200 500 Hz
C o lo r G re e n Ye llo w L in e S tyle S o lid S o lid Th ick 2 2 D a ta Fa s tte s t.C h .1 Am p l!N o rm a lize Fa s tte s t.C h .2 Am p l!N o rm a lize Axis L e ft L e ft
1k
2k
5k
10k
W L -Mu ltito n e -4 4 k .a t2
Date: 08/Sep/2005
- 31 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
9.2 Digital Playback for Line Output Frequency (32 Ohm Loading)
9.2.1 Frequency Response 48Ks/Sec (32 Ohm Loading)
C -m e d ia
+1 +0 d B r 1 -1 -2 -3 -4 -5 -6 20
D ig ital R e c o rd ing (A -D -P C ) fo r L ine Inp ut F re q ue nc y R e s p o ns e
50
100
200
500 Hz
1k
2k
5k
10k
C o lo r C ya n Ye llo w
L in e S tyle S o lid S o lid
Th ick 2 2
D a ta Fa s tte s t.C h .1 Am p l!N o rm a lize Fa s tte s t.C h .2 Am p l!N o rm a lize
Axis L e ft L e ft
L W -MFre q R e s p -4 8 K .a t2
9.2.2 Frequency Response 44.1Ks/Sec (32 Ohm Loading)
C -m e d ia
+1 +0 -1 d B -2 -3 -4 -5 -6 20
D ig ital R e c o rd ing (A -D -P C ) fo r L ine Inp ut F re q ue nc y R e s p o ns e
50
100
200
500 Hz
1k
2k
5k
10k
C o lo r G re e n Ye llo w
L in e S tyle S o lid S o lid
Th ick 2 2
D a ta Fa s tte s t.C h .1 Am p l!N o rm a lize Fa s tte s t.C h .2 Am p l!N o rm a lize
Axis L e ft L e ft
L W -MFre q R e s p -4 4 K .a t2
Date: 08/Sep/2005
- 32 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
9.3 Digital Recording for Line Output Frequency
9.3.1 Frequency Response 48Ks/Sec
C -ME D IA D igital P layb ack (P C -D -A ) fo r Line O utp ut F reque ncy R e sp onse 0 7 /2 1 /0 3 1 4 :2 7 :2 9
+1 +0 d B r A -1 -2 -3 -4 -5 -6 30 50 100 200 500 Hz
Sw e e p 1 1 Tra ce 1 2 C o lo r C ya n Ye llo w L in e Style So lid So lid Th ick 2 2 D a ta Fa s tte s t.C h .1 Am p l!N o rm a lize Fa s tte s t.C h .2 Am p l!N o rm a lize WL -Mu ltito n e -4 8 k.a t2 c Axis L e ft L e ft C om m ent
1k
2k
5k
10k
9.3.2 Frequency Response 44.1Ks/Sec
C -ME D IA D ig ital P layb ac k (P C -D -A ) fo r L ine O utp ut F re q ue nc y R e sponse 0 7 /2 1/0 3 1 5 :1 6:5 5
+1 +0 d B r A -1 -2 -3 -4 -5 -6 20 50 100 200 500 Hz
Sw e e p 1 1 Tra ce 1 2 C o lo r C ya n Ye llo w L in e Style So lid So lid Th ick 2 2 D a ta Fa s tte s t.C h.1 Am p l!N o rm a lize Fa s tte s t.C h.2 Am p l!N o rm a lize WL -Mu ltito n e -4 4 k.a t2 c Axis L e ft L e ft Com m ent
1k
2k
5k
10k
Date: 08/Sep/2005
- 33 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
10. APPLICATION CIRCUIT REFERENCE
Date: 08/Sep/2005
- 34 -
Version:
1.3a
CM109
High Integration / Low Cost USB Audio Controller for PC Internet Phone
REFERENCE
USB-IF, USB Specification, Revision 1.1 and 2.0, and USB Audio Device Class Specification, Revision 1.0,.
-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 URL:http://www.cmedia.com.tw
Date: 08/Sep/2005
- 35 -
Version:
1.3a