资源简介
TI TLV320ADC3101音频ADC采样芯片驱动代码。芯片支持三路立体输入,一路IIS输出。 代码中是一路立体声单端输入和一路立体声差分输入直接接入芯片,采样后做通过IIS输出。输入时钟MCLK为2M,采样率为48KHz.BCLK输出3.072M,WCLK输出48KHz信号。 两个IO口,一路输出高点平,接指示灯,指示灯,表示芯片正常工作,一路输出3.072MHz供其它设备做MCLK用。代码中只做了AD采样,采样后通过IIS输出。没有做其它的DSP运算。
代码片段和文件信息
#include “main_def.h“
#include “TLV320ADC3101.H“
#include “iic_drv.h“
unsigned char MainVol;
unsigned char ChSel;
#define PLL_P 1
#define PLL_R 1
#define PLL_J 49
#define PLL_D 1520//
#define NADC 8 //ADC_CLK =
#define MADC 2
#define AOSR 128 //ADC 过采样值
#define IADC 0x80 //?? miniDSP Number of instructions 默认值不使用
#define BCLK_N 4
#define CLKOUT_M 2
#define MCLK 2000 //2000K
#define E_PLLCLK (MCLK*PLL_R*PLL_J*PLL_D/10000/PLL_P)//98304K
#define E_CODEC_CLKIN E_PLLCLK
#define E_ADCCLK (E_PLLCLK/NADC) //12288K
#define E_ADCMODCLK (E_ADCCLK/MADC) //6114K
#define E_ADC_Fs (E_ADCCLK/AOSR) //48K
#define BCLK (E_ADCCLK/BCLK_N) //3.072M
#define OUTCLK (E_ADCMODCLK/CLKOUT_M) //3.072M
unsigned char code E_CODE_INIT0[]=
{
0x00//PAGE
ENCODE_SOFT_RESET //RST
0x20 //Rev ID = 0x20
0x00
SET_PLL_CLK_MCLK|SET_CODEC_CLK_PLL//4 PLL_CLKIN = MCLKPIN CODEC_CLK = PLL_OUT
E_POWER_BIT|(PLL_P< PLL_J //6 J
PLL_D/0x100//7 D_H
PLL_D%0x100//8 D_L
0x000x000x000x000x000x000x000x000x00
E_POWER_BIT|NADC //18 NADC
E_POWER_BIT|MADC //19 MADC
AOSR //20 AOSR //ADC过采样次数
IADC //21 IADC //Number of instructions for ADC miniDSP ???
0x04 //22 ADC miniDSP Engine Decimation?? 默认值
0x00 0x00
CDIVCLK_ADCMODCLK //25 CDIVCLK = ADCMODCLK
E_POWER_BIT|CLKOUT_M //26 CLKOUT DIV M = 2; E_ADCMODCLK/2= 3.072M 用作功放MCLK
(AIC_IIS | AIC_24BIT|AIC_IIS_OUT)//27 INTERFACE_CTRL
0x00 //28 Data Slot Offset Programmability 1
BDIV_CLK_ADCCLK //29 BDIV_CLKIN = ADCCLK= 12.288MHz
E_POWER_BIT|BCLK_N //BCLK = ADCCLK/4; = 3.072M
0x00 //31 辅助音频接口 1
0x00 //32 辅助音频接口 2
0x00 //33 辅助音频接口 3
0x00 //34 IIS 同步设置
0x00
0x00 //36 ADC Flag ReadOnly
0x00 //37 E_DSOFP2
(LEFT_RIGHT_EN|DOUT_TRI) //38 IIS_TDM //左右声道开启DOUT引脚非有效时高阻态
0x00 0x00 0x00
0x00 //42 Int Flag 0;Read Only ;读寄存器,自动清除中断标志
0x00 //43 Int Flag 1;Read Only ;
0x00
0x00 //45 ADC Int Flag0; Read Only ;读寄存器,自动清除中断标志
0x00
0x00 //47 ADC Int Flag0; Read Only
0x00 //48 INT1 Interrupt Control
0x00 //49 INT1 Interrupt Control
0x00
(GPIO_OUT_H) //51 GPIO2 输出高 点LED
(GPIO_CLK_OUT) //52 GPIO1 输出CLK =3.072M 用于从机MCLK
(DOUT_BUS_KEEP_DIS | DOUT_COUT) //53 DOUT 用于IIS输出 关闭保持寄存器
0x00 //54
0x00 0x00
0x00//57 ADC SYNC 1
0x00//58 ADC SYNC 2
(0x40|0x04)//59 ADC CIC Filter Gain Control //Default
0x00
0x01 //61 PRB_R1(default)
0x00 //62 Programmable Instruction-Mode Control Bits
0x000x000x000x000x000x000x00
0x000x000x000x000x000x000x000x000x000x00
0x00 //80 ADC Digital-Microphone Polarity Select
(L_ADC_POWER_ON|R_ADC_POWER_ON|SOFT_STEP_HALF_STEP) //81 ADC Digital CTRLPOWER 0.5STEP/Fs SoftStep(淡入淡出)
(LR_ADC_MUTE)//82 精细音量控制 default 取消Mute 0dB
0x00 //83 //左音量控制 Left Volume(-12db~20db 0.5-Step) default 0dB
0x00 //84 //右音量控制 Right Volume(-12db~20db 0.5-Step) default 0dB
0x00 //85 Left ADC 相位补偿
0x00 //86 Left
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8256 2019-06-17 15:40 TLV320ADC3101.c
文件 7312 2019-06-17 15:32 TLV320ADC3101.h
----------- --------- ---------- ----- ----
15568 2
- 上一篇:铁路车号识别
- 下一篇:240128驱动程序
评论
共有 条评论