spi,uart,i2c的区别以及rs232与rs485的区别

上传人:第*** 文档编号:34253582 上传时间:2018-02-22 格式:DOC 页数:6 大小:42.11KB
返回 下载 相关 举报
spi,uart,i2c的区别以及rs232与rs485的区别_第1页
第1页 / 共6页
spi,uart,i2c的区别以及rs232与rs485的区别_第2页
第2页 / 共6页
spi,uart,i2c的区别以及rs232与rs485的区别_第3页
第3页 / 共6页
spi,uart,i2c的区别以及rs232与rs485的区别_第4页
第4页 / 共6页
spi,uart,i2c的区别以及rs232与rs485的区别_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《spi,uart,i2c的区别以及rs232与rs485的区别》由会员分享,可在线阅读,更多相关《spi,uart,i2c的区别以及rs232与rs485的区别(6页珍藏版)》请在金锄头文库上搜索。

1、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 主机或主设备

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

3、设备组网。如果用通用 IO 口模拟 I2C 总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C 资料了解得比较少,这里的描述可能很不完备)UART 总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的 16 倍)、UART 接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。显然,如果用通用 IO 口模拟 UART 总线,则需一个输入口,一个输出口。第三,从第二点明显可以看出,SPI 和 UART 可以实现全双工,但 I2C 不行;第四,I2C 线更少,比 UART、SPI 更

4、为强大,但是技术上也更加麻烦些,因为I2C 需要有双向 IO 的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI 实现要简单一些,UART 需要固定的波特率,就是说两位数据的间隔要相等,而 SPI 则无所谓,因为它是有时钟的协议。SPI、I2C 、UART 三种串行总线协议的区别SPI(Serial Peripheral Interface:串行外设接口 )I2C(INTER IC BUS)UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)SPIThe SPI includ

5、es these distinctive features:Master mode and slave modeBi-directional modeSlave select outputMode fault error flag with CPU interrupt capabilityDouble-buffered data registerSerial clock with programmable polarity and phaseControl of SPI operation during wait modeSPI 有两种模式, Normal Mode and Bidirecti

6、onal Mode,包括以下几根线:SS Slave SelectSCK Serial ClockMOSI Master Output, Slave InputMISO Master Input, Slave OutputMOMI Master Output, Master InputSISO Slave Input, Slave Output其中前四根线用于 Normal Mode ,常用的也是 4 根线的 Normal Mode 。MOSIThis pin is used to transmit data out of the SPI module when it is configure

7、d as a Master and receive data when it is configured as Slave.MISOThis 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.SSThis pin is used to output the select signal from the SPI module to another peripheral with wh

8、ich 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.SCKThis pin is used to output the clock with respect to which the SPI transfers data or receive clock in case of Slave.SPI 是一种允许一个主设备启动

9、一个与从设备的同步通讯的协议,从而完成数据的交换。也就是 SPI 是一种规定好的通讯方式。这种通信方式的优点是占用端口较少,一般 4 根就够基本通讯了。同时传输速度也很高。一般来说要求主设备要有 SPI 控制器(但可用模拟方式),就可以与基于 SPI 的芯片通讯了。 SPI 的通信原理很简单,它需要至少 4 根线,事实上 3 根也可以。也是所有基于SPI 的设备共有的,它们是 SDI(数据输入),SDO(数据输出),SCK(时 钟),CS(片选)。其中 CS 是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许 在同一总线上连接多

10、个 SPI 设备成为可能。接下来就负责通讯的 3 根线了。通讯是通过数据交换完成的,这里先要知道 SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是 SCK 时钟线存在的原 因,由 SCK 提供时钟脉冲, SDI,SDO 则基于此脉冲完成数据传输。数据输出通过SDO 线,数据在时钟上沿或下沿时改变,在紧接着的下沿或上沿被读取。 完成一位数据传输,输入也使用同样原理。这样,在至少 8 次时钟信号的改变(上沿和下沿为一次),就可以完成 8 位数据的传输。要注意的是,SCK 信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于 SPI 的设备中,至少有一个主控设备。这样传输的特点:

11、这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少 8 位数据,而 SPI 允许数据一位一位的传送,甚至允许暂停,因为 SCK 时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对 SCK 时钟线的控制可以完成对通讯的控制。SPI 还是一个数据交换协议:因为 SPI 的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的 SPI 设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。I2C只要求两条总线线路:一条串行数据线 SDA 一条串行时钟线 SCLI2C

12、 总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C 总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达 25 英尺,并且能够以 10Kbps 的最大传输速率支持 40 个组件。I2C 总线的另一个优点是,它支持多主控(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。能用于替代标准的并行总线,能连接各种集成电路和功能模块。I2C 是多主控总线,所以任何一个设备都能像主控器一样工作,并控制总线。 总线上每一个设备都有一个独一无二的

13、地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。多路微控制器能在同一个 I2C 总线上共存。每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址主机可以作为主机发送器或主机接收器它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁,防止数据被破坏串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s 快速模式下可达400kbit/s 高速模式下可达 3.4Mbit/s片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整连接到相同总线的 IC 数量只受到总线的最大电容 400pF 限制UARTUART 总线是

14、异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的 16 倍)、UART 接收器、UART 发送器组成,硬件上由两根线,一根用于发送,一根用于接收。UART 还提供以下功能: 将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠票也是串行设备)。可以处理计算机与外部串行设备的同步管理问题。有一些比较高档

15、的 UART 还提供输入输出数据的缓冲区,现在比较新的 UART 是16550,它可以在计算机需要处理数据前在其缓冲区内存储 16 字节数据,而通常的UART 是 8250。现在如果您购买一个内置的调制解调器,此调制解调器内部通常就会有 16550 UART。显然,如果用通用 IO 口模拟 UART 总线,则需一个输入口,一个输出口。UART 常用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了 RS-232C 数据终端设备接口,这样计算机就可以和调制解调器或其它使用 RS-232C 接口的串行设备通信了。明显可以看出,SPI 和 UART 可以实现全双工,但 I2C 不行RS-232

16、 与 RS-485 的区别1.RS-232-C 是美国电子工业协会 EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS 是英文 推荐标准的缩写,232 为标识号, C 表示修改次数。RS-232-C 总线标准设有 25 条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C 标准规定的数据传输速率为每秒 50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。RS-232-C 标准规定,驱动器允许有 2500pF 的电容负载,通信距离将受此电容限制,例如,采用 150pF/m 的通信电缆时,最大通信距离为 15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是 RS-232 属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于 20m 以内的通信。 2.RS-485 总线

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号