SPI 接线的注意点

MISO和MOSI的含义以及为何主机从机不能交叉接

   信号 MISO =  Mast In Slave Out,即 在主机这边是输入,在从机那边是输出。

   信号 MOSI =  Mast Out Slave In,即 在主机这边是输出,在从机那边是输入。

根据输入接输出,输出接输入的原理,所以,就应该是

    SPI主机的 MISO,直接 接 SPI从机的MISO,因为前者是输入,后者是输出。

    SPI主机的 MOSI,直接 接 SPI从机的MOSI,因为前者是输出,后者是输入。

也就是,主机的MISO需要接从机的MISO,主机的MOSI需要接从机的MOSI,不能交叉接

那SI和SO呢?

说到这里,可能有些朋友会说:“不对!我记得之前在TI或FreeScale的某个单片机上,主机的SO接的是MOSI,而不是MISO。“  这是怎么回事呢?

这里,就需要理解一下,在FreeScale、NXP等某些单片机或SPI FLASH上,经常会看到 SI 和 SO 这样缩写,这里遵循的确实另外一个缩写含义:

       SO =  Serial Out  串行输出

       SI   =  Serial In   串行输入

这里的S,不是MOSI里的Slave从机的意思,而是Serial串行的意思。所以,单纯看SO或SI,是无法判断对应的是MISO还是MOSI,需要根据这个设备,是SPI主机还是SPI从机,做进一步的分析判断。

比如,假设一个设备是SPI主机,如果其SPI接口管脚标注为SO(串行输出),因为是主机上的,所以就是主机输出,对应的意思就是Master Out,也就是Master Out Slave In,也就是 SPI接口的MOSI,所以就需要去另外一边的SPI设备的MOSI。

这样理解,是不是就好记住,不再犯错了?

总之,如果数据手册上信号标注的是MISO或MOSI,这里的S对应的是Slave。要注意不要交叉接。而如果数据手册上标注的信号名称是SI和SO,这里的S表示的是Serial,要根据是主机还是从机,决定对应的是MISO还是MOSI。

 

另外,有少部分单片机主机,可以通过管脚配置,自由选择SPI管脚所映射的管脚PAD,或者对MISO和MOSI管脚进行管脚交换映射。所以,当设计SPI接错线时,不要着急,先检查一下,这款单片机是否可以进行管脚配置的互换。如果可以,那么恭喜你,你只需要在单片机的配置寄存器里,进行一下互换映射就可以了而不必重新改板。但是遗憾的是,大多数单片机的管脚,都是不可以配置互换的。因此,在进行硬件设计时,千万不要犯迷糊弄错了。始终记住,SPI接线的MISO和MOSI信号不用交叉接!

 

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值