【SoC基础】通信种类(串口与并口、同步与异步、有线与无线、半双工与全双工;UART、I2C、CAN、SPI、USB、RS232、RS485等通信协议的应用场景各有不同)

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处


一、并行通信和串行通信

1.1 并行通信

概念:通常是将数据字节的各位用多条数据线同时进行传送。并行通信同时传输数据,一次传送8位。
特点:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难,抗干扰能力差。
在这里插入图片描述

1.2 串行通信

概念:串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。串行通信一位一位传输数据,分八次完成传输。
串行通信指外设和计算机间通过数据信号线、地线等按位进行传输数据的一种通信方式,属于串行通信方式。也就是说串口通信是要用到事物的通信方式,区别于wifi和蓝牙等无接触通信方式。

注意: 什么是串口通信?这是我们经常听到的专业术语,那它与串行通信又有什么关系?
答案:串口通信=串行通信

特点:串行通信的特点,1.需要使用数据线 2.属于串行通信方式。传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。
在这里插入图片描述

主要用途
(1)早期:计算机之间短距离通信(1.5米内),完备通信机制。传输速度慢。
(2)现在:串行通信主要用于CPU之间近距离通信、调试信息输入输出,非完备通信。比如指纹解锁。

什么是串口?
串口是串行接口(serial interface)的简称,也称为串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。

串口通信的接口标准有哪些?
我们常用的RS-232-C、RS-232、RS-422-A、RS-485都属于串口通信的接口标准
RS-232-C(-C是版本)接口规定使用25针连接器,简称DB25;
后来IBM的PC机将RS-232C简化为一种9针的非标准连接器接口,简称DB9。比如VGA口。
在这里插入图片描述
重点比较一下RS-232以及RS-485,两者的区别:

  1. 传输方式不同
  2. 传输距离不同:RS-232传输距离不超过20m;理想情况下RS-485传输距离可达1200m,其条件是通讯材料优质达标,波特率为9600,负载只有一台485子设备才能使得通讯距离达到1200米,通常往往达不到1200米。
  3. 通讯速率不同:RS-232速率较快,抗干扰能力弱;RS-485速率较慢,但是抗干扰能力强。
  4. 通讯方式不同:RS232主要用于1对1的通讯方式,属于全双工,而RS485主要用于1对多的通讯方式,为半双工通信,接收的时候不能发送,发送的时候不能接收。
  5. 逻辑电平不同:RS-232采用负逻辑传送,用-3~ - 15V表示逻辑“1”。用+3 ~ +15V表示逻辑“0”;RS-485采用同样负逻辑,但属于差分信号,用+2~+6V表示逻辑“1”,用-6V ~ -2V表示逻辑“0”。

注意:RS232和RS485不是通信协议而是硬件串口。
RS(recommended standard)表示推荐标准,232、485都是标识号。
在这里插入图片描述
常见串行通信接口(串口):UART、I2C、CAN、SPI、USB、RS232、RS485
在这里插入图片描述
UART、I2C、CAN、SPI、USB、RS232、RS485这些应当理解为物理串口,有些人也将它们称为协议,这并不准确。

UART、I2C、CAN、SPI、USB、RS232、RS485等通信协议的应用场景各有不同。

✨首先,UART和COM,它们是单片机串口和电脑串口的通称,属于异步串行口。其特点是全双工、异步,TX发送端、RX接收端,并且通常空闲状态保持在高电平。起始位给一个低电平,然后读取数据,停止位给一个高电平。因此,UART常用于单片机与PC机之间的通信。

✨其次,I2C和SPI都是同步串行通信协议。其中,I2C支持多设备连接,并且每个设备都有独立的地址,可以同时传输数据和地址信息。而SPI允许数据一位一位的传送,甚至允许暂停,具有接口线少,控制方式简化的优点。因此,I2C常用于板内通信,而SPI则广泛用于芯片间通信。

✨再者,CAN是一种高效的串行通讯协议,具有较强的错误检测和处理能力,广泛应用于汽车电子领域。同时,USB是当今最常用的计算机接口之一,主要用于主机和外部设备的连接。

✨最后,RS232和RS485都是硬件接口,它们指的是电平标准。RS232主要用于长距离通信,而RS485则主要用于多机通信。

总的来说,选择哪种协议取决于具体的应用场景和需求。

二、同步通信和异步通信

2.1 同步通信

在同步传输中,数据以块或帧(将数据字节组合起来一起发送给,这种组合称之为帧)的形式发送。此传输是全双工类型。在发送者和接收者之间强制性同步。在同步传输中,数据之间没有间隙。与异步传输相比,传输大量数据更加有效和可靠。
同步通信的双方靠一根时钟线约定速率。这个速率是不需要通信双方自己去设定的,时钟线已经帮我们做好了这个工作,保证了通信速率是相同的。

2.2 异步通信

在异步传输中,数据以字节或字符的形式发送。该传输是半双工型传输。在该传输中,在数据的起始位和停止位都添加了奇偶校验位。它不需要同步。
通信双方各自约定通信速率。异步通信双方相互独立,没有一根像同步通信那样的时钟线,因此需要通过通信双方各自设定一致的通信速率才能实现通信。
在这里插入图片描述

三、有线和无线通信

3.1 有线通信

有线通信:如以太网、串口通信等。

3.2 无线通信

  • 无线通信:如Wi-Fi、蓝牙、NFC、ZigBee、LoRa、NB-IoT、GSM、GPRS、3/4/5G网络等。

四、单工、半双工与全双工

4.1 单工通信

单工通信即为单向通信,也就是通信只能由一方发送给另一方,不能反向传输。

在这里插入图片描述

4.2 半双工通信

同一时间只能有一个方向通信,比如对讲机。通信双方可以相互传输数据,但是必须分时复用一根数据线。半双工分时进行传输数据,要么传送数据,要么接受数据,两者不能同时发送。也就是说半双工只用一根线进行传输数据,一根线只能一发一收,不能同时进行。
在这里插入图片描述

4.3 全双工通信

全双工通信属于双向通信,比如通过手机打电话。 通信双方可以在同一时刻相互传输数据。可同时进行发送和接收数据。
在这里插入图片描述

扩展阅读:

UART串口通信工作原理
串口主要是采用接收和发送两种功能,下图的模式图中涉及到定时器和中断,也就是说串口通信其实是一种中断类型,即串口中断,在受到外部信号时,会立即做出反映。以下结构都是单片机里面的部分,最左边的竖直箭头就是总线,数据只有到了总线才能被CPU处理。因此串口就是挂在总线上的。T1那部分是通过定时器中断TH1和TL1来控制波特率的。

UART串口需要使用三根线:RxD、TxD以及GND,与P3.0和P3.1两个引脚共用相同的寄存器。UART只能点对点通信,1对1通信,也就是说只能有两个设备才能通信。
在这里插入图片描述在这里插入图片描述

IIC协议
I2C(IIC)总线是Philips公司在八十年代初推出的一种串行、半双工总线主要用于近距离、低速的芯片之间的通信;IIC总线有两根双向的信号线,一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步;IIC总线硬件结构简单,成本较低,因此在各个领域得到了广泛的应用。

IIC总线是一种多主机总线,连接在IIC总线上的器件分为主机和从机。主机有权发起和结束一次通信,而从机只能被主机呼叫;当总线上有多个主机同时启用总线时,llC也具备冲突检测和伸裁的功能来防止错误产生;每个连接到IIC总线上的器件都有一个唯一的地址(7bit),且每个器件都可以作为主机也可以作为从机(同一时刻只能有一个主机),总线上的器件增加和删除不影响其他器件正常工作;IIC总线在通信时总线上发送数据的器件为发送器,接收数据的器件为接收器。

IIC总线通信过程
1.主机发送起始信号启用总线
2.主机发送一个字节数据指明从机地址和后续字节的传送方向
3.被寻址的从机发送应答信号回应主机
4.发送器发送一个字节数据
5.接收器发送应答信号回应发送器
……(循环步骤4、5)
n.通信完成后主机发送停止信号释放总线

CAN总线设计的初衷:上世纪八十年代Bosh公司开发CAN总线的最初目的是解决汽车上数量众多的电子设备之间的通信问题,减少电子设备之间繁多的信号线。于是设计了一个单一的网络总线,所有外围设备都可以接在该总线上。
CAN是什么?CAN是Controller Area Network的缩写(以下称为CAN),是ISO*1国际标准化的串行通信协议。

CAN总线的特征
1、成本低廉;
2、数据传输距离远(最远可达10KM);
3、数据传输速率高(最高达1Mbit/s);

CAN的节点硬件构成
1、MCU/CPU;
2、CAN控制器,
3、CAN收发器;

CAN连接方式:CAN总线支持多个节点挂载在总线上,CAN总线其实没有主从的概念,每个设备都是一个节点(Node),节点直接可以相互通讯。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌小超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值