打印

SPI通信问题

[复制链接]
1137|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
NE5532| | 2014-1-16 20:06 | 只看该作者
这样设计的目的是提高数据吞吐量,在8个时钟内可以完成“双向”的数据交换,你应该看的是ATMEL的资料,其实这个说法也不全对,仅限于部分情况下成立。比如主机发送“采样”命令给从机,从机肯定要收到命令后,采样完成才能把结果返回给主机,这样的通讯当然不可能“同时完成”。

很多SPI接口的芯片,例如RTC、EEPROM、FLASH都不可能在主机发送命令的时候就传输答案。

楼主如果不需要收从机的数据,只需要把发送以后当次收到的数据抛弃掉就可以了。

使用特权

评论回复
板凳
leehp| | 2014-1-16 22:21 | 只看该作者
2楼好厉害!

使用特权

评论回复
地板
yhn1973| | 2014-1-17 09:24 | 只看该作者
比如说主机要向从机中写32字节,还要从从机中读32字节,先发送1个字节命令,在发送地址,然后再有32×8个时钟就可完成写32字节、读32字节,不然的话就得需要64×8个时钟,效率提高了将近1倍。

使用特权

评论回复
5
crazy2012|  楼主 | 2014-1-17 09:49 | 只看该作者
NE5532 发表于 2014-1-16 20:06
这样设计的目的是提高数据吞吐量,在8个时钟内可以完成“双向”的数据交换,你应该看的是ATMEL的资料,其实 ...

“如果不需要收从机的数据,只需要把发送以后当次收到的数据抛弃掉就可以了”

我是不是可以这样理解
比如我现在只需要主机发送数据给从机,不需要读取从机返回的数据,那么这样来说只需要接MOSI线,MISO就可以不用接了?

使用特权

评论回复
6
crazy2012|  楼主 | 2014-1-17 09:51 | 只看该作者
NE5532 发表于 2014-1-16 20:06
这样设计的目的是提高数据吞吐量,在8个时钟内可以完成“双向”的数据交换,你应该看的是ATMEL的资料,其实 ...

这个是ST MCU的参考手册上面的图,其他MCU很多也有。

使用特权

评论回复
7
NE5532| | 2014-1-17 09:58 | 只看该作者
crazy2012 发表于 2014-1-17 09:49
“如果不需要收从机的数据,只需要把发送以后当次收到的数据抛弃掉就可以了”

我是不是可以这样理解

可以。

使用特权

评论回复
8
ningling_21| | 2014-1-17 10:22 | 只看该作者
crazy2012 发表于 2014-1-17 09:49
“如果不需要收从机的数据,只需要把发送以后当次收到的数据抛弃掉就可以了”

我是不是可以这样理解

SPI接口是双向传输,不接MISO,就只能单向发送数据...

使用特权

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

本版积分规则

150

主题

939

帖子

9

粉丝