IIC,SPI,UART的区别

合集下载

SPI、IIC与UART区别

SPI、IIC与UART区别

SPI、IIC、UART区别第一个区别当然是名字:SPI(Serial Peripheral Interface:串行外设接口);I2C(INTER IC BUS)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、I2C、UART三种串行总线的原理、区别及应用

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

简朴描述:SPI 和I2C这两种通信方式都是短距离旳,芯片和芯片之间或者其他元器件如传感器和芯片之间旳通信。

SPI和IIC是板上通信,IIC有时也会做板间通信,但是距离甚短,但是超过一米,例如某些触摸屏,手机液晶屏那些很薄膜排线诸多用IIC,I2C能用于替代原则旳并行总线,能连接旳多种集成电路和功能模块。

I2C是多主控总线,因此任何一种设备都能像主控器同样工作,并控制总线。

总线上每一种设备均有一种独一无二旳地址,根据设备它们自己旳能力,它们可以作为发射器或接受器工作。

多路微控制器能在同一种I2C总线上共存这两种线属于低速传播;ﻫ而UART是应用于两个设备之间旳通信,如用单片机做好旳设备和计算机旳通信。

这样旳通信可以做长距离旳。

UART和,UART就是我们指旳串口,速度比上面三者快,最高达100K左右,用与计算机与设备或者计算机和计算之间通信,但有效范畴不会很长,约10米左右,UART长处是支持面广,程序设计构造很简朴,随着USB旳发展,UART也逐渐走向下坡;SmBus有点类似于USB设备跟计算机那样旳短距离通信。

ﻫ简朴旳狭义旳说SPI和I2C是做在电路板上旳。

而UART和SMBUS是在机器外面连接两个机器旳。

具体描述:1、UART(TX,RX)就是两线,一根发送一根接受,可以全双工通信,线数也比较少。

数据是异步传播旳,对双方旳时序规定比较严格,通信速度也不是不久。

在多机通信上面用旳最多。

2、SPI(CLK,I/O,O,CS)接口和上面UART相比,多了一条同步时钟线,上面UART旳缺陷也就是它旳长处了,对通信双方旳时序规定不严格不同设备之间可以很容易结合,并且通信速度非常快。

一般用在产品内部元件之间旳高速数据通信上面,如大容量存储器等。

3、I2C(SCL,SDA)接口也是两线接口,它是两根线之间通过复杂旳逻辑关系传播数据旳,通信速度不高,程序写起来也比较复杂。

一般单片机系统里重要用来和24C02等小容易存储器连接。

SPII2CUART三种串行总线协议及其区别

SPII2CUART三种串行总线协议及其区别

SPII2CUART三种串行总线协议及其区别SPI(Serial Peripheral Interface)是一种常见的串行总线协议,主要用于单片机和外部设备之间的通信。

SPI协议需要同时使用多个信号线,包括时钟信号、主从选择信号、数据输入信号和数据输出信号。

SPI协议是一种全双工的通信方式,数据可以双向传输。

SPI通信协议的特点包括以下几点:1.时钟信号:SPI协议中的设备之间使用了共享的时钟信号,时钟信号用于同步数据传输。

时钟信号由主设备控制,并且时钟频率可以根据需要调整。

SPI协议没有固定的时钟频率限制,可以根据实际需求进行调整。

2.主从选择信号:SPI协议中的从设备需要通过主从选择信号进行选择。

主设备通过拉低从设备的主从选择信号来选择与之通信的从设备。

可同时与多个从设备通信。

3.数据传输:SPI协议是一种由主设备控制的同步通信协议,数据在时钟的边沿上升移位。

主设备在时钟的上升沿将数据发送给从设备,从设备在时钟的下降沿将数据发送给主设备。

SPI协议的优势在于速度快、可靠性高,适合于需要高速传输的应用,如存储器、显示器驱动等。

I2C(Inter-Integrated Circuit)是一种常见的串行总线协议,主要用于集成电路之间的通信。

I2C协议仅需要两根信号线:序列时钟线(SCL)和串行数据线(SDA)。

I2C协议是一种半双工通信方式,数据只能单向传输。

I2C通信协议的特点包括以下几点:1.序列时钟线(SCL):SCL是在主设备和从设备之间共享的信号线,用于同步数据传输。

主设备通过拉高和拉低SCL来控制数据传输的时钟频率。

2.串行数据线(SDA):SDA负责数据的传输。

数据在SCL的上升沿或下降沿变化时,主设备或从设备将数据写入或读取出来。

3.地址寻址:I2C协议使用7位或10位的地址寻址,从设备可以根据地址进行选择。

I2C协议的优势在于可以连接多个设备,节省了引脚,适用于多设备之间的通信,如传感器、温度传感器、压力传感器等。

IIC,uart,spi的异同点

IIC,uart,spi的异同点

第一个区别当然是名字: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),一个输入口(S DI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。

I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。

在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。

如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SD A),另外还需一个输出口(SCL)。

(注:I2C资料了解得比较少,这里的描述可能很不完备)UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UAR T发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

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

第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行;第四,看看牛人们的意见吧!wudanyu:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。

I2C,SPI,UART和CAN的区别

I2C,SPI,UART和CAN的区别

I2C,SPI,UART和CAN的区别(转)SPI--Serial Peripheral Interface,(Serial Peripheral Interface:串行外设接口)串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

I2C--INTER-IC(INTER IC BUS:意为IC之间总线)串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。

它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。

具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。

在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。

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

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

总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。

多路微控制器能在同一个I2C总线上共存。

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

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

一个主控能够控制信号的传输和时钟频率。

当然,在任何时间点上只能有一个主控。

UART(Universal Asynchronous Receiver Transmitter:通用异步收发器):单端,远距离传输。

大多数计算机包含两个基于RS232的串口。

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

同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。

尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

关于I2C和SPI总线协议

关于I2C和SPI总线协议

关于I2C和SPI总线协议篇一:SPI、I2C、UART三种串行总线协议的区别第一个区别当然是名字:SPI(Serial Peripheral Interface:串行外设接口);I2C(INTER IC BUS)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不行;第四,看看牛人们的意见吧!1、I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。

SPI和IIC和Uart

SPI和IIC和Uart

SPI、IIC和uart的区别第一个区别当然是名字:SPI(Serial Peripheral Interface:串行外设接口);I2C(INTER IC BUS)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、I2C、UART、USB串行总线协议的区别

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

SPI、I2C、UART、USB串行总线协议的区别SPI、I2C、UART三种串行总线协议的区别第一个区别当然是名字:SPI(Serial Peripheral Interface:串行外设接口);I2C(INTER IC BUS)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、IIC、UART区别(精华)

SPI、IIC、UART区别(精华)

SPI、IIC、UART区别区别SPI(摩托罗拉)IIC(飞利浦)UART名字Serial PeripheralInterface:串行外设接口Inter-IntegratedCircuit:内部集成电路UniversalAsynchronousReceiverTransmitter:通用异步收发器控制器区域网络串/并行串行串行串行同/异步同步同步异步半/全工主/从全双工主/从半双工全双工信号线三线:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)两线:串行数据线(SDA)、串行时钟线(SCL)两线:TXD、RXD信号四种信号:SDI(串行数据输入),SDO(串行数据输出),SCK(串行移位时钟),CS(从使能信号)三种信号:开始信号,结束信号,应答信号方式四种工作方式:SPI0、SPI1、SPI2、SPI3多设备SPI主设备(Master):提供SPI串行时钟。

SPI从设备(Slave):其他设备。

当有多个从设备时,还可以增加一条从设备选择线。

实现多个SPI设备互相连接。

多主控(multi-master):在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。

多主适合该总线大量用在与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设器件通信。

具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。

用于汽车中的高速低速网络技术实现简单。

技术麻烦。

需固定波特率。

硬件要有双向IO的支持,而且使用上拉电阻,抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。

数据方向首先传输最高位从最高位开始从最高位开始速度高达5Mbps低速,0~100kbps;快速,高达每秒几百位到1.5Mb1Mbps400kbps;高速,高达3.4Mbps。

传输主要是在SCK的控制下,两个双向移位寄存器进行数据交换。

SPI具有一个内在地址功能,不需要设计一个额外的寄存器来测试地址,从而减少软件和硬件的设计开销。

UART,SPI,IIC对比和总结

UART,SPI,IIC对比和总结

UART,SPI,IIC对⽐和总结UART, SPI, IIC对⽐、总结UART、SPI、IIC是经常⽤到的⼏个数据传输标准,下⾯就分别总结⼀下:UART(Universal Asynchronous Receive Transmitter):也就是我们经常所说的串⼝,基本都⽤于调试。

主机和从机⾄少要接三根线,RX、TX和GND。

TX⽤于发送数据,RX⽤于接受数据(收发不是⼀根线,所以是全双⼯⽅式)。

注意A和B通信A.TX要接B.RX,A.RX要接B.TX(A⽤TX发B当然要⽤RX来收了!)如果A是PC机,B是单⽚机,A和B之间还要接⼀块电平转换芯⽚,⽤于将TTL/CMOS(单⽚机电平)转换为RS232(PC机电平)。

因为TTL/CMOS电平范围是0~1.8/2.5/3.3/5V(不同单⽚机范围不同),⾼电压表⽰1,低电压表⽰0。

⽽RS232逻辑电平范围-12V~12V,-5~-12表⽰⾼电平,+5~+12V表⽰低电平(对!你没有听错)。

为什么这么设置?这就要追溯到调制解调器出⽣时代了,有兴趣⾃⼰去查资料!数据协议:以PC机A给单⽚机B发数据为例(1为⾼电平,0为低电平):A.TX to B.RX。

刚开始B.RX的端⼝保持1,当A.TX发来⼀个0作为起始位告诉B我要发数据了!然后就开始发数据,发多少呢?通常⼀次是5位、6位、7位、8位,这个双⽅事先要⽤软件设置好。

PC机⼀般会⽤串⼝助⼿设置,单⽚机会在uart的驱动中设置。

⼀⼩帧数据发送完了以后,A.TX给个⾼电平告诉B.RX我发完了⼀帧。

如果还有数据,就再给个0然后重复上⼀步。

如果双⽅约定由校验位,还要在发停⽌位1之前发送个校验位,不过现在⼀般都不需要校验位了,因为出错的概率太⼩了,⽽且⼀般⽤于调试,所以...呵呵呵!⼀般在串⼝助⼿上还有个RTS/CTS流控选项,也叫握⼿,我从来没⽤过。

搬⼀段我能理解的介绍:RTS(请求发送),CTS(清除发送)。

(完整版)SPI,UART,I2C的区别以及RS232与RS485的区别

(完整版)SPI,UART,I2C的区别以及RS232与RS485的区别

(完整版)SPI,UART,I2C的区别以及RS232与RS485的区别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主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。

主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。

如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。

I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。

在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。

如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。

(注:I2C资料了解得比较少,这里的描述可能很不完备)UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。

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

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

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

简单描述:SPI 和I2C这两种通信方式都是短距离的,芯片和芯片之间或者其他元器件如传感器和芯片之间的通信。

SPI和IIC是板上通信,IIC有时也会做板间通信,不过距离甚短,不过超过一米,例如一些触摸屏,手机液晶屏那些很薄膜排线很多用IIC,I2C能用于替代标准的并行总线,能连接的各种集成电路和功能模块。

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

总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。

多路微控制器能在同一个I2C总线上共存这两种线属于低速传输;而UART是应用于两个设备之间的通信,如用单片机做好的设备和计算机的通信。

这样的通信可以做长距离的。

UART和,UART就是我们指的串口,速度比上面三者快,最高达100K左右,用与计算机与设备或者计算机和计算之间通信,但有效范围不会很长,约10米左右,UART优点是支持面广,程序设计结构很简单,随着USB的发展,UART也逐渐走向下坡;SmBus有点类似于USB设备跟计算机那样的短距离通信。

简单的狭义的说SPI和I2C是做在电路板上的。

而UART和SMBUS是在机器外面连接两个机器的。

详细描述:1、UART(TX,RX)就是两线,一根发送一根接收,可以全双工通信,线数也比较少。

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

在多机通信上面用的最多。

2、SPI(CLK,I/O,O,CS)接口和上面UART相比,多了一条同步时钟线,上面UART 的缺点也就是它的优点了,对通信双方的时序要求不严格不同设备之间可以很容易结合,而且通信速度非常快。

一般用在产品内部元件之间的高速数据通信上面,如大容量存储器等。

3、I2C(SCL,SDA)接口也是两线接口,它是两根线之间通过复杂的逻辑关系传输数据的,通信速度不高,程序写起来也比较复杂。

一般单片机系统里主要用来和24C02等小容易存储器连接。

SPI,UART,I2C都有什么区别,各自的特点是什么?

SPI,UART,I2C都有什么区别,各自的特点是什么?

SPI,UART,I2C都有什么区别,各自的特点是什么?区别:SPI:高速同步串行口。

3~4线接口,收发独立、可同步进行UART:通用异步串行口。

按照标准波特率完成双向通讯,速度慢SPI:一种串行传输方式,三线制,网上可找到其通信协议和用法的3根线实现数据双向传输串行外围接口Serial peripheral interfaceUART:通用异步收发器UART是用于控制计算机与串行设备的芯片。

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

作为接口的一部分,UART还提供以下功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。

将计算机外部来的串行数据转换为字节,供计算机内部使用并行数据的器件使用。

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

在输出数据流中加入启停标记,并从接收数据流中删除启停标记。

处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。

可以处理计算机与外部串行设备的同步管理问题。

有一些比较高档的UART还提供输入输出数据的缓冲区,现在比较新的UART是16550,它可以在计算机需要处理数据前在其缓冲区内存储16字节数据,而通常的UART是8250。

现在如果您购买一个内置的调制解调器,此调制解调器内部通常就会有16550 UART。

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

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

总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。

多路微控制器能在同一个I2C总线上共存。

I2C,SPI,UART和CAN的区别

I2C,SPI,UART和CAN的区别

I2C,SPI,UART和CAN的区别(转)SPI--Serial Peripheral Interface,(Serial Peripheral Interface:串行外设接口)串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

I2C--INTER-IC(INTER IC BUS:意为IC之间总线)串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。

它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。

具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。

在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。

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

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

总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。

多路微控制器能在同一个I2C总线上共存。

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

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

一个主控能够控制信号的传输和时钟频率。

当然,在任何时间点上只能有一个主控。

UART(Universal Asynchronous Receiver Transmitter:通用异步收发器):单端,远距离传输。

大多数计算机包含两个基于RS232的串口。

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

同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。

尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

I2C,SPI,UART和CAN的区别

I2C,SPI,UART和CAN的区别

I2C,SPI,UART和CAN的区别(转)SPI--Serial Peripheral Interface,(Serial Peripheral Interface:串行外设接口)串行外围设备接口,是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

I2C--INTER-IC(INTER IC BUS:意为IC之间总线)串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。

它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现了双工的同步数据传输。

具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。

在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。

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

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

总线上每一个设备都有一个独一无二的地址,根据设备它们自己的能力,它们可以作为发射器或接收器工作。

多路微控制器能在同一个I2C总线上共存。

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

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

一个主控能够控制信号的传输和时钟频率。

当然,在任何时间点上只能有一个主控。

UART(Universal Asynchronous Receiver Transmitter:通用异步收发器):单端,远距离传输。

大多数计算机包含两个基于RS232的串口。

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

同时,串口通信协议也可以用于获取远程采集设备的数据。

串口通信的概念非常简单,串口按位(bit)发送和接收字节。

尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

SPI、IIC、UART区别

SPI、IIC、UART区别

要注意的是,SCLK信号线只由主设备控制,从设备不能控制信号线。
同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCLK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCLK时钟线的控制可以完成对通讯的控制。
I2C总线特征
1、只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;
2、每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主机可以作为主机发送器或主机接收器;
3、它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;
通信的 SPI 概念
2.1、SPI:高速同步串行口 Serial Peripheral interface SPI:高速同步串行口。是一种标准的四线同步双向串行总线。
SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
4、串行的8 位双向数据传输位速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s;
5、连接到相同总线的IC 数量只受到总线的最大电容400pF 限制。
I2C总线术语
发送器:发送数据到总线的器件;
接收器:从总线接收数据的器件;
SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。
不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。

终于搞清了:SPI、UART、I2C通信的区别与应用

终于搞清了:SPI、UART、I2C通信的区别与应用

终于搞清了:SPI、UART、I2C通信的区别与应⽤电⼦设备之间的通信就像⼈类之间的交流,双⽅都需要说相同的语⾔。

在电⼦产品中,这些语⾔称为通信协议。

之前有单独地分享了SPI、UART、I2C通信的⽂章,这篇对它们做⼀些对⽐。

串⾏ VS 并⾏电⼦设备通过发送数据位从⽽实现相互交谈。

位是⼆进制的,只能是1或0。

通过电压的快速变化,位从⼀个设备传输到另⼀个设备。

在以5V⼯作的系统中,“0”通过0V的短脉冲进⾏通信,⽽“1”通过5V的短脉冲进⾏通信。

数据位可以通过并⾏或串⾏的形式进⾏传输。

在并⾏通信中,数据位在导线上同时传输。

下图显⽰了⼆进制(01000011)中字母“C”的并⾏传输:在串⾏通信中,位通过单根线⼀⼀发送。

下图显⽰了⼆进制(01000011)中字母“C”的串⾏传输:SPI通信SPI是⼀种常见的设备通⽤通信协议。

它有⼀个独特优势就是可以⽆中断传输数据,可以连续地发送或接收任意数量的位。

⽽在I2C和UART中,数据以数据包的形式发送,有着限定位数。

在SPI设备中,设备分为主机与从机系统。

主机是控制设备(通常是微控制器),⽽从机(通常是传感器,显⽰器或存储芯⽚)从主机那获取指令。

⼀套SPI通讯共包含四种信号线:MOSI(Master Output/Slave Input) – 信号线,主机输出,从机输⼊。

MISO (Master Input/SlaveOutput) – 信号线,主机输⼊,从机输出。

SCLK (Clock) – 时钟信号。

SS/CS (SlaveSelect/Chip Select) – ⽚选信号。

SPI协议特点实际上,从机的数量受系统负载电容的限制,它会降低主机在电压电平之间准确切换的能⼒。

⼯作原理时钟信号每个时钟周期传输⼀位数据,因此数据传输的速度取决于时钟信号的频率。

时钟信号由于是主机配置⽣成的,因此SPI通信始终由主机启动。

设备共享时钟信号的任何通信协议都称为同步。

SPI是⼀种同步通信协议,还有⼀些异步通信不使⽤时钟信号。

SPI,UART,I2C的区别以及RS232与RS485的区别

SPI,UART,I2C的区别以及RS232与RS485的区别

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主机或主设备(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不行;第四,I2C线更少,比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C 需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。

urat-spi-iic总结

urat-spi-iic总结

uart,spi,i2c总线的区别I2C的数据输入输出用的是一根线,SPI则分为dataIN和dataOUT。

由于这个原因,采用I2C 时CPU的端口占用少,SPI多一根。

但是由于I2C的数据线是双向的,所以隔离比较复杂,SPI则比较容易。

所以系统内部通信可用I2C,若要与外部通信则最好用SPI带隔离(可以提高抗干扰能力)。

但是I2C和SPI都不适合长距离传输。

长距离时就要用485 了。

第一:SPI(Serial Peripheral Interface:串行外设接口);I2C(INTER IC BUS)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)。

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

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SPI IIC USART 区别2009-03-26 11:05第一个区别当然是名字:SPI(Serial Peripheral Interface:串行外设接口);I2C(INTER IC BUS)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要少。

SPI总线----串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。

Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。

SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

IIC总线是荷兰飞利浦PHILIPS开发的一种高效,实用,可靠的双向二线制(也有3线制,家电很少用)串行数据传输结构总线,该总线使各电路分割成各种功能的模块,并进行软件化设计,各个功能模块电路内都有集成一个IIC总线接口电路,因此都可以挂接在总线上,很好的解决了众多功能IC与CPU之间的输入输出接口,使其连接方式变得十分简单。

IIC总线上的器件分为主控器和被控器两大类它们之间只要在正常工作,总有一个IIC在总线上发送信息数据(一般是在开机后cpu首先像各个功能模块电路发出自检信号,得到各个功能模块电路正常反馈的数据信号后机器才进入正常工作状态)。

IIC,SMBus的区别確實,在一般運用下,I2C Bus與SMBus沒有太大的差別,從實體接線上看也幾乎無差異,甚至兩者直接相連多半也能相安無誤地正確互通並運作。

不過若真要仔細探究,其實還是有諸多不同,如果電子設計工程師不能明辨兩者的真實差異,那麼在日後的開發設計的驗證除錯階段時必然會產生困擾,為此本文將從各層面來說明I2C Bus與SMBus的細微區別,期望能為各位帶來些許助益。

附註:關於I2C Bus的基礎,可參考筆者之前的「I2C介面之線路實務」,網址為:/n/article.asp?id=304799064272FED148256FDC00481D68或參考Philips半導體網站的I2C官方規格:/acrobat/literature/9398/39340011.pdf運用背景、版本演進之別首先從規格的制訂背景開始,I2C是在設計電視應用時所發創的介面,首版於1992年發表;而SMBus(System Management Bus)則是Intel與Duracell(金頂電池)共同制訂筆記型電腦所用的智慧型電池(Smart Battery)時所發創的介面,首版於1995年發表,不過SMBus 文件中也提及,SMBus確實是參考自I2C,並以I2C為基礎所衍生成。

I2C起源於電視設計,但之後朝通用路線發展,各種電子設計都有機會用到I2C;而SMBus 則在之後為PC所制訂的先進組態與電源管理介面(Advanced Configuration & Power Interface;ACPI)規範中成為基礎的管理訊息傳遞介面、控制傳遞介面。

雖然I2C與SMBus先後制訂時間不同,但都在2000年左右進入成熟化改版,I2C的過程改版以加速為主要訴求,而SMBus以更切合Smart Battery及ACPI的需求為多。

I2C三次主要改版:1992年v1.01998年v2.02000年v2.1SMBus三次主要改版:1995年v1.01998年v1.12000年v2.0▲圖說:MAXIM公司的MAX6641晶片,具有溫度監督及風扇控制功能(用PWM脈寬調變方式控制風扇轉速),圖中腳位7、8即是SMBus(圈處),其他裝置可透過SMBus與此晶片溝通,取得溫度及相關資訊,或進行命令操控。

(圖/)電氣特性差異:邏輯位準定義、限流、相關限制I2C的Hi/Lo邏輯準位有兩種認定法:相對認定與絕對認定,相對認定是依據Vdd的電壓來決定,Hi為0.7 Vdd,Lo為0.3 Vdd,絕對認定則與TTL準位認定相同,直接指定Hi/Li 電壓,Hi為3.0V,Lo為1.5V。

相對的SMBus只有絕對認定,且準位與I2C有異,Hi為2.1V,Lo為0.8V,與I2C不全然吻合但也算部分交集。

不過,SMBus後來也增訂一套更低電壓的準位認定,Hi為1.4V,Lo為0.6V,這是為了讓運用SMBus的裝置能更省成本而有的作法。

瞭解電壓後再來是電流,由於SMBus一起頭就是運用在筆記型電腦內,所以低用電的表現優於I2C,只需100uA就能維持工作,I2C卻要到3mA,同樣的低用電特性也反應在漏電流(Leakage Current)的要求上,I2C最大的漏電流為10uA,SMBus為1uA,但是1uA似乎過度嚴苛,使運用SMBus的裝置在驗證測試時耗費過多的成本與心力,因此之後的SMBus 1.1版放寬了漏電流上限,最高可至5uA。

再者是相關限制,I2C有線路電容的限制,SMBus卻沒有,但也有相類似的配套規範,即是準位下拉時的電流限制,當SMBus的開集極接腳導通其閘極而使線路接地時,流經接地的電流不得高於350uA,另外拉升電流(即相同的開集極接腳開路時)也一樣有規範,最小不低於100uA,最高也是不破350uA。

既然對電流有限制,那麼也可容易地推斷對提升電阻的阻值之範圍要求,I2C在5V Vdd 時當大於1.6k ohm,在3V Vdd時當大於1k ohm,類似的SMBus於5V Vdd時當大於14k ohm,3V Vdd時當大於8.5k ohm,不過這個定義並非牢不可破,就一般實務而言,在SMBus上也可用2.4k∼3.9k ohm範疇的阻值。

附註:I2C的時脈線稱SCK或SCL,資料線稱SDA。

SMBus的時脈線稱SMBCLK,資料線稱SMBDAT。

▲圖說:I2C與SMBus在邏輯位準的電壓定義不盡相同,基本上I2C的定義較為寬裕、彈性,而SMBus則更專注在省電方面的要求。

(圖/)時序差別與考驗實體層面的空間要求完後,再來就是實體層面的時間,即是時序(Timing)方面的差別。

先以運作頻率來說,I2C此方面相當寬裕,最低頻可至0Hz(直流狀態,等於時間暫停),高可至100kHz(Standard Mode)、400kHz(Fast Mode)、乃至3.4MHz(High Speed Mode),相對的SMBus就很拘限,最慢不慢於10kHz,最快不快於100kHz。

很明顯的,I2C與SMBus 的交集運作頻率即是10kHz∼100kHz間。

用於筆記型電腦的電池管理或PC組態管理、用電管理的SMBus,很容易體會不需要更高運作頻率的理由,只要傳遞小資料量的監督訊息、控制指令本就不用過於高速,而朝向廣遍運用的I2C自然希望用更高的傳輸以因應各種可能的需求。

然而大家可能會疑惑,為何SMBus有最低速的要求?何不放寬到與I2C相同的毫無最低速限呢?SMBus一定要維持10kHz以上的運作時脈,主要也是為了管理監控,另一個用意是只要在保持一定傳速運作的情況下加入參數,就可輕鬆獲知匯流排目前是否處於閒置(Idle)中,省去逐一偵測傳輸過程中的停斷(STOP)信號,或持續保有停斷偵測並輔以額外參數偵測,如此對匯流排閒置後的再取用會更有效快速。

傳速要求之後還有資料持留時間(Data Hold Time)的要求,SMBus規定SMBCLK線路的準位下降後,SMBDAT上的資料必須持續保留300nS,但I2C卻沒有對此有相同的強制要求。

類似的,SMBus對介面被重置(Reset)後的恢復時間(Timeout)也有要求,一般而言是35mS,I2C這方面亦無約束,可以任意延長時間。

相同的SMBus也要求無論是在主控端(Master)或受控端(Slave),其時脈處於Lo準位時的最長持續時間不得超越限制,以免因為長時間處在Lo準位,而致收發兩端時序脫軌(失去同步,造成後續誤動作)。

還有,I2C與SMBus在準位的上升時間、下降時間等也有不同的細部要求,此點必要時也必須進行確認,或在驗證過程中稍加留意。

▲圖說:Smart Battery或ACPI的實現、監督、與操控,最底層都需要SMBus(圈處)作為後援,圖為簡易的多組式智慧型電池系統,圖中有Smart Battery A、B兩組電池。

(圖/)「已妥」與「未妥」機制的強制性差別不單是電氣、時序有別,更高層次的協定機制也有不同。

在I2C中,主控端要與受控端通訊前,會在匯流排上廣播受控端的位址資訊,每個受控端都會接收到位址資訊,但只有與該位址資訊相切合的受控端會在位址資訊發佈完後發出「已妥」的回應(Acknowledge;ACK),讓主控端知道對應的受控端確實已經備妥,可以進行通訊。

相关文档
最新文档