三线制SPI与四线制SPI

SPI即Serial Peripheral Interface的缩写,全名串行外设接口,是一种高速的支持全双工同步通讯的接口技术。通讯速率可达几M到几十M,已知的有的器件SPI已达到50M,具体到产品中SPI的速率主要看主从器件SPI控制器的性能限制,速率越高,对于两边的数据处理能力及抗干扰性提高了要求。SPI经常用于单片机与其他一些外设芯片的通讯设计上,应用与USART、I2C各有优劣,成为最常用的集中串行数据传输总线之一。

  一般的常用的SPI是四根线:

SDO/MOSI – 主设备数据输出,从设备数据输入,如主机读取命令;

SDI/MISO – 主设备数据输入,从设备数据输,如从机返回数据;

SCLK – 时钟信号,由主设备产生,用于数据同步;

CS/SS – 从设备使能信号,由主设备控制来选择与哪一个从机进行通讯;

  但是还有一种SPI通讯为了减少线路和管脚,会采用3线制,网上很多人认为3线制是没有CS片选,这是不对的,真正的SPI三线制通讯模式是指SDO/MOSI与SDI/MISO共用一条总线的通讯方式,采用的是半双工通讯。这里又要说到什么是全双工什么是半双工了。

全双工是允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时进行信号的双向传输。

半双工是数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。

  因为SDO/MOSI与SDI/MISO共用了一条总线,所以并不能同时传输,也就是所谓的半双工通讯。而通讯过程中同样要用到CS/SS线进行片选,并不是没有CS/SS。而所谓的不需要CS/SS 线是指的如果SPI线上有一个主机和一个从机的情况下,是可以省略CS/SS片选线的,因为只有1个从机,所以该从机的CS/SS可以设置成常选状态,不能采用CS/SS拉高来作为结束,如果出现数据错误后果会很严重,后面会一直错误,这种3线确实也是3条线,但是跟半双工3线制模式的SPI通讯还是有区别的,往往很多IC所明确的只能采用3线制一般都是指半双工模式。

  现在很多32位的微控制器都具备了片内硬件SPI外设,可以通过函数库的方式操作相关寄存器来实现,对于很多不含有硬件SPI的单片机而言,如果弄清楚了相关读写命令的SPI时序,也是可以通过IO口SPI模拟来实现SPI功能的,相对于硬件SPI,这种IO模拟时序可以直观理解时序原理,但是劣势就是占用CPU并且通讯速率一般。
---------------------
作者:forgot
链接:https://bbs.21ic.com/icview-3283828-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

  • 9
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
三线 SPI(Serial Peripheral Interface)和四线 SPI 是两种不同的硬件通信协议,用于在微控器和外部设备之间进行通信。 三线 SPI 使用以下三根线进行通信: 1. SCLK(Serial Clock):时钟线,由主设备产生,用于同步数据传输。 2. MOSI(Master Out Slave In):主设备输出从设备输入线,用于主设备向从设备发送数据。 3. MISO(Master In Slave Out):主设备输入从设备输出线,用于从设备向主设备发送数据。 四线 SPI 使用以下四根线进行通信: 1. SCLK(Serial Clock):时钟线,由主设备产生,用于同步数据传输。 2. MOSI(Master Out Slave In):主设备输出从设备输入线,用于主设备向从设备发送数据。 3. MISO(Master In Slave Out):主设备输入从设备输出线,用于从设备向主设备发送数据。 4. SS(Slave Select):从设备选择线,由主设备控,用于选择与主设备通信的从设备。 四线 SPI三线 SPI 的基础上增加了 SS 线,主要是为了支持多个从设备的同时通信。通过控 SS 线的高低电平,主设备可以选择与哪个从设备进行通信。而三线 SPI 在同一时间只能与一个从设备通信。 总的来说,三线 SPI 适用于只与一个从设备进行通信的场景,而四线 SPI 适用于同时与多个从设备进行通信的场景。具体选择哪种通信方式,要根据实际应用需求和硬件设计来决定。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值