📄 aic23.h
字号:
//
// Project: Experiment 2.10.7 Use AIC23 via McBSP - Chapter 2
// File name: aic23.h
//
// Description: This is the C header file for aic23 experiment
//
// For the book "Real Time Digital Signal Processing:
// Implementation and Application, 2nd Ed"
// By Sen M. Kuo, Bob H. Lee, and Wenshun Tian
// Publisher: John Wiley and Sons, Ltd
//
// Tools used: CCS v.2.12.07
// TMS320VC5510 DSK Rev-C
//
// AIC23 Register definition: TLV320AIC23B
#define AIC23_LEFT_INPUT_VOL (0<<9)
#define AIC23_RIGHT_INPUT_VOL (1<<9)
#define AIC23_LEFT_HEADPHONE_VOL (2<<9)
#define AIC23_RIGHT_HEADPHONE_VOL (3<<9)
#define AIC23_ANALOG_AUDIO_PATH_CTL (4<<9)
#define AIC23_DIGITAL_AUDIO_PATH_CTL (5<<9)
#define AIC23_POWERDOWN_CTL (6<<9)
#define AIC23_DIGITAL_AUDIO_IF_FMT (7<<9)
#define AIC23_SAMPLERATE_CTL (8<<9)
#define AIC23_DIGITAL_IF_ACTIVATION (9<<9)
#define AIC23_RESET (15<<9)
// AIC23 initialization values
#define AIC23_LEFT_INVOL_INIT_VAL 0x017
// LRS[8] 0 Simultaneous left/right volume: disabled
// LIM[7] 0 Left line input mute: disabled
// LIV[4:0] 10111 Left line input volume: 0 dB
#define AIC23_RIGHT_INVOL_INIT_VAL 0x017
// RLS[8] 0 Simultaneous right/left volume: disabled
// RIM[7] 0 Right line input mute: disabled
// RIV[4:0] 10111 Right line input volume: 0 dB
#define AIC23_LEFT_HP_INIT_VAL 0x1F9
// LRS[8] 1 Simultaneous left/right volume: enabled
// LZC[7] 1 Left channel zero-cross detect: enabled
// LHV[6:0] 1111001 Left headphone volume: 0 dB
#define AIC23_RIGHT_HP_INIT_VAL 0x1F9
// RLS 1 Simultaneous right/left volume: enabled
// RZC 1 Right channel zero-cross detect: enabled
// RHV[6:0] 1111001 Right headphone volume: 0 dB
#define AIC23_ANALOG_PATH_INIT_VAL 0x014
// STA[8:6] 000 Sidetone attenuation: -6 dB
// STE[5] 0 Sidetone: disabled
// DAC[4] 1 DAC: selected
// BYP[3] 0 Bypass: off
// INSEL[2] 1 Input select for ADC: line
// MICM[1] 0 Microphone mute: disabled
// MICB[0] 0 Microphone boost: enabled
#define AIC23_DIGITAL_PATH_INIT_VAL 0x000
// DACM[3] 0 DAC soft mute: disabled
// DEEMP[2:1] 00 Deemphasis control: disabled
// ADCHP[0] 0 ADC high-pass filter: disabled
#define AIC23_POWERDOWN_INIT_VAL 0x000
// OFF[7] 0 Device power: on
// CLK[6] 0 Clock: on
// OSC[5] 0 Oscillator: on
// OUT[4] 0 Outputs: on
// DAC[3] 0 DAC: on
// ADC[2] 0 ADC: on
// MIC[1] 0 Microphone: on
// LINE[0] 0 Line input: on
#define AIC23_DIGITAL_IFFMT_INIT_VAL 0x043
// MS[6] 1 Master/slave mode: master
// LRSWAP[5] 0 DAC left/right swap: disabled
// LRP[4] 0 DAC lrp: MSB on 1st BCLK
// IWL[3:2] 00 Input bit length: 16 bit
// FOR[1:0] 11 Data format: DSP format
#define AIC23_SAMPLERATE_INIT_VAL 0x08D
// CLKOUT[7] 1 Clock output divider: 2 (MCLK/2)
// CLKIN[6] 0 Clock input divider: 1 (MCLK)
// SR[5:2] 0011 Sampling rate: ADC 8 kHz and DAC 8 kHz
// BOSR[1] 0 SBasr oversampling: 0 => 250fs (USB mode)
// USB/N[0] 1 Clock mode select (USB/normal): USB
#define AIC23_DIGITAL_IFACT_INIT_VAL 0x001
// ACT[0] 1 Active
#define AIC23_POWERDOWN_OFF_VAL 0x0FF
// OFF[7] 1 Device power: off
// CLK[6] 1 Clock: off
// OSC[5] 1 Oscillator: off
// OUT[4] 1 Outputs: off
// DAC[3] 1 DAC: off
// ADC[2] 1 ADC: off
// MIC[1] 1 Microphone: off
// LINE[0] 1 Line input: off
// Glabal functions
extern void aic23Reset(void);
extern void aic23Init(void);
extern short aic23Tx(short data);
extern void aic23Powerdown(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -