通信协议与接口知识参考文章:
【通信理论知识】数据传送的方式:串/并行;传输方向:单工、半/全双工;传输方式:同步/异步
【串口通信详解】USART/UART、RS232、RS485标准接口与协议特点解析
【同步串行通信接口】IIC(Inter-Integrated Circuit)通信总线协议详解
【通信总线协议】SPI串行外设接口通信详解
【CAN总线协议】CAN通信入门总览:常见协议优劣、CAN应用、协议组成与标准、传输原理的实现、仲裁机制、传输与时序初探
进阶:
【通信模块】简单玩转WiFi模块(ESP32、ESP8266)
【通信模块】WiFi&Bluetooth简介与对比
【通信模块】LoRa与LoRaWAN简介
【通信协议】硬件通信协议速率对比
在这里插入图片描述

目录

  1. UART
    特点
    引脚帧格式时序
    发送一个字节USART
    优缺点

  2. RS232
    接口标准电平标准特点
    RS232的优缺点

  3. RS485
    RS485的优势
    接口标准电平标准
    特点:差分信号输出、半双工

  4. 优秀文章参考

UART通用异步收发传输器

  • UART全称是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)

  • UART 是一种异步收发传输器, 是设备间进行异步通信的关键模块,UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式。

  • 通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线,接RX 和TX,就可以完成通信过程,是典型的异步串行通信

  • UART可以实现全双工传输和接收

    加上 S 则有同步(USART通用异步/同步收发传输器)
    
    同步通信:有共同的参考时钟
    异步通信:没有共同的参考时钟,以固定波特率传输
    

图片

特点
  • 通用串行异步收发器,全双工通信
  • TTL电平标准:+3.3/+5表示1 0V表示0
  • 需要双方约定好传输的波特率(因为没有时钟线)
  • 空闲位是高位
  • 不能连续发数据,一次最多发5-8位(防止误差累计,因为没有时钟线)
引脚

在这里插入图片描述

帧格式

在这里插入图片描述

时序
波特率:
	一般选波特率都会有9600,19200,115200等选项。其实意思就是每秒传输这么多个比特位数 (bit);
起始位:
	先发出一个逻辑”0”的信号,表示传输数据的开始;
数据位:
	可以是5~8位逻辑”0”或”1”,先传输bit 0,在传输bit 1,依次类推;
校验位:
	数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。
	校验位是可选的,可以不传输;
停止位:
	它是一个字符数据的结束标志,数据线变回逻辑”1”;

在这里插入图片描述

发送一个字节

在这里插入图片描述

USART优缺点
优点:
	通信只需要两条数据线;
	无需时钟信号;
	有奇偶校验位,方便通信的差错检查;
	只需要接收端和发送端设置好数据包结构,即可稳定通信;
缺点:
	传输速率较低:
		数据帧最大支持9位数据
	电气接口不统一:
		uart通信时一般使用处理器的电平,即TTL电平,但不同处理器电平存在差异(3.3V或1.8V,或CMOS电平)
		因此不同的处理器的uart不能直接相连接。此外不用的器件没有一个统一的接口,硬件连接不方便。
	抗干扰能力差:
		使用TTL的电平来表示1和0,传输中容易出错
	通信距离短:
		一般仅用于一个电路板上的2个芯片通信

在这里插入图片描述

RS232

接口标准

在这里插入图片描述

电平标准
  • 传输信号电压级别(重要):
    +5 ~ +15 V表示1 5 ~ -15 V表示0

  • 接收信号电压级别:
    二进制0:+3 ~ +32 Vdc 二进制1:-3 ~ -30 Vdc

  • 依赖UART串口协议,在电气层面做处理,统一了接口标准(如下),能传得更远和更快

在这里插入图片描述

  • MCU通过TTL发出来的信号要接一个电平转换芯片去转成RS232的信号,如MAX232芯片。类似usb-ttl芯片(ch340,cp2302)
特点
  • 抗干扰能力增加,通信距离大致15m

  • 数据格式如下

    起始位:二进制0				  数据:5、6、7或8位
    奇偶校验:奇、偶、mark或			space(不适用于8位数据)
    停止位:二进制1,一位或两位
    
RS232的问题
  • 接口的信号电平值较高,易损坏接口电路的芯片;
  • 与TTL电平不兼容,所以需要使用电平转换芯片才能与TTL电路连接。
  • 通信速度较低,易产生共模干扰,抗噪声干扰性较弱,传输距离较短(15m)

RS485(差分信号输出、半双工)

RS485的优势
  • 接口电平值较低,不易损坏接口电路的芯片,且与TTL电平兼容。可方便地与TTL电路连接;

  • 通信速度快

  • 抗噪声干扰性强

  • 传输距离较远(1500m)

  • 可实现多节点组网

接口标准
电平标准
  • 电平标准:差值 +2v~+6v 表示1 -2v~-6v表示0
  • 在MCU后接一个TTL转485的芯片(单端传差分),比如MAX485

在这里插入图片描述

特点:差分信号输出、半双工
  • 通信用双绞线,差分信号,抗干扰强

  • 信号在发送之前,通过RS485的收发器把单端信号转换成差分信号,再发送到总线上进行传输;

  • 同样在接收之前,总线上的差分信号通过收发器的转换变成单端信号再送给UART控制器进行接收;

  • 采用两线制,因为用的差分信号,所以两根线表示一个信号,只能半双工。是不是感觉和I2C很像?只是I2C规定好了主机怎么管理从机,在编程RS485时完全可以仿照I2C的主从逻辑,避免冲突。

  • 在RS485总线上,如果希望进行全双工的双向通讯,需要两对差分信号线(即4根信号线)。如果只进行半双工的双向通讯,则仅需要一对差分信号即可;

在这里插入图片描述
在这里插入图片描述

优秀文章参考

底层机制与寄存器:

​	http://t.csdnimg.cn/1qIPj

精简应用理论知识:

https://mp.weixin.qq.com/s?__biz=MzkzNzYxMjkwNg==&mid=2247484926&idx=1&sn=a0516b8463b7f17c676baa4fee0212f9&chksm=c28d86fbf5fa0fed1831277e92ff4f62060e358553f14f730bae41febc9743fb134fa1d31645&scene=21#wechat_redirect

根据一些优秀文章总结的个人学习笔记如有侵权,联系删除!
同样创作不易,转载请留言,正文标明出处!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐