好文档 - 专业文书写作范文服务资料分享网站

(完整版)SPI,UART,I2C的区别以及RS232与RS485的区别

天下 分享 时间: 加入收藏 我要投稿 点赞

SPI,UART,I2C的区别以及RS232与RS485的区别

详细的区别:

第一个区别当然是名字:

SPI(Serial Peripheral Interface:串行外设接口); I2C(INTER IC BUS:意为IC之间总线)

UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上:

SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。

如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。 I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。

如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备)

UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART

发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。 第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行; 第四,I2C线更少,比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。

SPI、I2C、UART三种串行总线协议的区别 SPI(Serial Peripheral Interface:串行外设接口) I2C(INTER IC BUS)

UART(Universal Asynchronous Receiver Transmitter:通用异步收发器) SPI

The SPI includes these distinctive features: Master mode and slave mode Bi-directional mode Slave select output

Mode fault error flag with CPU interrupt capability Double-buffered data register

Serial clock with programmable polarity and phase Control of SPI operation during wait mode

SPI 有两种模式,Normal Mode and Bidirectional Mode,包括以下几根线: SS Slave Select SCK Serial Clock

MOSI Master Output, Slave Input MISO Master Input, Slave Output

MOMI Master Output, Master Input SISO Slave Input, Slave Output

其中前四根线用于Normal Mode ,常用的也是4根线的Normal Mode 。 MOSI

This pin is used to transmit data out of the SPI module when it is configured as a Master and receive data when it is configured as Slave. MISO

This pin is used to transmit data out of the SPI module when it is configured as a Slave and receive data when it is configured as Master. SS

This pin is used to output the select signal from the SPI module to another peripheral with which a data transfer is to take place when its configured as a Master and its used as an input to receive the slave select signal when the SPI is configured as Slave. SCK

This pin is used to output the clock with respect to which the SPI transfers data or receive clock in case of Slave.

SPI

是一种允许一个主设备启动一个与从设备的同步通讯的协议,从而完成数据的交换。也就是SPI是一种规定好的通讯方式。这种通信方式的优点是占用端口较少,一般4根就够基本通讯了。同时传输速度也很高。一般来说要求主设备要有SPI控制器(但可用模拟方式),就可以与基于SPI的芯片通讯了。

SPI 的通信原理很简单,它需要至少4根线,事实上3根也可以。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时 钟),

(完整版)SPI,UART,I2C的区别以及RS232与RS485的区别

SPI,UART,I2C的区别以及RS232与RS485的区别详细的区别:第一个区别当然是名字:SPI(SerialPeripheralInterface:串行外设接口);I2C(INTERICBUS:意为IC之间总线)UART(UniversalAsynchronousReceive
推荐度:
点击下载文档文档为doc格式
7d95i6wmki6ksx797jw59jajr88l5800wt1
领取福利

微信扫码领取福利

微信扫码分享