通信协议知识

本文深入探讨了五种常见通信协议的基础知识和特性:SPI(串行外设接口)强调其高速、全双工特性;UART(通用异步收发器)介绍了RS232和RS485协议,以及它们的优缺点;IIC(集成电路互连)讨论了其半双工、多主设备支持的特点;CAN(控制器局域网络)讲解了其差分信号传输和优先级仲裁机制;最后,详细解析了Modbus协议,包括TCP/IP和RTU/ASCII通信方式。
摘要由CSDN通过智能技术生成

目录

基础知识:

​编辑

一、spi

1、通信介绍:

2、设备时钟:

3、数据传输4种模式:

二、UART

1、RS232协议:

2、RS485协议:

特点 :

拓扑图:

电路图:

三、IIC总线

1、特点: 

2、iIC总线寻找方式:

3、通信过程:

四、CAN协议

五、modbus协议

存储区:

功能码:

2、Modbus 通讯方式 

3、报文格式

4、以太网传输(tcp/ip)

4.2 Modbus TCP通信方式:

4.3 通信过程:

5、异步串行传输的两种方式(RTU和ASCII)

5.1 RTU帧结构:

5.2 RTU例子:


基础知识:

1、串行和并行:按照每次发送二进制位的个数可以分为并行通信和串行通信,总线上本质传的是电信号。

        串行通信:数据线只有一根线,数据有八位的话,只能一位一位逐次的传递。

        并行通信:线在传递数据是可以一次性把数据的多个位一次性传递。总线有八根线,每根线负责传递一位二进制信号。

2、单工、双工、半双工按照数据传输的方向分为单工通信、半双工通信和双工通信。

        单工:通信的信道是单向的,发送端与接收端也是固定的。广播就是一种单工通信的方式,广播站是发送端,听众是接收端。

        双工:在通信的任意时刻,线路上存在A到B和B到A的双向信号传输。

        半双工:数据可以在一个信号载体的两个方向上传输,但是不能同时传输。

3、波特率、比特率:

        波特率-码元速率:单位时间传输的码元的个数,单位是波特Baud。 (当码元大小=1,比特率=波特率。当码元大小=2,即:一个码元由2位二进制数表示。那么,传一个码元的时间是传一个比特的时间的2倍。也就是比特率=2*波特率。)

        比特率-比特速率:单位时间传输的比特的个数,单位是bit/s = bps(bit per second)。

4、异步和同步:

       同步通信——要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信——不要求接收端和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔在发送下一个字节。

       同步通信效率高,异步通信效率较低;同步通信较复杂,双方时钟的润许误差较小;异步通信简单,双方始终可允许一定误差;同步通信可用于点对多点,异步通信只适用于点对点。

5、TTL电平和差分电压信号:

        TTL电平(晶体管逻辑电平)即单片机引脚直接提供的电平,+5V等价于逻辑“1”,0 V等价于逻辑“0”;而差分电压信号则为固定的电压值。

6、名词解释:

  1. 串口、COM口: 物理接口形式(硬件),COM口简称是串口。
  2. TTL、RS-232和RS-485: 电气标准(电信号,电气特性,不涉及接插件、电缆或协议)。
  3. TTL标准是低电平为0,高电平为1(+5V电平,一般大于2.4V都可以)。
  4. RS-232标准是正电平为0,负电平为1(±15V电平)。
  5. RS485一般为A、B及地共3针,逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为-(2—6)V表示。
  6. USB(Universal Serial Bus,通用串行总线): 普遍使用的一种高速通信接口,和串口完全是两个概念。(包括物理接口、电平标准和通信时序标准;USB转串口模块,就是USB接口的UART模块)。
  7. UART 通用异步收发器: UART不是接口,是实现串口收发的逻辑电路(包括电平标准和通信时序标准),具体实物表现为独立的模块化芯片。

、spi

1、通信介绍:

SPI是串行外设接口(Serial Peripheral Interface),点对点、全双工、同步、串行的通信方式。使用4根信号线:SCLK(时钟线)、MOSI(主机发出从机接收线)、MISO(从机发出主机接收线)和CS(从机选通线)。通信速率高,最高可以达到几百Mbps。

  • 优点:
  1. 无起始位和停止位,因此数据位可以连续传输而不会被中断;
  2. 没有像I2C这样复杂的从设备寻址系统;
  3. 数据传输速率比I2C更高(几乎快两倍);
  4. 极其灵活的数据传输,不限于8位,它可以是任意大小的字;
  5. 非常简单的硬件结构。从站不需要唯一地址(与I2C不同)。
  6. 从机使用主机时钟,不需要精密时钟振荡器/晶振(与UART不同)。不需要收发器(CAN不同)。
  • 缺点:
  1. 使用四根信号线(I2C和UART使用两根信号线);
  2. 无法确认是否已成功接收数据(I2C拥有此功能);
  3. 没有任何形式的错误检查,如UART中的奇偶校验位;
  4. 只允许一个主设备;
  5. 没有硬件从机应答信号(主机可能在不知情的情况下无处发送);
  6. 没有定义硬件级别的错误检查协议;
  7. 与RS-232和CAN总线相比,只能支持非常短的距离;
     

2、设备时钟:

SPI时钟特点主要包括:时钟速率、时钟极性和时钟相位。

时钟速率:SPI总线上的主设备必须在通信开始时候配置并生成相应的时钟信号。

时钟极性(CKP或CPOL):指的是时钟脉冲在空闲时刻的状态。CPOL = 0,空闲时刻是低电平;CPOL = 1,空闲时刻是高电平。

时钟相位(CKE或CPHA)指的是采样时刻。比如是选择下降沿发送数据,还是上升沿发送数据。CPHA = 0,第一个跳变沿接收;CPHA = 1,第一个跳变沿发送。

3、数据传输4种模式:

SPI模式 CPOL CPHA 空闲时SCK时钟 采样时刻
0 0 0 低电平 第1个边沿(奇)
1 0 1 低电平 第2个边沿(偶)
2 1 0 高电平 第1个边沿(奇)
3 1 1 高电平 第2个边沿(偶)

二、UART

        Universal Asynchronous Receiver Transmitter 即通用异步收发器,是异步、串行通信口的总称,可以实现全双工的发送和接收,在嵌入式系统中常用于主机与辅助设备之间的通信。它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。

编程时参数:波特率

帧格式:

image.png

串口直接使用存在的问题:

  1. 电气接口不统一:UART只规定了信号时序,而未定义接口的电气特性;UART使用的芯片的TTL电平,但各芯片电平不统一,一般不直接使用。
  2. 抗干扰能力差;
  3. 通信距离极短;

1、RS232协议:

        RS232是基于UART封装的电气层的协议,如下图,IBM简化后9条信号线,常用其中的三根线,规定逻辑“1”的电平为-5V~-15 V逻辑“0”的电平为+5 V~+15 V。选用该电气标准的目的在于提高抗干扰能力,增大通信距离至15m

  • RXD:用于接收DCE发来的数据信号,即输入;
  • TXD:用于发送DTE的信号,即输出。公头和母头的RXD和TXD应交叉连接;
  • GND:用于平衡设备双方
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值