RS485以及MODBUS学习

2023-09-18 23:39:45

学习目的:

1、什么是485?

2、485如何通信?

3、如何使用熟能生巧?

        RS485是一种四总线通信,分别是VCC、GND、485_A、485_B。两根负责通信,两根负责进行供电。

 RS485通信

    硬件层:解决的是数据传输问题,也就是如何将“0”和“1”传输到另外一端设备。

    软件层:ModBus协议则是解决数据传输的含义和意义

那么单片机则是如何进行485通信的?

        单片机需要进行485通信,则需要进行电平转换以及485驱动芯片,一般现在市面上有两种驱动芯片(隔离芯片、非隔离芯片),在进行设计电平转换方案也是有几种:

        1、隔离电源+非隔离芯片+(高速)光耦隔离                成本低

        2、隔离电源+隔离芯片                                                   通信接口安全

通常485驱动芯片 VB > VA为“0”,反之VA > VB为“1”.其通信流程如下

        因为在通信是采用的差分通信,则在两线制的485通信中,则只能进行单向传输,也就是半双工传输,不能进行同步双向传输。在半双工传输芯片中,一般会有RE和DE也就是控制485通信驱动芯片的传输方向,这部分则是485通信硬件层的解决。

 ModBus协议:        主从通信                在半双工通信中可以一主多从(驱动芯片决定从机数量)

  ModBus 通信:

        通信机制:      主机轮询,从机应答的机制

        1、系统中只有一个主机:主从通信

        2、系统中的从机不可以主动的向主机发送数据

        3、系统上电后所有的主从设备都应该处于监听总线的状态,也就是接收状态

        4、如果想要发起一次通信,那么必须有主机主动发起通信(任何一次通信或数据交换必须有主机来发起)

        主机想要发送则:        先将驱动芯片改为发送模式,在进行发送数据包。

        立马转换为接收模式

地址码(通信地址):1-247

        指定地址0的指令是广播指令,所有收到的设备都会运行但不会回复。

常用功能码: 01/05/15      03/06/16

例如:

更具体点分析如下:

06则是主机发送什么从机就应答什么。

而485通信断帧的时间大约10ms或者3ms,也就是超过时则认为这个数据包结束了。

那么通信协议的定制,可以使用别人定制好的,拿来改进行自己使用,如下:

在开发过程中需要制定RS485的通信协议:RS485 MODBUS-RTU等格式

开发辅助工具:ModBus Poil (主机) 、ModBus Slave(从机)

目前来看485协议不是很难,只要注意协议就行。

更多推荐

企业微信 API 接口调用教程:图文详解企业微信 API 的使用方法

本文通过access_token凭证的方式来讲解怎么调用企业微信API,并一步步介绍如何获取企业微信API的corpsecret、corpid、access_token凭证以及怎么向企业微信的应用发送消息。企业微信API在线地址为:概述-企业微信API,这个在线地址的项目你可以克隆到Apifox,以方便调试。话不多说,

基于深度学习的加密恶意流量检测

加密恶意流量检测研究目标定位数据收集数据处理基于特征分类算法的数据预处理基于源数据分类算法的数据预处理特征提取模型选择基于数据特征的深度学习检测算法基于特征自学习的深度学习检测算法训练和评估精确性指标实时性指标应用检验改进摘录自:MingfangZHAI,XingmingZHANG,BoZHAO.Surveyofenc

应用在苹果应用商店该如何进行优化

众所周知,ASO最大化的提高应用程序在商店中的可见性,其目标是获得更多的下载量,同时它也与下载的转化率有关。1、根据应用阶段追求不同的目标。它可以是有机增长或转化率的提高,获得更多安装并降低用户获取成本,增加收入或提高保留率,达到一定的参与水平或提高每日或每月活跃用户。2、应用的文本字段。应用名称需要包含一些主要关键词

PAT 1035 插入与归并

PAT1035插入与归并题目描述思路讲解代码展示题目描述思路讲解分析:先将i指向中间序列中满足从左到右是从小到大顺序的最后一个下标,再将j指向从i+1开始,第一个不满足a[j]==b[j]的下标,如果j顺利到达了下标n,说明是插入排序,再下一次的序列是sort(a,a+i+2);否则说明是归并排序。归并排序就别考虑中间

xen-timer

目的主要了解一下armtimerspec和xen项目中timer是怎么使用,如何实现的。同时也是对学习过程的一些记录。学习链接文章链接时间子系统http://www.wowotech.net/sort/timer_subsystemarmtimerspechttps://developer.arm.com/docume

阿里云服务器上CentOS 7.6使用rpm包安装MySQL 8.0.31

我这里下载的是最新版本,需要到MySQL官网最新版本下载地址。要是想要下载以前的版本需要到MySQL以前版本网址中。1)先使用wgethttps://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar(这个网址现在已经不

降低半导体金属线电阻的沉积和蚀刻技术

铜的电阻率取决于其晶体结构、空隙体积、晶界和材料界面失配,这在较小的尺度上变得更加重要。传统上,铜(Cu)线的形成是通过使用沟槽蚀刻工艺在低k二氧化硅中蚀刻沟槽图案,然后通过镶嵌流用Cu填充沟槽来完成的。不幸的是,这种方法产生具有显着晶界和空隙的多晶结构,这增加了铜线电阻。该工艺中还使用了高电阻TaN衬垫材料,以防止镶

直播视频处理过程

视频其实就是快速播放一连串连续的图片。每一张图片,我们称为一帧。只要每秒钟帧的数据足够多,也即播放得足够快。比如每秒30帧,以人的眼睛的敏感程度,是看不出这是一张张独立的图片的,这就是我们常说的帧率(FPS)。每一张图片,都是由像素组成的,假设为1024*768(这个像素数不算多)。每个像素由RGB组成,每个8位,共2

离散制造企业如何打造MES管理系统

在当今制造业中,MES生产管理系统越来越受到关注,但在实际应用中也遇到了一些问题。本文分析了离散制造业和流程生产行业的MES应用现状,指出了这两个行业在部署MES管理系统时存在差异的原因,并探讨了如何在离散制造业提升生产效率,降低维护和培训成本。MES系统通过信息的传递对从生产命令下发到产品完成的整个生产过程进行优化管

智能网联驾驶测试与评价工业和信息化部重点实验室“车载智能计算基础平台参考架构2.0专家研讨会”圆满结束

近日,智能网联驾驶测试与评价工业和信息化部重点实验室在北京市召开“车载智能计算基础平台参考架构2.0专家研讨会”,本次会议由智能网联驾驶测试与评价工业和信息化部重点实验室、中国软件评测中心(工业和信息化部软件与集成电路促进中心)、国家智能网联汽车创新中心主办,北京经纬恒润科技股份有限公司承办。会议主要包括两个环节,一是

redis 事务

1.什么是Redis事务提到事务,我们可能马上会想到传统的关系型数据库中的事务,客户端首先向服务器发送BEGIN开启事务,然后执行读写操作,最后用户发送COMMIT或者ROLLBACK来提交或者回滚之前的操作。但是Redis中的事务与关系型数据库是不一样的,Redis通过MULTI命令开始,之后输入一连串的操作,最终以

热文推荐