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

关于TMS320F2812 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发送    }

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

赞(0)
未经允许不得转载:TI中文支持网 » 关于TMS320F2812 MCBSP 的接收问题
分享到: 更多 (0)