SPI、I2C、Uart总线的区别与详解

SPI、I2C、Uart总线的区别与详解

目录

SPI、I2C、Uart的区别

UART、SPI和I2C详解


 

  • SPI、I2C、Uart的区别

  1. SPI:
    1. 接口线数量:3或4根,串行时钟线SCLK、串行数据输出SDO、串行数据输入SDI,还可以加一个设备选择线CS(即片选线)。
    2. 全双工,同步串行总线。
    3. 有时钟线,波特率不固定,与时钟频率相关。
    4. 速度快,可达到几Mbps水平,比I2C快。
  2. I2C:
    1. 接口线数量:2根,串行时钟线SCL、串行数据线SDA。(还有1根地线GND,但无需考虑)
    2. 半双工,同步串行总线。
    3. 波特率由时钟线控制。
    4. 速度慢,标准模式:100kbps,快速模式:400kbps,高速模式:3.4Mbps。
  3. Uart:
    1. 接口线数量:2根,数据发送TX、数据接收RX。
    2. 全双工,异步串行总线。
    3. 因为没有时钟线,所以波特率固定。
    4. 速度慢,以前最高115200bps,现在能支持4Mbps或8Mbps。
    5. 应用:实现RS232、RS242、RS485、USB等接口,用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。
  4. I2C、SPI、UART都是常见的低速板级串行通信协议。
  • UART、SPI和I2C详解

  1. SPI
    1. SPI可实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为主机(Master),其他设备为从机(Slave)。主从设备间可以实现全双工通信。当有多个从设备时,还可以增加一条从设备选择线,即片选线。
    2. SPI(Serial Peripheral Interface:串行外设接口)。
  2. I2C
    1. I2C(INTER IC BUS:IC之间总线)
    2. I2C是半双工、多主控(multi-master)接口标准,具有总线仲裁机制,适合在器件之间进行近距离、非经常性的数据通信。传输数据时都会带上目的设备的地址,因此可以实现设备组网。
    3. I2C是一种半双工同步传输协议。主机在发送开始信号之后,先发送7个比特的地址位和1个比特的读写位,每个从机有自己的I2C地址,当发现该条指令是发给自己的时候,拉低SDA线(即回复ACK信号),然后主机发送或接收数据,完成传输。传输完成之后,主机发送停止位,完成该次传输。
    4. 主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。
    5. I2C总线是一个真正的多主机总线,如果两个或多个主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据破坏,每个连接到总线上的器件都有唯一的地址,任何器件既可以作为主机也可以作为从机,但同一时刻只允许有一个主机。数据传输和地址设定由软件设定,非常灵活。总线上的器件增加和删除不影响其他器件正常工作。
    6. I2C最早是由PHILIPS提出来的,用于晶片间的传输,理论上可以连接128个从机(一般最多只接10个),原则上只能以PCB板上的铜箔线路来走,然而目前许多应用却是把I2C缆线化。另外,I2C总线的管脚都是开漏输出,必须外接上拉电阻,阻值可以根据总线速度来推算,一般我们常用400kbps传输速率(标准模式:100kbps,快速模式:400kbps,高速模式:3.4Mbps),上拉电阻选用2.2K。
  3. Uart
    1. UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)
    2. UART是一种全双工异步传输协议,无论是主机还是从机,均可以自由发送数据,但是由于UART总线并没有时钟线,所以需要提前约定波特率。以此基础再搭电路可以实现RS-232、RS-242、RS-485等通信协议。过去老式电脑是具备RS-232接口的,但近10年的电脑都只具备USB,因此通常需要透过一个UART转USB的转接电路才能互相连接。CPU输出log一般都是通过一个UART口来输出,是目前最常用的调试接口。传输速度慢,传统的传输速度在115200bps或以下,不过现在大部分UART控制器也能支持到4Mbps或者8Mbps了。
    3. UART是异步串口总线,全双工,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上有两根线,一根发送,一根接收。

 


参考文档

    1. https://www.cnblogs.com/CYP01/p/8575683.html
    2. http://www.elecfans.com/emb/jiekou/20171204592907.html
  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值