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

发布者:清新微笑最新更新时间:2015-07-03 来源: eepw关键字:SPI  I2C  UART  串行总线协议 手机看文章 扫描二维码
随时随地手机看文章

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 Masterand 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(时 钟),CS(片选)。其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许 在同一总线上连接多个SPI设备成为可能。

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

     要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。

     这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。

     SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。

     不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。

I2C

• 只要求两条总线线路:一条串行数据线SDA 一条串行时钟线SCL

• 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机从机关系软件设定地址主机可以作为主机发送器或主机接收器

• 它是一个真正的多主机总线如果两个或更多主机同时初始化数据传输可以通过冲突检测和仲裁,防止数据被破坏

• 串行的8 位双向数据传输位速率在标准模式下可达100kbit/s 快速模式下可达400kbit/s 高速模式下可达3.4Mbit/s

• 片上的滤波器可以滤去总线数据线上的毛刺波保证数据完整

• 连接到相同总线的IC 数量只受到总线的最大电容400pF 限制

UART

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

     显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。

UART常用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。

明显可以看出,SPI和UART可以实现全双工,但I2C不行

关键字:SPI  I2C  UART  串行总线协议 引用地址:SPI、I2C、UART三种串行总线协议的区别

上一篇:基于网络的电能质量监测系统设计
下一篇:雷电2、USB3.0及eSATA接口解析你该用谁?

推荐阅读最新更新时间:2024-05-02 23:46

I2C总线应用下的EEPROM测试
1 I2C总线的工作原理及其特点   I2C 总线是一种用于IC器件之间连接的二线制总线,最早由Philips公司推出。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件,不管是单片机、存储器、LCD驱动器还是键盘接口。串行扩展总线有突出的优点,电路结构简单,程序编写方便,易于实现用户系统软硬件的模块化、标准化等。   采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。I2C总线接口电路结构如图1所示。   当某个器件向总线上发送信息时,它就是发送器(也叫
[测试测量]
<font color='red'>I2C</font>总线应用下的EEPROM测试
TMS320F240与外围器件的SPI接口设计
    摘要: TMS320F240是由美国TI公司推出的一种新型数字信号处理芯片。文中介绍了该芯片的结构、性能、特点,并分析了它与外围器件的SPI接口设计方法,给出了用SPI接口控制12位串 行A/D MAX186的应用实例。该应用系统具有采样频率高、稳定性好和可靠性强等特点。     关键词: 数字信号处理芯片 SPI接口 串行A/D TMS320F240 1 前言 数字化已成为当今信息处理领域的一大潮流,并代表了今后信号处理的发展方向。集VLSI微电子技术、信号变换技术和计算机技术为一体的数字信号处理器的诞生,揭开了PC通信与消费电子市场的新纪元。它具有运算速度快、精度高、接口功能强和开发
[应用]
sd卡读写 spi模式
(图一) (图二) /******************************************************************************************************************** 函数名:unsigned char mmc_command(unsigned char *comm,unsigned char retuen_dat) 功能:向sd卡写命令 返回: 1- 操作失败 0- 成功 **************************************************************************
[单片机]
sd卡读写 <font color='red'>spi</font>模式
盛群推出 HT45B0F SPI to UART Bridge IC
盛群半导体推出SPI to UART Bridge IC-HT45B0F。HT45B0F是一款可实现SPI与UART数据转换应用于微控制器周边设备。HT45B0F符合工規(-40~85℃)、工作电压2.0~5.5V,在电压5V时最大頻率输入为20MHz。 HT45B0F內含SPI slave介面,可与微控制器通信,进行数据传输;并內建一个UART通道,接收端有4 byte deep FIFO信息缓冲器。UART可工作于全双工模式,输入频率为20MHz时最大饱率可支援至115.2KBPS,HT45B0F提供五种中断來源触发中断信号方便使用者应用。 HT45B0F可应用于微控制器之间的网络数据传输、低成本的连接于PC与周边设
[嵌入式]
盛群推出 HT45B0F <font color='red'>SPI</font> to <font color='red'>UART</font> Bridge IC
stm32F4XX之UART&DMA HAL库
1:串口相关的初始化操作 我们都知道stm32相关外设的初始化都需要打开相应的时钟,配置相应的IO,除此之外我们还需要对串口库中的相关成员变量赋值,这里我们就直接看一下这些结构体成员有哪些。 HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart);这个函数就是对串口的初始化操作,形参是一个结构体指针,该结构体主要包含哪些部分,下面会做相应的介绍 typedef struct { USART_TypeDef *Instance; UART_InitTypeDef Init; uint8_t *pTxBuffPtr; uint16_t TxXferSize;
[单片机]
I2C之知(六)--s3c2440用I2C接口访问EEPROM
        在前面阅读理解了I2C的官方协议文档后,就拿s3c2440和EEPROM来验证一下.         本来是想用s3c2440的SDA和SCL管脚复用为GPIO来模拟的,但在没有示波器的情况下搞了一周,怎么都出不来,最后还是放弃了.甚至参考了linux下i2c-algo-bit.c和i2c-gpio.c,依然没调出来.如果有示波器,可能很快就能找到原因,现在完全不知道问题出在哪里.其实想用GPIO模拟I2C的目的很简单,以一种简单而又深刻的方式来理解I2C.         既然这条路暂时没法走,退而求其次,用s3c2440的I2C接口来访问EEPROM,只要按照datasheet的来做,基本上不用考虑时序咯.
[嵌入式]
PIC单片机的i2c的程序
#include pic.h #define uchar unsigned char #define uint unsigned int #define add 0xaa __CONFIG(0xc3e4); __CONFIG(0xffff); #define DS1302 RC2 //定义关掉DS1302时钟芯片,使RC4 RC3 IO口可以用于AT24C02控制。 const uchar ee_data ={1,2,3,3,2,1}; uchar read_data ; const uchar table ={0x3f, 0x6, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x7, 0x7f, 0x6f}; v
[单片机]
【51单片机快速入门指南】4.6:I2C 与 PCF8563实时时钟日历芯片
STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《PCF8563实时时钟日历芯片选型指南》。 概述 PCF8563是低功耗的CMOS实时时钟日历芯片。它提供一个可编程时钟输出一个中断输出和掉电检测器所有的地址和数据,通过12C总线接口串行传递最大总线速度为400Kbits/s,每次读写数据后内嵌的字地址寄存器会自动产生增量。 特性 低工作电流典型值:0.25 A(VDD=3.0V T a m b T_{amb}T amb =25) 世纪标志; 大工作电压范围:
[单片机]
【51单片机快速入门指南】4.6:<font color='red'>I2C</font> 与 PCF8563实时时钟日历芯片
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved