首页 > 专栏

SPI、I2C、UART三种串行总线的原理、区别及应用

更新时间:2023-05-28 09:54:07 阅读: 评论:0

别董大高适-杂乱无章的意思

SPI、I2C、UART三种串行总线的原理、区别及应用
2023年5月28日发(作者:你的爱无处不在)

简单描述:

SPI I2C这两种通信方式都是短距离的,芯片和芯片之间或者其他元器

件如传感器和芯片之间的通信。SPIIIC是板上通信,IIC有时也会做板间通信,

不过距离甚短,不过超过一米,例如一些触摸屏, 液晶屏那些很薄膜排线很多

IIC,I2C能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C

是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上

每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为

发射器或接收器工作。多路微控制器能在同一个I2C总线上共存这两种线属于低

速传输;

UART是应用于两个设备之间的通信,如用单片机做好的设备和计算机的

通信。这样的通信可以做长距离的。UART,UART就是我们指的串口,速度比上

面三者快,最高达100K左右,用与计算机与设备或者计算机和计算之间通信,

有效范围不会很长,10米左右,UART优点是支持面广,程序设计结构很简单,

USB的开展,UART也逐渐走向下坡;

SmBus有点类似于USB设备跟计算机那样的短距离通信。

简单的狭义的说SPII2C是做在电路板上的。UARTSMBUS是在机器

外面连接两个机器的。

详细描述:

1UART(TX,RX)就是两线,一根发送一根接收,可以全双工通信,线数也比拟少。

数据是异步传输的,对双方的时序要求比拟严格,通信速度也不是很快。在多机

通信上面用的最多。

2SPI(CLK,I/O,O,CS)接口和上面UART相比,多了一条同步时钟线,上面UART

的缺点也就是它的优点了,对通信双方的时序要求不严格不同设备之间可以很容

易结合,而且通信速度非常快。一般用在产品内部元件之间的高速数据通信上面,

如大容量存储器等。

3I2C(SCL,SDA)接口也是两线接口,它是两根线之间通过复杂的逻辑关系传输

数据的,通信速度不高,程序写起来也比拟复杂。一般单片机系统里主要用来和

24C02等小容易存储器连接。

SPI:高速同步串行口。34线接口,收发独立、可同步进行

UART:通用异步串行口。按照标准波特率完成双向通讯,速度慢

SPI:一种串行传输方式,三线制,网上可找到其通信协议和用法的

3根线实现数据双向传输

串行外围接口 Serial peripheral interface

UART:通用异步收发器

UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了

.

RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用

RS-232C接口的串行设备通信了。作为接口的一局部,UART还提供以下功能:

将由计算机内部传送过来的并行数据转换为输出的串行数据流将计算机外部来

的串行数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行

数据流中参加奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据

流中参加启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的

中断信号〔键盘和鼠票也是串行设备〕可以处理计算机与外部串行设备的同步

管理问题。有一些比拟高档的UART还提供输入输出数据的缓冲区,现在比拟新

UART16550它可以在计算机需要处理数据前在其缓冲区内存储16字节数

据,而通常的UART8250。现在如果您购置一个内置的调制解调器,此调制解

调器内部通常就会有16550 UART

I2C: 能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C

多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。总线上每

一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发

射器或接收器工作。多路微控制器能在同一个I2C总线上共存。

I2C总线:

I2C总线最主要的优点是其简单性和有效性。

由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空

间和芯片管脚的数量,降低了互联本钱。总线的长度可高达25英尺,并且能够

10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多

主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总

线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一

个主控。

UART

单端,远距离传输。大多数计算机包含两个基于RS232的串口。串口同时也是仪

器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,

口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,

口按位〔bit〕发送和接收字节。尽管比按字节〔byte〕的并行通信慢,但是串

口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实

现远距离通信。比方IEEE488定义并行通行状态时,规定设备线总常不得超过

20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达

1200米。

具体的适用范围就可多了,军用,医疗...到处到能用。

第一个区别当然是名字:

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总线是双向、两线(SCLSDA)、串行、多主控〔multi-master

接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数

据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可

以实现设备组网。

如果用通用IO口模拟I2C总线,并实现双向传输,那么需一个输入输

出口(SDA),另外还需一个输出口(SCL)。〔注:I2C资料了解得比拟少,这里的

描述可能很不完备〕

UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很

多,一般由波特率产生器(产生的波特率等于传输波特率的16)UART接收器、

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

显然,如果用通用IO口模拟UART总线,那么需一个输入口,一个输

出口。

第三,从第二点明显可以看出,SPIUART可以实现全双工,但I2C不行;

第四,看看牛人们的意见吧!

wudanyuI2C线更少,我觉得比UARTSPI更为强大,但是技术上也

更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干

扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI

实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而

SPI那么无所谓,因为它是有时钟的协议。

quickmouI2C的速度比SPI慢一点,协议比SPI复杂一点,但是

连线也比标准的SPI要少。

.

钢琴折纸-鸾歌凤舞

SPI、I2C、UART三种串行总线的原理、区别及应用

本文发布于:2023-05-28 09:54:05,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/1685238847182664.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:SPI、I2C、UART三种串行总线的原理、区别及应用.doc

本文 PDF 下载地址:SPI、I2C、UART三种串行总线的原理、区别及应用.pdf

相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|