ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

通信的硬件层协议和软件层协议

2020-04-28 10:37:11  阅读:1267  来源: 互联网

标签:协议 RS 主机 通信协议 通信 硬件 从机 软件


目录

前言:通信协议介绍

1. 通讯硬件层协议(解决逻辑传输的方式)

2. 通讯软件层协议(解决逻辑传输的目的)

2.1主从通信模式

前言:通信协议介绍

众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件层通信协议和软件层通信协议。为了更加形象的理解软硬件层面的通信协议,我们将通信比作交通,通信的硬件层协议比作各国的公路标准,各国的公路标准类似于不同的硬件层协议标准;通信的软件层协议比作各国的交通规则,各国的交通规则类似于不同的软件层协议标准。图1生动的对上述描述进行了解释。

1. 通讯硬件层协议(解决逻辑传输的方式)

利用设备1向设备2传输0xA3(1010 0011)这样一组数据,从硬件层面将1010 0011这组数据定义为1为高电平,0为低电平,我们就可以通过改变传输线电平的高低实现这组数据的顺利传输。为了对这种硬件层面的数据传输形式进行规范定义便有了硬件通信接口协议,入RS-232、RS-485、CAN总线等,详细介绍见链接:RS-232、RS-485、RS-422通信接口标准介绍

下节讲解的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要顺利实现发送和接受数据则需要在软件层面上指定通信协议。

2. 通讯软件层协议(解决逻辑传输的目的)

2.1主从通信模式

(1) 为实现半双工通信需要引入主从通信模式这个概念,即指定通信双方一方为主机,其余为从机;

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

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

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

对于主机向从机发送数据控制从机或主机查询从机返回的数据都应由主机发起。当主机向从机发送数据控制从机时,主机应当处于发送状态;当主机查询从机返回的数据,首先应按照预先约定的格式发送一组寻址数据帧。总结来说主机找从机第一个目的是向从机发送数据,第二个目的是主机找到从及后将从机的数据发送到主机。即在硬件通信层确保数据能够传输和接收的前提下,再利用软件层来约束传输的数据形式和传输规则。

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

 

下一章:一看就会的MODBUS通信协议(上)

标签:协议,RS,主机,通信协议,通信,硬件,从机,软件
来源: https://blog.csdn.net/Roger_717/article/details/105781467

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有