SPI、I2C、UART三种串行总线的原理、区别及应用_第1页
SPI、I2C、UART三种串行总线的原理、区别及应用_第2页
SPI、I2C、UART三种串行总线的原理、区别及应用_第3页
SPI、I2C、UART三种串行总线的原理、区别及应用_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、简单描述:SPI 和 I2C 这两种通信方式都是短距离的,芯片和芯片之间或者其他元器件如传感器和芯片之间的通信。SPI和IIC是板上通信,IIC有时也会做板间通信,不过距离甚短,不过超过一米 ,例如一些触摸屏,手机液晶屏那些很薄膜排线很多用 IIC,I2C能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C 是多主控总线, 所以任何一个设备都能像主控器一样工作, 并控制总线。总线上 每一个设备都有一个独一无二的地址,根据设备它们自己的能力, 它们可以作为发射器或接收器工作。多路微控制器能在同一个I2C 总线上共存这两种线属于低 速传输;而 UART 是应用于两个设备之间的通信,如用

2、单片机做好的设备和计算机的通信。这样的通信可以做长距离的。UART 和 ,UART 就是我们指的串口 ,速度比上面 三者快 ,最高达 100K左右 ,用与计算机与设备或者计算机和计算之间通信,但有 效范围不会很长 , 约 10 米左右 ,UART优点是支持面广 , 程序设计结构很简单, 随着 USB 的发展 ,UART 也逐渐走向下坡;SmBus 有点类似于 USB 设备跟计算机那样的短距离通信。简单的狭义的说SPI 和 I2C 是做在电路板上的。而UART 和 SMBU 是在机器外面连接两个机器的。详细描述:1、 UART(TX,RX 就是两线,一根发送一根接收,可以全双工通信,线数也比较少

3、。数据是异步传输的,对双方的时序要求比较严格,通信速度也不是很快。在多机通信上面用的最多。2、 SPI(CLK,I/O,O,CS) 接口和上面 UART 相比,多了一条同步时钟线,上面UART 的缺点也就是它的优点了,对通信双方的时序要求不严格不同设备之间可以很容易结合,而且通信速度非常快。一般用在产品内部元件之间的高速数据通信上面,如大容量存储器等。3、 I2C(SCL,SDA) 接口也是两线接口,它是两根线之间通过复杂的逻辑关系传输数据的,通信速度不高, 程序写起来也比较复杂。 一般单片机系统里主要用来和 24C02 等小容易存储器连接。SPI : 高速同步串行口。3? 4 线接口,收发独

4、立、可同步进行UART 通用异步串行口。按照标准波特率完成双向通讯,速度慢SPI: 一种串行传输方式,三线制 ,网上可找到其通信协议和用法的3 根线实现数据双向传输串行外围接口Serial peripheral interfaceUARTUART通用异步收发器是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C 数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C 接口的串行设备通信了。作为接口的一部分,UART 还提供以下功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节, 供计算机内部使用并行数据的器件使

5、用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。 处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART 还提供输入输出数据的缓冲区,现在比较新 的 UART 是 16550, 它可以在计算机需要处理数据前在其缓冲区内存储16 字节数据,而通常的 UART 是 8250 。现在如果您购买一个内置的调制解调器,此调制解调器内部通常就会有 16550 UART 。I2C:能用于替代标准的并行总线,能连接的各种集成电路和功能模块。I2C 是 多

6、主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。 总线上每一个设备都有一个独一无二的地址, 根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个 I2C 总线上共存。I2CI2C总线:总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此 I2C 总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25 英尺,并且能够以 10Kbps 的最大传输速率支持 40 个组件。 I2C 总线的另一个优点是,它支持多主控(multimasteri ng ),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够

7、控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。UART :单端,远距离传输。大多数计算机包含两个基于RS232 的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB 兼容的设备也带有RS-232 口。同时,串口通信协议也可以用于获取远程采集设备的数据。串口通信的概念非常简单,串 口按位( bit )发送和接收字节。尽管比按字节( byte )的并行通信慢,但是串 口可以在使用一根线发送数据的同时用另一根线接收数据。 它很简单并且能够实 现远距离通信。比如 IEEE488 定义并行通行状态时,规定设备线总常不得超过20 米,并且任意两个设备间的长度不得超过2 米;而对于串

8、口而言,长度可达1200 米。具体的适用范围就可多了,军用,医疗. 到处到能用。第一个区别当然是名字:SPI (Serial Peripheral Interface:串行外设接口);I2C (INTER IC BUS :意为IC 之间总线 )UART (Universal Asynchronous Receiver Transmitter:通用异步收发器) 第二,区别在电气信号线上:SPI 总线由三条信号线组成:串行时钟 ( SCLK) 、串行数据输出 ( SDO) 、串行 数据输入 (SDI) 。SPI 总线可以实现多个 SPI 设备互相连接。提供 SPI 串行时钟 的 SPI 设备为 S

9、PI 主机或主设备 (Master) ,其他设备为 SPI 从机或从设备 (Slave) 。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。如果用通用IO 口模拟 SPI 总线,必须要有一个输出口( SDO) , 个输入口(SDI) ,另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。I2C 总线是双向、两线( SCL 、 SDA) 串行、多主控 ( multi-master ) 接口 标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数

10、据时都会带上目的设备的设备地址,因此可以实现设备组网。如果用通用IO 口模拟 I2C 总线,并实现双向传输,则需一个输入输出口(SDA) ,另外还需一个输出口(SCL) 。 (注: I2C资料了解得比较少,这里的描述可能很不完备)器(UART 总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生产生的波特率等于传输波特率的16 倍 ) 、 UART 接收器、 UART 发送器组成,硬件上由两根线,一根用于发送,一根用于接收。显然,如果用通用IO 口模拟 UART 总线,则需一个输入口,一个输出口。第三,从第二点明显可以看出,SPI和 UAR 可以实现全双工,但I2C不行;第四,看看牛人们的意见吧!wudanyu : I2C 线更少,我觉得比UART 、 SPI 更为强大,但是技术上也更加麻烦些,因为 I2C 需要有双向 IO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论