FM1288 Configuration Manual

更新时间:2024-01-24 05:22:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

FM-1288

High Performance Voice Processor for Automotive Handsfree

User Configuration Manual (Product Information) version 0.6

Sep 20, 2012 2 UCM-FM1288 V06

PRE-PRODUCTION INFORMATION

THIS DOCUMENT CONTAINS INFORMATION ON A PREPRODUCTION PRODUCT. SPECIFICATIONS AND PREPRODUCTION

INFORMATION HEREIN ARE SUBJECT TO CHANGE WITHOUT NOTICE.

FORTEMEDIA, INC. PRODUCTS ARE NOT INTENDED FOR LIFE SAVING NOR LIFE SUSTAINING APPLICATIONS AND FORTEMEDIA,

INC. THUS, ASSUMES NO LIABILITY IN SUCH USAGES. FORTEMEDIA, INC. PRODUCTS MAY ONLY BE USED IN LIFE-SUPPORT

DEVICES OR SYSTEMS WITH THE EXPRESS WRITTEN APPROVAL OF FORTEMEDIA, INC., IF A FAILURE OF SUCH COMPONENTS

CAN REASONABLY BE EXPECTED TO CAUSE THE FAILURE OF THAT LIFE-SUPPORT DEVICE OR SYSTEM, OR TO AFFECT THE

SAFETY OR EFFECTIVENESS OF THAT DEVICE OR SYSTEM. LIFE SUPPORT DEVICES OR SYSTEMS ARE INTENDED TO BE

IMPLANTED IN THE HUMAN BODY, OR TO SUPPORT AND/OR MAINTAIN AND SUSTAIN AND/OR PROTECT HUMAN LIFE. IF THEY

FAIL, IT IS REASONABLE TO ASSUME THAT THE HEALTH OF THE USER OR OTHER PERSONS MAY BE ENDANGERED. WE HEREIN DISCLAIM ANY AND ALL WARRANTIES, INCLUDING BUT NOT LIMITED TO WARRANTIES OF NON-INFRINGEMENT,

REGARDING CIRCUITS, DESCRIPTIONS AND CHARTS STATED HEREIN.

Fortémedia, SAM, ForteVoice, Fortémedia and SAM logos are trademarks of Fortémedia,, Inc. All other trademarks belong to their respective companies. Copyright ? 2012 Fortémedia all rights reserved Sep 20, 2012 3 UCM-FM1288 V06

TABLE OF CONTENT

STATUS

INFORMATION ............................................................................................................. 4 1.0

OVERVIEW .......................................................................................................................... 7

2.0 GLOSSARY AND

NOTATION ................................................................................................ 7 3.0 GENERAL

CONFIGURATION ................................................................................................ 8 3.1 DEFAULT PROFILE

SETUP ................................................................................................... 8 3.2 BANDWIDTH CONTROL

SELECTION.................................................................................... 8 3.3 SINGLE MICROPHONE HANDS-FREE APPLICATION RECOMMENDED SETTINGS ............... 9

4.0 MICROPHONE SIGNAL CONDITIONS FOR FM-1288 ......................................................... 10 5.0 DEBUGGING SUPPORT

INFORMATION ............................................................................. 11 5.1 BYPASS

MODES ................................................................................................................. 13 6.0 PERFORMANCE

TUNING .................................................................................................... 14 6.1 GAIN

FLOW ....................................................................................................................... 14

6.2 ACTIVITY DETECTORS

(VAD) ............................................................................................ 17 7.0 PERFORMANCE TUNING PROCEDURE

DETAILS ................................................................ 18 7.1 LINEAR

AEC ....................................................................................................................... 18 7.2 FREQUENCY DOMAIN ACTIVITY

DETECTORS ................................................................... 19 7.3 FREQUENCY DOMAIN NOISE

SUPPRESSION .................................................................... 20 7.4 FREQUENCY DOMAIN ECHO

CANCELLATION .................................................................... 23 7.5 LINEOUT

EQUALIZER ........................................................................................................ 26 7.6 COMFORT NOISE

FILL ....................................................................................................... 28 7.7 FAR END NOISE SUPPRESSION

(FENS) ............................................................................ 29 7.8 BRIGHT VOICE ENHANCEMENT

(BVE) .............................................................................. 32 7.9 BANDWIDTH EXTENSION

(BWE) ...................................................................................... 33 7.10 FAR FIELD PICKUP

(FFP) ................................................................................................ 34

8.0 FM-1288 PARAMETER

TABLE ............................................................................................ 36

REFERENCES ........................................................................................................................... 54 I.

TERMINOLOGY .................................................................................................................................................... 54 II. RELATED

DOCUMENTS ....................................................................................................................................... 55

Sep 20, 2012 4 UCM-FM1288 V06

Status Information

The status of this User’s Configuration Manual is Production Information. Advance Information

Information for designers concerning Fortemedia product in development. All values specified in the document are the target values of the design. Minimum and maximum values, if specified, are only given as guidance to the final specification limits and must not be considered as the final values. All detailed specifications including pinouts and electrical specifications may be changed by Fortemedia without notice.

Pre-production Information

Pinout and mechanical dimension specifications finalized. All values specified in the document are the target values of the design. Minimum and maximum values, if specified, are only given as guidance to the final specification limits and must not be considered as the final values. All electrical specifications may be changed by Fortemedia without notice.

Product Information

Final User’s Configuration Manual including the guaranteed minimum and maximum limits for the electrical specifications.

Product User’s Configuration Manual supersede all previous document versions.

Note

While every case has been taken to ensure the accuracy of the contents in this Data Sheet, Fortemedia cannot accept responsibility for any errors. Fortemedia reserves the right to make technical changes to its products as part of its development program.

Sep 20, 2012 5 UCM-FM1288 V06

TABLES

Table 1: Single Microphone Hands-Free Application Settings ................................................... 9 Table 2: Air-tight Condition for

Microphones............................................................................ 10 Table 3: Debugging

Signals....................................................................................................... 11 Table 4: Signal Paths and Gains of Bypass

Modes ................................................................... 13 Table 5: Bypass Modes key

parameters ................................................................................... 13 Table 6: Linear AEC

parameters................................................................................................ 18

Table 7: Voice Activity Detectors - VAD01, VAD02, VAD03, VAD04, VAD05 ......................... 19

Table 8: Frequency Domain Noise Suppression (FDNS) parameters ...................................... 20

Table 9: Frequency Domain Echo Control

parameters............................................................. 23

Table 10: Line-out Equalizer

parameters.................................................................................. 26 Table 11: Far End Noise Suppression (FENS) parameters....................................................... 29 Table 12: Bright Voice Enhancement (BVE)

parameters ......................................................... 32 Table 13: Far Field Pickup

parameters ..................................................................................... 34 Table 14: FM-1288 Parameter

Table......................................................................................... 36 Table 15:

Terminology ............................................................................................................... 54 Table 16: Related

Documents ................................................................................................... 55

Sep 20, 2012 6 UCM-FM1288 V06

Document History

Revision Date Description

0.1 Feb 20, 2012 Early Draft, original publication date

0.2 March 25, 2012 Editorial updates, 1st draft Advance Information 0.3 June 04, 2012 Yan Tang, First Release Draft

0.4 July 01, 2012 Yan Tang, AiGuo Zhang, Harry Liu, et al. First Release version 0.5 July 03, 2012 AiGuo Zhang, editorial updates

0.6 Sept 20, 2012 Harry Liu, editorial updates

Sep 20, 2012 7 UCM-FM1288 V06

1.0 Overview

This document lists and describes all the control parameters accessible to the user for controlling the FM1288 Voice Processor.

The information contained in this document helps the user to ? Set up the FM-1288 hardware for different operation modes ; ? Debug the system data path during system integration ; and

? Adjust the various parameters to optimize for performance in different acoustic settings

2.0 Glossary and Notation

For a full list of terminology and glossary, please see References at the end of this document.

Throughout this document, these terminologies and abbreviations are used freely: Echo refers to the sound signal coupled from the loudspeaker output back into the microphone input via the acoustic path

Near end (NE) refers to the local conversation end point using the voice terminal equipped with the FM-1288

Far end (FE) refers to the conversation end point opposite to the near end

Double Talk(DT) refers to the situation during which Near end talker and Far end talker are talking at the same time

Receiving Direction refers to the line-in voice path going towards loudspeaker output Sending Direction refers to the microphone input voice path going towards line-out

Para[ address, ID ] is the notation used to denote a FM-1288 configurable parameter with name ID in alphanumeric and located at the data RAM address represented in hexadecimals

Sep 20, 2012 8 UCM-FM1288 V06

3.0 General configuration

The following is a description on how to set the general configuration by the host processor through the Serial Host Interface (SHI) port which is an I2C-compatible interface.

The default general configuration profile for FM-1288 is 1-microphone input mode, running under 8 kHz sampling rate for microphone in, line in and line out. On this voice processor, the Microphone input ADC and Speaker out DAC sampling rate are always fixed to be 16 KHz. The line in and line out signal pair could be configured to either 16 KHz or 8 KHz depending on the application configuration. The voice processing performed is always in the higher resolution of 16 KHz to ensure the best possible quality, and down-sampling to 8 KHz will be done automatically for proper rate matching when line in/out pair is configured to 8 KHz.

3.1 Default Profile Setup

1) Select internal profiles by setting Para[0x22F8, profile_index] as following: Para[0x22F8, profile_index] Internal profile 0x8000 1mic 8k (VDA setup)

2) Configure the user setting for the appliance.

3) To set Para[0x22FB, dv_parser_sync_flag] synchronization flag, the default value of it is 0x8000; writing it to 0 means that configuration has been completed. For example, VEC 0x22f8 0x0 : choose profile

0x2301 0x12 : user’s setting (Optional) 0x2302 0x1 : user’s setting (Optional)

0x22fb 0x0 : let IC run after configuration is done

3.2 Bandwidth Control Selection

Para[0x2301, sample_rate] Internal profile

0x0002 16KHz MIC/SPK sample rate, PCM/I2S data rate set to 16KHz.

0x0012 16KHz MIC/SPK sample rate, PCM/I2S data rate set to 8KHz

Sep 20, 2012 9 UCM-FM1288 V06

3.3 Single Microphone Hands-free Application Recommended Settings

For the Hands-free single-microphone mode in the most commonly deployed automotive applications, the following key voice processing components can be configured as follows: Table 1: Single Microphone Hands-Free Application Settings

Component

1 microphone hands free applicaton Recommended option

Mic-in HPF/ Line-in HPF On AEC On

BF (1-mic mode, no BF) Off BVE On DRC On SPK_ATTN On

PF On FENS On

Line-in AGC / Mic-in AGC Off Mic de-emphasis filter On

Line-in emphasis filter / de-emphasis filter Off Idle noise suppression On

Adjust noise suppression according to SNR On Noise residue stabilizer On Mic-in emphasis filter Off/On Spk-out HPF On BWE Off

Sep 20, 2012 10 UCM-FM1288 V06

4.0 Microphone Signal Conditions for FM-1288

Before starting any parameter tuning, the microphone mounting in the target system should be checked first to ensure that the system can work properly. Consideration of Air-tightness for microphones

Good mechanical design and mounting ensure air-tightness, which is very important to prevent performance degradation. To test airtight for main microphone, play the same NE (or FE) sound, then cover/uncover main microphone, and then record both signals respectively to find out the difference between the two. Then apply the same procedure to the reference microphone. A difference of 15dB or more is considered as a good condition. Table 2: Air-tight Condition for Microphones Mic sensitivity

without covered by mud (dB)

Mic sensitivity with covered by mud (dB) Criterion

NE Ane Bne Ane – Bne > 15db FE Afe Bfe Afe – Bfe > 15db

To verify if the microphone sensitivities have been properly set, first clear these: Para[0x3807, MAX_MIC0_readout], and Para[0x3809, MAX_LIN_readout].

Then play the typical test vectors to watch the 2 parameters which must not be saturated for microphone input and line-in signals.

The microphone signal should not be saturated except under usual conditions, such as wind blow, strong vibration, peak Far End talk volume, etc., especially during Far End talks. If on average the microphone is saturated more than once every several seconds, the

performance will be much degraded, and there is something wrong with the acoustics of the system.

Configure the system to play out a loud audio signal from the speaker, the peak digital value should not reach 0x7fff.

Confirm the delay between the echo and line-in signal for proper AEC operation: the delay should be larger than Para[0x2339, _tdaec_delay_length] and it ought to be a

systemdependent,

but time-invariant, constant value.

Sep 20, 2012 11 UCM-FM1288 V06

5.0 Debugging Support Information

Table 3: Debugging Signals Index Address Signal Description 1 0x0000 Mic0 signal Mic0 input signal 2 0x0001 Mic1_signal Mic1 input signal 3 0x0002 Linein_signal Linein input signal 4 0x01da Lineout_dac Analog lineout signal 5 0x01db Spkout_dac Analog spkout signal 6 0x0004 Lineout_digital I2s/pcm lineout signal

7 0x0007 Fe_vad The VAD to indicate the far end signals into mic(echo)

8 0x0008 Fe_vad_big The VAD to indicate the big far end signals into mic(big echo)

9 0x0009 Fe_vad_li The VAd to indicate the far end signals 10 0x000b Vad01 subband vad0 for 172Hz ~672Hz 11 0x000c Vad02 subband vad0 for 672Hz ~1359Hz 12 0x000d Vad03 subband vad0 for 1297Hz ~2391Hz 13 0x000e Vad04 subband vad0 for 2328Hz ~4000Hz 14 0x000f Vad05 subband vad0 for 4000Hz ~6800Hz

15 0x0010 Td_lf_vad The VAD to indicate the low frequency double

talk

16 0x0011 Aec_wrong_vad_cntr Counter to show AEC wrong or not 17 0x0012 DR_bin_cnt The VAD to indicate the far end signals, looser than Fe_vad_li.

18 0x0013 Fe_vad_li_fq The VAD to indicate the far end signals 19 0x0018 Vad0_pop The modulated near end voice VAD 20 0x0019 Noise_pow_avg The noise average power

21 0x001a Idle_noise_pow The noise power after noise suppression 22 0x23f1 Signal_pass[0] The sending signal of main channel before AEC

23 0x23f3 Signal_pass[2] The sending signal of main channel before BEAM2 with micgain0 applied

24 0x23f5 Signal_pass[4] The sending signal of main channel before NS 25 0x23f6 Signal_pass[5] The sending signal of reference channel before NS

27 0x23f7 Signal_pass[6] The sending signal of main channel after NS 28 0x23f8 Signal_pass[7] The sending signal of reference channel after NS, the estimated noise

29 0x23f2 Signal_pass[1] The receiving signal before FENS 30 0x23f4 Signal_pass[3] The receiving signal after FENS 31 0x23ff Signal_pass[14] The reference signal to AEC

Sep 20, 2012 12 UCM-FM1288 V06

If I2S are not available for some product design, or only the analog signal can be passed

out, SAMTuner is suggested to be used for debugging and tuning with vad information. Para[0x232c, vad_info_bitset] shows VAD info. Each bit of this parameter holds a certain VAD info which is associated with the GUI-based SAMTuner for easy tunings.

Para[0x3807 ~ DM0x380a] provides the current max values of all inputs and outputs, the information is refreshed in every sample. You can set Para[0x3807 ~ DM0x380a] to zeros to clear this information for a second tuning.

Para[0x3813, debug_flag] is a very important debug flag that can be used for tuning. ? Turn off the modules on the data path that are of no concern to you so that they will not affect the debug information you need.

? Set Para[0x230c,mic_volume] as 0x100 unit gain to see the original signal. ? Setting Para[0x3813,debug_flag] as one of the above table can pass the corresponding signal multiple mic_volume to line-out.

? Note that if Para[0x3813,debug_flag] is set as 0, lineout is normal lineout signal. So if you want to get mic0 input signal (address=0), need to set them as the following: ? Para[0x22EE, _mic_revert_mode] = 1 (and remember to restore it to zero for normal operation).

? Para[0x3813,debug_flag] =1

Sep 20, 2012 13 UCM-FM1288 V06

5.1 Bypass modes

Table 4: Signal Paths and Gains of Bypass Modes mode Uplink Downlink path gain path gain

1 mic0-> chi0_tx 0 db chi0_rx->spk 0 db

2 Mic1-> chi0_tx 0 db chi0_rx->spk 0 db 3 mic0/mic1-> i2s0_tx 0 db i2s0_rx->spk 0 db 0x10 Mic0-> spk 0 db Lin->lineout(PCM) 0 db Table 5: Bypass Modes key parameters Address Name Description Default Value

0x22FA _dv_enable_b Device enable. D0: MIC0 D1: MIC1 D2: MICBIAS D3: Analog spkout D4: Analog Line in D5: Analog Line out

D8: PCM/I2S select, =1, PCM enable

D11: DPLL track enable/disable, =1, track enable; =0, track disable D15: Reserved 0x003F

0x2300 _line_pass =0: normal mode;

=1:PCM-mono bypass mode. mic0->chi0_tx without gain,chi0_rx ->spk without gain. =2:PCM-mono bypass mode. mic1->chi0_tx without gain,chi0_rx -> spk without gain. =3:IIS bypass mode. MIC0/1 to I2S L/R Trans channel without gain, I2S L or R Recv data to SPK out without gain.

=0x10: MIC0 -> SPK, and LIN->Lout (PCM) without gain. 0x0000

0x2301 _sample_rate Overall sampling rate. Bit [0:3] : =2: 16KHz normal mode, CODEC and PCM/I2S are both set to 16Kz.

=0x12: CODEC 16KHz and PCM/I2S are set to 8KHz 0x0012

Sep 20, 2012 14 UCM-FM1288 V06

6.0 Performance Tuning

This section discusses the performance tuning procedure in detail. First the Gain Flow and the VADs will be introduced. There are different gains and VADs designed at various locations on the signal path, the user must have an overall idea about gain flow and VADs in advance. And then the detailed Performance Tuning Procedures will be provided, the tuning sequence is conformant to that designed using with the GUI based SAMTuner.

6.1 Gain FLow

Gain flow for sending and receiving directions

1) Para[0x22e5, _adc_pga_gain] bit[7:4], mic1, bit[3:0], mic0; Mic in /line PGA setting LINE_IN_PGA[11:8], MIC1_IN_PGA[7:4], MIC0_IN_PGA[3:0] PGA Gain (dB) [ 0 0 0 0 ] -2 [ 0 0 0 1 ] -1 [ 0 0 1 0 ] 0 [ 0 0 1 1 ] 2 [ 0 1 0 0 ] 4 [ 0 1 0 1 ] 6 [ 0 1 1 0 ] 8

Sep 20, 2012 15 UCM-FM1288 V06

[ 0 1 1 1 ] 10 [ 1 0 0 0 ] 12 [ 1 0 0 1 ] 14 [ 1 0 1 0 ] 16 [ 1 0 1 1 ] 18 [ 1 1 0 0 ] 20 [ 1 1 0 1 ] 22

[ 1 1 1 0 ] 24 [ 1 1 1 1 ] 26

2) Para[0x2307, mic_vol_ctl], it includes two parts: Coarse control and Fine control for hardware digital gain.

Gain = Coarse Gain + Fine Gain Coarse control (Bit [7: 4])

Bit [7:4] E F 0 1 2 3 4 5 6 7 8 9 A B

Gain (dB) +24 +12 0 -12 -24 -36 -48 -60 -72 -84 -96 -108 -120 -132 Fine control (Bit [3: 0])

Bit [3:0] 0 1 2 3 4 5 6 7 8 9 A B C D E F

Gain (dB) 0 -0.75 -1.5 -2.25 -3 -3.75 -4.5 -5.25 -6 -6.75 –7.5 –8.25 -9 -9.75 -10.5 -11.25

3) Para[0x2348, micgain0], Level boost on main channel, 0x0800 as unit gain; 4) Para[0x2349, micgain1], Level boost on reference channel, 0x0800 as unit gain; 5) Para[0x22e5, _adc_pga_gain] bit[11:8], linein_pga, setting uses the table above; 6) Para[0x230D, spk_volume], 0x100 as unit gain.

7) Para[0x22e9,_dac_pga_gain], DAC PGA gain for Lineout and speaker out, setting uses the tables below. DAC LINE_OUT PGA Table

LINE_OUT_PGA[3:0] LINE_OUT PGA Gain Control (dB)

Differential Output Signal

(Vpp)

[ 0 0 0 0 ] +2 3.00 [ 0 0 0 1 ] 0 2.40 [ 0 0 1 0 ] -2 1.91 [ 0 0 1 1 ] -4 1.51 [ 0 1 0 0 ] -6 1.20

Sep 20, 2012 16 UCM-FM1288 V06

[ 0 1 0 1 ] -8 0.95 [ 0 1 1 0 ] -10 0.76 [ 0 1 1 1 ] -12 0.60 [ 1 0 0 0 ] -14 0.48 [ 1 0 0 1 ] -16 0.38 [ 1 0 1 0 ] -18 0.30 [ 1 0 1 1 ] -20 0.24 [ 1 1 0 0 ] -22 0.19 [ 1 1 0 1 ] -24 0.15

[ 1 1 1 0 ] -26 0.12 [ 1 1 1 1 ] -28 0.09

Programmable Gain range: +2dB ~ -28dB & Step : -2dB

DAC SPK_OUT PGA Table

LINE_OUT_PGA[3:0] LINE_OUT PGA Gain Control (dB)

Differential Output Signal (Vpp)

[ 0 0 0 0 ] +2 3.00 [ 0 0 0 1 ] 0 2.40 [ 0 0 1 0 ] -2 1.91 [ 0 0 1 1 ] -4 1.51 [ 0 1 0 0 ] -6 1.20 [ 0 1 0 1 ] -8 0.95 [ 0 1 1 0 ] -10 0.76 [ 0 1 1 1 ] -12 0.60 [ 1 0 0 0 ] -14 0.48

[ 1 0 0 1 ] -16 0.38 [ 1 0 1 0 ] -18 0.30 [ 1 0 1 1 ] -20 0.24 [ 1 1 0 0 ] -22 0.19 [ 1 1 0 1 ] -24 0.15 [ 1 1 1 0 ] -26 0.12 [ 1 1 1 1 ] -28 0.09

Programmable Gain range: +2dB ~ -28dB & Step : -2dB

Sep 20, 2012 17 UCM-FM1288 V06

6.2 Activity Detectors (VAD)

8 0x0008 Fe_vad_big The VAD to indicate the big far end signals into mic(big echo)

9 0x0009 Fe_vad_li The VAd to indicate the far end signals 10 0x000b Vad01 subband vad0 for 172Hz ~672Hz 11 0x000c Vad02 subband vad0 for 672Hz ~1359Hz 12 0x000d Vad03 subband vad0 for 1297Hz ~2391Hz

13 0x000e Vad04 subband vad0 for 2328Hz ~4000Hz 14 0x000f Vad05 subband vad0 for 4000Hz ~6800Hz

15 0x0010 Td_lf_vad The VAD to indicate the low frequency double talk

16 0x0011 Aec_wrong_vad_cntr Cntr to show aec wrong or not 17 0x0012 DR_bin_cnt The VAD to indicate the far end signals,looser than Fe_vad_li.

18 0x0013 Fe_vad_li_fq The VAD to indicate the far end signals 19 0x0018 Vad0_pop The molulated near end voice vad

The indices 8~19 in the above are frequently used VADs that users often need to examine during perform module performance tuning. The following are some detailed description of the VADs.

1) FE_VAD: It is judged in linear AEC module and controls the latter echo cancellation related modules. When there is FE voice, FE_VAD should be on; must turn on bit8 of Para[0x2304,_sp_flag] to observe FE_VAD.

2) FE_VAD_BIG: It is judged in linear AEC module and controls the latter echo cancellation related modules. When FE voice is big, FE_VAD_BIG should be on; must turn on bit8 of Para[0x2304,_sp_flag] to observe FE_VAD_BIG.

3) FE_VAD_LI: It is judged in FENS module and controls AEC and the latter echo cancellation related modules. When FE voice exists, FE_VAD_LI should be on; must turn on bit14 of Para[0x2303,_kl_config] to observe FE_VAD_LI.

4) Td_lf_vad : It’s used to indicate Double Talk and associated with post filter, speaker

attenuation, Fq_NS process. Td_lf_vad is judged in time domain. Under no ambient noise case, if there is NE or double talk, td_lf_vad should be on.

5) VAD01~VAD05:They are subband vad0 which are judged in frequency domain when FE doesn’t exist. When there is only NE (no double talk) under high SNR condition, vad01~vad05 should be on.

6) Vad0_pop: the mixture of vad0 and vad01 ~ vad05.

Sep 20, 2012 18 UCM-FM1288 V06

7.0 Performance Tuning Procedure Details 7.1 Linear AEC

Linear AEC is the first echo cancellation module to cancel linear echo. It can be turned on or off by setting or clearing bit 8 of Para[0x2304, _sp_flag]. Table 6: Linear AEC parameters Index Address

Parameter name Description

1 0x2339 tdaec_delay_length Additional buffer to account for the Codec delay of the AEC path. Maximum: 0x68, Minimum:0

2 0x232f aec_ref_gain Gain for AEC ref channel. Unit gain: 0x100 3 0x2337 tdaec_nw_shift Control convergent speed and convergent stability. Bigger value will make convergence faster and more unstable. Range:0xFFF0~0

4 0x2333 tdaec_fe_vad_th Threshold for fe_vad decision. Lower values

can cause more active echo cancellation. Range: 0~0x7FFF

5 0x2332 tdaec_fe_vad_th_high Threshold for fe_vad_big decision. Higher values can increase vad0 decision and decrease frequency domain echo suppression, the effect is less echo suppression and more full duplex maintained. Range: 0~0x7FFF

Criterion: For NE signals, the processed signal should be nearly same as the input of linear AEC; For FE signals, the processed signal should have above 15dB attenuation. Normally good AEC performance can achieve above 18dB echo cancellation. Please note the following:

1) Para[0x2339, aec_delay_length] - it can be used to compensate for long delay between echo (0x23f1, signal_Pass[0]) and AEC reference input (0x23ff,

signal_pass[14]) signals. By recording the two signals, tone signal is suggested to be played as the linein, the actual delay D1 can be measured. Make sure that

Para[0x2339, aec_delay_length] is smaller than D1, otherwise linear AEC can’t work. 2) Para[0x232f, aec_ref_gain] - it is used to balance the power difference between echo and AEC reference input signals. Check AEC reference input (0x23ff, signal_pass[13]) signals to make sure it is not saturated.

Sep 20, 2012 19 UCM-FM1288 V06

7.2 Frequency Domain Activity Detectors

These are the key parameters for VAD01, VAD02, VAD03, VAD04, and VAD05 Table 7: Voice Activity Detectors - VAD01, VAD02, VAD03, VAD04, VAD05

Index Address Parameter name Description

1 0x2382 _fqpara_vad_thrd_low SNR threshold for vad01. if sub-band SNR smaller than this threshold. Range: 0~0x7FFF

2 0x2383 _fqpara_vad_thrd_high SNR threshold for vad02~vad05. if sub-band SNR smaller than this threshold. Range: 0~0x7FFF Criterion:

VAD01, VAD02, VAD03, VAD04, and VAD05 are similar to subband vad0 under high SNR, which won’t flash when FE exists and should flash when in-beam NE voice exists for corresponding subband.

Sep 20, 2012 20 UCM-FM1288 V06

7.3 Frequency Domain Noise Suppression

Frequency domain includes NS and nonlinear echo cancellation functions. It can be turned on or off by setting or clearing bit0 of Para[0x2303, _kl_config].

Frequency domain NS supply non-stationary NS and stationary NS for HS mode and only supply stationary NS for 2mic HF and 1mic HF mode. There are some key parameters affecting its performance as listed in the table below:

Table 8: Frequency Domain Noise Suppression (FDNS) parameters

Address

Parameter name Description Sub Module

0x236E _ss_bounds_high[0] Noise suppression level, 0x7fff is

unit gain, means 0db noise suppression, smaller value makes heavier noise suppression and less voice pass. Range: 0~0x7FFF

0x236F _ss_bounds_high[1] base gain factor for noise suppression, will be self-doubled if vad01 ≤ 0. A larger value means heavier suppression and less voice passed thru. Range: 0~0x7F7F Bit[15~8]: base gain factor for f < 2350Hz component;

Bit[7~0]: extra gain factor on base gain for f ≥ 2350Hz component after left banked; Default value = 0x0B80 but it is improper, please configure it to 0x0B05. this means 0x0B00 as gain factor for f < 2350Hz, and 0x1000 = (0xB00 + 0x500) as gain factor for f ≥ 2350Hz.

Gain factor initialization

0x2370 _ss_bounds_high[2] extra gain factor for noise suppression when no big echo, will be applied if voice probability very low, bigger value can reduce watering sound. Range: 0~0x7FFF

0x2373 _fqpara_gndL_div Noise tracking factor to adapt to not so stable stationary noise. Larger value when outside noise goes up and down frequently. (180~440Hz). Range: 0~0x7FFF Noise ground

Sep 20, 2012 21 UCM-FM1288 V06

0x2374 _fqpara_gndM_div Noise tracking factor for 440~2300Hz. Range: 0~0x7FFF

0x2375 _fqpara_gndH_div Noise tracking factor for 2300~7500Hz. Range: 0~0x7FFF

0x2384 _fqpara_snr_order Threshold for speech SNR, higher value will suppress more noise and keep less voice. Range: 0~0x9

SNR_ADJUST, which is controlled by bit 7 of

Para[0x2303, _kl_config]

0x239C _fqpara_inbeam_dec Weakens NS when SNR is very high. Higher value improves voice quality in quiet environment, but also raises noise floor. Therefore, it needs to be tuned together with idle noise suppression. Range: 0~0x7FFF 0x23E D

_idle_noise_thrd idle noise suppression will be applied if noise level lower than this threshold. Bigger value will make idle noise cut more active. Range: 0~0x7FFF IDLE noise , which is

controlled by bit 8 of

Para[0x2303,

0x23EE _idle_ins_attn The suppressing level for idle _kl_config] noise, 0x7fff is unit gain. Range: 0~0x7FFF

Criterion: Pure NS should be stable without obvious watering sound; NS for NE with noise should have no obvious noise up when NE and noise down between NE interval as well as keeping more small NE voice. Please note the following:

FDNS parameters are user preference settings. If the default can’t be accepted, the following steps are recommended:

1) Step 1: FDNS level has direct relationship with Para[0x236E~0x2370], normally when adjust NS level to smaller (Para[0x236E, _ss_bounds_high[0]) with heavier suppression, need to adjust gain factor to bigger (Para[0x236f~0x2370]) to avoid noise up and down at the same time;

2) Step 2: Para[0x2384, _fqpara_snr_order] is a fine-adjustment compensation parameter, generally used for different chassis related to the talker mouth to phone microphone distance, depending on the phone type. The default is using bartype phone.

3) Step 3:Only when the suppressed stationary or non-stationary noise has special high residue for some frequency range, Para[0x2373~0x2375] can be considered to raise

for related frequency range to get more stable noise suppression;

Sep 20, 2012 22 UCM-FM1288 V06

4) Step 4: Para[0x239c~0x239e] allow the user to exercise fine control over nonstationary noise reduction based on observed signal-to-noise ratio(SNR). Para[0x239c] is for SNR observed in beam.

5) Step 5: Idle noise sub module will generate a suppressed gain which will be applied at the point of mic_volume in the gain flow. So if you use modules turn on/off to see the modules before mic_volume apply, remember to turn off idle noise. It is used to make high SNR cases with more clean noise floor, and can be tuned together with Para[0x239C, _fqpara_inbeam_dec] for more favorable voice quality and reasonable noise floor.

Sep 20, 2012 23 UCM-FM1288 V06

7.4 Frequency Domain Echo Cancellation

Frequency domain includes NS and echo cancellation functions. It can be turned on or off by setting or clearing bit0 of Para[0x2303, _kl_config]. Frequency domain echo cancellation can be considered as a kind of non-stationary NS together with PF gain apply in frequency domain. There are some key parameters affecting its performance as listed in the table below:

Table 9: Frequency Domain Echo Control parameters Address Parameter name Description Sub Module 0x2380 _fqpara_beta_uv_fe Beta2 weight for FE only Range: 0~0x7FFF UND

0x2381 _fqpara_beta_mixed_fe Beta2 weight for Double- Talk

Range: 0~0x7FFF

0x23EE _idle_ins_attn The suppressing level for idle noise, 0x7fff is unit gain

Range: 0~0x7FFF

0x23B3 _tdpf_pf_z_factor_exp_high Strength of AEC postfilter at no double talk. A larger value results in stronger echo

suppression, but less full duplex. Range: 0~0x20 TDPF , which is controlled by bit 9 of Para[0x2304, _sp_flag]

0x23B4 _tdpf_pf_z_factor_exp_low Strength of AEC at double talk. Higher

values give stronger echo suppression, but less full duplex. Range: 0~0x20

0x23BC _tdpf_pf_z_factor_exp_extre me

Strength of AEC postfilter when: no DT (td_lf_vad<=0,

aec_wrong_vad_cntr>0) Higher values gives stronger echo

suppression, but less full duplex

Sep 20, 2012 24 UCM-FM1288 V06

0x23B5 _tdpf_pf_coef_gain Full duplex enhancement factor when DT detected meanwhile echo doesn’t dominate. It's possible to let more echo pass through, too! Range: 0~0x7FFF

0x23B7 _pf_wait Estimated length for

echo tail coverage (frames) , each frame means 16ms Range: 0~0x32

0x23B8 _tdpf_min_attn_NE pf gain under the case of DT detected meanwhile small echo. PF gain under different cases

0x23B9 _tdpf_min_attn_no_NE pf gain under the case of small echo only(no DT). 0x23BA

_tdpf_max_attn_no_DT pf gain under the case of Big echo only(no DT). PF gives the heaviest echo suppression

0x23A5 _fqpara_pf_start_bin Decide which band will be applied into PF function. At frequency < DM0x23a5 * 31.25Hz,

don't apply PF gain. RANGE: 0x0~0x10

0x23BE _lfvad_noise_thrd A threshold for DT detection noise floor. Bigger value makes detection harder. if td_lf_vad false alarm under Echo + noise case, set the value smaller to make td_lf_vad detection harder.

0x23BF _lfvad_addon_thrd Also threshold for DT detection. Bigger value makes detection harder. This is used together with lfvad_noise_thrd.

Criterion: Pure echo cancellation should be clean, allow more NE voice pass during DT. When stationary noise exists, need to control the noise up and down to a reasonable level.

Sep 20, 2012 25 UCM-FM1288 V06

Please note the following

To investigate actual target device (e.g. PDA) mockup’s spectrum character ?NE and FE spectrum difference, follow this procedure below:

1) Play NE and FE voice with Para[0x2310, _linein_HPF_sel]=0x80, then record from

mic0 (0x23f1,signal_pass[0]), find their cross point on the whole.

2) Select right Line-in HPF by setting Para[0x2310, _linein_HPF_sel] by NE/FE spectrum cross point. As an example, if the desired crossing point is 360Hz, then the Bit Bit[0] and Bit[2] of Para[0x2310, _linein_HPF_sel] are set to select 360Hz line-in path HPF and 270Hz LPF for td_lf_vad detection. 3) Fine tune modules before FD.

4)Play NE and FE voice, fine tune Para[0x23BE, _lfvad_noise_thrd] and Para[0x23BF _lfvad_addon_thrd] then check td_lf_vad. It should be on when there is DT or NE, and should keep off when there is only echo.

5)Play NE and FE voice under ambient noise environment, then fine tune Para[0x23BE, _lf_noise_vad_thrd] . Td_lf_vad should not flash for only noise or noise+echo case.

6) TDPF tuning: Check to make sure that vad3 is fine tuned, then tune Para[0x23B3~0x23B5], Para[0x23b3].

? _tdpf_pf_z_factor_exp_high] is used for only FE exists.

? Para[0x23b4, _tdpf_pf_z_factor_exp_low] and the following 3 parameters Para[0x23b5, _tdpf_pf_coef_gain], Para[0x23b8, and _tdpf_min_attn_NE] are all used for DT.

? Normally Para[0x23b4, _tdpf_pf_z_factor_exp_low] < Para [0x23b3, _tdpf_pf_z_factor_exp_high]

7) PF gain applying in FD Para[0x23A5, _fqpara_pf_start_bin] decide that PF gain won’t be applied at frequency < Para[0x23A5, _fqpara_pf_start_bin] * 31.25.Hz .

Normally, it is decided by the cross point of NE/FE. Bigger value means less echo cancellation and more DT.

8) Echo tail - If echo still exists with corresponding fe_vad not flash, the echo is called echo tail. For some application cases, such as small vehicle chassis, the echo tail is easily captured. Para[0x23B7, _pf_wait] estimates the length for echo tail coverage (frames) ,each frame means 16ms. Such as the echo tail lasts for 120ms ? 48/16=3. If the Para[0x23B7, _pf_wait] is set as 3, extra echo cancellation will continue even when no fe_vad inside 48ms, so it also will affect DT and NE.

Sep 20, 2012 26 UCM-FM1288 V06

7.5 Lineout Equalizer

Lineout equalizer will apply 23-band equalization in the sending direction. It is commonly used to compensate for the frequency response on the microphone to line-out data path. The control parameters of lineout equalizer are described in the following table, and the SAMTuner supplies easier tuning for this module with a graphical user interface (GUI). Table 10: Line-out Equalizer parameters Address

Parameter name Description 0x2390~0x2395

_fqpara_equal[0~5] 23-band Line-out EQ. 0x4444 means 0dB gain on all bands. _fqpara_equal [0] defines the gain on band1~band4:

Bit[15~12] (109.375Hz ~ 171.875Hz),

Bit[3~0] (5484.375Hz ~ 5984.375Hz);

Sep 20, 2012 31 UCM-FM1288 V06

_FENS_equal [5] defines the gain on band21~band23:

Bit[15~12] (5984.375Hz ~ 6484.375Hz), Bit[11~8] (6484.375Hz ~ 6984.375Hz), Bit[7~4] (6984.375Hz ~ 7984.375Hz). The gain on each band represented by a 4-bit Gain index -

0: +6dB, 1: +4dB, 2: +2dB, 3: +1dB, 4: 0dB, 5: -1dB, 6: -2dB, 7: -4dB, 8: -6dB, 9: -8dB, A: -10dB, B: -13dB, C: -16dB, D: -20dB, E: -30dB, F: -50dB.

Criterion: Pure NS should be stable without obvious watering sound; NS for FE with noise should has no obvious noise up when FE and noise down between NE interval as well as keeping more small FE voice.

Please note that if the FENS is turned off, then lineout equalizer won’t work because it is a sub module of FENS.

Sep 20, 2012 32 UCM-FM1288 V06

7.8 Bright Voice Enhancement (BVE)

BVE module will control the output gain of the receiving direction by the ambient noise collected by mic, high ambient noise will lead to higher gain to bright the spkout voice. It can be turned on/off by setting/clearing bit 4 of Para[0x2305, _ft_flag]. There are some

key parameters affecting its performance as listed in the table below: Table 12: Bright Voice Enhancement (BVE) parameters Address

Parameter name Description 0x22D3

_AVC_SNR_thrd Works when Bit[4] of 0x2305 is ON. This sets the SNR threshold to trigger be action, smaller value means it is harder to trigger be 0x22D4

_AVC_vol_thrd Works when Bit[4] of 0x2305 is ON The threshold to trigger frequency adjustment (decrease low and increase high freqency). When avc_gain_out >threshold, it will trigger the frequency adjustment.

DM address for avc_gain_out: 0x380F

Criterion: Subjective test with noisy environment, turn on BVE can obviously hear the speaker out bigger. Continuous NE voice shouldn’t boost speakout by BVE.

Sep 20, 2012 33 UCM-FM1288 V06

7.9 Bandwidth Extension (BWE)

Band Width Extension (BWE) is designed to enhance narrow bandwidth voice signal from [200, 3400]Hz to [120, 7400] Hz on downlink path. This feature is supported only when DSP is on Slave mode.

? When CODEC and PCM/I2S are both 16kHz (host already duplicated PCM/I2S input

data of 8kHz sampling voice signal to 16kHz by repeating each sample). BWE is supported in both digital and analog interface. Set Bit[11] of Para[0x2305, _ft_flag] to turn on BWE.

? When CODEC is on 16kHz, while PCM/I2S is on 8kHz, DSP will duplicate PCM/I2S input each sample to form a 16kHz voice data. In this case, BWE is only supported in DAC analog interface. To turn on BWE feature, set Bit[11] of Para[0x2305, _ft_flag] and set Bit[4] of Para[0x2301, _sample_rate].

? The index of EQ gains for BWE 4KHz higher component is designated in parameter DM0x2399 and DM0x239A. Their default values are 0xBBCD and 0xEEFF respectively.

Sep 20, 2012 34 UCM-FM1288 V06

7.10 Far Field Pickup (FFP)

FFP function is combined by Lout-AGC module and Lout-DRC module, so you can turn on this feature by the following switch: 0x2304 bit [15]=1 and 0x2303 bit [12] =1 at the same time.

Lout-AGC module implement adaptive gain control when talk from different fields, such as for far-field talk, we expect increase lout-gain to get standard output; otherwise, for nearfield talk, decrease lout-gain to get output as the similar standard level.

Lout-DRC module implement dynamic range control, in this FFP function, we expect to get the following effect: when talk switches between near field and far field, output remains a fixed range.

Table 13: Far Field Pickup parameters Index Address Parameter name Description

1 0x2304 bit [15] Lout-AGC feature switch This bit is set to 1, turn on Lout- AGC

2 0x2303 bit [12] Lout-DRC feature switch This bit is set to 1, turn on Lout- DRC

3 0x2360 _fdmicagc_minagc Minimum gain, -10dB (0x800 is unit gain)

Range:0x100~0x800.

4 0x2361 _fdmicagc_maxagc Maximum gain, +10dB (0x800 is unit gain)

Range:0x800~0x2000.

5 0x2362 _fdmicagc_alpha_up Smooth factor of power estimation for AGC control when voice on, the smaller then faster. Range:0x1~0x7E00.

6 0x2363 _fdmicagc_alpha_down Smooth factor of power estimation for AGC control when voice off, the smaller then faster. Range: 0x1~0x7E00.

7 0x2364 _fdmicagc_ref_low Lout-AGC level controller. Big values lift up the adjustable lout power range.

(Observe DM0x2366 for current

Lout-AGC gain, to match your expected output level with unit gain)

Range: 0x1~0x400

8 0x380c _mic_agc_gain Real-time gain applied, 0x800 is unit gain.

NOTE: this is variable for observation, not for tuning.

Sep 20, 2012 35 UCM-FM1288 V06

10 0x23D3 _lout_drc_level Level for Lout-DRC module Range: 0x1~0x4000

11 0x23D4 _lout_drc_slant The control speed for Lout-DRC module, the bigger then faster. Range: 0x1000~0x7F00

Performance optimization recommendations: For Lout-AGC module,

1. First select your control range by your application; such as talk field from 30cm to 5m, the difference of measured power level between 30cm and 5m is about 18dB, then your control range should bigger 18dB. We suggest select 6dB bigger range (in this case: 24dB)

2. Select minimum and maximum boundary by control range. In this sample, you can

select (-12dB, +12dB), or (-18dB, +6dB), or (-6dB, +18dB), or others, but we suggest the best sequence for your choice is as follows:(-18dB, +6dB): this is down

side, AGC gain is mostly smaller than unit gain, so mic_volume need more gain in this case.(-12dB, +12dB): this is symmetrical(-6dB, +18dB): this is up side

3. Select reference level for Lout-AGC.

To make sure the runtime gain varies in our control range, we need reference level.

In this sample, we can select talk at 3m at reference level which corresponding AGC gain

is unit gain. Procedure:

? Play normal voice or talk at 3m. ? Observe DM(0x2366) value.

? Adjust the DM(0x2364) parameter to make sure DM(0x2366) varies about 0x800.

In this case, the value of 0x2364 is as our reference level.

To speed up Lout-AGC convergence time, can adjust parameters in 0x2362 and 0x2363 For Lout-DRC module,

1. Select expected output level by parameter 0x23D3. Output level range is 0x~ 0X7FFF.

If you expected output range is PSL (about 0x2000), you can set 0x23D3 = PSL/4 (about 0x800) Certainly you can set some smaller to get more remarkable result. 2. Select control speed of DRC by parameter 0x23D4. The bigger value means faster convergence.

Sep 20, 2012 36 UCM-FM1288 V06

8.0 FM-1288 Parameter Table

Table 14: FM-1288 Parameter Table

Control Address Name Description Value

0x22C0 _i2s0_L_tx_p Reserved 0x0004 0x22C1 _i2s0_R_tx_p Reserved 0x0004 0x22C2 _i2s1_L_tx_p Reserved 0x0003 0x22C3 _i2s1_R_tx_p Reserved 0x0003

LDO 0x22C4 _LDO_ctl_stat Refer to definition of HW MMR

register:0x3FD2 0x0620

CODEC 0x22C5 _mic_addgain_ctl Refer to definition of HW MMR

register:0x3FC0: bit[14,13,8] bit[14:13], select additional gain (10) bit[8], select if apply additional gain (1: means \apply\0x4100

Clock 0x22C6 _CODEC_CLK_div DIV_1: clock divider for CODEC. Range in

0x5 ~ 0x7F 0x000C

Clock 0x22C7 _CODEC_CLK_mul MUL_0: clock multiplier for CODEC. Range

in 0x5 ~ 0xFF or 0 (0 means 256) 0x000C

Clock 0x22C8 _PLL_div_type MCLK(main clock dource) description:

Bit[5]: 1 means MCLK is multiplier of 2.048MHz,0 means else; Bit[4~0]: DIV_0: PLL input divider. Select DIV_0, DIV_1(para 0x22C6), MUL_0(para 0x22C7) to gurantee: MCLK * MUL_0 /(DIV_1 * DIV_0) = 2.048M if Bit[5]=1,then only need to gurantee MCLK/DIV_0=2.048M 0x002C

0x22C9 _PLL_xtal_clk Whether PLL is bypassed:0: DSP clock is from PLL,1: PLL bypassed(DSP clock equals to input MCLK) 0x0000

Clock 0x22CA _chi_CLK_set Refer to definition of HW MMR

register:0x3FF0 bit[15:8]:FCLK,

bit[7:0]:BCLK BCLK setting for PCM in 16K system. FORMULA: BCLK = 4.096Mhz/2*(chi_BCLK_set+1) FCLK setting for PCM in 16K system. FORMULA:

FCLK = BCLK/(chi_FCLK_set+1)

#FORMULA: FCLK=BCLK/(chi_FCLK_set+1) 0x1F03

0x22CB _reserved11 0x0000

0x22CC _chi_CLK_set_8k Refer to definition of HW MMR register:0x3FF0 bit[15:8]:FCLK,

bit[7:0]:BCLK BCLK setting for PCM in 8K system. FORMULA:BCLK =

4.096Mhz/2*(chi_BCLK_set_8K+1) FCLK setting for PCM in 8K system. FORMULA: FCLK = BCLK/(chi_FCLK_set_8K+1) #FORMULA: 0x1F07

Sep 20, 2012 37 UCM-FM1288 V06

Control Address Name Description Value

FCLK=BCLK/(chi_FCLK_set_8K+1) 0x22CD _reserved12 0x0000

0x22CE _i2s_CLK_set Refer to definition of HW MMR register:0x3FF1 bit[15:8]:LRLK,

bit[7:0]:BCLK BCLK setting for I2S in16K system. FORMULA: BCLK = 4.096Mhz/2*(i2s_BCLK_set+1) LRCK setting for I2S in 16K system.

FORMULA:LRCK = BCLK/2*(_i2s_LRCK_set + 1) #FORMULA:

LRCK=BCLK/2*(_i2s_LRCK_set+1) 0x0F03

0x22CF _reserved13 0x0000

0x22D0 _i2s_CLK_set_8k Refer to definition of HW MMR register:0x3FF1 bit[15:8]:LRLK, bit[7:0]:BCLK BCLK setting for I2S in 8K system. FORMULA:BCLK =

4.096Mhz/2*(_i2s_BCLK_set_8k+1) LRCK setting for I2S in 8K system. FORMULA:LRCK =

BCLK/2*(i2s_LRCK_set_8K + 1) #FORMULA:

LRCK=BCLK/2*(i2s_LRCK_set_8K+1) 0x0F07

0x22D1 _reserved14 0x0000

0x22D2 _i2s_special_Mode Reserved 0x0294

0x22D3 _AVC_SNR_thrd Works when Bit[4] of 0x2305 is ON SNR

threshold to trigger BVE, smaller value means harder to trigger BVE 0x0003

0x22D4 _AVC_vol_thrd Works when Bit[4] of 0x2305 is ON The threshold to trigger frequency

adjustment(decrease low and increase high freuqency). When avc_gain_out >threshold, it will trigger the frequency adjustment. DM address for avc_gain_out: 0x380F 0x2000

0x22D5 _SCL_Speed Control speed of eeprom read operation, default: 0x20 Need change before eeprom read(power-on, time relies on MCLK) 0x0040

0x22D6 _read_eeprom_times Control fail-retry times of eeprom read operation, (times= 3 - dm(0x22D6)), range:0~3 Need change before eeprom read(power-on, time relies on MCLK) 0x0004

0x22D7 _reserve_22D7[0] 0x0000 0x22D8 _reserve_22D7[1] 0x0000 0x22D9 _reserve_22D7[2] 0x0000 0x22DA _reserve_22D7[3] 0x0000 0x22DB _reserve_22D7[4] 0x0000 0x22DC _reserve_22D7[5] 0x0000 0x22DD _reserve_22D7[6] 0x0000 0x22DE _reserve_22D7[7] 0x0000 Sep 20, 2012 38 UCM-FM1288 V06

Control Address Name Description Value

0x22DF _reserve_22D7[8] 0x0000

0x22E0 _gain_state_thrd Works when Bit[1] of sp_flag is ON Controls how easy a peak is identified as an \peak\0x3200

0x22E1 _gain_adjust1_dB Works when Bit[1] of sp_flag is ON If an \attenuated by this amount if vad01 is ON 0x4400

0x22E2 _gain_adjust2_dB Works when Bit[1] of sp_flag is ON If an \attenuated by this amount if vad01 is OFF 0x3000

Volume

0x22E3 _vol_inc_step Volume step size. Default is 0dB, it means if 0x22e3 is increased by 0x1, the spk volume will be decreased by 0dB. 0x7FFF

0x22E4 _vol_index This parameter will be set by the host. The number must be 1-9, 1 means max volume, 9 means min volume. Response time <=8ms.

#RANGE: 0x1-0x9 0x0001

ADC

0x22E5 _adc_pga_gain Refer to definition of HW MMR register:0x3FC2 bit[11:8], lin, bit[7:4], mic1, bit[3:0], mic0 0x0222

0x22E6 _adc_vol_mute Refer to definition of HW MMR register:0x3FC3 bit[8] control ADC clock bit[7:1] control mute bit[0] control DAC clock 0x0000

DAC

0x22E7 _dac_vol_ctl Refer to definition of HW MMR register:0x3FC4 bit[15:8] control SPK vol bit[7:0] control LOUT vol 0x0000

0x22E8 _dac_vol_mute Refer to definition of HW MMR register:0x3FC5 bit[7:1] control DAC mute 0x0000

0x22E9 _dac_pga_gain Refer to definition of HW MMR register:0x3FC6 bit[7:4], lout, bit[3:0], spk 0x0011

GPIO 0x22EA _gpio_ctl_set Refer to definition of HW MMR

register:0x3FE6 0x000C

0x22EB _Bypass123_rate_config Reserved 0x07D0

Volume

0x22EC _vol_inc_step_gpio the volume step for GPIO control vol up/down 0x0040

0x22ED _spk_volume_cap_gpio the volume cap for GPIO control vol

本文来源:https://www.bwwdw.com/article/633o.html

Top