mcbsp配置成SPI 时我把 字宽度设置为8bIt 一帧中包含2个字,如图片上信息, ss(FSX)应该是信号1 所示,但是我抓出来的波形是信号2。
我函数操作是
spi_transmit_data(0x60);
spi_transmit_data(0xfe);
也就是说发了两下,但是我配置的帧长度是2, 那发出去的ss信号不应该连续的低两个8bit吗?怎么中间高了一下
dajia li:
上图中两个信号: 第一个是信号1(想要得到的ss波形),
下面的是实际测得SS波形
Shine:
回复 dajia li:
型号不对啊,是c6455吧?
Shine:
回复 Shine:
mcbsp配置成SPI模式的话,要求single phase, one element per frame。
dajia li:
回复 Shine:
是6455,打错字了。您说的什么意思我把那位设置成0,对吗
Shine:
回复 dajia li:
对的,(R/X)PHASE和(R/X)FRLEN都要设成0,这在McBSP文档第59页上有说明。 http://www.ti.com/lit/ug/spru580g/spru580g.pdf
dajia li:
回复 Shine:
我可能没说清楚,我想要的是这种波形输出
dajia li:
回复 dajia li:
但实际是这种波形,SS在每字完之后就会拉高一下,如图上红色的标注
Shine:
回复 dajia li:
你要的时钟连续,mcbsp是实现不了的。
McBSP配成clock stop mode来实现SPI协议,clock stop mode就是时钟停止模式。
dajia li:
回复 Shine:
就像时钟可以停止,但是SS信号(在MCBSB中是FSX信号)连续的就行,
我看的MCBSP的数据手册中有这种波形配置方式如下图,我是从数据手册27页截图出来的,我要配置成SPI模式
Shine:
回复 dajia li:
27页的截图是mcbsp作为普通的同步串口,SPI模式输出不了这样的波形。
你要2个8bit之间的ss连续的话,把element设成16bit。