打印
[应用相关]

如何快速理解通信的硬件层协议与软件层协议?

[复制链接]
664|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
通信协议介绍

众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件层通信协议和软件层通信协议。

为了更加形象的理解软硬件层面的通信协议,我们将通信比作交通,通信的硬件层协议比作各国的公路标准,各国的公路标准类似于不同的硬件层协议标准;通信的软件层协议比作各国的交通规则,各国的交通规则类似于不同的软件层协议标准。




使用特权

评论回复
沙发
问天少年|  楼主 | 2022-6-28 21:43 | 只看该作者
1. 通讯硬件层协议(解决逻辑传输的方式)
利用设备1向设备2传输0xA3(1010 0011)这样一组数据,从硬件层面将1010 0011这组数据定义为1为高电平,0为低电平,我们就可以通过改变传输线电平的高低实现这组数据的顺利传输。

为了对这种硬件层面的数据传输形式进行规范定义便有了硬件通信接口协议,入RS-232、RS-485、CAN总线等。

使用特权

评论回复
板凳
问天少年|  楼主 | 2022-6-28 21:43 | 只看该作者
下节讲解的MODBUS通信协议是基于RS-485信号传输方式,以MCU作为信号发送设备,MCU的GPIO引脚输出的是TTL电平(设逻辑0:0V;逻辑1:5V),RS-485硬件协议则是将其TTL电平转换成差分信号,通过通讯转换器将一个GPIO引脚的TTL电平转变成两根根线上的信号A/B,也称之为差分信号。

当TTL电平为0时,使得VB>VA,当TTL电平为1时,使得VB<VA。

RS-485通信为半双工通信,意思是MCU1和MCU2可以互相发送和接受数据,但有一点应注意,由于RS-485只有一对差分信号线A/B故对于MCU1来说发送和接受数据不能同时进行。故在MCU1要顺利实现发送和接受数据则需要在软件层面上指定通信协议。

使用特权

评论回复
地板
问天少年|  楼主 | 2022-6-28 21:44 | 只看该作者
2. 通讯软件层协议(解决逻辑传输的目的)
2.1主从通信模式
(1) 为实现半双工通信需要引入主从通信模式这个概念,即指定通信双方一方为主机,其余为从机;

(2) 规定系统中所有从机不可主动把数据发送到主机;

(3) 系统中主机和所有从机上电后都处于接收状态;

(4) 任何一次的数据交换都由主机发起。

对于主机向从机发送数据控制从机或主机查询从机返回的数据都应由主机发起。

当主机向从机发送数据控制从机时,主机应当处于发送状态;当主机查询从机返回的数据,首先应按照预先约定的格式发送一组寻址数据帧。

总结来说主机找从机第一个目的是向从机发送数据,第二个目的是主机找到从及后将从机的数据发送到主机。

即在硬件通信层确保数据能够传输和接收的前提下,再利用软件层来约束传输的数据形式和传输规则。

最简单的一种主机控制从机可以见图4,但这种随意的约定格式通用适配性差,因此需要一款统用的软件层通信协议来对所需功能进行规定。

使用特权

评论回复
5
Uriah| | 2022-10-5 09:14 | 只看该作者

一般要进行内存优化,尽量提高内存的使用效率

使用特权

评论回复
6
Bblythe| | 2022-10-5 12:13 | 只看该作者

访问时采用不同的指令,所以并不会占用 RAM 空间

使用特权

评论回复
7
Pulitzer| | 2022-10-5 15:12 | 只看该作者

51 单片机不使用线性编址

使用特权

评论回复
8
SantaBunny| | 2023-2-3 18:45 | 只看该作者
一般要进行内存优化,再访问的时候采取不同的指令。

使用特权

评论回复
9
SantaBunny| | 2023-2-13 15:42 | 只看该作者
一般要进行内存优化,访问时会采用不同的指令

使用特权

评论回复
10
万图| | 2023-4-1 08:11 | 只看该作者

主时钟振荡器主要用作CPU的工作时钟

使用特权

评论回复
11
Uriah| | 2023-4-1 09:14 | 只看该作者

与15号引脚连接的C1称为旁路电容

使用特权

评论回复
12
帛灿灿| | 2023-4-1 11:10 | 只看该作者

要在外部连接一个振荡电路提供时钟信号

使用特权

评论回复
13
Bblythe| | 2023-4-1 12:13 | 只看该作者

电压范围称为工作电源电压

使用特权

评论回复
14
周半梅| | 2023-4-1 14:09 | 只看该作者

时序电路是按时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)同步工作的

使用特权

评论回复
15
Pulitzer| | 2023-4-1 15:12 | 只看该作者

电源电压处于1.6V到5.5V之间

使用特权

评论回复
16
周半梅| | 2023-4-1 16:15 | 只看该作者

通常选择0.01μF~0.1μF的陶瓷电容作为旁路电容。

使用特权

评论回复
17
童雨竹| | 2023-4-1 17:08 | 只看该作者

内部电路工作电圧是通过内部电压调节器调节电源电压得到的

使用特权

评论回复
18
Wordsworth| | 2023-4-1 18:11 | 只看该作者

单片机的外部都连接有象电池等电源部分

使用特权

评论回复
19
Clyde011| | 2023-4-1 19:14 | 只看该作者

防止因瞬间大电流引起的电源电压下降

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

532

帖子

1

粉丝