目前mcbsp采集i2s接口数据,不接ad时对地3.3v,接ad后采集到的数据都是1,也就是0xffff,以下是我的配置函数,帮我看看哪里有误。
EALLOW;
McbspaRegs.DRR1.all=0X0000;
McbspaRegs.DRR2.all=0X0000;
////////////////////////////////////
McbspaRegs.SPCR1.bit.RRST=0; // Receiver reset
McbspaRegs.SPCR2.bit.FRST=0;
McbspaRegs.SPCR2.bit.GRST=0;
//////////////////////////////////
McbspaRegs.SPCR1.all=0x2000;
delay_loop();
McbspaRegs.RCR1.all=0x00A0;
delay_loop();
McbspaRegs.RCR2.all=0x80A6;
delay_loop();
McbspaRegs.SRGR1.all=0X219F;
delay_loop();
McbspaRegs.SRGR2.all=0x3041;
delay_loop();
McbspaRegs.SRGR1.bit.CLKGDV=5;
delay_loop();
McbspaRegs.PCR.bit.FSRM=1;
delay_loop();
McbspaRegs.PCR.bit.CLKRM=1;
delay_loop();
McbspaRegs.PCR.bit.CLKRP=0;
delay_loop();
McbspaRegs.PCR.bit.SCLKME=0;
delay_loop();
McbspaRegs.RCR2.bit.RCOMPAND=0;
delay_loop();
McbspaRegs.RCR2.bit.RCOMPAND=0;
delay_loop();
McbspaRegs.PCR.bit.FSRP=1;
delay_loop();
McbspaRegs.SRGR2.bit.FPER=63;
delay_loop();
McbspaRegs.SRGR1.bit.FWID=31;
delay_loop();
McbspaRegs.RCR1.bit.RFRLEN1=1;
delay_loop();
McbspaRegs.RCR2.bit.RFRLEN2=1;
delay_loop();
McbspaRegs.RCR2.bit.RPHASE=1;
delay_loop();
McbspaRegs.RCR1.bit.RWDLEN1=4;
delay_loop();
McbspaRegs.RCR2.bit.RWDLEN2=4;
delay_loop();
McbspaRegs.RCR2.bit.RFIG=0;
delay_loop();
McbspaRegs.RCR2.bit.RDATDLY=01;
delay_loop();
McbspaRegs.SPCR1.bit.RJUST=01;
delay_loop();
McbspaRegs.SPCR1.bit.RRDY=0;
delay_loop();
McbspaRegs.PCR.bit.CLKRP=0;
delay_loop();
asm (" NOP "); // Wait at least 2 SRG clock cycles
asm (" NOP ");
McbspaRegs.SPCR2.bit.GRST=1; // Enable the sample rate generator
delay_loop();
delay_loop(); // Wait at least 2 SRG clock cycles
McbspaRegs.SPCR1.bit.RRST=1; // Release RX from Reset
delay_loop();
McbspaRegs.SPCR2.bit.FRST=1; // Frame Sync Generator reset
delay_loop();
EDIS;
asm (" NOP ");
asm (" NOP "); // Wait at least 2 SRG clock cycles
asm (" NOP ");