欢迎来到天天文库
浏览记录
ID:34281505
大小:75.15 KB
页数:11页
时间:2019-03-04
《spi、i2c、uart三种串行总线协议的区别》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SPLI2C、UART三种串行总线协议的区别2008-02-2217:53SPI(SerialPeripheralInterface:串行外设接口)I2C(INTERICBUS)UART(UniversalAsynchronousReceiverTransmitter:通用界步收发器)SPITheSPIincludesthesedistinctivefeatures:?Mastermodeandslavemode?Bi-directionalmode?Slaveselectoutput?ModefaulterrorflagwithCPUinter
2、ruptcapability?Double-buffereddataregister?Serialclockwithprogrammablepolarityandphase?ControlofSPIoperationduringwaitmodeSPI有两种模式,NormalModeandBidirectionalMode,包括以下儿根线:SSSlaveSelectSCKSerialClockMOSIMasterOutput,SlaveInputMISOMasterInput,SlaveOutputMOMIMasterOutput,MasterIn
3、putSISOSlaveInput,SlaveOutput其中前四根线用于NormalMode,常用的也是4根线的NormalMode。MOSIThispinisusedtotransmitdataoutoftheSPImodulewhenitisconfiguredasaMasterandreceivedatawhenitisconfiguredasSlave.MISOThispinisusedtotransmitdataoutoftheSPImodulewhenitisconfiguredasaSlaveandreceivedatawheni
4、tisconfiguredasMaste匚SSThispinisusedtooutputtheselectsignalfromtheSPImoduletoanotherperipheralwithwhichadatatransferistotakeplacewhenitsconfiguredasaMasteranditsusedasaninputtoreceivetheslaveselectsignalwhentheSPIisconfiguredasSlave.SCKThispinisusedtooutputtheclockwithrespect
5、towhichtheSPItransfersdataorreceiveclockincaseofSlave.SPI是一种允许一个主设备启动一个与从设备的同步通讯的协议,从而完成数据的交换。也就是SPI是一种规定好的通讯方式。这种通信方式的优点是占用端口较少,一般4根就够基本通讯了。同时传输速度也很高。一般來说要求主设备要有SPI控制器(但对用模拟方式),就可以与基于SPI的芯片通讯了。SPI的通信原理很简单,它需要至少4根线,事实上3根也可以。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(吋钟),CS(片选
6、)。其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上沿或下沿时改变,在紧接着的下沿或上沿被读収。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可
7、以完成8位数据的传输。要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同
8、,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。I2C?只要求两条总线线路:一条串行数据
此文档下载收益归作者所有