STM32F103作为SPI从设备(约5.6MHZSPICLK)异常

houge   2011-3-13 18:18 楼主
                                 如题,试了很多遍,接收的数据和示波器所测量的数据对不上(示波器量到的数据是对的),有什么需要注意的地方吗?(采用硬件NSS,时钟应该不存在不同步的问题吧)

回复评论 (5)

我目前是采用RXNE中断方式接收数据,是不是存在数据溢出风险呢?
(我查看过OVR位不置位的啊)
如果过采用DMA的话,该怎么接收不定长度的数据呢?
点赞  2011-3-13 18:44
试过采用SPI RX的DMA接收方式,数据还是有问题啊。
有谁能告诉我,SPI NSS和SPI CLK有时差要求么?(SPI NSS和SPI CLK同时变为低电平时stm32的SPI外设能正确的接收数据吗)
点赞  2011-3-13 22:45
试过采用SPI RX的DMA接收方式,数据还是有问题啊。
有谁能告诉我,SPI NSS和SPI CLK有时差要求么?(SPI NSS和SPI CLK同时变为低电平时stm32的SPI外设能正确的接收数据吗) ...
SPI NSS和SPI CLK同时改变是,确实可能会有问题。

请看SPI部分的时序要求如下,作为从设备时,对NSS的建立时间有要求,你要根据其它参数的设置(如PCLK、CPHA、CPOL等),再参考数据手册上的时序图,做进一步的判断和计算。

STM32_SPI_Characteristcs.GIF (37.64 KB)

点赞  2011-3-14 10:06
谢谢!
我在想NSS建立需要时间的同时,CLK,MOSI,MISO也需要时间吧?
而且我的SPI应用是在时钟的第二个沿有效的啊(就是CPHA、CPOL均为1),设置应该都没问题的,因为我有应用过STM32的SPI,但之前没有作为那么高速率的SPI从设备应用过,现在出现了问题,真不知道原因出现在那里?
点赞  2011-3-14 14:45
                                 对了,NSS建立的时间单位怎么是tpclk?Data input 的单位是5ns?tpclk是36MHZ的话,那NSS的建立时间至少110ns以上啊?这是不是说明NSS反应要比data input要慢呢?难道问题出现在这里?SPI的标准到底是怎么样的呢?
点赞  2011-3-14 14:52
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复