您的位置:技术中心首页 > 总线协议 >> SPI、I2C、UART三种串行总线协议的区别

SPI、I2C、UART三种串行总线协议的区别

作者:未知   时间:2007-10-18 10:20:47  来自:网上转载  浏览次数:80  文字大小:【】【】【
第一个区别当然是名字:
    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不行;

第四,看看牛人们的意见吧!
    wudanyu:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。
    quickmouse:I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。
责任编辑:5life

更多相关 SPI I2C UART 的文章

本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造封装
总线协议
说文解字
工具学习
数字滤波
闲话漫谈
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  SPI接口单线应用
  SPI总线时钟极性和时钟相...
  SPI接口的出错分析及其改进
  SPI总线接口
  I2C总线串行接口应用设计
  SPI总线杂碎
  SPI、I2C、UART三种串行...
  汽车总线协议的形势判断
  I2C 总线规范学习笔记
  SPI 接口简介

栏目最新

更多相关链接

  SPI接口单线应用
  SPI总线时钟极性和时钟相...
  SPI接口的出错分析及其改进
  SPI总线接口
  I2C总线串行接口应用设计
  SPI总线杂碎
  SPI、I2C、UART三种串行...
  汽车总线协议的形势判断
  I2C 总线规范学习笔记
  SPI 接口简介

热点文章

更多相关链接

  I2C总线性能介绍
  SPI、I2C、UART三种串行总线...
  SPI接口单线应用
  SPI 接口简介
  I2C 总线规范学习笔记
  SPI总线杂碎
  SPI总线接口
  SPI总线时钟极性和时钟相位的...
  I2C总线串行接口应用设计
  SPI接口的出错分析及其改进