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
本来帧同步信号在发送数据期间应该是处于低电平,但是现在看来有些像是ckl信号的反相,求解释,是不是哪里配置有问题 楼主这个问题解决了么,我也是在用MCBSP配置SPI与74HC164通信,可数据貌似传不过去,不知道咋回事 kangyin4545 发表于 2014-7-5 16:44 static/image/common/back.gif
楼主这个问题解决了么,我也是在用MCBSP配置SPI与74HC164通信,可数据貌似传不过去,不知道咋回事 ...
先用示波器看看波形 SPI的波形较好分析 zhangmangui 发表于 2014-7-8 22:01 static/image/common/back.gif
先用示波器看看波形 SPI的波形较好分析
可惜身边没有示波器啊,一筹莫展 kangyin4545 发表于 2014-7-9 15:47 static/image/common/back.gif
可惜身边没有示波器啊,一筹莫展
借个怎么样 公司有 上次个人用也是借的 zhangmangui 发表于 2014-7-9 22:14 static/image/common/back.gif
借个怎么样 公司有 上次个人用也是借的
MCBSP配置成SPI模式后,数据从发送寄存器拷贝到发送移位寄存器时触发帧同步信号,进行数据传输,低电平有效,但是数据传输完成后,帧同步信号怎么回复到高电平,版主知道怎么解决吗
页:
[1]