版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32微控制器基本外设应用开发RS-485总线技术总线概述总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线。(公路)当总线被引入嵌入式系统领域后,它主要用于嵌入式系统的芯片级、板级和设备级的互连。在总线的发展过程中,有多种分类方式。一是按照传输速率分类:可分为低速总线和高速总线。(国道和高速公路)二是按照连接类型分类:可分为系统总线、外设总线和扩展总线。(乡道、县道、国道)三是按照传输方式分类:可分为并行总线和串行总线。(双向8车道和双向单车道)串行通信方式单工方式半双工方式全双工方式通讯速率指的就是1S内通讯端口发送01代码(或者说是高低电平)的数量。打个比方如果我们说通讯速率是9.6kbps那就表示通讯端口每秒发送9600个bit的数据也就是每秒可以产生9600个高低电平(注意这里是高低电平总共加起来9600个)。
主从通讯,指的是在一个通讯网络中一个站点是主站,其他站点作为从站,主站和从站之间可以直接进行数据的传递,但是从站与从站之间不能直接进行数据的传递,如果从站之间想要交换数据也必须要通过主站如图所示。串行通信方式通信协议硬件层协议软件层协议解决发声器官的构造(是猫叫还是狗叫)通讯协议解决内容含义(汪汪汪和汪汪,汪汪汪的含义)硬件层协议解决数据怎么传,例如:RS-232RS-485,CAN,IIC,SPI等都是约定怎么传数据,如何把1发给给对方,这条线的电压应该是多少伏等,即都是解决0和1怎么传送的问题。常见的电平信号及其电气特性电平信号名称输入输出说明逻辑1逻辑0逻辑1逻辑0TTL电平≥2.0V≤0.8V≥2.4V≤0.4V噪声容限较低,约0.4V。MCU芯片引脚都是TTL电平。CMOS电平≥0.7Vcc≤0.3Vcc≥0.8Vcc≤0.1Vcc噪声容限高于TTL电平,Vcc为供电电压。
逻辑1逻辑0
RS-232电平-15V~-3V+3V~+15VPC机的COM口为RS-232电平。USB电平(VD+-VD-)≥200mV(VD--VD+)≥200mV采用差分电平,4线制:VCC、GND、D+和D-。设备1485设备201011101单片机管脚输出TTL当输出0时小于0.8V当输出为1时
大于2.0VAB当MCU发出0时,485转换器出来的电平是0:Vb>Va当MCU发出1时,485转换器出来的电平是1:Va>Vb485TTL-485称为发送器485-TTL称为接收器01011101TTL—485需要发送器485—TTL接要接收器通常发送器和接收器做在同一个芯片中,但是发送器和接收器不能同时工作,通过硬件上的连线,单片机来操作控制引脚让它某一时刻是工作在接收状态还是发送状态。485发送器和接收器合在一起,称为485发送器485发送器规定在发送时,对方不可以发送,只能传一个方向(单工)便是就是同样的一根线,又想发数据给对方,又想收到对方返回来的数据,即想实现半双工,需要软件层的协议做保障。485要想实现半双式通信,要进行约定,其中主从模式就是一种约定。主从模式:系统中只能有一个主机任何时候所有从机不能给主机主动发送数据485收发器
485总线与主从模式
管脚编号名称功能描述1RO接收器输出(至MCU)2接收允许(低电平有效)3DE发送允许(高电平有效)4DI发送器输入(来自MCU)5GND接地6A发送器同相输出/接收器同相输入7B发送器反相输出/接收器反相输入8VCC电源电压485收发器
软件层协议Modbus通信协议是全球第一个(1979年)真正用于工业现场的总线协议,完全免费。Modbus通信协议是应用于电子控制器上的一种通用协议,目前已成为通用工业标准。多种工业设备包括PCL\DCS\变频器\智能仪表等都在使用。Modbus使不同厂商生产的控制设备可以连成工业网络,进行集中监控。Modbus支持多种电气接口,如RS-232、RS-485,还可以在各种介质上传输,如双绞线、光纤、无线等。Modbus协议是典型的主从型协议。Modbus是一种单主/多从的通信协议,即:在同一时间里,总线上只能有一个主设备,但可以有一个或多个(最多247个)从设备。主设备是指发起通信的设备,而从设备是接收请求并做出响应的设备。在Modbus网络中,通信总是由主设备发起,而从设备没有收到来自主设备的请求时,不会主动发送数据。MODBUS协议的某些特性是固定的,如信息帧结构,帧顺序,通讯错误和异常情况的处理,以及所执行的功能码等,都不能随便改动。其他特性是属于用户可选的如传输介质,波特率,字符奇偶校验,停止位个数,参数字址定义等Modbus协议
在Modbus网络中,主设备向从设备发送Modbus请求报文的模式有两种:单播模式与广播模式:
单播模式:主设备寻址单个从设备。
广播模式:主设备向Modbus网络中的所有从设备发送请求报文,从设备接收并处理完毕后不要求返回响应报文。Modbus请求报文的模式
Modbus协议帧构成设备地址:被选中的从设备地址。功能码:告知被选中的从设备要执行何种功能。数据段:包含从设备要执行功能的附加信息。如:功能码“03”要求从设备读保持寄存器并响应寄存器的内容,则数据段必须包含要求从设备读取寄存器的起始地址及数量。差错检测区:为从机提供一种数据校验方法,以保证信息内容的完整性。“快递面单”MODBUS通信协议提供了ASCIl和RTU(远程终端单元)两种通信模式。ASCll模式的主要优点是允许字符之间的时间间隔长达1S,也不会出现错误。(“贵人语迟”)RTU模式的优点是在相同波特率下其传输的字符的密度高于ASCIl模式,每个信息必须连续传输。(“火急火燎”)Modbus请求报文的模式
0ASCIl模式数据传送约定在数据格式中每个16进制字符(0~9)、(A~F)都转换成ASCll码发送。这种方式的主要优点是字符发送的时间间隔可达1秒,而不产生错误。起始位:1位数据长度:7位,低位先送校验位:1位(有校验),0位(无校验)停止位:1位(有校验),2位(无校验)波特率:可选ASCII消息帧格式
起始位:1位数据长度:8位,低位先送校验位:1位(有校验),0位(无校验)停止位:1位(有校验),2位(无校验)波特率:可选RTU消息帧格式
当主站向从站发送信息时,全部通信由二部份组成:一是主站向从站的发送,我们叫查询,又叫请求。二是从站对主站的应答,也叫回传,响应。应答的目的是告诉主站是否有错和回答主站的相关通信请求。通信协议对查询和应答的时间,数据格式,验错方法都会给出相应的规定。MODBUS规定:当查询主站的变化来指示是否有错误发生。无错误正常应答,从站仅回应相同的功能码。对有错或异常的应答,从站应答时,将其功能码最高位b7置1。同时,从站还应将错误代码放入数据区告诉主站发生了什么错误。应答与错误监测
代码功能码名称位/字操作操作数量01读线圈状态位操作单个或多个02读离散输入状态位操作单个或多个03读保持寄存器字操作单个或多个04读输入寄存器字操作单个或多个05写单个线圈位操作单个06写单个保持寄存器字操作单个15写多个线圈位操作多个16(0x10)写多个保持寄存器字操作多个用户自定义的功能码由用户自己定义,无法确保其唯一性,代码范围为:65~72和100~110。本节主要讨论RTU模式的公共功能码。Modbus功能码
从设备地址功能码起始地址寄存器个数CRC校验060300D20004E587响应报文:060308026E01F3010659AB1E6A从设备地址功能码数据域字节数4个数据CRC校验060308026E01F3010659AB1E6A
注意:Modbus的保持寄存器和输入寄存器是以字为基本单位,即:每个寄存器分别对应2个字节。请求报文连续读取4个寄存器的内容,将返回8个字节。保持寄存器值功能码
从设备地址功能码起始地址寄存器个数CRC校验060401900005306F响应报文:06040A1CE2135A35DB233F56E3513A从设备地址功能码数据域字节数4个数据CRC校验06040A1CE2135A35DB233F56E3513A读输入寄存器值功能码
从设备地址功能码起始地址变更数据CRC校验04050098FF000D80响应报文:04050098FF000D80从设备地址功能码数据域字节数4个数据CRC校验04050098FF000D80写单个线圈或单个离散输出功能码05
从设备地址功能码起始地址变更数据CRC校验0306008202AB68DF响应报文:0306008202AB68DF从设备地址功能码起始地址寄存器数CRC校验0306008202AB68DF写单个保持寄存器功能码06
响应报文:030F0014000F5429从设备地址功能码起始地址寄存器数CRC校验030F0014000F5429从设备地址功能码起始地址寄存器数字节数变更数据CRC校验030F0014000F02C203EEE1地址范围取值字节值20~27OFF-ON-OFF-OFF-OFF-OFF-ON-ON0xC228~34ON-ON-OFF-OFF-OFF-OFF-OFF0x03写多个线圈功能码15(0x0F)
响应报文:0510001500039048从设备地址功能码起始地址寄存器数CRC校验0510001500039048从设备地址功能码起始地址寄存器数字节数变更数据CRC校验05100015000306536B05F32A083E72写多个保持寄存器功能码16(0x10)
系统构成PC机一台(作为上位机);网关一个;RS-485通信节点三个(一个作为主机、两个作为从机);火焰传感器一个(安装在从机1上);可燃气体传感器一个(安装在从机2上);USB转485调试器一个。
整个系统由两个RS-485网络构成,RS-485网络1含一个主机节点,两个从机节点,使用Modbus通信协议作为应用层协议。主机节点与网关之间的连接基于RS-485网络2,网关通过以太网连接到云平台。本案例要求搭建一个基于RS-485总线的智能安防系统,系统构成如下:
在RS-485网络1中,从机节点可连接三种类型的传感器:开关量、模拟量和数字量。另外,我们需要对从机节点的地址与传感器类型编号进行配置,它们的数据类型为数字量。
根据Modbus功能码的相关基础知识,我们可规划本系统的功能码、寄存器地址与传感器的对应关系RS-485网络1的数据帧系统数据通信协议分析
RS-485网络1的数据帧系统数据通信协议分析
传感器类型代号定义传感器类型温湿度人体检测火焰可燃气体空气质量光敏声音传感器红外传感器心率传感器代号123456789系统数据通信协议分析
②可燃气体传感器数据采集(模拟量,功能码0x04)如果主机需要读取从机1的可燃气体传感器数据,主机发送请求帧地址1个字节功能码1个字节寄存器地址2个字节寄存器数量2个字节CRC校验2个字节0x010x040x00030x00010xC1CA从机1收到Modbus通信帧后,响应帧中返回ADC值300(0x012C)。地址1个字节功能码1个字节返回字节数1个字节寄存器值2个字节CRC校验2个字节0x010x040x020x012C0xB97D系统数据通信协议分析
③火焰传感器数据采集(模拟量,功能码0x04)如果主机需要读取从机1的火焰传感器数据,主机发送请求帧地址1个字节功能码1个字节寄存器地址2个字节寄存器数量2个字节CRC校验2个字节0x010x040x00020x00010x900A从机1收到Modbus通信帧后,响应帧中返回ADC值200(0x00C8)。地址1个字节功能码1个字节返回字节数1个字节寄存器值2个字节CRC校验2个字节0x010x040x020x00C80xB8A6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江杭州市文理中学诚聘初中数学教师(非事业)1人笔试备考试题及答案解析
- 2026年甘肃卫生职业学院单招综合素质考试参考题库含详细答案解析
- 2026百万英才汇南粤-广东科贸职业学院高层次人才招聘笔试备考试题及答案解析
- 2026上海市闵行区浦江第三中学招聘笔试备考试题及答案解析
- 2026广东佛山市禅城区石湾第三小学招聘临聘教师笔试备考题库及答案解析
- 2026中智集团总部及二级成员单位面向内外部招聘8人笔试备考试题及答案解析
- 四川文理学院2026年塔石人才引进笔试备考试题及答案解析
- 2026年2月绍兴银行社会招聘1人笔试备考试题及答案解析
- 2026湖南怀化市辰溪县供销合作联合社见习生招聘1人笔试备考题库及答案解析
- 2026新疆乌鲁木齐航空安全员岗位社会招聘笔试备考题库及答案解析
- GB/T 19683-2025轨道式集装箱门式起重机
- 首届全国行业职业技能竞赛(电力交易员)大赛考试题库-中(多选题)
- 中国-东盟自由贸易区:建设历程、发展现状、挑战与突破路径
- 2025年自动驾驶汽车与智能交通系统协同发展研究报告
- 小学四年级语文上册阅读理解(15篇)
- 分级护理标准解读
- 2025年全国统一高考语文试卷(全国一卷)含答案
- 高速公路施工方案(全)
- 职业生涯规划教师评价标准
- GB/T 4706.85-2024家用和类似用途电器的安全第85部分:光辐射皮肤器具的特殊要求
- 中考数学模拟试卷及答案
评论
0/150
提交评论