51单片机学习笔记——Uart、IIC、SPI

SPI:

Serial Peripheral Interface,串行外围设备接口。SPI 是一种高速的、全双工、同步通信总线,标准的 SPI 也仅仅使用 4 个引脚,常用于单片机和 EEPROM、FLASH、实时时钟、数字信号处理器等器件的通信。SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。

 

Uart:

Universal Asynchronous Receiver/Transmitter,通用异步收发器,也就是常说的串口。它包括RS232、RS499、RS423、RS422和RS485等接口标准规范,是串行异步通信口的总称。串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。它很简单并且能够实现远距离通信。通信使用3根线完成:(1)地线(GND),(2)发送(TX),(3)接收(RX)。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。

 

I2C:

INTER IC BUS,串行总线。是一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。主要包括启始、停止、读、写、应答信号。这种方式简化了信号传输总线接口。IIC总线上可以挂多个器件,而每个器件都有唯一的地址,这样可以标识通信目标。数据的通信的方式采用主从方式,主机负责主动联系从机,而从机则被动回应数据。能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C总线上共存。串行时钟(SCLK)、数据信号线(SDA:serial data),1个CS(设备片选线)

 

传输的速度不同:SPI > IIC > Uart

传输的位数不同:UART一帧可以传5/6/7/8位,IIC必须是8位,IIC和SPI都从最高位开始传

 

IIC和SPI的通信过程的区别:

  • 片选方式
    •  SPI用片选信号选择从机,即拉低目标设备上的片选线,不需要目标响应,硬件方式,布线复杂
    • IIC用地址选择从机,把从地址发送出去,去寻找相同目标地址的从设备,软件方式,效率比SPI低
  • 发送过程
    • SPI,无应答方式,在同步信号下快读的把数据发送到目标,不在乎目标是否正确的收到数据
    • IIC,每发送一个数据,必须等待从机的响应,如果从机不响应,则数据是发送不了的

没有更多推荐了,返回首页