niuyuanhai 发表于 2014-4-16 15:03

DSP28335通过MCBSP的clock stop模式(SPI协议)向AD9834写频率字

本帖最后由 niuyuanhai 于 2014-4-16 15:32 编辑

感谢各位帮助,耽误大家时间了,情况是这样的:
DSP28335通过MCBSP的clock stop模式(SPI协议)向AD9834写频率字,正确的时序图应该是这样的:

但是我的时序测出来是这样子的:


第二个图:
   第一条:帧同步信号
   第二条:clk
   第三条:data

我配置的MCBSP代码如下:
      McbspbRegs.SPCR2.bit.XRST=0;      McbspbRegs.SPCR1.bit.RRST=0;
      McbspbRegs.SPCR2.bit.GRST=0;

    McbspbRegs.SPCR1.bit.CLKSTP=11; //enable or diable the Clock Stop Mood    McbspbRegs.PCR.bit.CLKXP=1; //set the transmit clock polarity
    McbspbRegs.PCR.bit.CLKRP=1;
    McbspbRegs.PCR.bit.CLKXM=1;
    McbspbRegs.PCR.bit.SCLKME=0;
    McbspbRegs.SRGR2.bit.CLKSM=1;
    McbspbRegs.SRGR1.bit.CLKGDV = CLKGDV_VAL; // CLKG frequency = LSPCLK/(CLKGDV+1)
    McbspbRegs.PCR.bit.FSXM=1;//Transmit frame-synchronization mode
    McbspbRegs.SRGR2.bit.FSGM=0; //Sample rate generator transmit frame-synchronization mode
    McbspbRegs.PCR.bit.FSXP=1;//Set the transmit frame-synchronization polarity
    McbspbRegs.XCR2.bit.XDATDLY=01; //Set the Transmit Data Delay
    McbspbRegs.RCR2.bit.RDATDLY=01;


    McbspbRegs.XCR2.bit.XPHASE=0;//Choose one or two Phases for the Transmit Frame
    McbspbRegs.RCR2.bit.RPHASE=0;
    McbspbRegs.XCR1.bit.XFRLEN1=0;
    McbspbRegs.RCR1.bit.RFRLEN1=0;
    McbspbRegs.XCR1.bit.XWDLEN1=2;
    McbspbRegs.RCR1.bit.RWDLEN1=2;

    delay_loop();
    McbspbRegs.SPCR2.bit.GRST=1; // Enable the sample rate generator
    clkg_delay_loop();         // Wait at least 2 CLKG cycles
    McbspbRegs.SPCR2.bit.XRST=1; // Release TX from Reset
    McbspbRegs.SPCR1.bit.RRST=1; // Release RX from Reset
    McbspbRegs.SPCR2.bit.FRST=1; // Frame Sync Generator reset


niuyuanhai 发表于 2014-4-16 16:31

本来帧同步信号在发送数据期间应该是处于低电平,但是现在看来有些像是ckl信号的反相,求解释,是不是哪里配置有问题

kangyin4545 发表于 2014-7-5 16:44

楼主这个问题解决了么,我也是在用MCBSP配置SPI与74HC164通信,可数据貌似传不过去,不知道咋回事

zhangmangui 发表于 2014-7-8 22:01

kangyin4545 发表于 2014-7-5 16:44 static/image/common/back.gif
楼主这个问题解决了么,我也是在用MCBSP配置SPI与74HC164通信,可数据貌似传不过去,不知道咋回事 ...

先用示波器看看波形   SPI的波形较好分析

kangyin4545 发表于 2014-7-9 15:47

zhangmangui 发表于 2014-7-8 22:01 static/image/common/back.gif
先用示波器看看波形   SPI的波形较好分析

可惜身边没有示波器啊,一筹莫展

zhangmangui 发表于 2014-7-9 22:14

kangyin4545 发表于 2014-7-9 15:47 static/image/common/back.gif
可惜身边没有示波器啊,一筹莫展

借个怎么样    公司有    上次个人用也是借的

kangyin4545 发表于 2014-7-22 16:43

zhangmangui 发表于 2014-7-9 22:14 static/image/common/back.gif
借个怎么样    公司有    上次个人用也是借的

MCBSP配置成SPI模式后,数据从发送寄存器拷贝到发送移位寄存器时触发帧同步信号,进行数据传输,低电平有效,但是数据传输完成后,帧同步信号怎么回复到高电平,版主知道怎么解决吗
页: [1]
查看完整版本: DSP28335通过MCBSP的clock stop模式(SPI协议)向AD9834写频率字