0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

更加形象的理解通信的软、硬件层协议

STM32嵌入式开发 来源:CSDN 2023-06-18 17:19 次阅读

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

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

下图1生动的对上述描述进行了解释。

62a17090-0db7-11ee-962d-dac502259ad0.png

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

利用设备1向设备2传输0xA3(1010 0011)这样一组数据,从硬件层面将1010 0011这组数据定义为1为高电平,0为低电平,我们就可以通过改变传输线电平的高低实现这组数据的顺利传输。

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

62cd78a2-0db7-11ee-962d-dac502259ad0.png

下节讲解的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

62ec0b0a-0db7-11ee-962d-dac502259ad0.png

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

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

2.1主从通信模式

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

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

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

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

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

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

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

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

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

63249b00-0db7-11ee-962d-dac502259ad0.png

来源:https://blog.csdn.net/Roger_717/article/details/105781467





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 转换器
    +关注

    关注

    27

    文章

    8701

    浏览量

    147155
  • CAN总线
    +关注

    关注

    145

    文章

    1950

    浏览量

    130747
  • RS-485接口
    +关注

    关注

    0

    文章

    55

    浏览量

    14291
  • TTL电平
    +关注

    关注

    1

    文章

    99

    浏览量

    12001
  • ModBus通信
    +关注

    关注

    0

    文章

    32

    浏览量

    2558

原文标题:快速理解通信的软、硬件层协议

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    形象生动的理解硬件层面的通信协议

    众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件通信协议和软件
    发表于 05-06 09:15 600次阅读
    <b class='flag-5'>形象</b>生动的<b class='flag-5'>理解</b><b class='flag-5'>软</b>、<b class='flag-5'>硬件</b>层面的<b class='flag-5'>通信协议</b>

    形象生动的理解硬件层面的通信协议

    通信协议介绍 众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件
    的头像 发表于 05-08 10:43 1271次阅读
    <b class='flag-5'>形象</b>生动的<b class='flag-5'>理解</b><b class='flag-5'>软</b>、<b class='flag-5'>硬件</b>层面的<b class='flag-5'>通信协议</b>!

    协议是什么 协议栈又是什么

    协议栈是协议的具体实现形式, 通俗的理解就是用代码实现的函数库, 以便于开发人员调用。协议栈是通常是一个层级结构。协议栈是网络中各层
    发表于 08-05 07:00

    基于RS485的Modbus通讯(从硬件 到软件理解和STM32实践) 精选资料推荐

    通讯协议理解 :1、通讯协议通俗易懂的理解就是两个设备之间互相 传递信息 大家一起 约定好的一种规则;通讯协议 又分为
    发表于 08-23 08:09

    掌握通信协议的研究方法

    从根本出发,从简单开始,逐步加码,从而让你彻底掌握通信协议的研究方法。就是串口uart,因为uart只有物理,尤其是TTL电平的uart,就是个很简单很直观的物理协议。你可以通过学
    发表于 01-13 06:09

    什么是通信

    众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件通信协议和软件
    发表于 02-09 07:34

    对串口中断的通信协议理解与应用

    双向通信。本文主要讲解对正点原子的串口通信实验中串口中断的通信协议理解与应用,关于串口的初始化配置等这里略过不讲。在正式开始之前,先把涉及到的寄存器讲一下:状态寄存器 (USART_
    发表于 02-14 07:18

    什么是串口通信?串口通信协议了解

    行传输低。2、串口通信协议在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核和片上外设;STM32标准库则是在寄存器与用户代码之间的软件。对于通讯协议,我们也以
    发表于 02-15 06:54

    串口通信的物理协议的相关资料推荐

    一.串口通信的物理协议物理规定了通讯系统的机械、电子特性(相当于规定了用嘴巴还是肢体交流)协议
    发表于 02-17 07:07

    IP协议,IP协议的内容有哪些?

    IP协议,IP协议的内容有哪些? Internet上使用的一个关键的底层协议是网际协议,通
    发表于 04-06 16:45 9524次阅读

    如何更加深入理解I2C总线、协议及应用

    更加深入理解I2C总线、协议及应用
    的头像 发表于 03-20 09:29 3334次阅读
    如何<b class='flag-5'>更加深入理解</b>I2C总线、<b class='flag-5'>协议</b>及应用

    【理论】通信硬件协议和软件协议

    众所周知通信协议就是一种数据传输的协议规范,从软硬件层面可以分为硬件通信协议和软件
    发表于 12-05 15:51 9次下载
    【理论】<b class='flag-5'>通信</b>的<b class='flag-5'>硬件</b><b class='flag-5'>层</b><b class='flag-5'>协议</b>和软件<b class='flag-5'>层</b><b class='flag-5'>协议</b>

    基于RS485的Modbus通讯(从硬件 到软件理解和STM32实践)

    通讯协议理解 :1、通讯协议通俗易懂的理解就是两个设备之间互相 传递信息 大家一起 约定好的一种规则;通讯协议 又分为
    发表于 12-27 18:40 12次下载
    基于RS485的Modbus通讯(从<b class='flag-5'>硬件</b><b class='flag-5'>层</b> 到软件<b class='flag-5'>层</b>的<b class='flag-5'>理解</b>和STM32实践)

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

    为了更加形象理解硬件层面的通信协议,我们将通信比作交通,
    的头像 发表于 03-28 09:41 2476次阅读

    基于RS-485信号传输方式的通信接口协议

    为了更加形象理解硬件层面的通信协议,我们将通信比作交通,
    发表于 09-08 12:46 716次阅读
    基于RS-485信号传输方式的<b class='flag-5'>通信</b>接口<b class='flag-5'>协议</b>