全球旧事资料 分类
主控(multimaster)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口SDA,另外还需一个输出口SCL。(注:I2C资料了解得比较少,这里的描述可能很不完备)UART总线是异步串口,因此一般比前两种同步串口的结构要复杂很多,一般由波特率产生器产生的波特率等于传输波特率的16倍、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。显然,如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。第三,从第二点明显可以看出,SPI和UART可以实现全双工,但I2C不行;第四,看看牛人们的意见吧!wuda
yu:I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。quickmouse:I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。SPI、I2C、UART三种串行总线协议的区别SPISerialPeripheralI
terface:串行外设接口I2CINTERICBUSUARTU
iversalAsy
chro
ousReceiverTra
smitter:通用异步收发器
SPI
TheSPIi
cludesthesedisti
ctivefeaturesMastermodea
dslavemode
fBidirectio
almodeSlaveselectoutputModefaulterrorflagwithCPUi
terruptcapabilityDoublebuffereddataregisterSerialclockwithprogrammablepolaritya
dphaseCo
trolofSPIoperatio
duri
gwaitmode
SPI有两种模式,NormalModea
dBidirectio
alMode,包括以下几根线:
SSSCK
SlaveSelectSerialClock
MOSIMasterOutputSlaveI
putMISOMasterI
putSlaveOutput
MOMIMasterOutputMasterI
putSISOSlaveI
putSlaveOutput
其中前四根线用于NormalMode,常用的也是4根线的NormalMode。
MOSIThispi
isusedtotra
smitdataoutoftheSPImodulewhe
itisco
figuredasaMastera
dreceivedatawhe
itisco
figuredasSlaveMISOThispi
isusedtotra
smitdataoutoftheSPImodulewhe
itisco
figuredasaSlavea
dreceivedatawhe
itisco
figuredasMasterSS
fThispi
isusedtooutputtheselectsig
alfromtheSPImoduletoa
otherperipheralwithwhichadatatra
sferistotakeplacewhe
itsco
figuredasaMastera
ditsusedasa
i
puttoreceivetheslaveselectsig
alwhe
theSPIisco
figuredasSlaveSCKThispi
isusedtooutputtheclockwithrespecttowhichtheSPr
好听全球资料 返回顶部