SPI+逻辑分析仪+代码解析
SPI总结
·
逛了好多帖子,发现没有讲得比较全面的,这里学习后总结一下,有什么不对的欢迎指出。先上代码,CPOL和CPHA都是1,即空闲为高电平,第二个边沿采样。
这里使用SPI发送几个数据,定义如下:
可以看出发送的数据应该为 AB FF FF FF 54 32 00 FF。使用这里使用正点原子的逻辑分析仪,配置如下:,对于采集参数,配置成适合自己适合的速率就OK。抓取一包数据查看如下
可以看出除了第一个AB,其他数据与预计发送数据一致,这个数据出问题,主要是因为CS片选线电平有波动,这是因为我连接线比较长,而且有其他干扰导致的。CS信号很重要,如果CS信号不正确有波动,会导致数据出现混乱或者不能解析。可以看出从片选信号从高电平拉低(紫色线),时钟线也开始变化(蓝色线),时钟线下降,为第一个边沿,时钟线上升,为第二个边沿,此时进行数据的采集。hex 54=>0101 0100。对时序进行分析。
从下图可以看出,当时钟线上升数据采集的时候,绿色线此时为数据稳定状态,等待数据采集。画了八根线,分别对应八个Bit。时序图读出绿色数据为0101 0100 与实际发送相符。
更多推荐
所有评论(0)