打印

SPI 从模式 发送数据问题,请教各位大侠。

[复制链接]
8672|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kanprin|  楼主 | 2010-11-25 10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SPI工作在从模式。 SS脚直接接地,一直使能。
我的理解,SPI被选中,工作开始,SCK由外部提供, 数据将源源不断的往SPI里送,即每过8个SCK信号将接收到一个字节数据。
那么我该什么时候发数据?允许我发数据的条件是什么?
移位寄存器只有一个,当正在接收数据的时候去写数据,将产生写冲突标志。
那我又该如何抢在收数据之前将数据写入移位寄存器呢?
SPI产生中断的条件是SS被拉低,那我SS直接接地会一直中断吗?还是只是下降沿产生中断而已?
还有一个中断产生的条件是,移位完成。这个移位完成是接收移位完成还是发送移位完成? 还是说两个情况都将产生中断? 如果是这样的话,那我如何知道是我本次发的数据产生的中断还是新收到数据所产生的中断?

这几天在做SPI模拟IIS总线,一直不成功,被上面那些问题折腾的晕头转向了,恳请各路达人指点迷津。

相关帖子

沙发
ayb_ice| | 2010-11-25 10:22 | 只看该作者
从机由主机提供时钟
从机必须服从主机控制,
那么从机怎样与主主机交换数据,那就要严格的通信协议了
一般从机首先收到主机的命令,然后根据命令动作了,
这个协议是要自己定的或者参照标准协议,比如SPI接口的EEPROM....

使用特权

评论回复
板凳
kanprin|  楼主 | 2010-11-25 10:54 | 只看该作者
谢谢楼上的兄台。
我前面说了用SPI模拟IIS时序。
IIS有三个时钟,MCLK,LRCK,BCK,这三个时钟都直接有晶振及分频器直接提供了。
SPI的时钟用到的是BCK,选512KHz,也就是说SPI的时钟是一直都有的。

使用特权

评论回复
地板
thunder_2011| | 2012-1-4 20:00 | 只看该作者
我的理解,SPI被选中,工作开始,SCK由外部提供, 数据将源源不断的往SPI里送,即每过8个SCK信号将接收到一个字节数据。
那么我该什么时候发数据?允许我发数据的条件是什么?
移位寄存器只有一个,当正在接收数据的时候去写数据,将产生写冲突标志。
那我又该如何抢在收数据之前将数据写入移位寄存器呢?
SPI产生中断的条件是SS被拉低,那我SS直接接地会一直中断吗?还是只是下降沿产生中断而已?
还有一个中断产生的条件是,移位完成。这个移位完成是接收移位完成还是发送移位完成? 还是说两个情况都将产生中断? 如果是这样的话,那我如何知道是我本次发的数据产生的中断还是新收到数据所产生的中断?


这位兄台 这个几个问题搞清楚了么~~

使用特权

评论回复
5
myxiaonia| | 2015-3-14 14:11 | 只看该作者
spi的数据地址,虽然我们看到的是同一个,但是我们进行读写操作时,其实内部是映射到真实的收发寄存器的,所以这个寄存器不能随便读写,必须依靠收发状态读写才有意义

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

343

帖子

0

粉丝