Part Number Hot Search : 
B1006 N74LVC 00WAE 4CV33BE L6205P 40CDQ020 AMS385BS 6038015
Product Description
Full Text Search
 

To Download WM9093ECSR Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  w wm9093 ultra low power audio subsystem wolfson microelectronics plc [1] this product is protected by us patents 7,622,984 and 7,626,445 to receive regular email updates, sign up at http://www.wolfsonmicro.com/enews production data, march 2012, rev 4.2 copyright ? 2012 wolfson microelectronics plc description the wm9093 [1] is a high performance low power audio subsystem, including headphone driver and class ab/d earpiece/speaker driver. the class d speaker driver supports 650mw output power at 3.6v, 1%thd. the unique dual mode charge pump architecture provides ground referenced headphone outputs removing the requirement for external coupling capacitors. class g technology is integrated to increase the efficiency and extend playback time by optimizing the headphone driver supply voltages according to the volume control. the flexible input configuration allows single ended or differential stereo inputs. mixers allow highly flexible routing to the outputs. a ?voice bypass? path is also available for low-power voice applications. the wm9093 is controlled using a two-wire i2c interface. an integrated oscillator generates all internal clocks, removing the need to provide any external clock. separate mixer and volume controls are provided for each headphone and speaker driver. automatic gain control limits the speaker output signal in order to prevent clipping. dc offset correction to less than 1mv guarantees a pop/click-free headphone start up. the wm9093 is available in a 2.0mm x 2.5mm 20-bump csp package. features ? mono class d speaker driver - 2w at 5v svdd @1%thd+n into 4 ? - 650mw at 3.6v svdd @1%thd+n into 8 ? - 92db snr ? ground referenced stereo headphone driver - 34mw into 16 ? load @ 1% thd+n - 96db snr - 80db thd+n ? mono class ab earpiece driver - 40mw into 8 ? load ? differential and single ended analogue input configurations ? integrated oscillator for clocking requirements ? i 2 c 2-wire software control interface ? automatic gain control (agc) for class d speaker output ? pop and click suppression, < 1mv dc offset ? <50ms start up time ? excellent rf and tdma noise immunity ? ultra low power consumption - 4mw quiescent for headphone driver - 5mw quiescent for speaker driver (class d) ? shutdown current < 1ua ? supply voltage - svdd = 2.7v to 5.5v - hpvdd = 1.8v ? 1.8v to 2.7v control interface compatibility ? 20-bump csp package applications ? mobile handsets block diagram
wm9093 production data w pd, march 2012, rev 4.2 2 table of contents description ....................................................................................................... 1 ? features ............................................................................................................ 1 ? applications ..................................................................................................... 1 ? block diagram ................................................................................................ 1 ? table of contents ......................................................................................... 2 ? pin configuration .......................................................................................... 4 ? ordering information .................................................................................. 4 ? pin description ................................................................................................ 5 ? absolute maximum ratings ........................................................................ 6 ? recommended operating conditions ..................................................... 6 ? electrical characteristics ..................................................................... 7 ? terminology ............................................................................................................. 10 ? performance plots ............................................................................................... 11 ? typical performance ................................................................................. 12 ? power consumption .............................................................................................. 12 ? audio signal paths diagram .................................................................... 13 ? control interface timing ......................................................................... 14 ? device description ...................................................................................... 15 ? introduction ............................................................................................................ 15 ? input signal path .................................................................................................... 16 ? line inputs ............................................................................................................................... .............. 17 ? input pga enable .............................................................................................................. .................. 17 ? input pga configuration ....................................................................................................... ......... 18 ? input pga volume control ...................................................................................................... ....... 18 ? output signal path ................................................................................................ 21 ? output signal paths enable .................................................................................................... ...... 21 ? speaker mixer control ........................ .......................... ................... ................... ................. .......... 22 ? speaker output volume control..... .......................... .......................... ......................... .............. 2 3 ? speaker boost mixer control .......... .......................... .......................... ................... .................. .. 24 ? headphone mixer control ....................................................................................................... ...... 24 ? headphone output volume control .......................................................................................... 27 ? automatic gain control (agc) ........................................................................... 29 ? agc control ................................................................................................................... ..................... 29 ? agc anti-clip ................................................................................................................. ........................ 29 ? agc power limiting ............................................................................................................ ................ 31 ? analogue outputs ................................................................................................. 33 ? speaker output configurations ...... .......................... .......................... .......................... ............. 33 ? headphone output configurations ........................................................................................... 34 ? clocking control .................................................................................................. 35 ? control interface ................................................................................................. 37 ? control write sequencer .................................................................................. 40 ? initiating a sequence.......................................................................................................... .............. 40 ? programming a sequence ........................................................................................................ ...... 41 ? default sequences ............................................................................................................. .............. 43 ? power sequences and pop suppression control .................................... 45 ? input vmid clamps ............................................................................................................. ................. 45 ? headphone enable/disable ...................................................................................................... ....... 46 ? recommended headphone start up sequence ....................................................................... 48 ?
production data wm9093 w pd, march 2012, rev 4.2 3 charge pump ............................................................................................................. 49 ? dc servo ..................................................................................................................... 50? dc servo enable and start-up................................................................................................... ... 50 ? dc servo active modes ......................................................................................................... ........... 52 ? dc servo readback ............................................................................................................. .............. 53 ? reference voltages and master bias ........................................................... 54 ? power management ............................................................................................... 55 ? thermal shutdown ................................................................................................ 57 ? software reset and chip id ............................................................................... 57 ? register map .................................................................................................. 58 ? register bits by address .................................................................................... 60 ? applications information ........................................................................ 77 ? recommended external components ............................................................ 77 ? audio input paths ............................................................................................................. .................. 77 ? power supply decoupling ....................................................................................................... ...... 78 ? headphone output path ......................................................................................................... ......... 78 ? class d speaker connections ........... ........................................................................................ ... 78 ? recommended external components diagram ...................................................................... 80 ? pcb layout considerations ............................................................................... 81 ? class d loudspeaker connection ............................................................................................... 81 ? package dimensions .................................................................................... 82 ? important notice ......................................................................................... 83 ? address: ..................................................................................................................... 83? revision history ........................................................................................... 84 ?
wm9093 production data w pd, march 2012, rev 4.2 4 pin configuration 20-bump csp package; top view ordering information order code temperature range package moisture sensitivity level peak soldering temperature wm9093ecs/r -40 ? c to +85 ? c 20-ball w-csp (pb-free, tape and reel) msl1 260 ? c note: reel quantity = 5000
production data wm9093 w pd, march 2012, rev 4.2 5 pin description pin no name type description a1 hpr analogue output right headphone output a2 hpl analogue output left headphone output a3 cpvss analogue output charge pump negative rail decoupling pin a4 cp analogue output charge pump flyback capacitor pin a5 cn analogue output charge pump flyback capacitor pin b1 bias analogue output mid-rail voltage decoupling pin b2 sda digital input / output control interface data b3 scl digital input control interface clock b4 hpvdd supply analogue supply b5 cpvdd analogue output charge pump positive rail decoupling pin c1 in1+ analogue input in1 positive analogue input c2 in1- analogue input in1 negative analogue input c3 in3+ analogue input positive analogue input for bypass path c4 gnd supply ground for speaker and charge pump c5 out+ analogue output speaker positive output d1 in2+ analogue input in2 positive analogue input d2 in2- analogue input in2 negative analogue input d3 in3- analogue input negative analogue input for bypass path d4 svdd supply speaker supply d5 out- analogue output speaker negative output
wm9093 production data w pd, march 2012, rev 4.2 6 absolute maximum ratings absolute maximum ratings are stress ratings only. permanent damage to the device may be caused by continuously operating at or beyond these limits. device functional oper ating limits and guaranteed performance specifications are given under electrical characteristics at the test conditions specified. esd sensitive device. this device is manufactured on a cmos process. it is therefore generically susceptible to damage from excessive static voltages. proper esd precautions must be taken during handling and storage of this device. wolfson tests its package types according to ipc/jedec j-st d-020b for moisture sensitivity to determine acceptable storage conditions prior to surface mount assembly. these levels are: msl1 = unlimited floor life at <30 ? c / 85% relative humidity. not normally stored in moisture barrier bag. msl2 = out of bag storage for 1 year at <30 ? c / 60% relative humidity. supplied in moisture barrier bag. msl3 = out of bag storage for 168 hours at <30 ? c / 60% relative humidity. supplied in moisture barrier bag. the moisture sensitivity level for each package type is specified in ordering information. condition min max supply voltages (hpvdd) -0.3v +2.5v supply voltages (svdd) -0.3v +7.0v voltage range digital inputs (scl, sda) gnd -0.3v +3.3v voltage range analogue inputs gnd -0.3v +3.3v operating temperature range, t a -40oc +85oc junction temperature, t jmax -40oc +150oc storage temperature after soldering -65oc +150oc recommended operating conditions parameter symbol min typ max unit charge pump supply range hpvdd 1.71 1.8 2.0 v speaker supply range svdd 2.7 3.6 5.5 v ground gnd 0 v
production data wm9093 w pd, march 2012, rev 4.2 7 electrical characteristics test conditions svdd = 3.6v, hpvdd=1.8v, gnd=0v, t a = +25 o c, 1khz signal, pga gain = 0db unless otherwise stated parameter test conditions min typ max unit analogue input pin maximum signal levels maximum full-scale input signal level for inputs in1+/- and in2+/- single-ended input 1.0 vrms differential input 1.0 vrms maximum full-scale input signal level for inputs in3+/- differential input 0.56 vrms analogue input pin resistance line input resistance in1+/- and in2+/- differential or single- ended mode 8 10 15 k ? line input resistance in3+/- differential mode note that gain is controlled by skoutlboost[2:0] and spk_attn_fb speaker boost = +12db 42 k ? speaker boost = +9db 60 k ? speaker boost = +7.5db 71 k ? speaker boost = +6db 85 k ? speaker boost = +4.5db 101 k ? speaker boost = +3db 120 k ? speaker boost = +1.5db 143 k ? speaker boost = 0db (spk_attn_fb=0) 170 k ? speaker boost = 0db (spk_attn_fb=1) 42 k ? speaker boost = -3db 60 k ? speaker boost = -4.5db 71 k ? speaker boost = -6db 85 k ? speaker boost = -7.5db 101 k ? speaker boost = -9db 120 k ? speaker boost = -10.5db 143 k ? speaker boost = -12db 170 k ? input programmable gain amplifiers (p gas) in1a, in1b, in2a and in2b minimum programmable gain -6 db maximum programmable gain +18 db mute attenuation 80 db common mode rejection ratio differential mode (217hz input) 45 db output programmable gain amplifiers (pgas) spkvol, hpout1lvol and hpout1rvol minimum programmable gain -57 db maximum programmable gain +6 db programmable gain step size guaranteed monotonic 1 db mute attenuation hpout1lvol and hpout1rvol 75 db spkvol 66 db
wm9093 production data w pd, march 2012, rev 4.2 8 test conditions svdd = 3.6v, hpvdd=1.8v, gnd=0v, t a = +25 o c, 1khz signal, pga gain = 0db unless otherwise stated parameter test conditions min typ max unit speaker output programmable gain spkoutlboost programmable gain spkoutlboost=111,spk_attn_fb=0 11.5 12 12.5 db spkoutlboost=110,spk_attn_fb=0 8.5 9 9.5 db spkoutlboost=101,spk_attn_fb=0 7 7.5 8 db spkoutlboost=100,spk_attn_fb=0 5.5 6 6.5 db spkoutlboost=011,spk_attn_fb=0 4 4.5 5 db spkoutlboost=010,spk_attn_fb=0 2.5 3 3.5 db spkoutlboost=001,spk_attn_fb=0 1 1.5 2 db spkoutlboost=000,spk_attn_fb=0 -0.75 0 0.75 db spkoutlboost=111,spk_attn_fb=1 -0.75 0 0.75 db spkoutlboost=110,spk_attn_fb=1 -3.5 -3 -2.5 db spkoutlboost=101,spk_attn_fb=1 -5 -4.5 -4 db spkoutlboost=100,spk_attn_fb=1 -6.5 -6 -5.5 db spkoutlboost=011,spk_attn_fb=1 -8 -7.5 -7 db spkoutlboost=010,spk_attn_fb=1 -9.5 -9 -8.5 db spkoutlboost=001,spk_attn_fb=1 -11 -10.5 -10 db spkoutlboost=000,spk_attn_fb=1 -12.5 -12 -11.5 db headphone driver audio performance (r l = 16 ? ) snr (a-weighted) path from in1+/- or in2+/- 90 96 db thd (p o =20mw) -82 db thd+n (p o =20mw) -80 -72 db thd (p o =5mw) -81 db thd+n (p o =5mw) -79 db crosstalk (l/r) single-ended mode 72 db psrr hpvdd with 100mvpk-pk at 217hz (note 1) 82 db svdd with 100mvpk-pk at 217hz 85 db dc offset magnitude after dc servo calibration 0.3 2 mv output power 0.1% thd+n 31 mw 1% thd+n 34 mw minimum headphone resistance normal operation 15 ?? device survival with load indefinitely applied 1 ? headphone capacitance with zobel network 2 nf quiescent current 4 ma
production data wm9093 w pd, march 2012, rev 4.2 9 test conditions svdd = 3.6v, hpvdd=1.8v, gnd=0v, t a = +25 o c, 1khz signal, pga gain = 0db unless otherwise stated parameter test conditions min typ max unit speaker driver class d audio performance (r l =8 ? + 10 ? h btl) snr (a-weighted) speaker boost = 6db 82 92 db thd (p o =500mw) speaker boost = 6db -75 db thd+n (p o =500mw) speaker boost = 6db -73 db psrr hpvdd with 100mvpk-pk at 217hz (note 1) 75 db svdd with 100mvpk-pk at 217hz 70 db dc offset at load 5 mv efficiency speaker boost = 6db, 0dbfs input 80 89 % output power svdd=5.0v, thd+n 1%, speaker boost = 12db 1300 mw svdd=4.2v, thd+n 1%, speaker boost = 9db 950 mw svdd=3.6v, thd+n 1%, speaker boost = 6db 650 mw quiescent current 3 ma in3 differential voice bypass to earpiece driver class ab (r l =8 ? + 10 ? h btl) snr (a-weighted) 0.56vrms input with speaker boost = 0db gain 98 db thd (p o =30mw) -68 db thd+n (p o =30mw) -66 db psrr hpvdd with 100mvpk-pk at 217hz (note 1) 90 db svdd with 100mvpk-pk at 217hz 85 db dc offset at load 2 mv output power thd+n 1% 160 mw quiescent current 1 ma leakage currents svdd leakage current 0.2 ? a hpvdd leakage current vmid_ena = 0, vmid_buf_ena = 0, and tshut_ena = 0 1 ? a ? analogue reference levels bias midrail reference voltage -3% hpvdd /2 +3% v charge pump start-up time 500 ? s supply voltage 1.71 2.0 v cpvdd normal mode hpvdd v low power mode hpvdd /2 v cpvss normal mode -hpvdd v low power mode -hpvdd /2 v flyback capacitor (between cp and cn) at 2v 1 2.2 ? f cpvdd capacitor at 2v 2 2.2 ? f cpvss capacitor at 2v 2 2.2 ? f
wm9093 production data w pd, march 2012, rev 4.2 10 test conditions svdd = 3.6v, hpvdd=1.8v, gnd=0v, t a = +25 o c, 1khz signal, pga gain = 0db unless otherwise stated parameter test conditions min typ max unit digital input / output input high level 0.7 ? hpvdd v input low level 0.3 ? hpvdd v output high level i ol =1ma 0.7 ? hpvdd v output low level i oh =-1ma 0.3 ? hpvdd v maximum signal level 2.7 v input capacitance 10 pf input leakage -0.9 0.9 ua start-up time start up time speaker and headphone 35 ms note 1: total system psrr with external dc-dc or ldo will be higher. terminology 1. signal-to-noise ratio (db) ? snr is a measure of the difference in level between the maximum full scale output signal and the output with no input signal applied. 2. total harmonic distortion (db) ? thd is the level of the rm s value of the sum of harmonic distortion products relative to the amplitude of the measured output signal. 3. total harmonic distortion plus noise (db) ? thd+n is the level of the rms value of the sum of harmonic distortion products plus noise in the specified bandwidth relative to the amplitude of the measured output signal. 4. crosstalk (l/r) (db) ? left-to-right and right-to-left channel crosstalk is the measured signal level in the idle channel at the test signal frequency relative to the signal level at the output of the active channel. the active channel is configured and supplied with an appropriate input signal to drive a full scale output, with signal measured at the output of the associated idle channel. 5. mute attenuation ? this is a measure of the difference in level between the full scale output signal and the output with mute applied. 6. all performance measurements carried out with 20khz low pass filter, and where noted an a-weighted filter. failure to use such a filter will result in higher thd and lower s nr readings than are found in the electrical characteristics. the low pass filter removes out of band noise; although it is not audible it may affect dynamic specification values.
production data wm9093 w pd, march 2012, rev 4.2 11 performance plots wm9093 wm9093
wm9093 production data w pd, march 2012, rev 4.2 12 typical performance power consumption svdd hpvdd isvdd ihpvdd total power (v) (v) ( ? a) ( ? a) ( ? all supplies except svdd disabled 3.6 0.0 0.2 0.0 0.72 all supplies enabled vmid_ena = 0, vmid_buf_ena = 0, 3.6 1.8 0.2 2 4.3 spkkvdd ldo1vdd ispkvdd ildo1vdd total pow er (v) (v) (ma) (ma) (mw) in1+/in1- stereo to headphone 16ohm load 3.6 1.8 0.00 3.36 6.0 in2+/in2- differential to speaker class d 8ohm + 10 ? h, +6db boost 3.6 1.8 2.54 1.56 12.0 in3+/in3- differential bypass to speaker class ab 8ohm + 10 ? h, +6db boost 3.6 1.8 0.97 0.28 4.0 speaker shutdown leakage mode other settings battery leakage mode other settings headphone notes: 1. power in the load is included 2. all figures are quoted at ta = 25 ? c 3. all figures are quoted as quiescent current unless otherwise stated
production data wm9093 w pd, march 2012, rev 4.2 13 audio signal paths diagram
wm9093 production data w pd, march 2012, rev 4.2 14 control interface timing figure 1 control interface timing test conditions svdd = 3.6v, hpvdd=1.8v, gnd=0v, t a = +25 o c, 1khz signal, pga gain = 0db unless otherwise stated parameter symbol min typ max unit sclk frequency 400 khz sclk low pulse-width t 1 1300 ns sclk high pulse-width t 2 600 ns hold time (start condition) t 3 600 ns setup time (start condition) t 4 600 ns data setup time t 5 100 ns sdat, sclk rise time t 6 300 ns sdat, sclk fall time t 7 300 ns setup time (stop condition) t 8 600 ns data hold time t 9 900 ns pulse width of spikes that will be suppressed t ps 0 5 ns
production data wm9093 w pd, march 2012, rev 4.2 15 device description introduction the wm9093 is an ultra-low power, high quality audio subsystem, including a headphone and speaker driver. its flexible architecture is designed to interface with a wide range of analogue components. the small 2.0 x 2.5mm footprint makes it ideal for portable applications such as mobile handsets. four flexible analogue input pins allow interfacing to up to four single-ended or two differential input sources. connection to an external voice codec, fm radio, melody ic or generic line input are all fully supported. signal routing to the output mixers provides maximum flexibility to support a wide variety of usage modes. an additional differential ?voice bypass? path direct to the earpiece output driver is also included. three analogue output drivers are integrated, including a high quality class d/ab switchable speaker driver supporting 650mw output power at 3.6v in class d mode. in class ab mode, the driver is suitable for driving an earpiece via the low-power differential ?voice bypass? path. a configurable automatic gain control (agc) is provided on the speaker output path, to prevent clipping or power overload at the loudspeaker. ground-referenced stereo headphone outputs are also provided; these are powered from an integrated charge pump, enabling high quality, power efficient headphone playback. the ground- referenced design reduces power consumption, im proves bass response, and enables direct headphone connection without any dc blocking capacitors. a dc servo circuit is provided for dc offset measurement and correction, thereby suppressing pops and reducing power consumption. internal differential signal routing and amplifier configurations have been optimised to provide the lowest possible power consumption for a wide range of usage scenarios, including voice calls and music playback. the speaker drivers offer low leakage and high psrr; this enables direct connection to a lithium battery. the speaker driver provides eight levels of boost gain to allow output signal levels to be maximised for many comm only-used svdd/hpvdd combinations. an integrated oscillator is provided to support all the wm9093 clocking requirements, including the class d switching clock, headphone charge pump and dc servo control. the wm9093 is controlled via a standard 2-wire i2c interface, providing full software control of all features, together with device register readback. the i nterface provides support for i/o voltages up to 2.7v. an integrated control write sequencer enabl es automatic scheduling of control sequences; commonly-used signal configurations may be selected using ready-programmed sequences, including time-optimised control of the wm9093 pop suppression features. unused circuitry can be disabled under software control, in order to save power; low leakage currents enable extended standby/off time in portable battery-powered applications.
wm9093 production data w pd, march 2012, rev 4.2 16 input signal path the wm9093 three differential analogue input channels, configurable in a number of combinations: ? up to two differential line inputs to analogue mixers ? up to four single-ended line inputs to analogue mixers ? one differential line routed directly to the speaker output these inputs may be mixed together or independently routed to different combinations of output drivers. the wm9093 input signal paths and control registers are illustrated in figure 2. figure 2 control registers for input signal path
production data wm9093 w pd, march 2012, rev 4.2 17 line inputs all of the analogue input pins are designed as line inputs. four of these pins (in1+/- and in2+/-) can be configured as single-ended or differential inputs, with flexible routing options and gain controls suitable for many different usage cases. the remaining inputs (in3+ and in3-) provide a low-power signal path direct to the speaker output driver. the line input pins in1+ and in1- provide a differ ential input path to pga in1a. these inputs provide a high gain path if required for low input signal levels. if required, these input pins can be configured as two separate single-ended inputs to pgas in1a and in1b respectively. single ended configuration is selected by writing a 0 to the in1_diff register bit. the line input pins in2+ and in2- provide a differ ential input path to pga in2a. these inputs provide a high gain path if required for low input signal levels. if required, these input pins can be configured as two separate single-ended inputs to pgas in2a and in2b respectively. single ended configuration is selected by writing a 0 to the in2_diff register bit. the line input pins in3+ and in3- provide a mono differential ?voice bypass? input (eg. from an external voice codec) to the speaker drivers. this provides a low-power option, bypassing the input and output mixer circuits. signal path configuration to the input pgas is detailed later in this section. signal path configuration to the output mixers and speaker mixers is described in ?output signal path?. note that, by default, the analogue input pins are clamped to vmid in order to prevent audible pops caused by enabling the input paths. when one or more analogue input path is in use, the respective input clamp(s) must be disabled using the register bits described under ?power sequences and pop suppression control?. input pga enable the input pgas are enabled using register bits in1a_ena, in1b_ena, in2a_ena and in2b_ena, as described in table 1. the input pgas must be enabled for line input on the respective input pins. note that, for differential input on in1+ and in1- , it is not necessary to enable pga in1b. note that, for differential input on in2+ and in2- , it is not necessary to enable pga in2b. register address bit label default description r2 (02h) power management (2) 7 in1a_ena 0 in1a input pga enable 0 = disabled 1 = enabled 6 in1b_ena 0 in1b input pga enable 0 = disabled 1 = enabled (note this is only required for single-ended input on the in1- pin) 5 in2a_ena 0 in2a input pga enable 0 = disabled 1 = enabled 4 in2b_ena 0 in2b input pga enable 0 = disabled 1 = enabled (note this is only required for single-ended input on the in2- pin) table 1 input pga enable for normal operation of the input pgas, the reference voltage vmid and the bias current must also be enabled. see ?reference voltages and master bias? for details of the associated controls vmid_res and bias_ena.
wm9093 production data w pd, march 2012, rev 4.2 18 input pga configuration the input pgas can be configured in single-ended mode or differential mode, using the in1_diff and in2_diff register bits described in table 2. in single-ended mode, an input pin is routed to each individual pga. in differential mode, a pair of input pins is routed to pga in1a or in2a. register address bit label default description r22 (16h) in1 line control 1 in1_diff 1 pga in1a and in1b configuration 0 = single-ended mode 1 = differential mode r23 (17h) in2 line control 1 in2_diff 1 pga in2a and in2b configuration 0 = single-ended mode 1 = differential mode table 2 input pga configuration input pga volume control each of the four input pgas has an independently control led gain range of -6db to +18db. the gains on the inverting and non-inverting inputs to the pgas are always equal. each input pga can be independently muted using the pga mute bits as described in table 3. note that, in differential mode, pga in1b and/or in2b is not used, and the volume control is provided on in1a only (for pins in1+ and in1-) or in2a only (for pins in2+ and in2-). note also that in single-ended mode there is an additional +6db gain which must be factored into the volume control. for example a 0db volume setting provides 0db gain in differential mode, but in single-ended mode it will apply +6db gain. therefore in single-ended mode the input pgas have a controlled gain range of 0db to +24db to prevent ?zipper noise?, a zero-cross function is provided on the input pgas. when this feature is enabled, volume updates will not take place until a zero-crossing is detected. in the case of a long period without zero-crossings, a timeout function is provided. when the zero-cross function is enabled, the volume will update after the timeout period if no earlier zero-cross has occurred. the timeout clock is enabled using toclk_ena, the timeout period is set by toclk_rate. see ?clocking control? for more information on these fields. the in1_vu and in2_vu bits control the loading of the input pga volume data. when in1_vu and in2_vu are set to 0, the pga volume data will be loaded into the respective control register, but will not actually change the gain setting. the in1a and in1b volume settings are both updated when a 1 is written to in1_vu; the in2a and in2b volume settings are both updated when a 1 is written to in2_vu. this makes it possible to update the gain of two single-ended input paths simultaneously. note that, in differential input modes, the volume update control bits in1_vu and/or in2_vu should always be set to 1. the input pga volume control register fields are described in table 3. register address bit label default description r24 (18h) in1 line input a volume 8 in1_vu n/a in1 volume update writing a 1 to this bit will cause in1a and in1b input pga volumes to be updated simultaneously 7 in1a_mute 1 in1a pga mute 0 = un-mute 1 = mute 6 in1a_zc 0 in1a pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only
production data wm9093 w pd, march 2012, rev 4.2 19 register address bit label default description 2:0 in1a_vol [2:0] 011 in1a volume (differential mode) 000 = -6db 001 = -3.5db 010 = 0db 011 = +3.5db 100 = +6db 101 = +12db 110 = +18db 111 = +18db in1a volume (single-ended mode) 000 = 0db 001 = +2.5db 010 = +6db 011 = +9.5db 100 = +12db 101 = +18db 110 = +24db 111 = +24db r25 (19h) in1 line input b volume 8 in1_vu n/a in1 volume update writing a 1 to this bit will cause in1a and in1b input pga volumes to be updated simultaneously 7 in1b_mute 1 in1b pga mute 0 = un-mute 1 = mute 6 in1b_zc 0 in1b pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 2:0 in1b_vol [2:0] 011 in1b volume (differential mode) 000 = -6db 001 = -3.5db 010 = 0db 011 = +3.5db 100 = +6db 101 = +12db 110 = +18db 111 = +18db in1b volume (single-ended mode) 000 = 0db 001 = +2.5db 010 = +6db 011 = +9.5db 100 = +12db 101 = +18db 110 = +24db 111 = +24db r26 (1ah) in2 line input a volume 8 in2_vu n/a input pga volume update writing a 1 to this bit will cause in2a and in2b input pga volumes to be updated simultaneously
wm9093 production data w pd, march 2012, rev 4.2 20 register address bit label default description 7 in2a_mute 1 in2a pga mute 0 = un-mute 1 = mute 6 in2a_zc 0 in2a pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 2:0 in2a_vol [2:0] 011 in2a volume (differential mode) 000 = -6db 001 = -3.5db 010 = 0db 011 = +3.5db 100 = +6db 101 = +12db 110 = +18db 111 = +18db in2a volume (single-ended mode) 000 = 0db 001 = +2.5db 010 = +6db 011 = +9.5db 100 = +12db 101 = +18db 110 = +24db 111 = +24db r27 (1bh) in2 line input b volume 8 in2_vu n/a input pga volume update writing a 1 to this bit will cause in2a and in2b input pga volumes to be updated simultaneously 7 in2b_mute 1 in2b pga mute 0 = un-mute 1 = mute 6 in2b_zc 0 in2b pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 2:0 in2b_vol [2:0] 011 in2b volume (differential mode) 000 = -6db 001 = -3.5db 010 = 0db 011 = +3.5db 100 = +6db 101 = +12db 110 = +18db 111 = +18db in2b volume (d single-ended mode) 000 = 0db 001 = +2.5db 010 = +6db 011 = +9.5db 100 = +12db 101 = +18db 110 = +24db 111 = +24db table 3 input pga volume control
production data wm9093 w pd, march 2012, rev 4.2 21 output signal path the wm9093 output mixers provide a high degree of flexibility, allowing configurable operation of multiple signal paths through the device to a variety of analogue outputs. the outputs comprise a ground referenced headphone driver and class d/ab loudspeaker driver. see ?analogue outputs? for further details of these outputs. the wm9093 output signal paths and control registers are illustrated in figure 3. figure 3 control registers for output signal path output signal paths enable the output mixers and drivers can be independently enabled and disabled as described in table 4. see ?power sequences and pop suppression control? for details of additional control bits relating to the headphone output configuration. note that, when using the ?voice bypass? inputs on pins in3+ and in3-, these signals can be routed to the speaker output without enabling the speaker mixer or the speaker pga. this provides a low- power configuration, bypassing the input and output mixer circuits.
wm9093 production data w pd, march 2012, rev 4.2 22 register address bit label default description r1 (01h) power management (1) 12 spkoutl_ena 0 speaker output enable 0 = disabled 1 = enabled 9 hpout1l_ena 0 headphone output (hpl) input stage enable 0 = disabled 1 = enabled 8 hpout1r_ena 0 headphone output (hpr) input stage enable 0 = disabled 1 = enabled r3 (03h) power management (3) 8 spklvol_ena 0 speaker pga enable 0 = disabled 1 = enabled 5 mixoutl_ena 0 mixoutl headphone mixer enable 0 = disabled 1 = enabled 4 mixoutr_ena 0 mixoutr headphone mixer enable 0 = disabled 1 = enabled 3 spkmix_ena 0 spkmix speaker mixer enable 0 = disabled 1 = enabled table 4 output signal paths enable speaker mixer control the signal path configuration registers for the speaker mixer are described in table 5. each of the input pgas in1a, in1b, in2a and in2b is i ndependently selectable as an input to the speaker mixer. care should be taken when enabling more than one path to a speaker mixer in order to avoid clipping. the gain of each input path is adjustable using a selectable volume control in each path to facilitate this. the speaker mixer output can be muted or enabled using the spkmix_mute register bit. the speaker mixer volume is also controlled by the speaker output pga, as defined in table 6.
production data wm9093 w pd, march 2012, rev 4.2 23 register address bit label default description r54 (36h) speaker mixer 6 in1a_to_spkmix 0 in1a to spkmix enable 0 = disabled 1 = enabled 4 in1b_to_spkmix 0 in1b to spkmix enable 0 = disabled 1 = enabled 2 in2a_to_spkmix 0 in2a to spkmix enable 0 = disabled 1 = enabled 0 in2b_to_spkmix 0 in2b to spkmix enable 0 = disabled 1 = enabled r34 (22h) spkmixl attenuation 8 spkmix_mute 1 spkmix output mute 0 = un-mute 1 = mute 7:6 in1a_spkmix_vol 00 in1a to spkmix volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 5:4 in1b_spkmix_vol 00 in1b to spkmix volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 3:2 in2a_spkmix_vol 00 in2a to spkmix volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 1:0 in2b_spkmix_vol [1:0] 00 in2b to spkmix volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db table 5 speaker mixer (spkmix) control speaker output volume control the speaker output pga controls are shown in table 6. note that the speaker output pga is bypassed when the ?voice bypass? path is selected as the speaker output source, as described in the following section (?speaker boost mixer control?). in this case, the spkmix mixer and the speaker output pga can be disabled, providing a low-power signal path for ?voice bypass? applications. a zero-cross function is provided on the speaker output pga. note that the timeout clock toclk must be enabled when using the zero-cross function. see ?clocking control? for more information on the toclk control fields. the spkout_vu bit controls the loading of the speaker pga volume data. this bit should be set to 1 whenever the spkoutl_vol register is updated.
wm9093 production data w pd, march 2012, rev 4.2 24 register address bit label default description r38 (26h) speaker volume left 8 spkout_vu n/a speaker output pga volume update writing a 1 to this bit will update the spkoutl volume. 7 spkoutl_zc 0 speaker output pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 6 spkoutl_mute 0 speaker output pga mute 0 = un-mute 1 = mute 5:0 spkoutl_vol [5:0] 39h (0db) speaker output pga volume -57db to +6db in 1db steps (see table 11 for output pga volume control range) table 6 speaker output pga control speaker boost mixer control the class d/ab speaker driver has its own boost mixer which performs a dual role. the boost mixer allows the output from the speaker mixer or from the ?voice bypass? path to be routed to the speaker driver. the ?voice bypas s? path is the differential input, in3+/in3-, routed directly to the speaker driver, providing a low power differential path from baseband voice to loudspeakers. it is recommended that no more than one of the available signal paths is enabled in the speaker boost mixer at any time. the signal path configuration registers for the speaker boost mixer are described in table 7. the second function of the speaker boost mixer is to provide an additional ac gain (boost) function to shift signal levels between the hpvdd and svdd voltage domains for maximum output power. the ac gain (boost) function is described in the ?analogue outputs? section. register address bit label default description r36 (24h) spkout mixers 5 in3_to_spkoutl 0 voice bypass (in3 differential) to speaker output enable 0 = disabled 1 = enabled 4 spkmixl_to_spkou tl 1 spkmix to speaker output enable 0 = disabled 1 = enabled table 7 speaker boost mixer control headphone mixer control the headphone mixer configuration registers are described in table 8 for the left channel (mixoutl) and table 9 for the right channel (mixoutr). each of the input pgas in1a, in1b, in2a and in2b is independently selectable as an input to each of the headphone mixers. care should be taken when enabling more than one path to a headphone mixer in order to avoid clipping. the gain of each input path is adjustable using a selectable volume control in each path to facilitate this. the headphone mixer outputs can be muted or enabled using the mixoutl_mute and mixoutr_mute register bits. the headphone mixer volume is also controlled by the headphone output pgas, as defined in table 10.
production data wm9093 w pd, march 2012, rev 4.2 25 register address bit label default description r45 (2dh) output mixer1 6 in1a_to_mixoutl 0 in1a to mixoutl enable 0 = disabled 1 = enabled 4 in1b_to_mixoutl 0 in1b to mixoutl enable 0 = disabled 1 = enabled 2 in2a_to_mixoutl 0 in2a to mixoutl enable 0 = disabled 1 = enabled 0 in2b_to_mixoutl 0 in2b to mixoutl enable 0 = disabled 1 = enabled r47 (2fh) output mixer3 8 mixoutl_mute 1 mixoutl output mute 0 = un-mute 1 = mute 7:6 in1a_mixoutl_vol [1:0] 00 in1a to mixoutl volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 5:4 in1b_mixoutl_vol [1:0] 00 in1b to mixoutl volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 3:2 in2a_mixoutl_vol [1:0] 00 in2a to mixoutl volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 1:0 in2b_mixoutl_vol [1:0] 00 in2b to mixoutl volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db table 8 left output mixer (mixoutl) control
wm9093 production data w pd, march 2012, rev 4.2 26 register address bit label default description r46 (2eh) output mixer2 6 in1a_to_mixoutr 0 in1a to mixoutr enable 0 = disabled 1 = enabled 4 in1b_to_mixoutr 0 in1b to mixoutr enable 0 = disabled 1 = enabled 2 in2a_to_mixoutr 0 in2a to mixoutr enable 0 = disabled 1 = enabled 0 in2b_to_mixoutr 0 in2b to mixoutr enable 0 = disabled 1 = enabled r48 (30h) output mixer4 8 mixoutr_mute 1 mixoutr output mute 0 = un-mute 1 = mute 7:6 in1a_mixoutr_vol [1:0] 00 in1a to mixoutr volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 5:4 in1b_mixoutr_vol [1:0] 00 in1b to mixoutr volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 3:2 in2a_mixoutr_vol [1:0] 00 in2a to mixoutr volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 1:0 in2b_mixoutr_vol [1:0] 00 in2b to mixoutr volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db table 9 right output mixer (mixoutr) control
production data wm9093 w pd, march 2012, rev 4.2 27 headphone output volume control the headphone output pga controls are shown in table 10. the hpout1_vu bits control the loading of the headphone pga volume data. when hpout1_vu is set to 0, the volume control data will be loaded into the respective control register, but will not actually change the gain setting. the headphone pga volume settings are both updated when a 1 is written to either hpout1_vu bit. this makes it possible to update the gain of the left and right output paths simultaneously. a zero-cross function is provided on the headphone output pgas. note that the timeout clock toclk must be enabled when using the zero-cross function. see ?clocking control? for more information on the toclk control fields. when the zero-cross function is enabled (using hpou t1l_zc or hpout1r_zc), it will only become effective after the respective pga gain (or mute) has been changed in two or more subsequent register writes. to guarantee zero cross functionality, it is recommended to enable zero cross and toggle the respective mute (hpout1l_mute or hpout1r_mute) before enabling the headphone output. alternatively, the zero-cross function can be ensured by updating the pga gain register (hpout1l_vol or hpout1r_vol) in two successive register writes - decrementing then incrementing the setting by 1 gain step ? after the zero-cross enable bits have been set. register address bit label default description r28 (1ch) left output volume 8 hpout1_vu n/a headphone output pga volume update writing a 1 to this bit will update hpout1lvol and hpout1rvol volumes simultaneously. 7 hpout1l_zc 0 left headphone output pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 6 hpout1l_mute 0 left headphone output pga mute 0 = un-mute 1 = mute 5:0 hpout1l_vol [5:0] 2dh (-12db) left headphone output pga volume -57db to +6db in 1db steps (see table 11 for output pga volume control range) r29 (1dh) right output volume 8 hpout1_vu n/a headphone output pga volume update writing a 1 to this bit will update hpout1lvol and hpout1rvol volumes simultaneously. 7 hpout1r_zc 0 right headphone output pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 6 hpout1r_mute 0 right headphone output pga mute 0 = un-mute 1 = mute 5:0 hpout1r_vol [5:0] 2dh (-12db) right headphone output pga volume -57db to +6db in 1db steps (see table 11 for output pga volume control range) table 10 headphone output pga control
wm9093 production data w pd, march 2012, rev 4.2 28 pga gain setting volume (db) pga gain setting volume (db) 0h -57 20h -25 1h -56 21h -24 2h -55 22h -23 3h -54 23h -22 4h -53 24h -21 5h -52 25h -20 6h -51 26h -19 7h -50 27h -18 8h -49 28h -17 9h -48 29h -16 ah -47 2ah -15 bh -46 2bh -14 ch -45 2ch -13 dh -44 2dh -12 eh -43 2eh -11 fh -42 2fh -10 10h -41 30h -9 11h -40 31h -8 12h -39 32h -7 13h -38 33h -6 14h -37 34h -5 15h -36 35h -4 16h -35 36h -3 17h -34 37h -2 18h -33 38h -1 19h -32 39h 0 1ah -31 3ah +1 1bh -30 3bh +2 1ch -29 3ch +3 1dh -28 3dh +4 1eh -27 3eh +5 1fh -26 3fh +6 table 11 output pga volume range
production data wm9093 w pd, march 2012, rev 4.2 29 automatic gain control (agc) the speaker output pga incorporates an automatic gain control (agc) circuit. this feature provides an automatic reduction in the speaker path gain in order to prevent clipping or power overload at the loudspeaker. the agc circuit prov ides two separate detection mechanisms to identify clipping or power overload respectively. each of these two mechanisms can be independently configured to suit the loudspeaker characteristi cs and the desired audio response. the two control mechanisms operate together to provide a flexible and effective automatic gain control feature. note that the ?voice bypass? path is routed directly to the speaker output driver and is not affected by the speaker output pga or by the agc function. agc control agc is enabled by setting the agc_ena r egister bit, as defined in table 12. the agc can provide attenuation in the speaker ou tput path ? note that it can never apply additional gain to boost the signal level. the maximum extent of the agc attenuation can be controlled by setting the agc_mingain register. this field sets the lowest gain level that can be selected by the agc under signal clipping or power limiting conditions. when the signal conditions trigger the agc to apply attenuation, the speaker pga gain is controlled automatically by the agc. in order to prevent ?zipper noise? from the gain adjustment, the pga gain is only changed when a signal zero-cross is detected. when agc_ramp = 1, then the gain adjustment is restricted to a single gain step on each zero-cross. when agc_ramp = 0, then multiple gain steps may be applied, if necessary, on each zero-cross. selecting single gain steps only will result in a more gradual gain adjustment, but the agc may also be slower to remove signal clipping under this selection. note that the agc attenuation has a step size of 0.5db, providing a high resolution of signal level control. register address bit label default description r3 (03h) power management (3) 14 agc_ena 0 agc enable 0 = disabled 1 = enabled r100 (64h) agc control 2 8 agc_ramp 0 agc ramp control selects how the agc gain adjustment is applied 0 = multiple gains steps per zero- cross 1 = single gain step per zero-cross 5:0 agc_mingain [5:0] 00000 agc minimum gain -57db to +6db in 1db steps (see table 11 for agc minimum gain range) table 12 agc control agc anti-clip the agc incorporates two mechanisms for monitoring the signal conditions. one of these is the anti- clip threshold detection. the anti-clip function m easures the speaker supply voltage, svdd, and compares this with the output signal level. the difference between these voltages is referred to as the headroom; to avoid clipping, the signal level must always be less than the supply voltage. if the headroom is small (ie. the signal level is very close to the supply voltage), then clipping and distortion will occur. the anti-clip function can be disabled using the agc_clip_ena bit. it is enabled by default.
wm9093 production data w pd, march 2012, rev 4.2 30 the headroom threshold at which the agc will apply attenuation is set using the agc_clip_thr register. values in the range -200mv to 800mv can be selected. when the signal headroom is 300mv, the distortion (thd) is approximately 1%. therefore, if the anti-clip threshold is set to 300mv, then the agc would aim to limit the distortion to be no worse than 1% under maximum signal conditions. selecting a larger headroom threshold will avoid clipping across a wider range of operating conditions. when the agc applies signal attenuation triggered by the anti-clip threshold, the signal gain is reduced at a rate that is set by the agc_clip_atk register. when the anti-clip threshold is no longer met (due to the signal level reduction), then the agc increases the signal gain at a rate set by the agc_clip_dcy register. note that, when the anti-clip and power limiting thr esholds are both triggered concurrently, then the signal gain is reduced at the rate set by the agc_clip_atk register and is increased at the rate set by agc_pwr_dcy. these fields are defined in table 13 and table 14 respectively. register address bit label default description r98 (62h) agc control 0 15 agc_clip_ena 1 enable agc anti-clip mode 0 = disabled 1 = enabled 11:8 agc_clip_thr [3:0] 0110 agc anti-clip threshold sets the headroom between spkpga output and svdd at which anti-clip limiting will be applied 0000 = -200mv 0001 = -150mv 0010 = -100mv 0011 = -50mv 0100 = 0mv 0101 = 50mv 0110 = 100mv 0111 = 150mv 1000 = 200mv 1001 = 250mv 1010 = 300mv 1011 = 400mv 1100 = 500mv 1101 = 600mv 1110 = 700mv 1111 = 800mv 6:4 agc_clip_atk [2:0] 100 agc anti-clip attack rate sets the rate of agc gain reduction when clipping is detected 000 = 0.6ms/6db 001 = 5.4ms/6db 010 = 10.2ms/6db 011 = 15.0ms/6db 100 = 19.8ms/6db 101 = 24.6ms/6db 110 = 29.4ms/6db 111 = 34.1ms/6db
production data wm9093 w pd, march 2012, rev 4.2 31 register address bit label default description 2:0 agc_clip_dcy [2:0] 000 agc anti-clip decay rate sets the rate of agc gain increments after a period of clipping 000 = 120ms/6db 001 = 480ms/6db 010 = 820ms/6db 011 = 1170ms/6db 100 = 1640ms/6db 101 = 2050ms/6db 110 = 2730ms/6db 111 = 4100ms/6db table 13 agc anti-clip control agc power limiting the second mechanism used by the agc to monitor si gnal conditions is the power limit function. the speaker output voltage is measured, and the corresponding power output is determined. the power limiting function can be disabled using the agc_pwr_ena bit. it is enabled by default. the power output threshold at which the agc will apply attenuation is set using the agc_pwr_thr register. power levels in the range 300mw and 1050mw can be selected. note that these are rms power levels, assuming an 8 ? speaker. the power output threshold is also controlled by the agc_pwr_avg register. when agc_pwr_avg = 1, then the agc responds to the rms power level as quoted above. when agc_pwr_avg = 0, then the agc responds to the instantaneous voltage at the speaker output. selecting the rms power level is recommended, as this represents the average signal level. when the agc applies signal attenuation triggered by the power limit threshold, the signal gain is reduced at a rate that is set by the agc_pwr_atk register. when the power limit threshold is no longer met (due to the signal level reduction), then the agc increases the signal gain at a rate set by the agc_pwr_dcy register. note that, when the anti-clip and power limiting thr esholds are both triggered concurrently, then the signal gain is reduced at the rate set by the agc_clip_atk register and is increased at the rate set by agc_pwr_dcy. these fields are defined in table 13 and table 14 respectively.
wm9093 production data w pd, march 2012, rev 4.2 32 register address bit label default description r99 (63h) agc control 1 15 agc_pwr_ena 1 enable agc power limit mode 0 = disabled 1 = enabled 12 agc_pwr_avg 0 agc power measurement mode 0 = instantaneous power 1 = rms power 11:8 agc_pwr_thr [2:0] 0000 agc power limit threshold sets the output level at which power limiting will be applied. assumes rms power mode and 8ohm speaker. 0000 = 300mw 0001 = 350mw 0010 = 400mw 0011 = 450mw 0100 = 500mw 0101 = 550mw 0110 = 600mw 0111 = 650mw 1000 = 700mw 1001 = 750mw 1010 = 800mw 1011 = 850mw 1100 = 900mw 1101 = 950mw 1110 = 1000mw 1111 = 1050mw 6:4 agc_pwr_atk [2:0] 000 agc power limiting attack rate sets the rate of agc gain reduction when power limiting is applied 000 = 120ms/6db 001 = 480ms/6db 010 = 840ms/6db 011 = 1200ms/6db 100 = 1680ms/6db 101 = 2040ms/6db 110 = 2760ms/6db 111 = 4080ms/6db 2:0 agc_pwr_dcy [2:0] 000 agc power limiting decay rate sets the rate of agc gain increments after a period of power limiting 000 = 1080ms/6db 001 = 1200ms/6db 010 = 1320ms/6db 011 = 1680ms/6db 100 = 2040ms/6db 101 = 2760ms/6db 110 = 4080ms/6db 111 = 8160ms/6db table 14 agc power limit control
production data wm9093 w pd, march 2012, rev 4.2 33 analogue outputs the speaker, headphone and earpiece outputs are highly configurable and may be used in many different ways. speaker output configurations the speaker output can be driven by the speaker mixer, spkmix, or by the low power differential ?voice bypass? path from in3+ and in3-. fine volume control is available on the speaker mixer path using the speaker output pga. a boost function is available on the speaker mixer path and on the voice bypass path. see the ?output signal path? section for more information on the speaker mixing options. the speaker output operates in a btl configuration in class ab or class d amplifier modes; the selected mode is determined by the spkout_classab_mode register bit, as defined in table 15. when the speaker mixer (spkmix) output is sele cted as the speaker output source, then class d mode should be selected in the output driver. when the ?voice bypass? signal is selected as the speaker output source, then class ab mode shoul d be selected. note that only one of these signal paths should be selected at any time ? see ?speaker boost mixer control?. a selectable 12db attenuation is available at the speaker output driver in class ab mode. this is controlled using the spk_attn_fb register. the 12db attenuation can be used in conjunction with the boost (gain) described below to provide a wider range of signal level control for the ?voice bypass? path. note that this bit has no effect in class d mode. eight levels of signal boost are provided in order to deliver maximum output power for many commonly-used svdd/hpvdd combinations. thes e boost options are available in both class ab and class d modes. the boost level from 0db to +12db is selected using the spkoutl_boost register field. to prevent pop noise, the spkout l_boost register should not be modified while the speaker output is enabled. figure 4 illustrates the speaker output and the mixing and gain/boost options available. ultra-low leakage and high psrr allow the speak er supply svdd to be directly connected to a lithium battery. note that an appropriate svdd supply voltage must be provided to prevent waveform clipping when speaker boost is used. dc gain is applied automatically in both class ab and class d modes with a shift from vmid to svdd/2. this provides optimum signal swing for maximum output power. in class ab mode, an ultra- high psrr mode is available, in which the dc reference for the speaker driver is fixed at vmid. this mode is selected by enabling the spk_vref_ab_ctrl bit (see table 15). in this mode, the output power is limited but the driver will still be capable of driving more than 500mw in 8 ? while maintaining excellent suppression of noise on svdd (for example, tdma noise in a gsm phone application). figure 4 speaker output configuration and boost operation
wm9093 production data w pd, march 2012, rev 4.2 34 register address bit label default description r34 (22h) spkmixl attenuation 12 spkout_classab _mode 0 speaker class ab mode enable 0 = class d mode (for spkmix source) 1 = class ab mode (for voice bypass source) r37 (25h) classd3 7 spk_attn_fb 0 speaker amplifier gain 0 = 0db 1 = -12db note ? this bit has no effect in class d mode; the 0db setting is always implemented in class d mode. 6 spk_vref_ab_ct rl 0 selects reference for speaker in class ab mode 0 = svdd/2 1 = vmid 5:3 spkoutl_boost [2:0] 000 (1.0x) speaker output gain boost 000 = 1.00x boost (+0db) 001 = 1.19x boost (+1.5db) 010 = 1.41x boost (+3.0db) 011 = 1.68x boost (+4.5db) 100 = 2.00x boost (+6.0db) 101 = 2.37x boost (+7.5db) 110 = 2.81x boost (+9.0db) 111 = 3.98x boost (+12.0db) table 15 speaker mode and boost control headphone output configurations the headphone output pins hpl and hpr are driven by the headphone output pgas. each pga has its own dedicated volume control, as described in the ?output signal path? section. the inputs to these pgas come from the respective output mixers mixoutl or mixoutr. the headphone output driver is capable of driving up to 35mw into a 16 ? load such as a stereo headset or headphones. the outputs are ground-referenced, eliminating any requirement for ac coupling capacitors. this is achieved by hav ing separate positive and negative supply rails powered by an on-chip charge pump. a dc servo circuit removes any dc offset from the headphone outputs, suppressing ?pop? noise and minimising power consumption. the charge pump and dc servo are described separately (see ?charge pump? and ?dc servo? respectively). the zobel network components should be connected to the headphone output pins hpl and hpr for best audio performance in all applications. the components of the zobel network have the effect of dampening high frequency oscillations and instabilities that can arise outside the audio band under certain conditions. possible sources of these in stabilities include the inductive load of a headphone coil or an active load in the form of an external line amplifier. the capacitance of lengthy cables or pcb tracks can also lead to amplifier instability. the zobel network should comprise of a 20 ? resistor and 100nf capacitor in series with each other, as illustrated in figure 5.
production data wm9093 w pd, march 2012, rev 4.2 35 figure 5 zobel network components for hpl and hpr clocking control the internal clocks for the wm9093 are derived from a common internal clock source, clk_sys. this clock is the reference for the control write sequencer, class d switching amplifier, dc servo control and other internal functions. clk_sys is derived from an internal oscillator; this is controlled by the osc_ena register. the frequency of clk_sys is nominally 6mhz; internal dividers generate the other required clocks from this reference. a slow clock, toclk, is used to set the timeout period for volume updates when zero-cross detect is used. this clock is derived from clk_sys and is enabled by toclk_ena. the slow clock frequency is selected using the programmable dividers toclk_rate, toclk_rate_x4 and toclk_rate_div16. see table 17 for a list of possible toclk rates. the clocking configuration is illustrated in figure 6. the control registers associated with wm9093 clocking are defined in table 16. osc_ena clk_sys f/n dc servo clock f/n class d switching clock f/n 256khz clock to charge pump, control write sequencer and other circuits f.n toclk_ena volume update timeout f/n f/1024 toclk_rate_x4 0 = f x 1 1 = f x 4 toclk_rate 0 = f / 2 1 = f / 1 internal oscillator f/n toclk_rate_div16 0 = f / 1 1 = f / 16 figure 6 clocking scheme
wm9093 production data w pd, march 2012, rev 4.2 36 register address bit label default description r1 (01h) power management (1) 3 osc_ena 0 clk_sys oscillator enable 0 = disabled 1 = enabled r6 (06h) clocking 1 15 toclk_rate 0 toclk rate divider (/2) 0 = f / 2 1 = f / 1 14 toclk_ena 0 toclk enable 0 = disabled 1 = enabled r66 (42h) clocking 4 8 toclk_rate_div16 0 toclk rate divider (/16) 0 = f / 1 1 = f / 16 7 toclk_rate_x4 0 toclk rate multiplier 0 = f x 1 1 = f x 4 table 16 clocking control toclk_rate toclk_rate_x4 toclk_rate_div16 toclk freq (hz) period (ms) 1 1 0 1000 1 0 1 0 500 2 1 0 0 250 4 0 0 0 125 8 1 1 1 62.5 16 0 1 1 31.25 32 1 0 1 15.625 64 0 0 1 7.8125 128 table 17 toclk rates
production data wm9093 w pd, march 2012, rev 4.2 37 control interface the wm9093 is controlled by writing to registers thr ough a 2-wire serial control interface. readback is available for all registers, including chip id and power management status. the wm9093 is a slave device on the control inter face; scl is a clock input, while sda is a bi- directional data pin. to allow arbitration of multiple slaves (and/or multiple masters) on the same interface, the wm9093 transmits logic 1 by tri-stating the sda pin, rather than pulling it high. an external pull-up resistor is required to pull the sd a line high so that the logic 1 can be recognised by the master. note that the control interface can support i/o levels up to 2.7v. in order to allow many devices to share a single 2-wire control bus, every device on the bus has a unique 7-bit device id (this is not the same as the 8-bit address of each register in the wm9093). the wm9093 device id is 1101_1100 (dch). the lsb of the device id is the read/write bit; this bit is set to logic 1 for ?read? and logic 0 for ?write?. the wm9093 operates as a slave device only. the controller indicates the start of data transfer with a high to low transition on sda while scl remains high. this indicates that a device id, register address and data will follow. all devices on the 2-wire bus respond to the start condition and shift in the next eight bits on sda (7-bit device id + r ead/write bit, msb first). if the device id received matches the device id of the wm9093, then the wm9093 responds by pulling sda low on the next clock pulse (ack). if the device id is not recognised or the r/w bit is ?1? when operating in write only mode, the wm9093 returns to the idle condition and waits for a new start condition and valid address. if the device id matches the device id of the wm9093, the data transfer continues as described below. the controller indicates the end of data transfer with a low to high transition on sda while scl remains high. after receiving a complete address and data sequence the wm9093 returns to the idle state and waits for another start condition. if a start or stop condition is detected out of sequence at any point during data transfer (i.e. sda changes while scl is high), the device returns to the idle condition. the wm9093 supports the following read and write operations: ? single write ? single read ? multiple write using auto-increment ? multiple read using auto-increment
wm9093 production data w pd, march 2012, rev 4.2 38 the sequence of signals associated with a single register write operation is illustrated in figure 7. figure 7 control interface register write the sequence of signals associated with a single register read operation is illustrated in figure 8. figure 8 control interface register read the control interface also supports other register operations, as listed above. the interface protocol for these operations is summarised below. the terminology used in the following figures is detailed in table 18. note that multiple write and multiple read operations are supported using the auto-increment mode. this feature enables the host processor to access sequential blocks of the data in the wm9093 register map faster than is possibl e with single register operations. terminology description s start condition sr repeated start a acknowledge (sda low) a not acknowledge (sda high) p stop condition r/w readnotwrite 0 = write 1 = read [white field] data flow from bus master to wm9093 [grey field] data flow from wm9093 to bus master table 18 control interface terminology
production data wm9093 w pd, march 2012, rev 4.2 39 figure 9 single register write to specified address figure 10 single register read from specified address figure 11 multiple register write to specified address using auto-increment figure 12 multiple register read from specified address using auto-increment figure 13 multiple register read from last address using auto-increment
wm9093 production data w pd, march 2012, rev 4.2 40 control write sequencer the control write sequencer is a programmable unit that forms part of the wm9093 control interface logic. it provides the ability to perform a sequence of register write operations with the minimum of demands on the host processor ? the sequence may be initiated by a single operation from the host processor and then left to execute independently. default sequences for start-up of each output driver and shut-down are provided (see ?default sequences? section). it is recommended that these default sequences are used unless changes become necessary. when a sequence is initiated, the sequencer performs a series of pre-defined register writes. the host processor informs the sequencer of the start index of the required sequence within the sequencer?s memory. at each step of the sequence, the contents of the selected register fields are read from the sequencer?s memory and copied into the wm9093 control registers. this continues sequentially through the sequencer?s memory until an ?end of sequence? bit is encountered; at this point, the sequencer stops and an interrupt status flag is asserted. for cases where the timing of the write sequence is important, a programmable delay c an be set for specific steps within the sequence. note that the control write sequencer?s internal cloc k is derived from the internal clock clk_sys which must be enabled by setting osc_ena (see ?clocking control?). the clock division from clk_sys is handled transparently by the wm9093 without user intervention. initiating a sequence the register fields associated with running the c ontrol write sequencer are described in table 19. note that the operation of the control write sequencer also requires the internal clock clk_sys to be enabled via the osc_ena control bit (see ?clocking control?). the write sequencer is enabled by setting the wseq_ena bit. the start index of the required sequence must be written to the wseq_start_index field. setting the wseq_start bit initiates the sequencer at the given start index. the write sequencer can be interrupted by writing a logic 1 to the wseq_abort bit. the current status of the write sequencer can be read using two further register fields ? when the wseq_busy bit is asserted, this indicates that the write sequencer is busy. note that, whilst the control write sequencer is running a sequence (indicated by the wseq_busy bit), normal read/write operations to the control registers cannot be supported. the index of the current step in the write sequencer can be read from the wseq_current_index field; this is an indicator of the sequencer?s progress. on completion of a sequence, this field holds the index of the last step within the last commanded sequence.
production data wm9093 w pd, march 2012, rev 4.2 41 register address bit label default description r70 (46h) write sequencer 0 8 wseq_ena 0 write sequencer enable 0 = disabled 1 = enabled r73 (49h) write sequencer 3 9 wseq_abort 0 writing a 1 to this bit aborts the current sequence and returns control of the device back to the serial control interface. 8 wseq_start 0 writing a 1 to this bit starts the write sequencer at the memory location indicated by the wseq_start_index field. the sequence continues until it reaches an ?end of sequence? flag. at the end of the sequence, this bit will be reset by the write sequencer. 5:0 wseq_start_ index [5:0] 00_0000 sequence start index. this is the memory location of the first command in the selected sequence. 0 to 15 = ram addresses 16 to 58 = rom addresses 59 to 63 = reserved r74 (4ah) write sequencer 4 0 wseq_busy (read only) 0 sequencer busy flag (read only). 0 = sequencer idle 1 = sequencer busy note: it is not possible to write to control registers via the control interface while the sequencer is busy. r75 (4bh) write sequencer 5 5:0 wseq_curre nt_index [5:0] (read only) 00_0000 sequence current index. this is the location of the most recently accessed command in the write sequencer memory. table 19 write sequencer control ? initiating a sequence programming a sequence a sequence consists of write operations to data bits (o r groups of bits) within the control registers. the register fields associated with programming the control write sequencer are described in table 20. for each step of the sequence being programmed, the sequencer index must be written to the wseq_write_index field. the values 0 to 15 correspond to all the available ram addresses within the write sequencer memory. (note that memory addresses 16 to 58 also exist, but these are rom addresses, which are not programmable.) having set the index as described above, register r71 must be written to (containing the control register address, the start bit position and the field width applicable to this step of the sequence). also, register r72 must be written to (contai ning the register data, the end of sequence flag and the delay time required after this step is executed). after writing to these two registers, the next step in the sequence may be programmed by updating wseq_write_index and repeating the procedure. wseq_addr is an 8-bit field containing the control register address in which the data should be written. wseq_data_start is a 4-bit field which identifies the lsb position within the selected control register to which the data should be written. for example, setting wseq_data_start = 0100 will select bit 4 as the lsb position; in this case, 4-bit data would be written to bits 7:4 and so on.
wm9093 production data w pd, march 2012, rev 4.2 42 wseq_data_width is a 3-bit field which i dentifies the width of the data block to be written. this enables selected portions of a control register to be updated without any concern for other bits within the same register, eliminating the need for read-modify-write procedures. values of 0 to 7 correspond to data widths of 1 to 8 respectively. for example, setting wseq_data_width = 010 will cause a 3-bit data block to be written. note that the maximum value of this field corresponds to an 8-bit data block; writing to register fields greater than 8 bits wide must be performed using two separate operations of the control write sequencer. wseq_data is an 8-bit field which contains the data to be written to the selected control register. the wseq_data_width field determines how many of these bits are written to the selected register; the most significant bits (above the num ber indicated by wseq_data_width) are ignored. wseq_delay is a 4-bit field which controls the waiting time between the current step and the next step in the sequence i.e. the delay occurs after the write in which it was called. the total delay time per step (including execution) is given by: t = k (2 wseq_delay + 8) where k = 62.5 ? s (under recommended operating conditions) this gives a useful range of execution/delay times from 562 ? s up to 2.048s per step. wseq_eos is a 1-bit field which indicates the end of sequence. if this bit is set, then the control write sequencer will automatically stop after this step has been executed. register address bit label default description r70 (46h) write sequencer 0 3:0 wseq_writ e_index [3:0] 0000 sequence write index. this is the memory location to which any updates to r71 and r72 will be copied. 0 to 15 = ram addresses r71 (47h) write sequencer 1 14:12 wseq_data _width [2:0] 000 width of the data block written in this sequence step. 000 = 1 bit 001 = 2 bits 010 = 3 bits 011 = 4 bits 100 = 5 bits 101 = 6 bits 110 = 7 bits 111 = 8 bits 11:8 wseq_data _start [3:0] 0000 bit position of the lsb of the data block written in this sequence step. 0000 = bit 0 ? 1111 = bit 15 7:0 wseq_addr [7:0] 0000_0000 control register address to be written to in this sequence step. r72 (48h) write sequencer 2 14 wseq_eos 0 end of sequence flag. this bit indicates whether the control write sequencer should stop after executing this step. 0 = not end of sequence 1 = end of sequence (stop the sequencer after this step). 11:8 wseq_dela y [3:0] 0000 time delay after executing this step. total time per step (including execution) = 62.5s (2 wseq_delay + 8) 7:0 wseq_data [7:0] 0000_0000 data to be written in this sequence step. when the data width is less than 8 bits, then one or more of the msbs of wseq_data are ignored. it is recommended that unused bits be set to 0. table 20 write sequencer control ? programming a sequence
production data wm9093 w pd, march 2012, rev 4.2 43 note that a ?dummy? write can be inserted into a control sequence by commanding the sequencer to write a value of 0 to bit 0 of register r255 (ffh). this is effectively a write to a non-existent register location. this can be used in order to create placeholders ready for easy adaptation of the sequence. for example, a sequence could be defined to power -up a mono signal path from in1+ and in1- to headphone, with a ?dummy? write included to leave space for easy modification to a stereo signal path configuration. dummy writes can also be used in order to implement additional time delays between register writes. dummy writes are included in the headphone start-up sequence ? see table 21. in summary, the control register to be written is set by the wseq_addr field. the data bits that are written are determined by a combination of wseq_data_start, wseq_data_width and wseq_data. this is illustrated below for an exam ple case of writing to the vmid_res field within register r1 (01h). in this example, the start position is bit 01 (wseq_data_start = 0001b) and the data width is 2 bits (wseq_data_width = 0001b). with these s ettings, the control write sequencer would update the control register r1 [2:1] with the contents of wseq_data [1:0]. figure 14 control write sequencer example default sequences when the wm9093 is powered up, a number of control write sequences are available through default settings in both ram and rom memory locations. the pre-programmed default settings comprise a headphone start-up and a generic shut-down sequence. note that the start-up sequence does not include audio signal path or gain setting configuration; this must be implemented prior to scheduling the sequence. also, the start-up sequence does not include configuration of the master bias. the user must enable the clock and the master bias by setting osc_ena and vmid_ena prior to executing the start-up control sequence. these registers may be reset to 0 after executing the shut-down sequence. index addresses 0 to 15 may be programmed to users? own settings at any time, as described in ?programming a sequence?. users? own settings remain in memory regardless of wseq_ena, and are not affected by software resets (i.e. writing to register r0). however, any non-default sequences are lost when the device is powered down.
wm9093 production data w pd, march 2012, rev 4.2 44 the following default control sequences are provided: 1. headphone start-up ? this sequence powers up the headphone driver and charge pump. it commands the dc servo to perform offset correc tion. this sequence is intended for enabling the headphone output after initial power-on, when dc offset correction has not previously been run. 2. generic shut-down ? this sequence shuts down all of the wm9093 output drivers, dc servo and charge pump circuits. specific details of these sequences are provided below. note that the timings noted are typical values only. headphone start-up the headphone start-up sequence is initiated by writing 0100h to register 73 (49h). this single operation starts the control write sequencer at index address 0 (00h) and executes the sequence defined in table 21. this sequence takes approximately 40ms to run. wseq index register address width start data delay eos description 0 (00h) r76 (4ch) 1 bit bit 15 01h 6h 0b cp_ena = 1 (delay = 4.5ms) 1 (01h) r1 (01h) 3 bits bit 7 07h 0h 0b hpout1r_ena = 1 hpout1l_ena = 1 (delay = 0.5ms) 2 (02h) r96 (60h) 5 bits bit 1 11h 0h 0b hpout1r_dly = 1 hpout1l_dly = 1 (delay = 0.5ms) 3 (03h) r84 (54h) 7 bits bit 0 33h 9h 0b dcs_ena_chan_0 = 1 dcs_ena_chan_1 = 1 dcs_trig_startup_0 = 1 dcs_trig_startup_1 = 1 (delay = 32.5ms) 4 (04h) r255 (ffh) 1 bit bit 0 00h 5h 0b dummy write for additional delay (delay = 2.5ms) 5 (05h) r255 (ffh) 1 bit bit 0 00h 0h 0b dummy write for expansion (delay = 0.5ms) 6 (06h) r255 (ffh) 1 bits bit 0 00h 0h 0b dummy write for expansion (delay = 0.5ms) 7 (07h) r96 (60h) 6 bits bit 2 3bh 0h 1b hpout1l_rmv_short = 1 hpout1l_outp = 1 hpout1l_dly = 1 hpout1r_rmv_short =1 hpout1r_outp = 1 (delay = 0.5ms) table 21 headphone start-up default sequence
production data wm9093 w pd, march 2012, rev 4.2 45 generic shut-down the generic shut-down sequence can be initiated by writing 0110h to register 73 (49h). this single operation starts the control write sequencer at index address 16 (10h) and executes the sequence defined in table 22. this sequence takes approximately 2.8ms to run. wseq index register address width start data delay eos description 16 (10h) r96 (60h) 7 bits bit 1 00h 0h 0b hpout1r_dly = 0 hpout1r_outp = 0 hpout1r_rmv_short = 0 hpout1l_dly = 0 hpout1l_outp = 0 hpout1l_rmv_short = 0 (delay = 0.5ms) 17 (11h) r84 (54h) 2 bits bit 0 00h 0h 0b dcs_ena_chan_0 = 0 dcs_ena_chan_1 = 0 (delay = 0.5ms) 18 (12h) r1 (01h) 2 bits bit 8 00h 0h 0b hpout1r_ena = 0 hpout1l_ena = 0 (delay = 0.5ms) 19 (13h) r76 (4ch) 1 bit bit 15 00h 0h 0b cp_ena = 0 (delay = 0.5ms) 20 (14h) r1 (01h) 2 bits bit 12 00h 0h 1b spkoutl_ena = 0 (delay = 0.5ms) table 22 generic shut-down default sequence power sequences and po p suppression control the wm9093 incorporates a number of features, including wolfson?s silentswitch? technology, designed to suppress pops normally associated with start-up, shut-down or signal path control. to achieve maximum benefit from these features, careful attention is required to the sequence and timing of these controls. note that, under the recommended usage conditions of the wm9093, these features will be configured by running the default star t-up and shut-down sequences as described in the ?control write sequencer? section. in these cases, the user does not need to set these register fields directly. additional bias controls, also pre-programmed into control write sequencer, are described in the ?reference voltages and master bias? section. input vmid clamps the analogue inputs are biased to vmid in normal operation. in order to avoid audible pops caused by enabling the inputs, the wm9093 can clamp the input pins to vmid when the relevant input stage is disabled. this allows pre-charging of the input ac coupling capacitors during power-up. the input vmid clamps connect the input pins to a buffered vmid reference. the buffered vmid reference is enabled by setting vmid_buf_ena. the vmid clamp is enabled on each pair of input pins independently using the register bits defined in table 23.
wm9093 production data w pd, march 2012, rev 4.2 46 register address bit label default description r21 (15h) in3 line control 0 in3_clamp 1 in3+ and in3- input pad vmid clamp 0 = clamp de-activated 1 = clamp activated r22 (16h) in1 line control 0 in1_clamp 1 in1+ and in1- input pad vmid clamp 0 = clamp de-activated 1 = clamp activated r23 (17h) in2 line control 0 in2_clamp 1 in2+ and in2- input pad vmid clamp 0 = clamp de-activated 1 = clamp activated r57 (39h) antipop2 3 vmid_buf_ena 1 vmid buffer enable 0 = disabled 1 = enabled table 23 input vmid clamps headphone enable/disable the ground-referenced headphone outputs implement wolfson?s silentswitch? technology to minimise pop noise associated with enabling and disabling. the output pins hpl and hpr are shorted to gnd by default while the individual driver stages are enabled. as a final step the short circuit is then removed on each of these paths by setting the applicable fields hpout1l_rmv_short and hpout1r_rmv_short. the ground-referenced headphone output drivers are designed to suppress pops and clicks when enabled or disabled. however, it is necessary to control the drivers in accordance with a defined sequence in start-up and shut-down to achieve the pop suppression. it is also necessary to schedule the dc servo offset correction at the appropriate poi nt in the sequence (see ?dc servo?). table 24 and table 25 describe the recommended sequences for enabling and disabling these output drivers. sequence headphone enable step 1 hpout1l_ena = 1 hpout1r_ena = 1 step 2 hpout1l_dly = 1 hpout1r_dly = 1 step 3 dc offset correction step 4 hpout1l_outp = 1 hpout1l_rmv_short = 1 hpout1r_outp = 1 hpout1r_rmv_short = 1 table 24 headphone output enable sequence sequence headphone disable step 1 hpout1l_rmv_short = 0 hpout1l_dly = 0 hpout1l_outp = 0 hpout1r_rmv_short = 0 hpout1r_dly = 0 hpout1r_outp = 0 step 2 hpout1l_ena = 0 hpout1r_ena = 0 table 25 headphone output disable sequence
production data wm9093 w pd, march 2012, rev 4.2 47 the register bits relating to pop suppression control are defined in table 26. register address bit label default description r1 (01h) power management (1) 9 hpout1l_ena 0 headphone output (hpl) input stage enable 0 = disabled 1 = enabled 8 hpout1r_ena 0 headphone output (hpr) input stage enable 0 = disabled 1 = enabled r96 (60h) analogue hp 0 7 hpout1l_rmv_ short 0 removes hpout1l short 0 = hpout1l short enabled 1 = hpout1l short removed note: remove short after output stage has been enabled. 6 hpout1l_outp 0 enables hpout1l output stage 0 = disabled 1 = enabled note: set after offset correction is complete 5 hpout1l_dly 0 enables hpout1l intermediate stage 0 = disabled 1 = enabled note: set with at least 20us delay after hpout1l_ena has been set. 3 hpout1r_rmv_ short 0 removes hpout1r short 0 = hpout1r short enabled 1 = hpout1r short removed note: remove short after output stage has been enabled. 2 hpout1r_outp 0 enables hpout1r output stage 0 = disabled 1 = enabled note: set after offset correction is complete 1 hpout1r_dly 0 enables hpout1r intermediate stage 0 = disabled 1 = enabled note: set with at least 20us delay after hpout1r_ena has bee set. table 26 pop suppression control
wm9093 production data w pd, march 2012, rev 4.2 48 recommended headphone start up sequence below is a recommended headphone start up sequence for suppressing pops. firstly program the following sequence into the control write sequencer. for further details refer to the ?programming a sequence? section. wseq index register address width start data delay eos description 0 (00h) r76 (4ch) 1 bits bit 15 01h 0h 0b enable charge pump 1 (01h) r3 (03h) 2 bits bit 4 03h 0h 0b enable output mixers 2 (02h) r46 (2dh) 1 bits bit 6 01h 0h 0b enable path from in1a to mixoutl 3 (03h) r47 (2eh) 1 bits bit 4 01h 0h 0b enable path from in1b to mixoutr 4 (04h) r48 (2fh) 1 bits bit 8 00h 0h 0b un-mute mixoutl 5 (05h) r49 (30h) 1 bits bit 8 00h 0h 0b un-mute mixoutr 6 (06h) r28 (1ch) 1 bits bit 8 01h 0h 0b hpout1l_vol=-12db and update 7 (07h) r29 (1dh) 1 bits bit 8 01h 0h 0b hpout1r_vol=-12db and update 8 (08h) r1 (01h) 2 bits bit 8 03h 0h 0b enable hpoutl/r 9 (0ah) r96 (60h) 6 bits bit 0 22h 0h 0b enable hp dly 10 (0bh) r84 (54h) 6 bits bit 0 33h 9h (32.5ms) 0b enable dc servo and start calibration 11 (0ch) r96 (60h) 8 bits bit 0 eeh 0h 1b enable headphone output secondly, initiate the sequence by performing the following set of register writes. register address data description r1 (01h) power management (1) 0x000b osc_ena=1, vmid_res=01, bias_ena=1 r2 (02h) power management (2) 0x60c0 enable input pgas r22 (16h) in1 line control 0x0000 in1+/- to s/e mode and disable input clamp r24 (18h) in1 line input a volume 0x0100 in1a volume=-6db and update r25 (19h) in1 line input b volume 0x0100 in1b volume=-6db and update r70 (46h) write sequencer 0 0x0100 write sequencer enable r71 (47h) write sequencer 0 0x0100 wseq_start=1
production data wm9093 w pd, march 2012, rev 4.2 49 charge pump the wm9093 incorporates a dual-mode charge pump which generates the supply rails for the headphone output drivers, hpout1l and hpout1r. the charge pump has a single supply input, hpvdd, and generates split rails cpvdd and cpvss according to the selected mode of operation. the charge pump connections are illustrated in figure 15 (see ?electrical characteristics? for external component values). an input decoupling capacitor may also be required at hpvdd, depending upon the system configuration. hpvdd wm9093 charge pump cpvdd cpvss cp cn gnd figure 15 charge pump external connections the charge pump is enabled by setting the cp_ena bit. when enabled, the charge pump adjusts the output voltages (cpvdd and cpvss) as well as the switching frequency in order to optimise the power consumption according to the operating conditions. the charge pump mode of operation is selected automatically according to the hpout1l_vol and hpout1r_vol register settings. under the recommended usage conditions of the wm9093, the charge pump will be enabled by running the default headphone start-up sequence as described in the ?control write sequencer? section. (similarly, it will be disabled by runni ng the shut-down sequence.) in these cases, the user does not need to write to the cp_ena bit. note that the charge pump clock is derived from internal clock clk_sys which must be enabled by setting osc_ena (see ?clocking control?). the clock division from clk_sys is handled transparently by the wm9093 without user intervention. the cp_ena register bit is defined in table 27. register address bit label default description r76 (4ch) charge pump 1 15 cp_ena 0 charge pump control 0 = disabled 1 = enabled table 27 charge pump control
wm9093 production data w pd, march 2012, rev 4.2 50 dc servo the wm9093 provides a dc servo circuit on the headphone outputs hpout1l and hpout1r in order to remove dc offset from these ground-referenced outputs. when enabled, the dc servo ensures that the dc level of these outputs remains within 1mv of ground. removal of the dc offset is important because any deviation from gnd at the output pin will cause current to flow through the load under quiescent conditions, resulting in incr eased power consumption. additionally, the presence of dc offsets can result in audible pops and clicks at power up and power down. the recommended usage of the dc servo is initialised by running the default start-up sequence as described in the ?control write sequencer? section. the default start-up sequence executes a series of dc offset corrections, after which the measured offset correction is maintained on the headphone output channels. if a different usage is required, eg. if a periodic dc offset correction is required, then the default start-up sequence may be modified accord ing to specific requirements. the relevant control fields are described in the following paragraphs and are defined in table 28. dc servo enable and start-up the dc servo circuit is enabled on hpout1l and hpout1r by setting dcs_ena_chan_0 and dcs_ena_chan_1 respectively. when the dc serv o is enabled, the dc offset correction can be commanded in a number of different ways, including single-shot and periodically recurring events. writing a logic 1 to dcs_trig_startup_ n initiates a series of dc offset measurements and applies the necessary correction to the associated output; (?n? = 0 for left channel, 1 for right channel). on completion, the headphone output will be within 1mv of agnd. this is the dc servo mode selected by the default start-up sequence. completion of the dc offset correction triggered in this way is indicated by the dcs_startup_complete field, as described in table 28. typically, this operation takes 25ms per channel. writing a logic 1 to dcs_trig_dac_wr_ n causes the dc offset correction to be set to the value contained in the dcs_dac_wr_val_ n fields in register r87. this mode is useful if the required offset correction has already been determined and stored; it is faster than the dcs_trig_startup_ n mode, but relies on the accuracy of the stored settings. completion of the dc offset correction triggered in this way is indicated by the dcs_dac_wr_complete field, as described in table 28. typically, this operation takes 2ms per channel. when using either of the dc servo options above, the status of the dc offset correction process is indicated by the dcs_cal_complete field; this is the logical or of the dcs_startup_complete and dcs_dac_wr_complete fields. the dc servo control fields associated with s tart-up operation are described in table 28. it is important to note that, to minimise audible pops/clicks, the start-up and dac write modes of dc servo operation should be commanded as part of a control sequence which includes muting and shorting of the headphone outputs; a suitable sequence is defined in the default start-up sequence.
production data wm9093 w pd, march 2012, rev 4.2 51 register address bit label default description r84 (54h) dc servo 0 5 dcs_trig_start up_1 0 writing 1 to this bit selects start- up dc servo mode for hpout1r. in readback, a value of 1 indicates that the dc servo start-up correction is in progress. 4 dcs_trig_start up_0 0 writing 1 to this bit selects start- up dc servo mode for hpout1l. in readback, a value of 1 indicates that the dc servo start-up correction is in progress. 3 dcs_trig_dac_w r_1 0 writing 1 to this bit selects dac write dc servo mode for hpout1r. in readback, a value of 1 indicates that the dc servo dac write correction is in progress. 2 dcs_trig_dac_w r_0 0 writing 1 to this bit selects dac write dc servo mode for hpout1l. in readback, a value of 1 indicates that the dc servo dac write correction is in progress. 1 dcs_ena_chan_1 0 dc servo enable for hpout1r 0 = disabled 1 = enabled 0 dcs_ena_chan_0 0 dc servo enable for hpout1l 0 = disabled 1 = enabled r87 (57h) dc servo 3 15:8 dcs_dac_wr_va l1 [7:0] 0000 0000 dc offset value for hpout1rin dac write dc servo mode. two?s complement format. lsb is 0.25mv. range is -32mv to +31.75mv 7:0 dcs_dac_wr_va l0 [7:0] 0000 0000 dc offset value for hpout1lin dac write dc servo mode. two?s complement format. lsb is 0.25mv. range is -32mv to +31.75mv r88 (58h) dc servo readback 0 9:8 dcs_cal_compl ete [1:0] 00 dc servo complete status 0 = dac write or start-up dc servo mode not completed. 1 = dac write or start-up dc servo mode complete. bit [1] = hpout1r bit [0] = hpout1l 5:4 dcs_dac_wr_co mplete [1:0] 00 dc servo dac write status 0 = dac write dc servo mode not completed. 1 = dac write dc servo mode complete. bit [1] = hpout1r bit [0] = hpout1l
wm9093 production data w pd, march 2012, rev 4.2 52 register address bit label default description 1:0 dcs_startup_c omplete [1:0] 00 dc servo start-up status 0 = start-up dc servo mode not completed. 1 = start-up dc servo mode complete. bit [1] = hpout1r bit [0] = hpout1l table 28 dc servo enable and start-up modes dc servo active modes the dc servo modes described above are suitable for initialising the dc offset correction circuit on the headphone outputs as part of a controlled start-up sequence which is executed before the signal path is fully enabled. additional modes are availabl e for use whilst the signal path is active; these modes may be of benefit following a large change in signal gain, which can lead to a change in dc offset level. periodic updates may also be desirable to remove slow drifts in dc offset caused by changes in parameters such as device temperature. the dc servo circuit is enabled on hpout1l and hpout1r by setting dcs_ena_chan_0 and dcs_ena_chan_1 respectively, as described earlier in table 28. writing a logic 1 to dcs_trig_single_ n initiates a single dc offset measurement and adjustment to the associated output; (?n? = 0 for left channel, 1 for right channel). this will adjust the dc offset correction on the selected channel by no more than 1lsb (0.25mv). setting dcs_timer_period_01 to a non-zero value will cause a single dc offset measurement and adjustment to be scheduled on a periodic basis. periodic rates ranging from every 0.52s to in excess of 2hours can be selected. writing a logic 1 to dcs_trig_series_ n initiates a series of dc offset measurements and applies the necessary correction to the associated output. the number of dc servo operations performed is determined by dcs_series_no_01. a maximum of 128 operations may be selected, though a much lower value will be sufficient in most applications. the dc servo control fields associated with active modes (suitable for use on a signal path that is in active use) are described in table 29.
production data wm9093 w pd, march 2012, rev 4.2 53 register address bit label default description r84 (54h) dc servo 0 13 dcs_trig_single _1 0 writing 1 to this bit selects a single dc offset correction for hpout1r. in readback, a value of 1 indicates that the dc servo single correction is in progress. 12 dcs_trig_single _0 0 writing 1 to this bit selects a single dc offset correction for hpout1l. in readback, a value of 1 indicates that the dc servo single correction is in progress. 9 dcs_trig_series _1 0 writing 1 to this bit selects a series of dc offset corrections for hpout1r. in readback, a value of 1 indicates that the dc servo dac write correction is in progress. 8 dcs_trig_series _0 0 writing 1 to this bit selects a series of dc offset corrections for hpout1l. in readback, a value of 1 indicates that the dc servo dac write correction is in progress. r85 (55h) dc servo 1 11:5 dcs_series_no_ 01 [6:0] 010 1010 number of dc servo updates to perform in a series event. 0 = 1 updates 1 = 2 updates ... 127 = 128 updates 3:0 dcs_timer_peri od_01 [3:0] 1010 time between periodic updates. time is calculated as 0.256s x (2^period) 0000 = off 0001 = 0.52s 1010 = 266s (4min 26s) 1111 = 8519s (2hr 22s) table 29 dc servo active modes dc servo readback the current dc offset value for each headphone output channel can be read from registers r89 and r90, as described in table 30. note that these va lues may form the basis of settings that are subsequently used by the dc servo in dac write mode. register address bit label default description r89 (59h) dc servo readback 1 7:0 dcs_dac_wr_va l_1_rd 0000 0000 readback value for hpout1r. two?s complement format. lsb is 0.25mv. range is -32mv to +31.75mv r90 (5ah) dc servo readback 2 7:0 dcs_dac_wr_va l_0_rd 0000 0000 readback value for hpout1l. two?s complement format. lsb is 0.25mv. range is -32mv to +31.75mv table 30 dc servo readback
wm9093 production data w pd, march 2012, rev 4.2 54 reference voltages and master bias this section describes the analogue reference voltage and bias current controls. it also describes the vmid soft-start circuit for pop suppressed start-up and shut-down. the analogue circuits in the wm9093 require a mid-rail analogue reference voltage, vmid. this reference is generated from hpvdd via a programmable resistor chain. together with the external decoupling capacitor (connected to the bias pin), the pr ogrammable resistor chain results in a slow, normal or fast charging characteristic on vmid. vmid is enabled by setting the vmid_ena register bit. the programmable resistor chain is configured by vmid_res[1:0], and can be used to optimise the reference for normal operation, low power standby or for fast start-up as described in table 31. when vmid is enabled using vmid_ena, the wm9093 automatically controls vmid using a pop- suppression circuit to avoid a step change in vmid; this suppresses pop/click noise which could otherwise occur. by default, the 2 x 5k ? vmid divider is selected in order to allow fast start-up. for normal operation and lower power consumption, the vmid_res register should be updated after start-up to select another resistor value. the analogue circuits in the wm9093 require a bias current. the normal bias current is enabled by setting bias_ena. note that the normal bias cu rrent source requires vmid to be enabled also. register address bit label default description r1 (01h) power management (1) 2:1 vmid_res [1:0] 11 vmid divider enable and select 00 = vmid disabled (for off mode) 01 = 2 x 50k ? divider (for normal operation) 10 = 2 x 250k ? divider (for low power standby) 11 = 2 x 5k ? divider (for fast start-up) 0 bias_ena 0 enables the normal bias current generator (for all analogue functions) 0 = disabled 1 = enabled r57 (39h) antipop2 0 vmid_ena 0 enable vmid master bias current source 0 = disabled 1 = enabled table 31 reference voltages and master bias enable
production data wm9093 w pd, march 2012, rev 4.2 55 power management the wm9093 provides control registers that allow users to select which functions are active. for minimum power consumption, unused functions should be disabled. to minimise pop or click noise, it is important to enable or disable functions in the correct order. see ?power sequences and pop suppression control? for further details of recommended control sequences. register address bit label default description r1 (1h) power management (1) 12 spkoutl_ena 0 speaker output enable 0 = disabled 1 = enabled 9 hpout1l_ena 0 headphone output (hpl) input stage enable 0 = disabled 1 = enabled 8 hpout1r_ena 0 headphone output (hpr) input stage enable 0 = disabled 1 = enabled 2:1 vmid_res [1:0] 00 vmid divider enable and select 00 = vmid disabled (for off mode) 01 = 2 x 50k divider (for normal operation) 10 = 2 x 250k divider (for low power standby) 11 = 2 x 5k divider (for fast start-up) 0 bias_ena 0 enables the normal bias current generator (for all analogue functions) 0 = disabled 1 = enabled r2 (02h) power management (2) 14 tshut_ena 0 thermal sensor enable 0 = disabled 1 = enabled 13 tshut_opdis 1 thermal shutdown control (causes audio outputs to be disabled if an over-temperature occurs. the thermal sensor must also be enabled.) 0 = disabled 1 = enabled 7 in1a_ena 0 in1a input pga enable 0 = disabled 1 = enabled 6 in1b_ena 0 in1b input pga enable 0 = disabled 1 = enabled (note this is only required for single- ended input on the in1- pin) 5 in2a_ena 0 in2a input pga enable 0 = disabled 1 = enabled 4 in2b_ena 0 in2b input pga enable 0 = disabled 1 = enabled (note this is only required for single- ended input on the in2- pin)
wm9093 production data w pd, march 2012, rev 4.2 56 register address bit label default description r3 (03h) power management (3) 8 spklvol_ena 0 speaker pga enable 0 = disabled 1 = enabled 5 mixoutl_ena 0 mixoutl headphone mixer enable 0 = disabled 1 = enabled 4 mixoutr_ena 0 mixoutr headphone mixer enable 0 = disabled 1 = enabled 3 spkmix_ena 0 spkmix speaker mixer enable 0 = disabled 1 = enabled r57 (39h) antipop2 2 startup_bias_ ena 0 enables the start-up bias current generator 0 = disabled 1 = enabled r70 (46h) write sequencer 0 8 wseq_ena 0 write sequencer enable 0 = disabled 1 = enabled r76 (4ch) charge pump 1 15 cp_ena 0 charge pump control 0 = disabled 1 = enabled r84 (54h) dc servo 0 1 dcs_ena_chan _1 0 dc servo enable for hpout1r 0 = disabled 1 = enabled 0 dcs_ena_chan _0 0 dc servo enable for hpout1l 0 = disabled 1 = enabled table 32 power management
production data wm9093 w pd, march 2012, rev 4.2 57 thermal shutdown the wm9093 incorporates a temperature sensor which detects when the device temperature is within normal limits or if the device is approaching a hazardous temperature condition. the temperature status can be polled at any time by reading the tshut register bit. the temperature sensor can be configured to automatically disable the audio outputs of the wm9093 in response to an over-temperature condition (approximately 150oc). the temperature sensor is enabled by setting the tshut_ena register bit. when the tshut_opdis is also set, then a device over-temperature condition will cause the speaker output (out+ and out-) to be disabled; this response is likely to prevent any damage to the device attributable to the large currents of the speaker output driver. when the temperature sensor is enabled, the temperature status can be read from the tshut register bit. note that, to prevent pops and clicks, tshut_ ena and tshut_opdis should only be updated whilst the speaker and headphone outputs are disabled. register address bit label default description r2 (02h) power management (2) 15 tshut (read only) 0 thermal shutdown status 0 = normal temperature 1 = over temperature 14 tshut_ena 1 thermal sensor enable 0 = disabled 1 = enabled 13 tshut_opdis 1 thermal shutdown control (causes audio outputs to be disabled if an overtemperature occurs. the thermal sensor must also be enabled.) 0 = disabled 1 = enabled table 33 thermal shutdown software reset and chip id a software reset can be commanded by writing to register r0. this is a read-only register field and the contents will not be affected by writing to this register. the chip id can be read back from register r0. register address bit label default description r0 (00h) software reset 15:0 sw_reset [15:0] 9093h writing to this register causes a software reset. reading from this register will indicate chip id. table 34 chip reset and id
wm9093 production data w pd, march 2012, rev 4.2 58 register map dec addrhex addrname 1514131211109876543210 bin default 0 00 software reset 1001_0000_1001_0011 1 01 power management (1) 000 spkoutl_ena 00 hpout1l_e na hpout1r _ ena 0 0 0 0 osc_ena bias_ena 0000_0000_p000_0110 2 02 power management (2) tshut tshut_ena tshut_op dis 00000in1a_enain1b_enain2a_enain2b_ena0000 0110_0000_0000_0000 3 03 power management (3) 0agc_ena00000 spklvol_e na 00 mixoutl_e na mixoutr_e na spkmix_en a 000 0000_0000_0000_0000 6 06 clocking 1 toclk_rat e toclk_ena00000111000000 0000_0001_1100_0000 21 15 in3 line control 000000000000000in3_clamp 0000_0000_0000_0001 22 16 in1 line control 00000000000000in1_diffin1_clamp 0000_0000_0000_0011 23 17 in2 line control 00000000000000in2_diffin2_clamp 0000_0000_0000_0011 24 18 in1 line input a volume 0000000in1_vuin1a_mutein1a_zc000 0000_000p_1000_0011 25 19 in1 line input b volume 0000000in1_vuin1b_mutein1b_zc000 0000_000p_1000_0011 26 1a in2 line input a volume 0000000in2_vuin2a_mutein2a_zc000 0000_000p_1000_0011 27 1b in2 line input b volume 0000000in2_vuin2b_mutein2b_zc000 0000_000p_1000_0011 28 1c left output volume 0000000 hpout1_v u hpout1l_z c hpout1l_m ute 0000_000p_0010_1101 29 1d right output volume 0000000 hpout1_v u hpout1r_z c hpout1r_ mute 0000_000p_0010_1101 34 22 spkmixl attenuation 000 spkout_clas sab_mode 000 spkmix_mu te 0000_0001_0000_0000 35 23 reserved 0000000000000000 0000_0000_0000_0000 36 24 spkout mixers 00000000 0 0 in3_to_sp koutl spkmixl_t o _ spkout 0000 0000_0000_0001_0000 37 25 classd3 00000001 spk_attn_fb spk_vref_ ab ctrl 000 0000_0001_0100_0000 38 26 speaker volume left 0000000 spkout_v u spkoutl_z c spkoutl _ mute 0000_000p_0011_1001 45 2d output mixer1 000000000 in1a_to_mi xoutl 0 in1b_to_mi xoutl 0 in2a_to_mi xoutl 0 in2b_to_mi xoutl 0000_0000_0000_0000 46 2e output mixer2 000000000 in1a_to_mi xoutr 0 in1b_to_mi xoutr 0 in2a_to_mi xoutr 0 in2b_to_mi xoutr 0000_0000_0000_0000 47 2f output mixer3 0000000 mixoutl_m ute 0000_0001_0000_0000 48 30 output mixer4 0000000 mixoutr_m ute 0000_0001_0000_0000 54 36 speaker mixer 000000000 in1a_to_s pkmi x 0 in1b_to_s pkmi x 0 in2a_to_spk mix 0 in2b_to_s pkmi x 0000_0000_0000_0000 57 39 antipop2 000000000000 vmid_buf _ ena 10vmid_ena 0000_0000_0000_1101 66 42 clocking 4 0000000 toclk_rat e _ div16 toclk_rat e _ x4 1011110 0000_0000_0101_1110 in2a_mixoutr_vol[1:0] in2b_mixoutr_vol[1:0] in1a_mixoutr_vol[1:0] in1b_mixoutr_vol[1:0] hpout1l_vol[5:0] sw_reset[15:0] vmid_res[1:0] in1a_vol[2:0] in1b_vol[2:0] in2a_vol[2:0] in2b_vol[2:0] in2b_spkmix_vol[1:0] in2a_spkmix_vol[1:0] in1b_spkmix_vol[1:0] hpout1r_vol[5:0] in1b_mixoutl_vol[1:0] in2a_mixoutl_vol[1:0] spkoutl_boost[2:0] spkoutl_vol[5:0] in2b_mixoutl_vol[1:0] in1a_spkmix_vol[1:0] in1a_mixoutl_vol[1:0]
production data wm9093 w pd, march 2012, rev 4.2 59 dec addr hex addr name 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 bin default 70 46 write sequencer 0 0000000wseq_ena0000 0000_0000_0000_0000 71 47 write sequencer 1 0 0000_0000_0000_0000 72 48 write sequencer 2 0 wseq_eos 0 0 0000_0000_0000_0000 73 49 write sequencer 3 000000 wseq_abo rt wseq_sta rt 00 0000_0000_0000_0000 74 4a write sequencer 4 000000000000000 wseq_bus y 0000_0000_0000_0000 75 4b write sequencer 5 0000000000 0000_0000_0000_0000 76 4c charge pump 1 cp_ena001111100100101 0001_1111_0010_0101 84 54 dc servo 0 00 dcs_trig _ single _ 1 dcs_trig _ single _ 0 00 dcs_trig _ series _ 1 dcs_trig _ series _ 0 00 dcs_trig _ startup _ 1 dcs_trig _ startup _ 0 dcs_trig _ dac _ wr _ 1 dcs_trig _ dac _ wr _ 0 dcs_ena _ chan _ 1 dcs_ena _ chan _ 0 00pp_00pp_00pp_pp00 85 55 dc servo 1 0000 0 0000_0101_0100_1010 86 56 dc servo 2 0000100000000111 0000_1000_0000_0111 87 57 dc servo 3 0000_0000_0000_0000 88 58 dc servo readback 0 000000 00 00 0000_0000_0000_0000 89 59 dc servo readback 1 00000000 0000_0000_0000_0000 90 5a dc servo readback 2 00000000 0000_0000_0000_0000 96 60 analogue hp 0 00000001 hpout1l_r mv _ short hpout1l_o utp hpout1l_d ly 0 hpout1r _ rmv _ shor hpout1r _ outp hpout1r _ dly 0 0000_0001_0000_0000 98 62 agc control 0 agc_clip _ en a 000 0 0 1000_0000_0100_0000 99 63 agc control 1 agc_pwr_ en a 10 agc_pwr_ avg 00 1100_0000_0000_0000 100 64 agc control 2 0000001agc_ramp00 0000_0010_0000_0000 wseq_delay[3:0] wseq_start_index[5:0] wseq_current_index[5:0] wseq_data_width[2:0] wseq_data_start[3:0] wseq_addr[7:0] wseq_data[7:0] wseq_write_index[3:0] dcs_cal_complete[1: 0] dcs_series_no_01[6:0] dcs_dac_wr_val_1[7:0] dcs_dac_wr_val_0_rd[7:0] agc_mingain[5:0] dcs_dac_wr_val_1_rd[7:0] dcs_startup_comple te[1:0] dcs_timer_period_01[3:0] dcs_dac_wr_comple te[1:0] dcs_dac_wr_val_0[7:0] agc_clip_dcy[2:0] agc_pwr_dcy[2:0] agc_pwr_atk[2:0] agc_clip_atk[2:0] agc_clip_thr[3:0] agc_pwr_thr[3:0]
wm9093 production data w pd, march 2012, rev 4.2 60 register bits by address register address bit label default description refer to r0 (00h) software reset 15:0 sw_reset[15:0] 1001_0000 _1001_001 1 writing to this register causes a software reset. reading from this register will indicate chip id. register 00h software reset register address bit label default description refer to r1 (01h) power managemen t (1) 12 spkoutl_ena 0 speaker output enable 0 = disabled 1 = enabled 9 hpout1l_ena 0 headphone output (hpl) input stage enable 0 = disabled 1 = enabled 8 hpout1r_ena 0 headphone output (hpr) input stage enable 0 = disabled 1 = enabled 3 osc_ena 0 clk_sys oscillator enable 0 = disabled 1 = enabled 2:1 vmid_res[1:0] 11 vmid divider enable and select 00 = vmid disabled (for off mode) 01 = 2 x 50k divider (for normal operation) 10 = 2 x 250k divider (for low power standby) 11 = 2 x 5k divider (for fast start-up) 0 bias_ena 0 enables the normal bias current generator (for all analogue functions) 0 = disabled 1 = enabled register 01h power management (1) register address bit label default description refer to r2 (02h) power managemen t (2) 15 tshut 0 thermal shutdown status 0 = normal temperature 1 = over temperature 14 tshut_ena 1 thermal sensor enable 0 = disabled 1 = enabled 13 tshut_opdis 1 thermal shutdown control (causes audio outputs to be disabled if an overtemperature occurs. the thermal sensor must also be enabled.) 0 = disabled 1 = enabled 7 in1a_ena 0 in1a input pga enable 0 = disabled 1 = enabled 6 in1b_ena 0 in1b input pga enable 0 = disabled 1 = enabled (note this is only required for single-ended input on the
production data wm9093 w pd, march 2012, rev 4.2 61 register address bit label default description refer to in1- pin) 5 in2a_ena 0 in2a input pga enable 0 = disabled 1 = enabled 4 in2b_ena 0 in2b input pga enable 0 = disabled 1 = enabled (note this is only required for single-ended input on the in2- pin) register 02h power management (2) register address bit label default description refer to r3 (03h) power managemen t (3) 14 agc_ena 0 agc enable 0 = disabled 1 = enabled 8 spklvol_en a 0 speaker pga enable 0 = disabled 1 = enabled note that spkmixl and spklvol are also enabled when spkoutl_ena is set. 5 mixoutl_en a 0 mixoutl headphone mixer enable 0 = disabled 1 = enabled 4 mixoutr_en a 0 mixoutr headphone mixer enable 0 = disabled 1 = enabled 3 spkmix_ena 0 spkmix speaker mixer enable 0 = disabled 1 = enabled register 03h power management (3) register address bit label default description refer to r6 (06h) clocking 1 15 toclk_rate 0 toclk rate divider (/2) 0 = f / 2 1 = f / 1 14 toclk_ena 0 toclk enable 0 = disabled 1 = enabled register 06h clocking 1 register address bit label default description refer to r21 (15h) in3 line control 0 in3_clamp 1 in3+ and in3- input pad vmid clamp 0 = clamp de-activated 1 = clamp activated register 15h in3 line control
wm9093 production data w pd, march 2012, rev 4.2 62 register address bit label default description refer to r22 (16h) in1 line control 1 in1_diff 1 pga in1a and in1b configuration 0 = single-ended mode 1 = differential mode 0 in1_clamp 1 in1+ and in1- input pad vmid clamp 0 = clamp de-activated 1 = clamp activated register 16h in1 line control register address bit label default description refer to r23 (17h) in2 line control 1 in2_diff 1 pga in2a and in2b configuration 0 = single-ended mode 1 = differential mode 0 in2_clamp 1 in2+ and in2- input pad vmid clamp 0 = clamp de-activated 1 = clamp activated register 17h in2 line control register address bit label default description refer to r24 (18h) in1 line input a volume 8 in1_vu n/a in1 volume update writing a 1 to this bit will cause in1a and in1b input pga volumes to be updated simultaneously 7 in1a_mute 1 in1a pga mute 0 = un-mute 1 = mute 6 in1a_zc 0 in1a pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 2:0 in1a_vol[2:0] 011 in1a volume (differential mode) 000 = -6db 001 = -3.5db 010 = 0db 011 = +3.5db 100 = +6db 101 = +12db 110 = +18db 111 = +18db in1a volume (single-ended mode) 000 = 0db 001 = +2.5db 010 = +6db 011 = +9.5db 100 = +12db 101 = +18db 110 = +24db 111 = +24db register 18h in1 line input a volume
production data wm9093 w pd, march 2012, rev 4.2 63 register address bit label default description refer to r25 (19h) in1 line input b volume 8 in1_vu n/a in1 volume update writing a 1 to this bit will cause in1a and in1b input pga volumes to be updated simultaneously 7 in1b_mute 1 in1b pga mute 0 = un-mute 1 = mute 6 in1b_zc 0 in1b pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 2:0 in1b_vol[2:0] 011 in1b volume (differential mode) 000 = -6db 001 = -3.5db 010 = 0db 011 = +3.5db 100 = +6db 101 = +12db 110 = +18db 111 = +18db in1b volume (single-ended mode) 000 = 0db 001 = +2.5db 010 = +6db 011 = +9.5db 100 = +12db 101 = +18db 110 = +24db 111 = +24db register 19h in1 line input b volume register address bit label default description refer to r26 (1ah) in2 line input a volume 8 in2_vu n/a input pga volume update writing a 1 to this bit will cause in2a and in2b input pga volumes to be updated simultaneously 7 in2a_mute 1 in2a pga mute 0 = un-mute 1 = mute 6 in2a_zc 0 in2a pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 2:0 in2a_vol[2:0] 011 in2a volume (differential mode) 000 = -6db 001 = -3.5db 010 = 0db 011 = +3.5db 100 = +6db 101 = +12db 110 = +18db 111 = +18db
wm9093 production data w pd, march 2012, rev 4.2 64 register address bit label default description refer to in2a volume (single-ended mode) 000 = 0db 001 = +2.5db 010 = +6db 011 = +9.5db 100 = +12db 101 = +18db 110 = +24db 111 = +24db register 1ah in2 line input a volume register address bit label default description refer to r27 (1bh) in2 line input b volume 8 in2_vu n/a input pga volume update writing a 1 to this bit will cause in2a and in2b input pga volumes to be updated simultaneously 7 in2b_mute 1 in2b pga mute 0 = un-mute 1 = mute 6 in2b_zc 0 in2b pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 2:0 in2b_vol[2:0] 011 in2b volume (differential mode) 000 = -6db 001 = -3.5db 010 = 0db 011 = +3.5db 100 = +6db 101 = +12db 110 = +18db 111 = +18db in2b volume (single-ended mode) 000 = 0db 001 = +2.5db 010 = +6db 011 = +9.5db 100 = +12db 101 = +18db 110 = +24db 111 = +24db register 1bh in2 line input b volume
production data wm9093 w pd, march 2012, rev 4.2 65 register address bit label default description refer to r28 (1ch) left output volume 8 hpout1_vu n/a headphone output pga volume update writing a 1 to this bit will update hpout1lvol and hpout1rvol volumes simultaneously. 7 hpout1l_zc 0 left headphone output pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 6 hpout1l_mu te 0 left headphone output pga mute 0 = un-mute 1 = mute 5:0 hpout1l_vo l[5:0] 10_1101 left headphone output pga volume -57db to +6db in 1db steps register 1ch left output volume register address bit label default description refer to r29 (1dh) right output volume 8 hpout1_vu n/a headphone output pga volume update writing a 1 to this bit will update hpout1lvol and hpout1rvol volumes simultaneously. 7 hpout1r_zc 0 right headphone output pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 6 hpout1r_mu te 0 right headphone output pga mute 0 = un-mute 1 = mute 5:0 hpout1r_vo l[5:0] 10_1101 right headphone output pga volume -57db to +6db in 1db steps register 1dh right output volume register address bit label default description refer to r34 (22h) spkmixl attenuation 12 spkout_cla ssab_mode 0 speaker class ab mode enable 0 = class d mode (for spkmix source) 1 = class ab mode (for voice bypass source) 8 spkmix_mut e 1 spkmix output mute 0 = un-mute 1 = mute 7:6 in1a_spkmix _vol[1:0] 00 in1a to spkmix volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 5:4 in1b_spkmix _vol[1:0] 00 in1b to spkmix volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 3:2 in2a_spkmix _vol[1:0] 00 in2a to spkmix volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db
wm9093 production data w pd, march 2012, rev 4.2 66 register address bit label default description refer to 1:0 in2b_spkmix _vol[1:0] 00 in2b to spkmix volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db register 22h spkmixl attenuation register address bit label default description refer to r36 (24h) spkout mixers 5 in3_to_spko utl 0 voice bypass (in3 differential) to speaker output enable 0 = disabled 1 = enabled 4 spkmixl_to_ spkoutl 1 spkmix to speaker output enable 0 = disabled 1 = enabled register 24h spkout mixers register address bit label default description refer to r37 (25h) classd3 7 spk_attn_fb 0 speaker amp gain 0 = 0db 1 = -12db note ? this bit has no effect in class d mode; the 0db setting is always implemented in class d mode. 6 spk_vref_a b_ctrl 1 selects reference for speaker in class ab mode 0 = svdd/2 1 = vmid 5:3 spkoutl_bo ost[2:0] 000 speaker output gain boost 000 = 1.00x boost (+0db) 001 = 1.19x boost (+1.5db) 010 = 1.41x boost (+3.0db) 011 = 1.68x boost (+4.5db) 100 = 2.00x boost (+6.0db) 101 = 2.37x boost (+7.5db) 110 = 2.81x boost (+9.0db) 111 = 3.98x boost (+12.0db) register 25h classd3 register address bit label default description refer to r38 (26h) speaker volume left 8 spkout_vu n/a speaker output pga volume update writing a 1 to this bit will update the spkoutl volume. 7 spkoutl_zc 0 speaker output pga zero cross control 0 = change gain immediately 1 = change gain on zero cross only 6 spkoutl_mu te 0 speaker output pga mute 0 = un-mute 1 = mute 5:0 spkoutl_vo 11_1001 speaker output pga volume
production data wm9093 w pd, march 2012, rev 4.2 67 register address bit label default description refer to l[5:0] -57db to +6db in 1db steps register 26h speaker volume left register address bit label default description refer to r45 (2dh) output mixer1 6 in1a_to_mix outl 0 in1a to mixoutl enable 0 = disabled 1 = enabled 4 in1b_to_mix outl 0 in1b to mixoutl enable 0 = disabled 1 = enabled 2 in2a_to_mix outl 0 in2a to mixoutl enable 0 = disabled 1 = enabled 0 in2b_to_mix outl 0 in2b to mixoutl enable 0 = disabled 1 = enabled register 2dh output mixer1 register address bit label default description refer to r46 (2eh) output mixer2 6 in1a_to_mix outr 0 in1a to mixoutr enable 0 = disabled 1 = enabled 4 in1b_to_mix outr 0 in1b to mixoutr enable 0 = disabled 1 = enabled 2 in2a_to_mix outr 0 in2a to mixoutr enable 0 = disabled 1 = enabled 0 in2b_to_mix outr 0 in2b to mixoutr enable 0 = disabled 1 = enabled register 2eh output mixer2 register address bit label default description refer to r47 (2fh) output mixer3 8 mixoutl_mu te 1 mixoutl output mute 0 = un-mute 1 = mute 7:6 in1a_mixout l_vol[1:0] 00 in1a to mixoutl volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 5:4 in1b_mixout l_vol[1:0] 00 in1b to mixoutl volume control 00 = 0db 01 = -6db 10 = -9db
wm9093 production data w pd, march 2012, rev 4.2 68 register address bit label default description refer to 11 = -12db 3:2 in2a_mixout l_vol[1:0] 00 in2a to mixoutl volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 1:0 in2b_mixout l_vol[1:0] 00 in2b to mixoutl volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db register 2fh output mixer3 register address bit label default description refer to r48 (30h) output mixer4 8 mixoutr_mu te 1 mixoutr output mute 0 = un-mute 1 = mute 7:6 in1a_mixout r_vol[1:0] 00 in1a to mixoutr volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 5:4 in1b_mixout r_vol[1:0] 00 in1b to mixoutr volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 3:2 in2a_mixout r_vol[1:0] 00 in2a to mixoutr volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db 1:0 in2b_mixout r_vol[1:0] 00 in2b to mixoutr volume control 00 = 0db 01 = -6db 10 = -9db 11 = -12db register 30h output mixer4 register address bit label default description refer to r54 (36h) speaker mixer 6 in1a_to_spk mix 0 in1a to spkmix enable 0 = disabled 1 = enabled 4 in1b_to_spk mix 0 in1b to spkmix enable 0 = disabled 1 = enabled 2 in2a_to_spk mix 0 in2a to spkmix enable 0 = disabled 1 = enabled
production data wm9093 w pd, march 2012, rev 4.2 69 register address bit label default description refer to 0 in2b_to_spk mix 0 in2b to spkmix enable 0 = disabled 1 = enabled register 36h speaker mixer register address bit label default description refer to r57 (39h) antipop2 3 vmid_buf_en a 1 vmid buffer enable 0 = disabled 1 = enabled 0 vmid_ena 1 enable vmid master bias current source 0 = disabled 1 = enabled register 39h antipop2 register address bit label default description refer to r70 (46h) write sequencer 0 8 wseq_ena 0 write sequencer enable. 0 = disabled 1 = enabled 3:0 wseq_write _index[3:0] 0000 sequence write index. this is the memory location to which any updates to r71 and r72 will be copied. 0 to 15 = ram addresses register 46h write sequencer 0 register address bit label default description refer to r71 (47h) write sequencer 1 14:12 wseq_data_ width[2:0] 000 width of the data block written in this sequence step. 000 = 1 bit 001 = 2 bits 010 = 3 bits 011 = 4 bits 100 = 5 bits 101 = 6 bits 110 = 7 bits 111 = 8 bits 11:8 wseq_data_ start[3:0] 0000 bit position of the lsb of the data block written in this sequence step. 0000 = bit 0 ? 1111 = bit 15 7:0 wseq_addr[ 7:0] 0000_0000 control register address to be written to in this sequence step. register 47h write sequencer 1 register address bit label default description refer to r72 (48h) write sequencer 2 14 wseq_eos 0 end of sequence flag. this bit indicates whether the control write sequencer should stop after executing this step. 0 = not end of sequence 1 = end of sequence (stop the sequencer after this
wm9093 production data w pd, march 2012, rev 4.2 70 register address bit label default description refer to step). 11:8 wseq_delay [3:0] 0000 time delay after executing this step. total time per step (including execution) = 62.5us (2^wseq_delay + 8) 7:0 wseq_data[ 7:0] 0000_0000 data to be written in this sequence step. when the data width is less than 8 bits, then one or more of the msbs of wseq_data are ignored. it is recommended that unused bits be set to 0. register 48h write sequencer 2 register address bit label default description refer to r73 (49h) write sequencer 3 9 wseq_abor t 0 writing a 1 to this bit aborts the current sequence and returns control of the device back to the serial control interface. 8 wseq_start 0 writing a 1 to this bit starts the write sequencer at the memory location indicated by the wseq_start_index field. the sequence continues until it reaches an ?end of sequence? flag. at the end of the sequence, this bit will be reset by the write sequencer. 5:0 wseq_start _index[5:0] 00_0000 sequence start index. this is the memory location of the first command in the selected sequence. 0 to 15 = ram addresses 16 to 58 = rom addresses 59 to 63 = reserved register 49h write sequencer 3 register address bit label default description refer to r74 (4ah) write sequencer 4 0 wseq_busy 0 sequencer busy flag (read only). 0 = sequencer idle 1 = sequencer busy note: it is not possible to write to control registers via the control interface while the sequencer is busy. register 4ah write sequencer 4 register address bit label default description refer to r75 (4bh) write sequencer 5 5:0 wseq_curr ent_index[5: 0] 00_0000 sequence current index. this is the location of the most recently accessed command in the write sequencer memory. register 4bh write sequencer 5 register address bit label default description refer to r76 (4ch) charge pump 1 15 cp_ena 0 charge pump control 0 = disabled 1 = enabled register 4ch charge pump 1
production data wm9093 w pd, march 2012, rev 4.2 71 register address bit label default description refer to r84 (54h) dc servo 0 13 dcs_trig_si ngle_1 0 writing 1 to this bit selects a single dc offset correction for hpout1r. in readback, a value of 1 indicates that the dc servo single correction is in progress. 12 dcs_trig_si ngle_0 0 writing 1 to this bit selects a single dc offset correction for hpout1l. in readback, a value of 1 indicates that the dc servo single correction is in progress. 9 dcs_trig_se ries_1 0 writing 1 to this bit selects a series of dc offset corrections for hpout1r. in readback, a value of 1 indicates that the dc servo dac write correction is in progress. 8 dcs_trig_se ries_0 0 writing 1 to this bit selects a series of dc offset corrections for hpout1l. in readback, a value of 1 indicates that the dc servo dac write correction is in progress. 5 dcs_trig_st artup_1 0 writing 1 to this bit selects start-up dc servo mode for hpout1r. in readback, a value of 1 indicates that the dc servo start-up correction is in progress. 4 dcs_trig_st artup_0 0 writing 1 to this bit selects start-up dc servo mode for hpout1l. in readback, a value of 1 indicates that the dc servo start-up correction is in progress. 3 dcs_trig_da c_wr_1 0 writing 1 to this bit selects dac write dc servo mode for hpoutr. in readback, a value of 1 indicates that the dc servo dac write correction is in progress. 2 dcs_trig_da c_wr_0 0 writing 1 to this bit selects dac write dc servo mode for hpoutl. in readback, a value of 1 indicates that the dc servo dac write correction is in progress. 1 dcs_ena_ch an_1 0 dc servo enable for hpout1r 0 = disabled 1 = enabled 0 dcs_ena_ch an_0 0 dc servo enable for hpout1l 0 = disabled 1 = enabled register 54h dc servo 0
wm9093 production data w pd, march 2012, rev 4.2 72 register address bit label default description refer to r85 (55h) dc servo 1 11:5 dcs_series_ no_01[6:0] 010_1010 number of dc servo updates to perform in a series event. 0 = 1 updates 1 = 2 updates ... 127 = 128 updates 3:0 dcs_timer_p eriod_01[3:0] 1010 time between periodic updates. time is calculated as 0.256s x (2^period) 0000 = off 0001 = 0.52s 1010 = 266s (4min 26s) 1111 = 8519s (2hr 22s) register 55h dc servo 1 register address bit label default description refer to r87 (57h) dc servo 3 15:8 dcs_dac_wr _val_1[7:0] 0000_0000 dc offset value for hpout1r in dac write dc servo mode. two?s complement format. lsb is 0.25mv. range is -32mv to +31.75mv 7:0 dcs_dac_wr _val_0[7:0] 0000_0000 dc offset value for hpout1l in dac write dc servo mode. two?s complement format. lsb is 0.25mv. range is -32mv to +31.75mv register 57h dc servo 3 register address bit label default description refer to r88 (58h) dc servo readback 0 9:8 dcs_cal_co mplete[1:0] 00 dc servo complete status 0 = dac write or start-up dc servo mode not completed. 1 = dac write or start-up dc servo mode complete. bit [1] = hpout1r bit [0] = hpout1l 5:4 dcs_dac_wr _complete[1 :0] 00 dc servo dac write status 0 = dac write dc servo mode not completed. 1 = dac write dc servo mode complete. bit [1] = hpout1r bit [0] = hpout1l 1:0 dcs_startu p_complete[ 1:0] 00 dc servo start-up status 0 = start-up dc servo mode not completed. 1 = start-up dc servo mode complete. bit [1] = hpout1r bit [0] = hpout1l register 58h dc servo readback 0
production data wm9093 w pd, march 2012, rev 4.2 73 register address bit label default description refer to r89 (59h) dc servo readback 1 7:0 dcs_dac_wr _val_1_rd[7: 0] 0000_0000 readback value for hpout1r. two?s complement format. lsb is 0.25mv. range is -32mv to +31.75mv register 59h dc servo readback 1 register address bit label default description refer to r90 (5ah) dc servo readback 2 7:0 dcs_dac_wr _val_0_rd[7: 0] 0000_0000 readback value for hpout1l. two?s complement format. lsb is 0.25mv. range is -32mv to +31.75mv register 5ah dc servo readback 2 register address bit label default description refer to r96 (60h) analogue hp 0 7 hpout1l_rm v_short 0 removes hpout1l short 0 = hpout1l short enabled 1 = hpout1l short removed note: remove short after output stage has been enabled. 6 hpout1l_ou tp 0 enables hpout1l output stage 0 = disabled 1 = enabled note: set after offset correction is complete 5 hpout1l_dl y 0 enables hpout1l intermediate stage 0 = disabled 1 = enabled note: set with at least 20us delay after hpout1l_ena has been set. 3 hpout1r_rm v_short 0 removes hpout1r short 0 = hpout1r short enabled 1 = hpout1r short removed note: remove short after output stage has been enabled. 2 hpout1r_ou tp 0 enables hpout1r output stage 0 = disabled 1 = enabled note: set after offset correction is complete 1 hpout1r_dl y 0 enables hpout1r intermediate stage 0 = disabled 1 = enabled note: set with at least 20us delay after hpout1r_ena has been set. register 60h analogue hp 0
wm9093 production data w pd, march 2012, rev 4.2 74 register address bit label default description refer to r98 (62h) agc control 0 15 agc_clip_en a 1 enable agc anti-clip mode 0 = disabled 1 = enabled 11:8 agc_clip_th r [3:0] 0110 agc anti-clip threshold sets the headroom between spkpga output and svdd at which anti-clip limiting will be applied 0000 = -200mv 0001 = -150mv 0010 = -100mv 0011 = -50mv 0100 = 0mv 0101 = 50mv 0110 = 100mv 0111 = 150mv 1000 = 200mv 1001 = 250mv 1010 = 300mv 1011 = 400mv 1100 = 500mv 1101 = 600mv 1110 = 700mv 1111 = 800mv 6:4 agc_clip_at k[2:0] 100 agc anti-clip attack rate sets the rate of agc gain reduction when clipping is detected 000 = 0.6ms/6db 001 = 5.4ms/6db 010 = 10.2ms/6db 011 = 15.0ms/6db 100 = 19.8ms/6db 101 = 24.6ms/6db 110 = 29.4ms/6db 111 = 34.1ms/6db 2:0 agc_clip_dc y[2:0] 000 agc anti-clip decay rate sets the rate of agc gain increments after a period of clipping 000 = 120ms/6db 001 = 480ms/6db 010 = 820ms/6db 011 = 1170ms/6db 100 = 1640ms/6db 101 = 2050ms/6db 110 = 2730ms/6db 111 = 4100ms/6db register 62h agc control 0
production data wm9093 w pd, march 2012, rev 4.2 75 register address bit label default description refer to r99 (63h) agc control 1 15 agc_pwr_en a 1 enable agc power limit mode 0 = disabled 1 = enabled 12 agc_pwr_av g 0 agc power measurement mode 0 = instantaneous power 1 = rms power 11:8 agc_pwr_th r [2:0] 0000 agc power limit threshold sets the output level at which power limiting will be applied. assumes rms power mode and 8ohm speaker. 0000 = 300mw 0001 = 350mw 0010 = 400mw 0011 = 450mw 0100 = 500mw 0101 = 550mw 0110 = 600mw 0111 = 650mw 1000 = 700mw 1001 = 750mw 1010 = 800mw 1011 = 850mw 1100 = 900mw 1101 = 950mw 1110 = 1000mw 1111 = 1050mw 6:4 agc_pwr_at k[2:0] 000 agc power limiting attack rate sets the rate of agc gain reduction when power limiting is applied 000 = 120ms/6db 001 = 480ms/6db 010 = 840ms/6db 011 = 1200ms/6db 100 = 1680ms/6db 101 = 2040ms/6db 110 = 2760ms/6db 111 = 4080ms/6db 2:0 agc_pwr_d cy[2:0] 000 agc power limiting decay rate sets the rate of agc gain increments after a period of power limiting 000 = 1080ms/6db 001 = 1200ms/6db 010 = 1320ms/6db 011 = 1680ms/6db 100 = 2040ms/6db 101 = 2760ms/6db 110 = 4080ms/6db 111 = 8160ms/6db register 63h agc control 1
wm9093 production data w pd, march 2012, rev 4.2 76 register address bit label default description refer to r100 (64h) agc control 2 8 agc_ramp 0 agc ramp control selects how the agc gain adjustment is applied 0 = multiple gains steps per zero-cross 1 = single gain step per zero-cross 5:0 agc_mingain [5:0] 00_0000 agc minimum gain -57db to +6db in 1db steps register 64h agc control 2
production data wm9093 w pd, march 2012, rev 4.2 77 applications information recommended external components audio input paths the wm9093 provides 6 analogue audio inputs. each of these inputs is referenced to the internal dc reference, vmid. a dc blocking capacitor is r equired for each input pin used in the target application. the choice of capacitor is determined by the fi lter that is formed between that capacitor and the input impedance of the input pin. the circuit is illustrated in figure 16. figure 16 audio input path dc blocking capacitor if the input impedance is known, and the cut-off frequency is known, then the minimum capacitor value may be derived easily. however, it can be seen from the representation in figure 16 that the input impedance is not fixed in all applications but can vary with gain and boost amplifier settings. the choice of capacitor for a 20hz cut-off frequency is shown in table 35 for different input impedance conditions. the applicable input impedance can be found in the ?electrical characteristics? section of this datasheet. input impedance minimum capacitance for 20hz pass band 2k ? 4 ? f 15k ? 0.5 ? f 30k ? 0.27 ? f 60k ? 0.13 ? f table 35 audio input dc blocking capacitors using the figures in table 35, it follows that a 1 ? f capacitance for all input connections will give good results in most cases. tantalum electrolytic capacitors are particularly suitable as they offer high stability in a small package size. ceramic equivalents are a cost effective alternative to the superior tantalum packages, but care must be taken to ensure the desired capacitance is maintained at the hpvdd operating voltage. also, ceramic capacitors may show microphonic effects, w here vibrations and mechanical conditions give rise to electrical signals. this is particularly problematic for microphone input paths where a large signal gain is required. a single capacitor is required for a line input or single-ended microphone connection. in the case of a differential connection, a dc blocking capac itor is required on both input pins.
wm9093 production data w pd, march 2012, rev 4.2 78 power supply decoupling electrical coupling exists particularly in digital logic systems where switching in one sub-system causes fluctuations on the power supply. this effect occurs because the inductance of the power supply acts in opposition to the changes in current flow that are caused by the logic switching. the resultant variations (or ?spikes?) in the power supply voltage can cause malfunctions and unintentional behavior in other components. a decoupling (or ?bypas s?) capacitor can be used as an energy storage component which will provide power to the decoupled circuit for the duration of these power supply variations, protecting it from malfunctions that could otherwise arise. coupling also occurs in a lower frequency form when ripple is present on the power supply rail caused by changes in the load current or by limitations of the power supply regulation method. in audio components such as the wm9093, these variations can alter the performance of the signal path, leading to degradation in signal quality. a decoupling (or ?bypass?) capacitor can be used to filter these effects, by presenting the ripple voltage with a low impedance path that does not affect the circuit to be decoupled. these coupling effects are addressed by placing a capacitor between the supply rail and the corresponding ground reference. in the case of systems comprising multiple power supply rails, decoupling should be provided on each rail. the recommended power supply decoupling capacitors for wm9093 are listed below in table 36. power supply decoupling capacitor hpvdd 2.2 ? f ceramic svdd 0.1 ? f ceramic (see note) table 36 power supply decoupling capacitors note: 0.1 ? f is required with 2.2 ? f a guide to the total required power rail capacitance. all decoupling capacitors should be placed as close as possible to the wm9093 device. the connection between gnd, the hpvdd decoupling capacitor and the main system ground should be made at a single point as close as possible to the agnd ball of the wm9093. the bias capacitor is not, technically, a decoupling capacitor. however, it does serve a similar purpose in filtering noise on the vmid reference. the connection between gnd, the bias decoupling capacitor and the main system ground should be made at a single point as close as possible to the gnd ball of the wm9093. due to the wide tolerance of many types of ceramic capacitors, care must be taken to ensure that the selected components provide the required capaci tance across the required temperature and voltage ranges in the intended application. for most application the use of ceramic capacitors with capacitor dielectric x5r is recommended. headphone output path the headphone output on wm9093 is ground referenced and therefore does not require the large, expensive capacitors necessary for vmid-referenced solutions. for best audio performance, it is recommended to connect a zobel network to the audio output pins. this network should comprise of a 100nf capacitor and 20ohm resistor in series with each other (see ?analogue outputs? section). these components have the effect of dampening high frequenc y oscillations or instabilities that can arise outside the audio band under certain conditions. possible sources of these instabilities include the inductive load of a headphone coil or an active load in the form of an external line amplifier. class d speaker connections the wm9093 incorporates a class d speaker driver. by default, the speaker driver operates in class d mode, which offers high amplifier efficiency at large signal levels. as the class d output is a pulse width modulated (pwm) signal, the choice of speakers and tracking of signals is critical for ensuring good performance and reducing emi in this mode. the efficiency of the speaker drivers is affected by the series resistance between the wm9093 and the speaker (e.g. pcb track loss and inductor esr) as shown in figure 17. this resistance should be as low as possible to maximise efficiency.
production data wm9093 w pd, march 2012, rev 4.2 79 figure 17 speaker connection losses the class d output requires external filtering in order to recreate the audio signal. this may be implemented using a 2 nd order lc or 1 st order rc filter, or else may be achieved by using a loudspeaker whose internal inductance provides the required filter response. an lc or rc filter should be used if the loudspeaker characteristics are unknown or unsuitable, or if the length of the loudspeaker connection is likely to lead to emi problems. in applications where it is necessary to provide class d filter components, a 2 nd order lc filter is the recommended solution as it provides more attenuation at higher frequencies and minimises power dissipated in the filter when compared to a first order rc filter (lower esr). this maximises both rejection of unwanted switching frequencies and overall speaker efficiency. a suitable implementation is illustrated in figure 18. figure 18 class d output filter components a simple equivalent circuit of a loudspeaker consists of a serially connected resistor and inductor, as shown in figure 19. this circuit provides a lo w pass filter for the speaker output. if the loudspeaker characteristics are suitable, then the loudspeaker itse lf can be used in place of the filter components described earlier. this is known as ?filterless? operation. figure 19 speaker equivalent circuit for filterless operation
wm9093 production data w pd, march 2012, rev 4.2 80 for filterless class d operation, it is important to ensure that a speaker with suitable inductance is chosen. for example, if we know the speaker impedance is 8 ? and the desired cut-off frequency is 20khz, then the optimum speaker inductance may be calculated as: 8 : loudspeakers typically have an inductance in the range 20 p h to 100 p h, however, it should be noted that a loudspeaker inductance will not be constant across the relevant frequencies for class d operation (up to and beyond the class d switching frequency). care should be taken to ensure that the cut-off frequency of the loudspeaker?s filtering is low enough to suppress the high frequency energy of the class d switching and, in so doing, to prevent speaker damage. the class d outputs of the wm9093 operate at much higher frequencies than is recommended for most speakers and it must be ensured that the cut-off frequency is low enough to protect the speaker. recommended external components diagram figure 20 below provides a summary of recommended external components for wm9093. note that the diagram does not include any components that are specific to the end application e.g. they do not include filtering on the speaker outputs (assume filterless class d operation), rf decoupling, or rf filtering for pins which connect to the external world i.e. headphone or speaker outputs. figure 20 recommended external components
production data wm9093 w pd, march 2012, rev 4.2 81 pcb layout considerations poor pcb layout will degrade the performance and be a contributory factor in emi, ground bounce and resistive voltage losses. all external components should be placed as close to the wm9093 device as possible, with current loop areas kept as small as possible. specific factors relating to class d loudspeaker connection are detailed below. class d loudspeaker connection long, exposed pcb tracks or connection wires will emit emi. the distance between the wm9093 and the loudspeaker should therefore be kept as short as possible. where speakers are connected to the pcb via a cable form, it is recommended that a shielded twisted pair cable is used. the shield should be connected to the main system, with care taken to ensure ground loops are avoided. further reduction in emi can be achieved usi ng pcb ground (or vdd) planes and also by using passive lc components to filter the class d switching waveform. when passive filtering is used, low esr components should be chosen in order to minimise the series resistance between the wm9093 and the speaker, maximising the power efficiency. lc passive filtering will usually be effective at reducing emi at frequencies up to around 30mhz. to reduce emissions at higher frequencies, ferrite beads can also be used. these should be positioned as close to the device as possible. these techniques for emi reduction are illustrated in figure 21. figure 21 emi reduction techniques
wm9093 production data w pd, march 2012, rev 4.2 82 package dimensions b: 20 ball w-csp package 2.500 x 2.000 x 0.7mm body, 0.50 mm ball pitch a1 corner top view e z 0.10 2 x d 5 4 detail 2 detail 2 a a2 2 z 0.10 2 x a1 z bbb z 1 solder ball e1 a d1 detail 1 d c b e e 1 5 4 32 6 f1 f2 g h notes: 1. primary datum -z- and seating plane are defined by the spherical crowns of the solder balls. 2. this dimension includes stand-off height ?a1? and backside coating. 3. a1 corner is identified by ink/laser mark on top package. 4. bilateral tolerance zone is applied to each side of the package body. 5. ?e? represents the basic solder ball grid pitch. 6. this drawing is subject to change without notice. 7. follows jedec design guide mo-211-c. a1 0.219 d d1 e e1 e 2.000 bsc 2.000 0.250 1.500 bsc 0.500 bsc 2.500 dimensions (mm) symbols min nom max note a 0.700 a2 0.391 0.416 0.441 5 f1 0.754 0.646 0.244 0.269 g 0.040 0.036 0.044 h 0.314 bsc bottom view 0.270 f2 detail 1 dm086.a 2.560 2.100
production data wm9093 w pd, march 2012, rev 4.2 83 important notice wolfson microelectronics plc (?wolfson?) products and services are sold subject to wolfson?s terms and conditions of sale, delivery and payment supplied at the time of order acknowledgement. wolfson warrants performance of its products to the specifications in effect at the date of shipment. wolfson reserves the right to make changes to its products and specifications or to discontinue any product or service without notice. customers should therefore obtain the latest version of relevant informati on from wolfson to verify that the information is current. testing and other quality control techniques are utilised to the extent wolfson deems necessary to support its warranty. specific testing of all parameters of each device is not ne cessarily performed unless required by law or regulation. in order to minimise risks associated with customer applications, the customer must use adequate design and operating safeguards to minimise inherent or procedural hazards. wolfs on is not liable for applications assistance or customer product design. the customer is solely responsible for its selection and use of wolfson products. wolfson is not liable for such selection or use nor for use of any circuitry other than circuitry entirely embodied in a wolfson product. wolfson?s products are not intended for use in life support sy stems, appliances, nuclear systems or systems where malfunction can reasonably be expected to result in personal injury, death or severe property or environmental damage. any use of products by the customer for such purposes is at the customer?s own risk. wolfson does not grant any licence (express or implied) under any patent right, copyright, mask work right or other intellectual property right of wolfson covering or relating to any combination, machine, or process in which its products or services might be or are used. any provision or publication of any third party?s products or services does not constitute wolfson?s approval, licence, warranty or endorsement thereof. any third party trade marks contained in this document belong to the respective third party owner. reproduction of information from wolfson datasheets is per missible only if reproduction is without alteration and is accompanied by all associated copyright, proprietary and other noti ces (including this notice) and conditions. wolfson is not liable for any unauthorised alteration of such information or for any reliance placed thereon. any representations made, warranties given, and/or liabilities accepted by any person which differ from those contained in this datasheet or in wolfson?s standard terms and conditions of sale, delivery and payment are made, given and/or accepted at that person?s own risk. wolfson is not liable for any such representations, warranties or liabilities or for any reliance placed thereon by any person. address: wolfson microelectronics plc 26 westfield road edinburgh eh11 2qb united kingdom tel :: +44 (0)131 272 7000 fax :: +44 (0)131 272 7001 email :: sales@wolfsonmicro.com
wm9093 production data w pd, march 2012, rev 4.2 84 revision history date rev description of changes page changed by 08/03/12 4.2 labelling corrected in performance plots. 11 jmacd


▲Up To Search▲   

 
Price & Availability of WM9093ECSR

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X