您好:
我用MCBSP配置成32位方式,和TLV320AIC23交换数据。
输入信号,采完几次数据后
McbspaRegs.SPCR1.bit.RRDY 就是那个 SPCR1的RRDY始终处于0. 接收器没有准备好 是什么原因呢?
以下是MCBSP初始化程序
void mcbsp_init(void)
{ //复位 McBSP
McbspaRegs.SPCR2.bit.XRST=0; // Transmitter reset
McbspaRegs.SPCR1.bit.RRST=0; // Receiver reset
//延迟 Delay(10); //延迟 4000*CPU 时钟周期 //等待复位稳定
McbspaRegs.RCR1.all=0x00A0; //接收帧长度为1,每帧1个码字;接收字长为1,每字32位
McbspaRegs.RCR2.all=0x00A0; //
McbspaRegs.XCR1.all=0x00A0; //
McbspaRegs.XCR2.all=0x00A0; //单相位帧,发送帧长度为2,每帧一个码字;接收字长位2,每字32位?
//无压缩扩展模式;发送帧忽略;发送数据无延时
McbspaRegs.PCR.all=0x000D; //接收/发送帧同步极性,脉冲低有效;发送数据在上升沿被采集;接收数据在下降沿被采集
McbspaRegs.SPCR1.bit.RRST=1; //SET SPCR1.0(RRST)=1,允许MCBSP接收
// McbspaRegs.SPCR2.bit.XRST=1; //SET SPCR2.0(XRST)=1,允许MCBSP发送 }
Forrest:
SPCR1的RRDY始终处于0 说明没有收到数据;DRR[1,2]中没有数据。
建议测量一下,看看有没有信号发到MCBSP端,也请看看时序是否符合要求。
您好:
我用MCBSP配置成32位方式,和TLV320AIC23交换数据。
输入信号,采完几次数据后
McbspaRegs.SPCR1.bit.RRDY 就是那个 SPCR1的RRDY始终处于0. 接收器没有准备好 是什么原因呢?
以下是MCBSP初始化程序
void mcbsp_init(void)
{ //复位 McBSP
McbspaRegs.SPCR2.bit.XRST=0; // Transmitter reset
McbspaRegs.SPCR1.bit.RRST=0; // Receiver reset
//延迟 Delay(10); //延迟 4000*CPU 时钟周期 //等待复位稳定
McbspaRegs.RCR1.all=0x00A0; //接收帧长度为1,每帧1个码字;接收字长为1,每字32位
McbspaRegs.RCR2.all=0x00A0; //
McbspaRegs.XCR1.all=0x00A0; //
McbspaRegs.XCR2.all=0x00A0; //单相位帧,发送帧长度为2,每帧一个码字;接收字长位2,每字32位?
//无压缩扩展模式;发送帧忽略;发送数据无延时
McbspaRegs.PCR.all=0x000D; //接收/发送帧同步极性,脉冲低有效;发送数据在上升沿被采集;接收数据在下降沿被采集
McbspaRegs.SPCR1.bit.RRST=1; //SET SPCR1.0(RRST)=1,允许MCBSP接收
// McbspaRegs.SPCR2.bit.XRST=1; //SET SPCR2.0(XRST)=1,允许MCBSP发送 }
Eric Xing:
回复 Forrest:
DRR[1,2]中能接到数据。观看那个寄存器变化了几次以后 RRDY就始终处于0了。而我的信号时一直加的
可能是TLV230AIC23那块有问题,当我设置8K采样率的时候能正常接收数据,但设置96K采样率后就出现上述情况了?
这是 什么原因呐?
您好:
我用MCBSP配置成32位方式,和TLV320AIC23交换数据。
输入信号,采完几次数据后
McbspaRegs.SPCR1.bit.RRDY 就是那个 SPCR1的RRDY始终处于0. 接收器没有准备好 是什么原因呢?
以下是MCBSP初始化程序
void mcbsp_init(void)
{ //复位 McBSP
McbspaRegs.SPCR2.bit.XRST=0; // Transmitter reset
McbspaRegs.SPCR1.bit.RRST=0; // Receiver reset
//延迟 Delay(10); //延迟 4000*CPU 时钟周期 //等待复位稳定
McbspaRegs.RCR1.all=0x00A0; //接收帧长度为1,每帧1个码字;接收字长为1,每字32位
McbspaRegs.RCR2.all=0x00A0; //
McbspaRegs.XCR1.all=0x00A0; //
McbspaRegs.XCR2.all=0x00A0; //单相位帧,发送帧长度为2,每帧一个码字;接收字长位2,每字32位?
//无压缩扩展模式;发送帧忽略;发送数据无延时
McbspaRegs.PCR.all=0x000D; //接收/发送帧同步极性,脉冲低有效;发送数据在上升沿被采集;接收数据在下降沿被采集
McbspaRegs.SPCR1.bit.RRST=1; //SET SPCR1.0(RRST)=1,允许MCBSP接收
// McbspaRegs.SPCR2.bit.XRST=1; //SET SPCR2.0(XRST)=1,允许MCBSP发送 }
zhengjun li:
你好,我是DSP初学者,你可以把 “用MCBS和TLV320AIC23交换数据” 的程序给我发一份吗?邮箱:1142831933@qq.com