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完结要简略一些,UART需求固定的波特率,便是说两位数据的距离要持平,而SPI则无所谓,因为它是有时钟的协议。 quickmouse:I2C的速度比SPI慢一点,协议比SPI杂乱一点,可是连线也比规范的SPI要少。
SPI通讯
USCI简介: 新式的高性能双通讯模块
异步通讯形式:UART规范与多处理器协议;带主动波特率检测的UART(即LIN);IrDA(低红外,最大115kbit); 同步通讯形式:SPI(主从形式,3或4线),I2C形式(主从形式)。
uart
TX中止:
UCA0TXIFG当TX buffer Ready时会被set. UCA0TXIE及GIE也被set时会进中止.UCA0TXIFG当TX Buffer被写入数据,或是Interrupt request被处理完时会主动铲除.体系上电默许UCA0TXIFG为1,UCA0RXIFG为0;
MSP430 SPI 或 UART 的速度 在 SPI 主形式下,通讯速率能够到达 4Mbps,而在 UART 形式下,速率也可到达 2Mbps。USART 可进行装备,以便一起支撑同步 (SPI) 与异步 (UART) 操作,而且可从几个内部及外部时钟源(与 CPU 时钟无关)中进行挑选。在 SPI 主形式下,USART 的运转速率可到达运用时钟的 1/2。例如,假如运用 8MHz 时钟,则 SPI 主形式的传输速率可到达 4Mbps。在 UART 形式下,完结牢靠通讯至少要求每位 3 或 4 个时钟。例如,8MHz 时钟除以 4 能够支撑高达 2Mbps 的速率。MSP430xxxx 用户攻略中供给了有关 USART 功用的完好阐明。(对应于8M)
|
原文地址:http://hi.baidu.com/yangbme/blog/item/da54ca36149611320a55a99a.html
通讯的 SPI 概念
2.1、SPI:高速同步串行口 Serial Peripheral interface
SPI:高速同步串行口。是一种规范的四线同步双向串行总线。
SPI接口首要运用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
SPI,是一种高速的,全双工,同步的通讯总线,而且在芯片的管脚上只占用四根线。
4条线:事实上3根也能够(用于单向传输时,也便是半双工方法)
它们是SDI(数据输入),SDO(数据输出),SCLK(时钟),CS(片选)。
(1)MOSI– SPI 总线主机输出/ 从机输入(SPI Bus Master Output/Slave Input)
(2)MISO– SPI 总线主机输入/ 从机输出(SPI Bus Master Input/Slave Output)
(3)SCLK – 时钟信号,由主设备发生
(4)CS – 从设备使能信号,由主设备操控(Chip select),有的IC此pin脚叫SS
其间CS是操控芯片是否被选中的,也便是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有用。这就答应在同一总线上衔接多个SPI设备成为或许。
接下来就担任通讯的3根线了。通讯是经过数据交换完结的,这儿先要知道SPI是串行通讯协议,也便是说数据是一位一位的传输的。这便是SCLK时钟线存在的原因,由SCK供给时钟脉冲,SDI,SDO则根据此脉冲完结数据传输。数据输出经过 SDO线,数据在时钟上升沿或下降沿时改动,在紧接着的下降沿或上升沿被读取。完结一位数据传输,输入也运用相同原理。这样,在至少8次时钟信号的改动(上沿和下沿为一次),就能够完结8位数据的传输。
要留意的是,SCLK信号线只由主设备操控,从设备不能操控信号线。
相同,在一个根据SPI的设备中,至少有一个主控设备。这样传输的特色:这样的传输方法有一个长处,与一般的串行通讯不同,一般的串行通讯一次接连传送至少8位数据,而SPI答应数据一位一位的传送,乃至答应暂停,因为SCLK时钟线由主控设备操控,当没有时钟跳变时,从设备不收集或传送数据。也便是说,主设备经过对SCLK时钟线的操控能够完结对通讯的操控。
SPI仍是一个数据交换协议:因为SPI的数据输入和输出线独立,所以答应一起完结数据的输入和输出。
不同的SPI设备的完结方法不尽相同,首要是数据改动和收集的时刻不同,在时钟信号上沿或下沿收集有不同界说,详细请参阅相关器材的文档。
在点对点的通讯中,SPI接口不需求进行寻址操作,且为全双工通讯,显得简略高效。在多个从设备的体系中,每个从设备需求独立的使能信号,硬件上比I2C体系要略微杂乱一些。
2.7、SPI协议心得
SPI接口时钟装备心得:
在主设备这边装备SPI接口时钟的时分一定要弄清楚从设备的时钟要求,因为主设备这边的时钟极性和相位都是以从设备为基准的。因而在时钟极性的装备上一定要搞清楚从设备是在时钟的上升沿仍是下降沿接纳数据,是在时钟的下降沿仍是上升沿输出数据。但要留意的是,因为主设备的SDO衔接从设备的SDI,从设备的SDO衔接主设备的SDI,从设备SDI接纳的数据是主设备的SDO发送过来的,主设备SDI接纳的数据是从设备SDO发送过来的,所以主设备这边SPI时钟极性的装备(即SDO的装备)随从设备的SDI接纳数据的极性是相反的,随从设备SDO发送数据的极性是相同的。
http://baike.baidu.com/view/245026.htm
I2C总线特征
1、只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;
2、每个衔接到总线的器材都能够经过仅有的地址和一向存在的简略的主机/从机联系软件设定地址,主机能够作为主机发送器或主机接纳器;
3、它是一个真实的多主机总线,假如两个或更多主机一起初始化,数据传输能够经过抵触检测和裁定避免数据被损坏;
4、串行的8 位双向数据传输位速率在规范形式下可达100kbit/s,快速形式下可达400kbit/s,高速形式下可达3.4Mbit/s;
5、衔接到相同总线的
IC 数量只遭到总线的最大
电容400pF 约束。
I2C总线术语
发送器:发送数据到总线的器材;
接纳器:从总线接纳数据的器材;
主机:初始化发送发生时钟信号和停止发送的器材;
从机:被主机寻址的器材;
多主机:一起有多于一个主机测验操控总线但不损坏传输;
裁定:是一个在有多个主机一起测验操控总线但只答应其间一个操控总线并使传输不被损坏
的进程;
同步:两个或多个器材同步时钟信号的进程 。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/259026.html