SPI接口的MISO和MOSI连接时注意
经常遇到一些朋友,在设计SPI主机和从机的逻辑互联时,会习惯性地仿照UART上的TXD和RXD交叉连接,而将SPI主机的MISO和从机的MOSI进行逻辑连接,SPI主机的MOSI和从机的MISO进行逻辑连接,结果导致设计错误。这里给大家提供一个不再出错而记忆简单的方法--- 理解MISO和MISO缩写的具体含义。
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信号不用交叉接!
SPI接口的MISO和MOSI连接时注意相关推荐
- SPI接口的MISO和MOSI连接时是否需要交叉接? SI和SO呢?
经常遇到一些朋友,在设计SPI主机和从机的逻辑互联时,会习惯性地仿照UART上的TXD和RXD交叉连接,而将SPI主机的MISO和从机的MOSI进行逻辑连接,SPI主机的MOSI和从机的MISO进行逻 ...
- spi通讯不需要地线吗_SPI通信时是不是主机和从机的MISO、MOSI两根线应该交叉接呀?...
[吐槽]河北-河中草 朋友们,SPI通信时是不是主机和从机的MISO.MOSI两根线应该交叉接呀? [吐槽]辽宁-林中水滴 不交叉啊 mosi和mosi [吐槽]河北-河中草 直接接? [吐槽]辽宁- ...
- 基于labview的温湿度数据采集_【零偏原创】基于FPGA的多路SPI接口并行数据采集系统...
摘 要:本文简述了SPI协议,建立了基于FPGA的SPI接口电路模型,并说明其输入输出端口和数据发送和接收过程,仿真验证了在主状态机控制下10个SPI接口并行采集数据,并在FPGA开发板上进行验证. ...
- SPI、I2C、UART三种串行总线协议的区别和SPI接口介绍(转)
SPI.I2C.UART三种串行总线协议的区别 第一个区别当然是名字: SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS) UART( ...
- 非标准语法;请使用 _一文读懂使用MCU SPI访问具有非标准SPI接口ADC的方法
好文章当然要分享啦~如果您喜欢这篇文章,请联系后台添加白名单,欢迎转载哟~ 问题 能否用MCU访问非标准SPI接口? 答案 可以,但可能需要做一些额外的努力. 当前许多精密模数转换器(ADC)具有串行 ...
- java如何编写spi接口_软件模拟SPI接口程序代码(4种模式)
软件模拟SPI接口程序代码(4种模式) SPI协议简介 SPI的通信原理很简单,一般主从方式工作,这种模式通常有一个主设备和一个或多个从设备,通常采用的是4根线,它们是MISO(数据输入,针对主机来说 ...
- 软件模拟SPI接口程序代码
目录 SPI协议简介 SPI接口介绍 SPI接口连接图 SPI数据传输方向 SPI传输模式 模拟SPI程序 SPI协议简介 SPI的通信原理很简单,一般主从方式工作,这种模式通常有一个主设备和一个或者 ...
- 使用MCU SPI访问具有非标准SPI接口ADC的方法
关注.星标公众号,不错过精彩内容 整理:黄工 来源:亚德诺半导体 提问:能否用MCU访问非标准SPI接口? 答案:可以,但可能需要做一些额外的努力. 当前许多精密模数转换器(ADC)具有串行外设接口( ...
- 用GPIO模拟SPI接口读取传感器数据
本文基于平头哥开发板RVB2601,简要介绍了用GPIO模拟SPI时序逻辑,实现SPI协议,按照特定温度传感器的时序,读取其数据,及示例程序 一.概述 SPI(Serial Peripheral In ...
最新文章
- 零基础可以学python吗-对于几乎是零基础的人,直接学 Python 编程合适吗?
- 使用 Flex 布局与其他普通布局的简单对比
- 如何在github发布个人网站或开源项目-手把手教您制作并发布个人网站或主页(二)
- 离散数学及其应用 (Kenneth H·Rosen 著)
- BZOJ 4417 Luogu P3990 [SHOI2013]超级跳马 (DP、矩阵乘法)
- Spring MVC竟然有5种参数绑定的方式?你知道几种?
- 微信开发学习日记(一):快速阅读5本书,掌握整体背景
- Jmeter基础使用
- java之classpath到底是什么
- 第一篇论文:改进TCP及UDP的性能分析及比较
- python中文版下载32位-Python 2 32位
- mysql数据库的流水号生成,数据库流水号生成解决方案
- cad图纸服务器共享文件慢,DWG文件打开慢?3个技巧教你实现快速预览!
- 学习PS软件的渐变工具
- xp计算机调亮度,老xp系统怎么调亮度台式电脑(教你XP系统如何调节亮度)
- Chelly个人训练
- 通俗易懂的理解:什么是数据埋点?
- 美团html页面代码,html+css+js制作美团官网
- kubernetes 日志收集
- 生产者消费者问题:管程法
热门文章
- 高德地图 街道范围_高德地图发布交通“评诊治”系统:让城市上班族每天多睡十分钟...
- SSM 电影后台管理项目
- python字符串这一篇就够了
- 英文字符和数字间隔突然变大
- 基于Matlab的交通限速标志的识别系统 数字图像处理大作业
- java8的sorted,Java8排序stream.sorted()
- 蚂蚁海图tms切片工具
- 美颜sdk版本是什么意思?如何选择第三方美颜sdk?
- android qq登录分析,Android第三方登录之QQ登录
- i9级E52450处理器_来了!十代英特尔酷睿标压处理器,实测跑分首发