CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 枚举 | 函数
ci130x_codec

CI130X芯片inner CODEC驱动 更多...

结构体

struct  inner_codec_adc_config_t
 inner CODEC ADC配置 更多...
 
struct  inner_codec_alc_config_t
 inner CODEC ALC设置结构体类型 更多...
 
struct  inner_codec_alc_use_config_t
 inner CODEC简易版ALC配置 更多...
 

枚举

enum  inner_codec_mode_t {
  INNER_CODEC_MODE_MASTER = 3,
  INNER_CODEC_MODE_SLAVE = 0
}
 inner CODEC 主从模式设置 更多...
 
enum  inner_codec_frame_1_2len_t {
  INNER_CODEC_FRAME_LEN_32BIT = 3,
  INNER_CODEC_FRAME_LEN_24BIT = 2
}
 inner CODEC数据窗口的宽度 更多...
 
enum  inner_codec_valid_word_len_t {
  INNER_CODEC_VALID_LEN_32BIT = 3,
  INNER_CODEC_VALID_LEN_24BIT = 2,
  INNER_CODEC_VALID_LEN_20BIT = 1,
  INNER_CODEC_VALID_LEN_16BIT = 0
}
 inner CODEC有效数据宽度 更多...
 
enum  inner_codec_i2s_data_famat_t {
  INNER_CODEC_I2S_DATA_FORMAT_PCM_MODE = 3,
  INNER_CODEC_I2S_DATA_FORMAT_I2S_MODE = 2,
  INNER_CODEC_I2S_DATA_FORMAT_LJ_MODE = 1,
  INNER_CODEC_I2S_DATA_FORMAT_RJ_MODE = 0
}
 inner CODEC数据格式 更多...
 
enum  inner_codec_input_mode_t {
  INNER_CODEC_INPUT_MODE_DIFF = 1,
  INNER_CODEC_INPUT_MODE_SINGGLE_ENDED = 2
}
 inner CODEC MIC输入端查分或者单端模式设置 更多...
 
enum  inner_codec_mic_amplify_t {
  INNER_CODEC_MIC_AMP_0dB = 0,
  INNER_CODEC_MIC_AMP_6dB,
  INNER_CODEC_MIC_AMP_9dB,
  INNER_CODEC_MIC_AMP_12dB,
  INNER_CODEC_MIC_AMP_16dB,
  INNER_CODEC_MIC_AMP_20dB
}
 inner CODEC MIC增益配置 更多...
 
enum  inner_codec_samplerate_t {
  INNER_CODEC_SAMPLERATE_96K = 0,
  INNER_CODEC_SAMPLERATE_48K = 1,
  INNER_CODEC_SAMPLERATE_44_1K = 2,
  INNER_CODEC_SAMPLERATE_32K = 3,
  INNER_CODEC_SAMPLERATE_24K = 4,
  INNER_CODEC_SAMPLERATE_16K = 5,
  INNER_CODEC_SAMPLERATE_12K = 6,
  INNER_CODEC_SAMPLERATE_8K = 7
}
 inner CODEC采样率设置 更多...
 
enum  inner_codec_alc_hold_time_t {
  INNER_CODEC_ALC_HOLD_TIME_0MS = 0,
  INNER_CODEC_ALC_HOLD_TIME_2MS = 1,
  INNER_CODEC_ALC_HOLD_TIME_4MS = 2,
  INNER_CODEC_ALC_HOLD_TIME_8MS = 3,
  INNER_CODEC_ALC_HOLD_TIME_16MS = 4,
  INNER_CODEC_ALC_HOLD_TIME_32MS = 5,
  INNER_CODEC_ALC_HOLD_TIME_64MS = 6,
  INNER_CODEC_ALC_HOLD_TIME_128MS = 7,
  INNER_CODEC_ALC_HOLD_TIME_256MS = 8,
  INNER_CODEC_ALC_HOLD_TIME_512MS = 9,
  INNER_CODEC_ALC_HOLD_TIME_1024MS = 10
}
 inner CODEC ALC hold time设置 更多...
 
enum  inner_codec_alc_decay_time_t {
  INNER_CODEC_ALC_DECAY_TIME_500US = 0,
  INNER_CODEC_ALC_DECAY_TIME_1MS = 1,
  INNER_CODEC_ALC_DECAY_TIME_2MS = 2,
  INNER_CODEC_ALC_DECAY_TIME_4MS = 3,
  INNER_CODEC_ALC_DECAY_TIME_8MS = 4,
  INNER_CODEC_ALC_DECAY_TIME_16MS = 5,
  INNER_CODEC_ALC_DECAY_TIME_32MS = 6,
  INNER_CODEC_ALC_DECAY_TIME_64MS = 7,
  INNER_CODEC_ALC_DECAY_TIME_128MS = 8,
  INNER_CODEC_ALC_DECAY_TIME_256MS = 9,
  INNER_CODEC_ALC_DECAY_TIME_512MS = 10
}
 inner CODEC ALC decay time配置 更多...
 
enum  inner_codec_alc_attack_time_t {
  INNER_CODEC_ALC_ATTACK_TIME_125US = 0,
  INNER_CODEC_ALC_ATTACK_TIME_250US = 1,
  INNER_CODEC_ALC_ATTACK_TIME_500US = 2,
  INNER_CODEC_ALC_ATTACK_TIME_1MS = 3,
  INNER_CODEC_ALC_ATTACK_TIME_2MS = 4,
  INNER_CODEC_ALC_ATTACK_TIME_4MS = 5,
  INNER_CODEC_ALC_ATTACK_TIME_8MS = 6,
  INNER_CODEC_ALC_ATTACK_TIME_16MS = 7,
  INNER_CODEC_ALC_ATTACK_TIME_32MS = 8,
  INNER_CODEC_ALC_ATTACK_TIME_64MS = 9,
  INNER_CODEC_ALC_ATTACK_TIME_128MS = 10
}
 inner CODEC ALC attack time设置 更多...
 
enum  inner_codec_noise_gate_threshold_t {
  INNER_CODEC_NOISE_GATE_THRE_39dB = 0,
  INNER_CODEC_NOISE_GATE_THRE_45dB = 1,
  INNER_CODEC_NOISE_GATE_THRE_51dB = 2,
  INNER_CODEC_NOISE_GATE_THRE_57dB = 3
}
 inner CODEC ALC noise gate门限 更多...
 
enum  inner_cedoc_gate_t {
  INNER_CODEC_GATE_ENABLE = 1,
  INNER_CODEC_GATE_DISABLE = 0
}
 inner CODEC全局开关 更多...
 
enum  inner_codec_cha_sel_t {
  INNER_CODEC_LEFT_CHA = 0,
  INNER_CODEC_RIGHT_CHA = 1
}
 inner CODEC通道设置 更多...
 
enum  inner_codec_alc_pga_max_gain_t {
  INNER_CODEC_ALC_PGA_MAX_GAIN__13_5dB = 0,
  INNER_CODEC_ALC_PGA_MAX_GAIN__7_5dB = 1,
  INNER_CODEC_ALC_PGA_MAX_GAIN__1_5dB = 2,
  INNER_CODEC_ALC_PGA_MAX_GAIN_4_5dB = 3,
  INNER_CODEC_ALC_PGA_MAX_GAIN_10_5dB = 4,
  INNER_CODEC_ALC_PGA_MAX_GAIN_16_5dB = 5,
  INNER_CODEC_ALC_PGA_MAX_GAIN_22_5dB = 6,
  INNER_CODEC_ALC_PGA_MAX_GAIN_28_5dB = 7
}
 inner CODEC ALC 最大增益设置 更多...
 
enum  inner_codec_alc_pga_min_gain_t {
  INNER_CODEC_ALC_PGA_MIN_GAIN__18dB = 0,
  INNER_CODEC_ALC_PGA_MIN_GAIN__12dB = 1,
  INNER_CODEC_ALC_PGA_MIN_GAIN__6dB = 2,
  INNER_CODEC_ALC_PGA_MIN_GAIN_0dB = 3,
  INNER_CODEC_ALC_PGA_MIN_GAIN_6dB = 4,
  INNER_CODEC_ALC_PGA_MIN_GAIN_12dB = 5,
  INNER_CODEC_ALC_PGA_MIN_GAIN_18dB = 6,
  INNER_CODEC_ALC_PGA_MIN_GAIN_24dB = 7
}
 inner CODEC ALC 最小增益设置 更多...
 
enum  inner_codec_alc_level_t {
  INNER_CODEC_ALC_LEVEL_0dB = 0x7fff,
  INNER_CODEC_ALC_LEVEL__0_5dB = 0x78d6,
  INNER_CODEC_ALC_LEVEL__1dB = 0x7213,
  INNER_CODEC_ALC_LEVEL__1_5dB = 0x6bb1,
  INNER_CODEC_ALC_LEVEL__2dB = 0x65ab,
  INNER_CODEC_ALC_LEVEL__2_5dB = 0x5ffb,
  INNER_CODEC_ALC_LEVEL__3dB = 0x5a9d,
  INNER_CODEC_ALC_LEVEL__3_5dB = 0x558b,
  INNER_CODEC_ALC_LEVEL__4dB = 0x50c2,
  INNER_CODEC_ALC_LEVEL__4_5dB = 0x4c3e,
  INNER_CODEC_ALC_LEVEL__5dB = 0x47fa,
  INNER_CODEC_ALC_LEVEL__5_5dB = 0x43f3,
  INNER_CODEC_ALC_LEVEL__6dB = 0x4026,
  INNER_CODEC_ALC_LEVEL__6_5dB = 0x3c8f,
  INNER_CODEC_ALC_LEVEL__7dB = 0x392c,
  INNER_CODEC_ALC_LEVEL__7_5dB = 0x35f9,
  INNER_CODEC_ALC_LEVEL__8dB = 0x32f4,
  INNER_CODEC_ALC_LEVEL__8_5dB = 0x301b,
  INNER_CODEC_ALC_LEVEL__9dB = 0x2d6a,
  INNER_CODEC_ALC_LEVEL__9_5dB = 0x2adf,
  INNER_CODEC_ALC_LEVEL__10dB = 0x2879,
  INNER_CODEC_ALC_LEVEL__10_5dB = 0x2636,
  INNER_CODEC_ALC_LEVEL__11dB = 0x2412,
  INNER_CODEC_ALC_LEVEL__11_5dB = 0x220e,
  INNER_CODEC_ALC_LEVEL__12dB = 0x2026,
  INNER_CODEC_ALC_LEVEL__12_5dB = 0x1e5a,
  INNER_CODEC_ALC_LEVEL__13dB = 0x2026,
  INNER_CODEC_ALC_LEVEL__13_5dB = 0x1b0d,
  INNER_CODEC_ALC_LEVEL__14dB = 0x1989,
  INNER_CODEC_ALC_LEVEL__14_5dB = 0x181c,
  INNER_CODEC_ALC_LEVEL__15dB = 0x16c2,
  INNER_CODEC_ALC_LEVEL__15_5dB = 0x157c,
  INNER_CODEC_ALC_LEVEL__16dB = 0x1449,
  INNER_CODEC_ALC_LEVEL__16_5dB = 0x1326,
  INNER_CODEC_ALC_LEVEL__17dB = 0x1214,
  INNER_CODEC_ALC_LEVEL__17_5dB = 0x1111,
  INNER_CODEC_ALC_LEVEL__18dB = 0x101d,
  INNER_CODEC_ALC_LEVEL__18_5dB = 0x0f36,
  INNER_CODEC_ALC_LEVEL__19dB = 0x0e5c,
  INNER_CODEC_ALC_LEVEL__19_5dB = 0x0d8e
}
 
enum  inner_codec_alc_cha_sel_t {
  INNER_CODEC_ALC_CHA_R_ONLY = 0,
  INNER_CODEC_ALC_CHA_L_ONLY,
  INNER_CODEC_ALC_CHA_STEREO_ONLY,
  INNER_CODEC_ALC_CHA_NONE
}
 inner CODEC ALC通道选择 更多...
 
enum  inner_codec_micbias_t {
  INNER_CODEC_MIC_BIAS_1_0 = 0,
  INNER_CODEC_MIC_BIAS_1_1 = 1,
  INNER_CODEC_MIC_BIAS_1_2 = 2,
  INNER_CODEC_MIC_BIAS_1_3 = 3,
  INNER_CODEC_MIC_BIAS_1_4 = 4,
  INNER_CODEC_MIC_BIAS_1_5 = 5,
  INNER_CODEC_MIC_BIAS_1_6 = 6,
  INNER_CODEC_MIC_BIAS_1_7 = 7
}
 

函数

void inner_codec_up_ibas_adc (void)
 ADC电流源强制启动 更多...
 
void inner_codec_up_ibas_dac (void)
 DAC电流源强制启动 更多...
 
void inner_codec_reset (void)
 INNER CODEC reset 更多...
 
void inner_codec_power_up (inner_codec_current_t current)
 CODEC模块上电 更多...
 
void inner_codec_power_off (void)
 关闭CODEC模块电源 更多...
 
void inner_codec_hp_filter_config (inner_cedoc_gate_t gate, inner_codec_highpass_cut_off_t Hz)
 配置CODEC模块的高通滤波器 更多...
 
void inner_codec_adc_enable (inner_codec_adc_config_t *ADC_Config)
 使能CODEC中的ADC: 1.使用此函数之前先初始化CODEC_ADC_Config_TypeDef结构体并填写参数; 2.ALCL_Gain和ALCR_Gain的上下限分别是28.5dB和-18dB,步长1.5。 更多...
 
void inner_codec_adc_disable (inner_codec_cha_sel_t cha, inner_cedoc_gate_t EN)
 关闭CODEC中的ADC 更多...
 
void inner_codec_dac_enable (bool is_first_enable)
 开启DAC 更多...
 
void inner_codec_dac_disable (void)
 关闭DAC 更多...
 
void inner_codec_alc_disable (inner_codec_cha_sel_t cha)
 关闭CODEC中的ALC,并切换到 pga_gain_reg 控制PGA增益 更多...
 
void inner_codec_adc_mode_set (inner_codec_mode_t mode, inner_codec_frame_1_2len_t frame_Len, inner_codec_valid_word_len_t word_len, inner_codec_i2s_data_famat_t data_fram)
 CODEC作为ADC的模式选择 更多...
 
void inner_codec_dac_mode_set (inner_codec_mode_t mode, inner_codec_frame_1_2len_t frame_Len, inner_codec_valid_word_len_t word_len, inner_codec_i2s_data_famat_t data_fram)
 CODEC作为DAC的模式选择 更多...
 
void inner_codec_micbias_set (inner_codec_micbias_t bias)
 设置MICBIAS的大小 更多...
 

详细描述

CI130X芯片inner CODEC驱动


结构体说明

◆ inner_codec_adc_config_t

struct inner_codec_adc_config_t

inner CODEC ADC配置

成员变量
inner_codec_input_mode_t codec_adc_input_mode_l ADC L 输入模式选择
inner_codec_input_mode_t codec_adc_input_mode_r ADC R 输入模式选择
inner_codec_mic_amplify_t codec_adc_mic_amp_l MIC L 增益设置
inner_codec_mic_amplify_t codec_adc_mic_amp_r MIC R 增益设置
float dig_gain_l 左声道数字增益
float dig_gain_r 右声道数字增益
float pga_gain_l 不使能ALC的情况下,PGA L 的固定增益
float pga_gain_r 不使能ALC的情况下,PGA R 的固定增益

◆ inner_codec_alc_config_t

struct inner_codec_alc_config_t

inner CODEC ALC设置结构体类型

成员变量
inner_codec_alc_mode_t alcmode ALC模式设置
inner_codec_alc_attack_time_t attacktime ALC attack time设置
inner_codec_alc_decay_time_t decaytime ALC decay time设置
inner_codec_alc_hold_time_t holdtime ALC hold time设置
inner_codec_alc_level_t max_level ALC max level设置
inner_codec_alc_pga_max_gain_t max_pga_gain ALC设置PGA的上限设置
inner_codec_alc_level_t min_level ALC min level设置
inner_codec_alc_pga_min_gain_t min_pga_gain ALC设置PGA的下限设置
float pga_gain 不使能ALC的情况下,PGA的增益设置
inner_codec_samplerate_t samplerate ALC采样率设置

◆ inner_codec_alc_use_config_t

struct inner_codec_alc_use_config_t

inner CODEC简易版ALC配置

成员变量
inner_cedoc_gate_t alc_gate ALC开关
inner_codec_alc_pga_max_gain_t alc_maxgain ALC设置PGA增益上限设置
inner_codec_alc_pga_min_gain_t alc_mingain ALC设置PGA增益下限设置
inner_codec_alc_attack_time_t attack_time ALC attack time设置
inner_codec_alc_decay_time_t decay_time ALC decay time设置
uint16_t digt_gain 基本的数字增益
inner_cedoc_gate_t fast_decrece_87_5 过顶保护开关
inner_codec_alc_hold_time_t hold_time ALC hold time设置
inner_codec_alc_level_t max_level ALC max level设置
inner_codec_alc_level_t min_level ALC min level设置
inner_cedoc_gate_t noise_gate noise gate 开关
inner_codec_noise_gate_threshold_t noise_gate_threshold 噪声门限阈值
inner_codec_samplerate_t sample_rate ALC ALC的采样率设置
inner_cedoc_gate_t use_ci130x_alc 使用CI130X的ALC控制inner CODEC还是使用其本身的ALC控制
inner_cedoc_gate_t zero_cross 过零检测开关

枚举类型说明

◆ inner_cedoc_gate_t

inner CODEC全局开关

枚举值
INNER_CODEC_GATE_ENABLE 

打开CODEC

INNER_CODEC_GATE_DISABLE 

关闭CODEC

◆ inner_codec_alc_attack_time_t

inner CODEC ALC attack time设置

枚举值
INNER_CODEC_ALC_ATTACK_TIME_125US 

ALC attack time 125us

INNER_CODEC_ALC_ATTACK_TIME_250US 

ALC attack time 250us

INNER_CODEC_ALC_ATTACK_TIME_500US 

ALC attack time 500us

INNER_CODEC_ALC_ATTACK_TIME_1MS 

ALC attack time 1ms

INNER_CODEC_ALC_ATTACK_TIME_2MS 

ALC attack time 2ms

INNER_CODEC_ALC_ATTACK_TIME_4MS 

ALC attack time 4ms

INNER_CODEC_ALC_ATTACK_TIME_8MS 

ALC attack time 8ms

INNER_CODEC_ALC_ATTACK_TIME_16MS 

ALC attack time 16ms

INNER_CODEC_ALC_ATTACK_TIME_32MS 

ALC attack time 32ms

INNER_CODEC_ALC_ATTACK_TIME_64MS 

ALC attack time 64ms

INNER_CODEC_ALC_ATTACK_TIME_128MS 

ALC attack time 128ms

◆ inner_codec_alc_cha_sel_t

inner CODEC ALC通道选择

枚举值
INNER_CODEC_ALC_CHA_R_ONLY 

ALC左通道

INNER_CODEC_ALC_CHA_L_ONLY 

ALC右通道

INNER_CODEC_ALC_CHA_STEREO_ONLY 

ALC两个通道

INNER_CODEC_ALC_CHA_NONE 

ALC关闭

◆ inner_codec_alc_decay_time_t

inner CODEC ALC decay time配置

枚举值
INNER_CODEC_ALC_DECAY_TIME_500US 

ALC decay time 500us

INNER_CODEC_ALC_DECAY_TIME_1MS 

ALC decay time 1ms

INNER_CODEC_ALC_DECAY_TIME_2MS 

ALC decay time 2ms

INNER_CODEC_ALC_DECAY_TIME_4MS 

ALC decay time 4ms

INNER_CODEC_ALC_DECAY_TIME_8MS 

ALC decay time 8ms

INNER_CODEC_ALC_DECAY_TIME_16MS 

ALC decay time 16ms

INNER_CODEC_ALC_DECAY_TIME_32MS 

ALC decay time 32ms

INNER_CODEC_ALC_DECAY_TIME_64MS 

ALC decay time 64ms

INNER_CODEC_ALC_DECAY_TIME_128MS 

ALC decay time 128ms

INNER_CODEC_ALC_DECAY_TIME_256MS 

ALC decay time 256ms

INNER_CODEC_ALC_DECAY_TIME_512MS 

ALC decay time 512ms

◆ inner_codec_alc_hold_time_t

inner CODEC ALC hold time设置

枚举值
INNER_CODEC_ALC_HOLD_TIME_0MS 

ALC hold time 0

INNER_CODEC_ALC_HOLD_TIME_2MS 

ALC hold time 2ms

INNER_CODEC_ALC_HOLD_TIME_4MS 

ALC hold time 4ms

INNER_CODEC_ALC_HOLD_TIME_8MS 

ALC hold time 8ms

INNER_CODEC_ALC_HOLD_TIME_16MS 

ALC hold time 16ms

INNER_CODEC_ALC_HOLD_TIME_32MS 

ALC hold time 32ms

INNER_CODEC_ALC_HOLD_TIME_64MS 

ALC hold time 64ms

INNER_CODEC_ALC_HOLD_TIME_128MS 

ALC hold time 128ms

INNER_CODEC_ALC_HOLD_TIME_256MS 

ALC hold time 256ms

INNER_CODEC_ALC_HOLD_TIME_512MS 

ALC hold time 512ms

INNER_CODEC_ALC_HOLD_TIME_1024MS 

ALC hold time 1024ms

◆ inner_codec_alc_level_t

枚举值
INNER_CODEC_ALC_LEVEL_0dB 
INNER_CODEC_ALC_LEVEL__0_5dB 
INNER_CODEC_ALC_LEVEL__1dB 
INNER_CODEC_ALC_LEVEL__1_5dB 
INNER_CODEC_ALC_LEVEL__2dB 
INNER_CODEC_ALC_LEVEL__2_5dB 
INNER_CODEC_ALC_LEVEL__3dB 
INNER_CODEC_ALC_LEVEL__3_5dB 
INNER_CODEC_ALC_LEVEL__4dB 
INNER_CODEC_ALC_LEVEL__4_5dB 
INNER_CODEC_ALC_LEVEL__5dB 
INNER_CODEC_ALC_LEVEL__5_5dB 
INNER_CODEC_ALC_LEVEL__6dB 
INNER_CODEC_ALC_LEVEL__6_5dB 
INNER_CODEC_ALC_LEVEL__7dB 
INNER_CODEC_ALC_LEVEL__7_5dB 
INNER_CODEC_ALC_LEVEL__8dB 
INNER_CODEC_ALC_LEVEL__8_5dB 
INNER_CODEC_ALC_LEVEL__9dB 
INNER_CODEC_ALC_LEVEL__9_5dB 
INNER_CODEC_ALC_LEVEL__10dB 
INNER_CODEC_ALC_LEVEL__10_5dB 
INNER_CODEC_ALC_LEVEL__11dB 
INNER_CODEC_ALC_LEVEL__11_5dB 
INNER_CODEC_ALC_LEVEL__12dB 
INNER_CODEC_ALC_LEVEL__12_5dB 
INNER_CODEC_ALC_LEVEL__13dB 
INNER_CODEC_ALC_LEVEL__13_5dB 
INNER_CODEC_ALC_LEVEL__14dB 
INNER_CODEC_ALC_LEVEL__14_5dB 
INNER_CODEC_ALC_LEVEL__15dB 
INNER_CODEC_ALC_LEVEL__15_5dB 
INNER_CODEC_ALC_LEVEL__16dB 
INNER_CODEC_ALC_LEVEL__16_5dB 
INNER_CODEC_ALC_LEVEL__17dB 
INNER_CODEC_ALC_LEVEL__17_5dB 
INNER_CODEC_ALC_LEVEL__18dB 
INNER_CODEC_ALC_LEVEL__18_5dB 
INNER_CODEC_ALC_LEVEL__19dB 
INNER_CODEC_ALC_LEVEL__19_5dB 

◆ inner_codec_alc_pga_max_gain_t

inner CODEC ALC 最大增益设置

枚举值
INNER_CODEC_ALC_PGA_MAX_GAIN__13_5dB 

ALC设置PGA的增益上限为-13.5dB

INNER_CODEC_ALC_PGA_MAX_GAIN__7_5dB 

ALC设置PGA的增益上限为-7.5dB

INNER_CODEC_ALC_PGA_MAX_GAIN__1_5dB 

ALC设置PGA的增益上限为-1.5dB

INNER_CODEC_ALC_PGA_MAX_GAIN_4_5dB 

ALC设置PGA的增益上限为4.5dB

INNER_CODEC_ALC_PGA_MAX_GAIN_10_5dB 

ALC设置PGA的增益上限为10.5dB

INNER_CODEC_ALC_PGA_MAX_GAIN_16_5dB 

ALC设置PGA的增益上限为16.5dB

INNER_CODEC_ALC_PGA_MAX_GAIN_22_5dB 

ALC设置PGA的增益上限为22.5dB

INNER_CODEC_ALC_PGA_MAX_GAIN_28_5dB 

ALC设置PGA的增益上限为28.5dB

◆ inner_codec_alc_pga_min_gain_t

inner CODEC ALC 最小增益设置

枚举值
INNER_CODEC_ALC_PGA_MIN_GAIN__18dB 

ALC设置PGA的增益下限为-18dB

INNER_CODEC_ALC_PGA_MIN_GAIN__12dB 

ALC设置PGA的增益下限为-12dB

INNER_CODEC_ALC_PGA_MIN_GAIN__6dB 

ALC设置PGA的增益下限为-6dB

INNER_CODEC_ALC_PGA_MIN_GAIN_0dB 

ALC设置PGA的增益下限为0dB

INNER_CODEC_ALC_PGA_MIN_GAIN_6dB 

ALC设置PGA的增益下限为6dB

INNER_CODEC_ALC_PGA_MIN_GAIN_12dB 

ALC设置PGA的增益下限为12dB

INNER_CODEC_ALC_PGA_MIN_GAIN_18dB 

ALC设置PGA的增益下限为18dB

INNER_CODEC_ALC_PGA_MIN_GAIN_24dB 

ALC设置PGA的增益下限为24dB

◆ inner_codec_cha_sel_t

inner CODEC通道设置

枚举值
INNER_CODEC_LEFT_CHA 

CODEC ALC左通道

INNER_CODEC_RIGHT_CHA 

CODEC ALC右通道

◆ inner_codec_frame_1_2len_t

inner CODEC数据窗口的宽度

枚举值
INNER_CODEC_FRAME_LEN_32BIT 

数据窗口宽度为32bit

INNER_CODEC_FRAME_LEN_24BIT 

数据窗口宽度为24bit

◆ inner_codec_i2s_data_famat_t

inner CODEC数据格式

枚举值
INNER_CODEC_I2S_DATA_FORMAT_PCM_MODE 

inner codec的数据格式为PCM格式

INNER_CODEC_I2S_DATA_FORMAT_I2S_MODE 

inner codec的数据格式为标准I2S格式

INNER_CODEC_I2S_DATA_FORMAT_LJ_MODE 

inner codec的数据格式为左对齐格式,slave模式下不支持

INNER_CODEC_I2S_DATA_FORMAT_RJ_MODE 

inner codec的数据格式为右对齐格式

◆ inner_codec_input_mode_t

inner CODEC MIC输入端查分或者单端模式设置

枚举值
INNER_CODEC_INPUT_MODE_DIFF 

输入为差分输入模式

INNER_CODEC_INPUT_MODE_SINGGLE_ENDED 

输入为单端输入模式

◆ inner_codec_mic_amplify_t

inner CODEC MIC增益配置

枚举值
INNER_CODEC_MIC_AMP_0dB 
INNER_CODEC_MIC_AMP_6dB 
INNER_CODEC_MIC_AMP_9dB 
INNER_CODEC_MIC_AMP_12dB 
INNER_CODEC_MIC_AMP_16dB 
INNER_CODEC_MIC_AMP_20dB 

◆ inner_codec_micbias_t

枚举值
INNER_CODEC_MIC_BIAS_1_0 
INNER_CODEC_MIC_BIAS_1_1 
INNER_CODEC_MIC_BIAS_1_2 
INNER_CODEC_MIC_BIAS_1_3 
INNER_CODEC_MIC_BIAS_1_4 
INNER_CODEC_MIC_BIAS_1_5 
INNER_CODEC_MIC_BIAS_1_6 
INNER_CODEC_MIC_BIAS_1_7 

◆ inner_codec_mode_t

inner CODEC 主从模式设置

枚举值
INNER_CODEC_MODE_MASTER 

CODEC主模式

INNER_CODEC_MODE_SLAVE 

CODEC从模式

◆ inner_codec_noise_gate_threshold_t

inner CODEC ALC noise gate门限

枚举值
INNER_CODEC_NOISE_GATE_THRE_39dB 

ALC噪声门限39dB

INNER_CODEC_NOISE_GATE_THRE_45dB 

ALC噪声门限45dB

INNER_CODEC_NOISE_GATE_THRE_51dB 

ALC噪声门限51dB

INNER_CODEC_NOISE_GATE_THRE_57dB 

ALC噪声门限57dB

◆ inner_codec_samplerate_t

inner CODEC采样率设置

枚举值
INNER_CODEC_SAMPLERATE_96K 

采样率为96K

INNER_CODEC_SAMPLERATE_48K 

采样率为48K

INNER_CODEC_SAMPLERATE_44_1K 

采样率为44.1K

INNER_CODEC_SAMPLERATE_32K 

采样率为32K

INNER_CODEC_SAMPLERATE_24K 

采样率为24K

INNER_CODEC_SAMPLERATE_16K 

采样率为16K

INNER_CODEC_SAMPLERATE_12K 

采样率为12K

INNER_CODEC_SAMPLERATE_8K 

采样率为8K

◆ inner_codec_valid_word_len_t

inner CODEC有效数据宽度

枚举值
INNER_CODEC_VALID_LEN_32BIT 

有效数据宽度为32bit

INNER_CODEC_VALID_LEN_24BIT 

有效数据宽度为24bit

INNER_CODEC_VALID_LEN_20BIT 

有效数据宽度为20bit

INNER_CODEC_VALID_LEN_16BIT 

有效数据宽度为16bit

函数说明

◆ inner_codec_adc_disable()

void inner_codec_adc_disable ( inner_codec_cha_sel_t  cha,
inner_cedoc_gate_t  EN 
)

关闭CODEC中的ADC

参数
cha左右通道、全部通道的选择;
EN选择是否关闭ADC

◆ inner_codec_adc_enable()

void inner_codec_adc_enable ( inner_codec_adc_config_t ADC_Config)

使能CODEC中的ADC: 1.使用此函数之前先初始化CODEC_ADC_Config_TypeDef结构体并填写参数; 2.ALCL_Gain和ALCR_Gain的上下限分别是28.5dB和-18dB,步长1.5。

参数
ADC_ConfigCODEC_ADC_Config_TypeDef结构体指针

◆ inner_codec_adc_mode_set()

void inner_codec_adc_mode_set ( inner_codec_mode_t  mode,
inner_codec_frame_1_2len_t  frame_Len,
inner_codec_valid_word_len_t  word_len,
inner_codec_i2s_data_famat_t  data_fram 
)

CODEC作为ADC的模式选择

参数
modeMaster模式或者Slave模式;
frame_Len数据宽度;
word_len有效数据长度;
data_fram数据格式

◆ inner_codec_alc_disable()

void inner_codec_alc_disable ( inner_codec_cha_sel_t  cha)

关闭CODEC中的ALC,并切换到 pga_gain_reg 控制PGA增益

参数
cha通道选择
ALC_Gain关闭ALC之后,使用寄存器0x27控制ALC增益的大小

◆ inner_codec_dac_disable()

void inner_codec_dac_disable ( void  )

关闭DAC

参数
cha声道选择
EN开关

◆ inner_codec_dac_enable()

void inner_codec_dac_enable ( bool  is_first_enable)

开启DAC

参数
is_first_enable是否为第1次开启

◆ inner_codec_dac_mode_set()

void inner_codec_dac_mode_set ( inner_codec_mode_t  mode,
inner_codec_frame_1_2len_t  frame_Len,
inner_codec_valid_word_len_t  word_len,
inner_codec_i2s_data_famat_t  data_fram 
)

CODEC作为DAC的模式选择

参数
modeMaster模式或者Slave模式;
frame_Len数据宽度;
word_len有效数据长度;
data_fram数据格式

◆ inner_codec_hp_filter_config()

void inner_codec_hp_filter_config ( inner_cedoc_gate_t  gate,
inner_codec_highpass_cut_off_t  Hz 
)

配置CODEC模块的高通滤波器

参数
gate高通滤波器开关
Hz高通滤波器的截止频率

◆ inner_codec_micbias_set()

void inner_codec_micbias_set ( inner_codec_micbias_t  bias)

设置MICBIAS的大小

参数
bias

◆ inner_codec_power_off()

void inner_codec_power_off ( void  )

关闭CODEC模块电源

◆ inner_codec_power_up()

void inner_codec_power_up ( inner_codec_current_t  current)

CODEC模块上电

参数
currentpre-charge/dis-charge的电流大小

◆ inner_codec_reset()

void inner_codec_reset ( void  )

INNER CODEC reset

◆ inner_codec_up_ibas_adc()

void inner_codec_up_ibas_adc ( void  )

ADC电流源强制启动

◆ inner_codec_up_ibas_dac()

void inner_codec_up_ibas_dac ( void  )

DAC电流源强制启动