拟采用line in方式通过Mcbsp口采集声音,于DRR1和DRR2接收左右通道的数据(各16位),AIC23设为主模式且左右通道更新已打开,右通道设为低电平,数据格式已配置到DSP模式,但对DSP的设置不太清楚导致不能正常接收两通道数据,想请前辈们帮忙指导一下或者能提供一些参考例程,感谢!AIC23与DSP的具体配置如下:
AIC23寄存器设置:
/*AIC23寄存器复位*/
AIC23Write(0x1e,0x0);
Delay(100);
/*AIC23节电方式设置,所有部分均所与工作状态*/
AIC23Write(0x0C,0x02); //mic input关闭
Delay(100);
/*AIC23左通路音频调节*/
// AIC23Write(0x00,0x17);
AIC23Write(0x01,0x17);
Delay(100);
/*AIC23右通路音频调节*/
// AIC23Write(0x02,0x17);
AIC23Write(0x03,0x17);
Delay(100);
/*AIC23耳机左通路音频调节*/
AIC23Write(0x05,0xff);
Delay(100);
/*AIC23耳机右通路音频调节*/
AIC23Write(0x07,0xff);
Delay(100);
/*AIC23模拟音频的控制DAC使能,ADC输入选择为Line,开旁路08 18*/
AIC23Write(0x08,0x10); //08 10 line input
Delay(100);
/*AIC23的波特率设置,采样率为96K*/
AIC23Write(0x10,0x1f); //
Delay(100);
/*AIC23数字音频通路的控制*/
AIC23Write(0x0A,0x00);
Delay(100);
/*AIC23数字接口的使能*/
AIC23Write(0x12,0x01);
Delay(100);
/*数字音频接口格式设置AIC23为主模式,数据为DSP模式,数据长度32位 53? 5f?*/
AIC23Write(0x0E,0x5f);
Delay(100);
Mcbsp的设置为:
McbspaRegs.SPCR2.all=0; McbspaRegs.SPCR1.all=0; McbspaRegs.SPCR1.bit.RJUST=2; //
McbspaRegs.PCR.all = 0x03;
McbspaRegs.SPCR1.bit.RINTM=1; //
McbspaRegs.SPCR2.bit.XINTM=1; //
// InitMcbspa32bit();
McbspaRegs.RCR1.bit.RWDLEN1=2; // 16-bit word
McbspaRegs.XCR1.bit.XWDLEN1=2; // 16-bit word
McbspaRegs.RCR2.bit.RWDLEN2=2; // 16-bit word
McbspaRegs.XCR2.bit.XWDLEN2=2; // 16-bit word
McbspaRegs.SPCR1.bit.RRST = 1; // 发送使能
McbspaRegs.SPCR2.bit.XRST = 1; //接收使能
Seven Han:
您好,
c2000在音频方面使用的文档较少;关于AIC23 寄存器的配置,最好是参考AIC23 datasheet/documentation.
以下资源或许有帮助:
http://www.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=spraaj2
拟采用line in方式通过Mcbsp口采集声音,于DRR1和DRR2接收左右通道的数据(各16位),AIC23设为主模式且左右通道更新已打开,右通道设为低电平,数据格式已配置到DSP模式,但对DSP的设置不太清楚导致不能正常接收两通道数据,想请前辈们帮忙指导一下或者能提供一些参考例程,感谢!AIC23与DSP的具体配置如下:
AIC23寄存器设置:
/*AIC23寄存器复位*/
AIC23Write(0x1e,0x0);
Delay(100);
/*AIC23节电方式设置,所有部分均所与工作状态*/
AIC23Write(0x0C,0x02); //mic input关闭
Delay(100);
/*AIC23左通路音频调节*/
// AIC23Write(0x00,0x17);
AIC23Write(0x01,0x17);
Delay(100);
/*AIC23右通路音频调节*/
// AIC23Write(0x02,0x17);
AIC23Write(0x03,0x17);
Delay(100);
/*AIC23耳机左通路音频调节*/
AIC23Write(0x05,0xff);
Delay(100);
/*AIC23耳机右通路音频调节*/
AIC23Write(0x07,0xff);
Delay(100);
/*AIC23模拟音频的控制DAC使能,ADC输入选择为Line,开旁路08 18*/
AIC23Write(0x08,0x10); //08 10 line input
Delay(100);
/*AIC23的波特率设置,采样率为96K*/
AIC23Write(0x10,0x1f); //
Delay(100);
/*AIC23数字音频通路的控制*/
AIC23Write(0x0A,0x00);
Delay(100);
/*AIC23数字接口的使能*/
AIC23Write(0x12,0x01);
Delay(100);
/*数字音频接口格式设置AIC23为主模式,数据为DSP模式,数据长度32位 53? 5f?*/
AIC23Write(0x0E,0x5f);
Delay(100);
Mcbsp的设置为:
McbspaRegs.SPCR2.all=0; McbspaRegs.SPCR1.all=0; McbspaRegs.SPCR1.bit.RJUST=2; //
McbspaRegs.PCR.all = 0x03;
McbspaRegs.SPCR1.bit.RINTM=1; //
McbspaRegs.SPCR2.bit.XINTM=1; //
// InitMcbspa32bit();
McbspaRegs.RCR1.bit.RWDLEN1=2; // 16-bit word
McbspaRegs.XCR1.bit.XWDLEN1=2; // 16-bit word
McbspaRegs.RCR2.bit.RWDLEN2=2; // 16-bit word
McbspaRegs.XCR2.bit.XWDLEN2=2; // 16-bit word
McbspaRegs.SPCR1.bit.RRST = 1; // 发送使能
McbspaRegs.SPCR2.bit.XRST = 1; //接收使能
mangui zhang:
MIC和LINE都没有输出吗