TI中文支持网
TI专业的中文技术问题搜集分享网站

求助论坛,用28335通过AIC23做音频双通道数据收发遇到问题

拟采用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; //接收使能

user151383853:

AIC23设为主模式, 则 DSP 应该为从模式. 

可以开启 FIFO 或 DMA 来接收数据, 以保证数据不会丢失.

guowen xu:

回复 user151383853:

谢谢回复,我会仔细看看这两块,另想请教:

1.DSP模式下接收左右两通道各16位的话,如图所示AIC寄存器字长IWL应该设置为16还是32?

2.Mcbsp里面RCR1,RCR2应该把数据设置为单相位数据帧(1字长,32位还是2字长各16位?),还是双相位数据帧(每个数据帧1字长,16位)?

tim lee:

回复 guowen xu:

1.我想你接受的数据是32位的吧,那你IWL应该设置为32bit,

2.Mcbsp设置为双相位,每个数据帧1字长;

3.兄弟你好,我最近也做这块DMA连Mcbsp从AIC23采集数据,我已经搞了好久了,但是丝毫没啥进展

guowen xu:

回复 tim lee:

我把单双相位,16和32字长都试过一遍了,还是不行啊,我也卡了很久了,双通道收发你能正常接收到数据不

tim lee:

回复 guowen xu:

双通道?怎么双通道,就是dmach1接收数据存到ram,dmach2再把数据传到codec?

tim lee:

回复 guowen xu:

嗷嗷,明白你说的,DRR1和DRR2分别接受左右两个声道的数据。这俩数据是一模一样的。我qq:叁29叁2叁21叁

ian:

回复 tim lee:

请问进展如何,想和您交流一下

user5321810:

回复 ian:

请问你也在做吗?想请教一下

ting liao:

回复 tim lee:

请问你们使用AIC23采集模拟信号的电压范围为多少,我们外接麦克风输入模拟信号到MICIN管脚,这个管脚接收的信息分左右声道传输吗

赞(0)
未经允许不得转载:TI中文支持网 » 求助论坛,用28335通过AIC23做音频双通道数据收发遇到问题
分享到: 更多 (0)