串行、并行、同步、异步通信小结

通讯

两个设备之间的交流

通信:并行通信和串行通信

并行通信  在同一时刻发送多位数据

串行通信  用一根线 在不同的时刻发送8位数据

并行通信

优点 发送速度快 

缺点  传输距离短 资源占用多

串行通信 

优点 传输距离远 占用资源少

缺点 发送速度慢


通信的方式

1.    单工通信  只能接受或者发送   收音机 遥控器

2.    半双工通信  在同一时刻只能发送或者接收  对讲机

3.    全双工通信  在同一时刻 既能接收又能发送  电话


同步和异步

所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。简单来说,同步就是必须一件一件事做,等前一件做完了才能做下一件事;

异步与同步相对,当一个异步过程调用发出后,调用者在没有得到结果之前,就可以继续执行后续操作。当这个调用完成后,一般通过状态、通知和回调来通知调用者。对于异步调用,调用的返回并不受调用者控制。


SPI、I2C、UART的区别

第一个区别当然是名字:
     
SPI(Serial Peripheral Interface:串行外设接口);
     
I2C(INTER IC BUS)
     UART(Universal Asynchronous ReceiverTransmitter:通用异步收发器)

第二,区别在电气信号线上:
     
SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)SPI总线可以实现多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。 如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。

I2C总线是双向、两线(SCLSDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。  如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。(注:I2C资料了解得比较少,这里的描述可能很不完备)

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

第三,从第二点明显可以看出,SPIUART可以实现全双工,但I2C不行;

第四,SPII2C是同步的,UART是异步的,一般有时钟线的都是同步的;

第五,看看牛人们的意见吧!
    1
I2C线更少,我觉得比UARTSPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。
     
2I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值