485时序
- 格式:doc
- 大小:61.00 KB
- 文档页数:2
光电隔离RS485典型电路一、RS485总线介绍RS485总线就是一种常见的串行总线标准,采用平衡发送与差分接收的方式,因此具有抑制共模干扰的能力。
在一些要求通信距离为几十米到上千米的时候,RS485总线就是一种应用最为广泛的总线。
而且在多节点的工作系统中也有着广泛的应用。
二、RS485总线典型电路介绍RS485电路总体上可以分为隔离型与非隔离型。
隔离型比非隔离型在抗干扰、系统稳定性等方面都有更出色的表现,但有一些场合也可以用非隔离型。
我们就先讲一下非隔离型的典型电路,非隔离型的电路非常简单,只需一个RS485芯片直接与MCU的串行通讯口与一个I/O控制口连接就可以。
如图1所示:图1、典型485通信电路图(非隔离型)当然,上图并不就是完整的485通信电路图,我们还需要在A线上加一个4、7K的上拉偏置电阻;在B线上加一个4、7K的下拉偏置电阻。
中间的R16就是匹配电阻,一般就是120Ω,当然这个具体要瞧您传输用的线缆。
(匹配电阻:485整个通讯系统中,为了系统的传输稳定性,我们一般会在第一个节点与最后一个节点加匹配电阻。
所以我们一般在设计的时候,会在每个节点都设置一个可跳线的120Ω电阻,至于用还就是不用,由现场人员来设定。
当然,具体怎么区分第一个节点还就是最后一个节点,还得有待现场的专家们来解答呵。
)TVS我们一般选用6、8V的,这个我们会在后面进一步的讲解。
RS-485标准定义信号阈值的上下限为±200mV。
即当A-B>200mV时,总线状态应表示为“1”;当A-B<-200mV时,总线状态应表示为“0”。
但当A-B在±200mV之间时,则总线状态为不确定,所以我们会在A、B线上面设上、下拉电阻,以尽量避免这种不确定状态。
三、隔离型RS485总线典型电路介绍在某些工业控制领域,由于现场情况十分复杂,各个节点之间存在很高的共模电压。
虽然RS-485接口采用的就是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS-485接收器的极限接收电压,即大于+12V或小于-7V时,接收器就再也无**常工作了,严重时甚至会烧毁芯片与仪器设备。
不知道大家是否会遇到这样的情况,测试单个RS-485设备数据无异常,但设备组网后,就出现通讯数据异常或连接失败等情况。
出错的原因是什么?RS-485总线是具有结构简单、通信距离远、通信速度高、成本低等优点,广泛应用于工业通讯、电力监控以及仪器仪表等行业。
若总线上接有终端电阻,则在总线空闲状态时,RS-485总线AB差分电压可能处于门限电平(±200mV)之内,这时可能会导致通信出错,那么,出错的原因是什么?MCU接收到的数据会发生什么样的变化?数据出错的原因如图1所示为8位数据位无校验位的UART时序图,当使用UART进行通信时,MCU在检测到起始位后开始接收其后的数据。
图1 无校验位,8位数据位,串口时序图如图2所示为STM32串口外设检测到起始位的条件,当检测到下降沿(3个高电平+1个低电平)并且采样序列1和采样序列2均为0时,STM32检测到一个起始位。
每个位采样16次,采样点的间隔时间为tbit/16,tbit为每个位的时间,例如通信波特率为115.2kbps,则tbit=1/115.2k=8.68us,则采样点的间隔时间为8.68us/16=0.5425us。
图2 STM32串口外设检测到起始位的条件下面以RSM485PCHT的门限电平为例进行说明,当AB差分电压处于±200mV之内时,模块RXD引脚输出状态不确定。
当总线变为空闲时,若RXD引脚输出低电平,则可能导致MCU接收到错误数据或MCU在正常数据后误接收1个0x00。
图3 RSM485PCHT门限电平数据发生了什么变化?如图4所示,收发器1在AB差分电压处于±200mV门限电平之内时输出高电平,收发器2在AB差分电压处于±200mV门限电平之内时输出低电平,可以看出,收发器2可能导致MCU接收到错误的数据,并且在数据后误接收到1个0x00数据。
图4 数据后多0x00如图5所示,若总线上持续存在数据信号或连续发送多个字节数据,在数据之间存在的空闲状态可能会被收发器2识别为1个起始位,从而导致数据连续错误。
485芯片问题总结485芯片问题总结485芯片问题总结杭州办事处多家智能电表类客户设备集中出现485芯片问题,其他类型的客户较少的出现此类问题。
智能仪表是随着80年代初单片机技术的成熟而发展起来的,现在世界仪表市场基本被智能仪表所垄断。
究其原因就是企业信息化的需要,企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。
最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能。
随后出现的RS485解决了这个问题。
同时RS485也存在问题:1、通信质量差或者无法通信。
A、收发时序不匹配现象1:485通讯不成功,用逻辑分析仪查看,发送的码字正确,电能表返回码字也符合规约。
再细看,主站发送的码字的最后一位同电能表应答的数据帧的第一位之间几乎没有停顿。
分析:由于485总线是一个半双工的通讯方式,收和发不能同时进行,从发送完成到变为接收状态,无论是软件的处理抑或是硬件的切换都需要一定的延时,因此DL/T645规定帧间延时Td:20ms≤Td≤500ms,主要是给发送方一个由发转为收的时间,保证接收方返回的数据能完整的被接收。
而有些电能表,尤其是一些早期的多功能表对此考虑不够,在接收到主站的请求命令帧后,未进行帧响应延时,就立刻发送应答帧,而此时主站还处于发送状态,等主站返回到接收状态时,电能表前面的码字已发送完,主站接收到的应答数据帧不完整引起通信失败。
现象2:当主站对某块表连续抄几帧数据时,第一帧通讯成功,第二帧开始电表不回应答帧。
分析:同样的道理,电表的485由发转为收也需要延时,而有的主站软件编程时,没有考虑,接收完一帧数据后没有延时或延时不够就又开始抄下一帧,而此时电表还没有回到接收状态,通讯失败。
在这里我们建议通信双方在编程时都必须严格遵守DL/T645所规定的帧间延时,并留有余量,具体应用时可取一个中间值,如100ms。
B、判断帧起始符出错对于电能表485总线来讲,它是一种数字异步通信方式。
UART数据波形分析摘要:本文通过对异步串行数据格式的分析,阐述通过波形分析方法调试UART数据收发的原理和方法。
经常遇到初学者,对单片机串行通讯出了问题不知道如何办的情况。
其实最有效的调试方法是用示波器观察收发数据的波形。
通过观察波形可以确定以下情况:1.是否有数据接收或发送;2.数据是否正确;3.波特率是否正确;一、串行数据的格式异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1 位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。
起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。
对于负逻辑(如RS-232电平)则相反。
例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。
图1 TTL电平的串行数据帧格式(55aah)图2 RS-232电平的串行数据帧格式(55aah)二、根据波形图计算波特率如图3是图1在示波器中的显示示意,其中灰色线是示波器的时间分度线,此时假设是200ms/格。
图3 波特率计算示意图可以看了,第一个字节的10位(1位起始位,8位数据位和1位停止位)共占约1.05ms,这样可计算出其波特率约为:10bit / 1.05ms X 1000 ≈ 9600 bit/s如果上图中的时间轴是100ms/格,同样可以计算出波特率应是19200bit/s。
当通讯不正常,又能观察到波形时,就可根据上述方法,从波形图计算一下波特率是否正确。
三、根据波形图判断RS-485收发数据的正确与否RS-485是一种半双工的串行通讯方式,485电平芯片所以要正确接收和发送数据,必需保证控制信号和数据的同步,否则要么发送数据丢失,要么接收数据可能丢失。
RS-485发送数据时的正确时序如图4所示。
图4 RS-485的正确发送数据时序在图4中,发送控制信号的宽度基本与数据信号的宽度一致,所以能保证发送数据的正确和发送后及时转为接收。
照明时序开关 4851. 什么是照明时序开关 485?照明时序开关 485是一种用于控制照明设备的智能开关系统。
它采用了RS-485通信协议,可以通过电脑或其他智能设备进行远程控制。
该系统具有多路输出、定时控制、亮度调节等功能,可广泛应用于商业建筑、办公楼、学校、医院等场所的照明系统。
2. 照明时序开关 485的工作原理照明时序开关 485由以下几个主要部分组成:(1) 主控模块主控模块是整个系统的核心部分,负责接收来自用户的指令并发送给各个从机模块。
它具有高性能的处理器和存储器,可以处理大量的数据和指令。
(2) RS-485通信模块RS-485通信模块是实现主控模块与从机模块之间通信的重要组成部分。
它采用了RS-485通信协议,具有高速传输、抗干扰能力强等特点,可以稳定可靠地传输数据。
(3) 从机模块从机模块是连接到照明设备的控制模块,负责接收主控模块发送的指令并控制相应的照明设备。
每个从机模块可以控制多个照明设备,通过与主控模块的通信,可以实现对照明设备的远程控制。
(4) 亮度调节模块亮度调节模块是用于调节照明设备亮度的部分。
它通过与主控模块和从机模块的通信,实现对照明设备亮度的精确调节。
用户可以根据需要设置不同的亮度值,以满足不同场景下的需求。
3. 照明时序开关 485的功能特点(1) 多路输出照明时序开关 485具有多路输出功能,可以同时控制多个照明设备。
用户可以根据需要设置每个输出通道的开关状态和亮度值,实现对不同区域、不同灯光组合的精确控制。
(2) 定时控制照明时序开关 485支持定时控制功能,用户可以根据时间表设置每个通道在特定时间段内的开关状态和亮度值。
这样可以实现自动化控制,提高能源利用效率。
(3) 亮度调节照明时序开关 485可以实现对照明设备亮度的精确调节。
用户可以根据需要设置不同的亮度值,以满足不同场景下的需求。
这样可以提供更加舒适和节能的照明效果。
(4) 远程控制照明时序开关 485支持远程控制功能,用户可以通过电脑或其他智能设备远程操作系统,实现对照明设备的控制。
R S485自适应数据结构的时序控制设计邓昊,冯兴乐,俞东松(长安大学信息工程学院电子信息系,西安710064)摘要:本文比较并分析两种分别基于软硬件控制方法的自动收发方案,介绍设计原理和具体实现,对R S485硬件电路匹配电阻进行组合探究,实现自适应R S485传感器数据帧结构目的㊂自动收发方案能够确保数据收发时序的一致性,为不同R S485传感器提供稳定的数据传输,达到可靠通信的目的,为相关嵌入式环境应用提供参考㊂关键词:R S485通信;自适应;数据帧结构;方向控制中图分类号:T P336文献标识码:AD e s i g n o f R S485D i r e c t i o n C o n t r o l B a s e d o n A d a p t i v e D a t a S t r u c t u r eD e n g H a o,F e n g X i n g l e,Y u D o n g s o n g(S c h o o l o f I n f o r m a t i o n E n g i n e e r i n g,D e p a r t m e n t o f E l e c t r o n i c I n f o r m a t i o n,C h a n g'a n U n i v e r s i t y,X i'a n710064,C h i n a)A b s t r a c t:I n t h e p a p e r,t w o k i n d s o f a u t o m a t i c t r a n s c e i v e r s c h e m e s b a s e d o n s o f t w a r e a n d h a r d w a r e c o n t r o l m e t h o d s r e s p e c t i v e l y a r e c o m p a r e d a n d a n a l y z e d,a n d t h e d e s i g n p r i n c i p l e a n d t h e c o n c r e t e r e a l i z a t i o n a r e i n t r o d u c e d.T h e m a t c h i n g r e s i s t a n c e o f R S485h a r d w a r e c i r c u i t i s c o m b i n e d t o a c h i e v e t h e p u r p o s e o f a d a p t i v e R S485s e n s o r d a t a f r a m e s t r u c t u r e.T h e a u t o m a t i c t r a n s c e i v e r s c h e m e c a n e n s u r e t h e c o n s i s t e n c y o f t h e t i m i n g o f d a t a t r a n s c e i v e r,w h i c h c a n p r o v i d e s t a b l e d a t a t r a n s m i s s i o n f o r d i f f e r e n t R S485s e n s o r s,a c h i e v e t h e p u r-p o s e o f r e l i a b l e c o mm u n i c a t i o n,a n d p r o v i d e r e f e r e n c e f o r r e l a t e d e m b e d d e d e n v i r o n m e n t a p p l i c a t i o n s.K e y w o r d s:R S485c o mm u n i c a t i o n;a d a p t i v e;d a t a f r a m e s t r u c t u r e;d i r e c t i o n c o n t r o l引言随着物联网领域及其相关技术近年来迅猛发展,作为物联网感知层前端最重要的传感器,其类型也越来越多㊂如常见的输出4~20m A模拟电流信号的传感器㊁输出电压信号的传感器㊁输出R S485信号的传感器等㊂其中R S485信号因其采用差分传输方式而具有抗干扰能力强㊁传输距离长㊁组网方便等优点[1-2]被市场认可,成为大多数仪器仪表选择的信号输出之一㊂考虑到市场上采用R S485信号的传感器数量种类纷繁复杂,输出数据的帧格式㊁位数也不相同,带来的问题是更换不同厂家传感器后都需要人工修改,资源浪费严重㊂对参考文献[3]介绍的方法进行改进,提出利用非门和利用中断标志位检测方法进行自适应数据结构,并结合信号波形实际验证设计效果㊂本文讨论的自适应数据帧结构方法采用硬件和软件两种方式,实现收发时序的一致性,避免手动调节收发时序的复杂性和不确定性,确保物联网感知层与传输层之间的稳定通信㊂1时序控制原理与分析R S485使用一对双绞线来传输信号,其中一线定义为A,另一线定义为B㊂其电气特性规定逻辑 1 以两线间的电压差为+2~+6V表示;逻辑 0 以两线间的电压差为-2~-6V表示[4-5]㊂在R S485中还有一个 使能 端, 使能 端用于控制发送驱动器与传输线的切断与连接㊂当 使能 端起作用时,发送驱动器处于高阻态,称作 第三态 ,它是有别于逻辑 1 与 0 的第三态㊂ 使能 端的控制方法与R S485自动收发实现有着密切的关系,是本文研究的重点㊂由于R S485采取半双工模式进行通信,如何确定数据的收发时序的就显得尤为重要㊂因为如果时序无法得到统一,通信双方将陷入各自为政的情况,数据的正确性无法保障㊂R S485转换芯片有两个使能端,分别是接收使能R E 和发送使能D E㊂当发送使能D E为高电平时,R S485芯片开始发送数据㊂图1为R S485正确发送数据时序图㊂假设发送数据0x55a a,先传第一个字节55,再传第二个字节a a,每个字节都是从低位向高位逐位传输㊂0x55转化为二进制后是01010101,0x a a转化为二进制后为图1 R S 485正确发送时序图10101010,在图1中能够观察到两个字节按由低位往高位依次传输的情况㊂T T L 电平起始位是一位低电平;T T L 电平停止位是一位高电平㊂从图1可以看出,当R S 485发送控制信号的宽度基本与数据信号的宽度一致时,能保证发送数据的准确性㊂图2为R S 485控制信号太短时的时序图,由于控制信号关闭过早,导致第二个字节的后两位发送错误,将出现通信数据不正常的现象㊂图2 R S 485控制信号过短图3为R S 485控制信号过长的时序图,由于控制信号关闭过迟,使R S 485芯片在发送数据后,不能及时转到接收状态,此时总线若有数据过来,则将不能正确接收㊂图3 R S 485控制信号过长由此可见,如何控制使能信号的持续时间对于R S 485通信来说至关重要㊂为了解决准确判断数据收发时刻和精确把控使能信号时间等问题,从硬件和软件两方面来进行自动收发的设计与实现㊂2 硬件自适应设计与实现对于硬件自适应设计,这部分原理是利用非门的取反机制,当T X 为1时,经过 非 运算后,D E 为0,则接收使能,驱动器呈高阻态,此时A ㊁B 的电平是上下拉电阻的电平,A 上拉,B 下拉,A-B>0,输出逻辑1㊂T X 为0时,D E 为1,发送使能,由于D I 接地,也就是0,A ㊁B 输出逻辑0㊂也可用三极管来实现硬件自适应,原理和非门实现基本相同[6]㊂图4为硬件具体实现电路,R X D 连接电阻R 1到R S 485芯片的R O ,电阻R 1起限流作用,保护引脚㊂R 2为下拉电阻,接到B 上,R 3为上拉电阻,接到A 上㊂R 4是匹配电阻㊂C 1是电源旁路电容,作用是给R S 485芯片提供一个干净的电源,使其稳定工作㊂稳压二极管D 1㊁D 2的作用是把A ㊁B 引脚对地的电压以及A 和B 引脚之间的电压钳制到芯片正常工作范围以内,保护芯片㊂无发送数据时,T X D ㊁R X D 为高电平,整体电路处于接收状态㊂发送数据时,发送信号经过非门反向后传给D E 和R E 引脚:当有高电平信号发送时,经反向变为低电平信号,D E /R E 引脚输入为低电平,使发送驱动器禁止,总线为高阻状态,此时由A ㊁B 总线上的上拉电阻产生高电平输出;当有低电平信号发送时,经反向变为高电平信号,D E /R E 引脚输入为高电平,使发送驱动器工作,由于D I 引脚接地,为低电平,这样就将低电平发送至总线,完成数据传输㊂硬件自适应电路能够保证当有数据传输要求时,无论R S 485传感器数据帧长度如何改变,都能准确发送传感器数据,避免出现上文提到的控制信号过长或过短造成接收传感器数据出错问题㊂硬件自适应方法优点是控制简单,不需要在软件上进行额外的工作㊂但这种方法也存在一定的弊端:首先是硬件方面没有充分发挥R S 485芯片自身的驱动能力,由于上下拉电阻不可能选值太小,故这种模式在发送高电平时的驱动能力有限,限制了R S 485的通信距离,当在复杂环境下,可能会出现驱动能力不足的问题[7];其次是当负载量大时,该方法成本较高,需要额外开销,无论是三极管还是非门,都需要搭建与之配套的外围电路㊂3 软件自适应设计与实现3.1 电路原理针对硬件自适应存在的问题,可从软件方面考虑如何设计接收R S 485传感器数据帧自适应的方法㊂本文设计一种行之有效的方法是利用单片机的I /O 口输出高低电平来控制R S 485芯片转换方向,通过对单片机内部中断寄存器标志位的检测判断数据发送情况,从而达到自适应外部R S 485传感器数据帧结构的要求㊂图4 硬件自适应电路图即当R S 485传感器传输数据给单片机,将特定的I /O口置高电平,控制R S 485芯片进入发送状态,同时单片机通过访问内部中断寄存器标志位判断数据是否全部发完,当数据发送完成,单片机检测到标志位置位,再将I /O 口电平反转,让R S 485芯片进入接收状态,从而完成数据的准确发送㊂图5为软件自适应电路组成,控制策略如下:485C o n t r o l 是由单片机引出的控制信号,连接到R S 485芯片的D E /R E 使能端㊂当485C o n t r o l 为低电平时,R S 485芯片处于接收状态;485C o n t r o l 为高电平时,R S 485芯片处于发送状态㊂485C o n t r o l 的高低变化是由中断寄存器标志位来决定的,若R S 485传感器数据没发送完成,该标志位不会置位,软件设置485C o n t r o l 仍保持高电平;若R S 485传感器已完成数据发送,寄存器标志位置位,软件将485C o n t r o l 变为低电平,结束数据发送㊂故该方法是通过软件实现切换485C o n t r o l 的电平来达到控制R S 485收发状态的目的㊂图5 软件自适应电路图3.2 代码实现本文采用M S P 430单片机作为主控板,使用C 语言编程,选取单片机的P 3.3口为485C o n t r o l 信号㊂参考文献[8]介绍了利用重复中断的方法去进行方向变换,但其对主控板要求较高㊂参考文献[3]主要讨论了在L i n u x 环境下利用底层驱动来控制R S 485方向转换,其方法实际操作起来较困难,故本文基于最易于实现的方法来进行软件转换的设计㊂该部分代码可分为三部分,首先要对P 3.3口方向控制寄存器进行设置,设置其为输出㊂再对D E ㊁R E 使能端宏定义,方便程序后面直接调用㊂其次是S e n d C h a r 函数和S e n d -B u f f e r 函数,S e n d C h a r 函数主要完成以字节为单位的数据发送,其内部有判断中断寄存器标志位的步骤㊂S e n d B u f f e r 函数主要完成以帧结构形式的数据发送,可根据R S 485传感器来直接定义数据长度㊂各部分详见如下:①#d e f i n e D R E _o u t P 3D I R |=B I T 3//连接R S 485芯片的D E ㊁R E 的I /O 设置为输出状态#d e f i n e D E P 3O U T |=B I T 3//设置R S 485芯片处于发送状态 #d e f i n e R E P 3O U T &=~B I T 3//设置R S 485芯片处于接收状态②v o i d S e n d C h a r (u n s i g n e d c h a r s e n d c h a r );{//发送一个字节的数据w h i l e (!(I F G 1&U T X I F G 0)); //等待发送寄存器为空,当发送寄存器发送完成时,I F G =1,//w h i l e (!1),跳出循环 D E ;//R S 485发送状态T X B U F 0=s e n d c h a r ; w h i l e (!(I F G 1&U T X I F G 0)); R E ;//R S 485接收状态 }I F G 1是单片机内部的中断标志寄存器1,它共有8位,最高位是发送中断标志位U T X I F G 0,表1为该寄存器的详细信息㊂U T X I F G 0位上电后为1,表示可以向发送寄存器T X B U F 0进行写操作㊂第一个w h i l e 语句用来排除上次可能余留在发送寄存器中的数据对本次数据发送的影响,第二个w h i l e 语句用来自适应外部R S 485传感器数据情况,一旦数据发送完成,立即将R S 485芯片调整为接收状态㊂表1 中断标志寄存器17654321U T X I F G 0U R X I F G 0NM I I F GO F I F G WD T I F G③v o i d S e n d B u f f e r();{//通过调用S e n d C h a r()函数,发送相应字节数据 f o r (s 1B u f I d x =0;s 1B u f I d x <B U F L E N ;s 1B u f I d x ++){S e n d C h a r (s 1B u f f e r [s 1B u f I d x]); } s 1B u f I d x =0;}S e n d B u f f e r 函数可完成定义数据帧长度的工作,变量B U F L E N 即为数据长度,s 1B u f I d x 为数据标号㊂当已知R S 485传感器数据长度时,可以给该变量直接赋相应的值,从而更准确地完成传感器数据传输通信工作㊂通过上述三部分代码,可实现自适应R S 485传感器数据帧结构的软件自动收发功能,避免了硬件实现的高成本和驱动能力不足等问题㊂3.3 R S 485电路匹配电阻使用R S 485进行通信时,会涉及到通信距离的问题,而通信距离又和匹配电阻的设计有关㊂R S 485通信阻抗匹配常用方法有两种:一是在传输线两端并联电阻,但电阻存在功耗问题;二是采用R C 电路,利用电容隔直通交的特性实现阻抗匹配,但该方法对电容要求高㊂如果想使R S 485通信距离较长,使R S 485芯片带负载能力增强,可在R S 485总线两端接上120Ω的匹配电阻[9-10]㊂参考文献[11]利用仿真软件对R S 485电路传输线上阻抗匹配进行研究,并未直观观察传输信号具体特征㊂参考文献[12]对S F 6密度继电器组网时的匹配电阻考察,参考文献[13]论述中继器如何设置终端电阻㊂故针对自收发电路,具体到自身环境下,本文在软件控制电路中进行了三种电阻组合下通信效果的比较,由R S 485输出A ㊁B 间通信波形最终确定出效果最好的电阻组合形式㊂具体组合情况如下:①A B 间电阻120Ω,A B 线上电阻10Ω,该组合情况下,R S 485波形不对称,波形有毛刺,见图6中的线2㊂②A B 间电阻120Ω,A B 线上电阻0Ω,该组合情况下,R S 485波形很对称㊁标准,传输数据正常,见图6中的线1㊂③A B 间无电阻,A B 线上无电阻,该组合情况下,R S 485信号不正常,且根本无法传输数据,该种情况应该舍弃㊂该部分测试方法如下:单片机发送指令0x 01,用示波器观察R S 485通信波形㊂在示波器上显示的一组数据由起始位㊁8比特数据位㊁停止位组成㊂其中起始位为0,后面依次是8比特数据位从低往高排列的顺序,最后是停止位为1㊂可见第二种电阻的组合形式能完整反映出0x 01的传输情况,R S 485波形更对称㊁清晰㊂图6 不同电阻组合下的R S 485通信波形图4 实验结果针对前面讨论的自收发R S 485数据并控制其转换方向的方案,本文利用M S P 430作为主控板,选择S P 3485作为产生R S 485信号的芯片,利用示波器观察R S 485信号及485C o n t r o l 信号波形,进行了以下实验:由单片机发送数据0x 01,经过S P 3485芯片转换为R S 485信号,观察发送数据期间,485C o n t r o l 信号与R S 485总线上信号之间的关系㊂具体情况见图7㊂图7 发送R S 485信号波形图图7中1号线是485C o n t r o l 信号,当总线上无数据发送时,该信号处于低电平状态,R E 使能有效,即R S 485芯片处于接收状态;当总线上有数据发送时,该信号处于高电平状态,D E 使能有效,即R S 485芯片处于发送状态㊂2号线反映的是R S 485总线上(A-B )的波形,发送0x 01按照低电平起始位㊁数据位㊁高电平停止位的顺序排列,其中发送数据位时先发低位后发高位㊂从图中能观察到此时R S 485总线上正在发送0x 01数据,且D E 使能信号与数据长度保持一致,从而确保不会出现控制信号过长或过短而造成接收数据错误的现象,当数据发送完成时,控制信号也随数据结束而转为低电平,使得R S 485芯片转为接收状态㊂进一步证明本文设计的自适应数据结构方法行之有效㊂结 语本文针对不同R S 485信号传感器数据格式不同的情况,设计两种自动收发方案㊂总体而言,两种自动收发方案各有优缺点:硬件自适应方法操作简单㊁稳定性高,但弱化了R S 485芯片本身的驱动能力,同时开销较大,其更适合在简单环境下或R S 485负载数量不多的情况下使用;软件自适应方法不依赖上下拉电阻,使芯片本身的驱动能力最大程度发挥,且电路搭建较硬件方法简单,缺点是代码实现较复杂,稳定性受单片机影响,更适用于复杂环境或负载较多的情况下㊂针对复杂物联网环境下的多种类传感器接入问题,聚焦R S 485传感器数据自收发的实现,自适应数据帧结构能确保数据正确收发,避免手动调整数据收发时序的复杂性和不确定性,本文提出的方法有一定借鉴意义,为相关领域应用提供了参考㊂参考文献[1]韩路平,骆丹妮.R S 485工业控制网络的设计[J ].工业控制计算机,2017,30(11):3233.[2]邓鹏,张明星,唐文涛,等.基于R S 485通信的远程数据采集与控制系统设计[J ].无线互联科技,2016(18):46.[3]吴丽萍,戈志明.嵌入式系统应用中实现R S 485的方向切换[J ].单片机与嵌入式系统应用,2014(4):1316.[4]李淼,朱怀娟,吴义纯.改进的R S 485通信电路[J ].安徽电气工程职业技术学院学报,2016,21(3):98101.[5]张旭.基于单片机的R S 485通信设计[J ].技术与市场,2016,23(8):117.[6]雷兆钢.单片机对R S 232R S 485相互通讯的硬件设计[J ].内蒙古石油化工,2014,40(4):7072.[7]闻海忠.R S 485自动换向控制的三种常用方法[J ].今日电子,2018(8):5759.[8]李永征,范三龙.重复中断方式485方向控制方法[J ].电气化铁道,2018(2):9193.[9]赵亮,张吉礼.提高R S 485总线通信可靠性的优化设计方法[J ].大连理工大学学报,2015,55(4):393398.[10]赵亮.建筑能源系统物联网数据监测与传输质量保障方法[D ].大连:大连理工大学,2014.[11]刘喜增,金湘亮.R S 485总线信号反射分析及传感器采集系统设计[J ].仪表技术与传感器,2017(5):5356.[12]孙银山,尹军华.S F 6密度继电器R S 485通信终端电阻匹配方法研究[J ].电气自动化,2015(1):4648.[13]张利平,张武军,郑望.西门子R S 485中继器在风机控制系统中的应用[J ].工业仪表与自动化装置,2014(3):8889,97.邓昊(研究生),主要研究方向为嵌入式技术与应用㊂(责任编辑:薛士然 收稿日期:2019-01-11) 复杂的动作;运行μC /O S I I 嵌入式操作系统的M S P 430F 149单片机负责环境探测传感器的组织与控制,保证数据采集的稳定性和实时性;R O S 机器人操作系统在树莓派和P C 机上运行[10],以节点为单位管理遥控命令发送㊁遥控命令接收㊁O p e n C V 图像处理等进程,并利用节点之间特有的通信方式将机器人的各个组件有机地联系到一起,实现机器人软件㊁硬件资源的高效管理㊂为了测试该机器人的性能,在斜坡㊁沙石㊁绕桩㊁台阶等地面和场地对机器人的稳定性㊁机动性㊁顺应性进行了测试㊂测试结果表明,该机器人能够灵活地在复杂地面运动出色地完成各项测试任务,发挥了六足仿生探测机器人的越障㊁避障和环境探测功能㊂该机器人结构简单,性能稳定,具有一定的应用价值㊂参考文献[1]Z h i J u n C h e n ,F e n g G a o ,Y a n g P a n .N o v e l D o o r o p e n i n gM e t h o d f o r S i x l e g g e d R o b o t s B a s e d o n O n l y F o r c e S e n s i n g[J ].C h i n .J .M e c h .E n g,2017(30):12271238.[2]刘磊,宁祎.基于R O S 的六自由度机械臂轨迹规划[J ].控制系统与智能制造,2018,33(3):2225.[3]俞建新,王健,宋健建.嵌入式系统基础教程[M ].北京:机械工业出版社,2014:232237.[4]刘琰,郑璐颖,孙浩洋.三角步态下六足机器人运动分析[J ].青岛大学学报:工程技术版,2018,33(3):3942.[5]李团结.机器人技术[M ].北京:电子工业出版社,2012:4372.[6]J O S E P H L .M a s t e r i n g R O S f o r r o b o t i c s p r o g r a mm i n g [M ].R o c k l i n :P a c k e t P u b l i s h i n g Lt d ,2015.[7]夏鑫,张果,王建平.实时操作系统μC /O S I I 串口通信的设计与实现[J ].价值工程,2017,3(19):9093.[8]张伊.基于O pe n c v 图像处理的智能小车户外寻迹算法的设计[J ].电子技术与软件工程,2018(18):6164.[9]易诗,张磊,谢子琼.基于机器视觉的目标跟随六足机器人[J ].重庆邮电大学学报:自然科学版,2017,29(4):558562.[10]张鹏,高放,双丰.基于R O S 的全向移动机器人控制系统的设计与实现[J ].组合机床与自动化加工技术,2018(7):9096.陈铂垒(本科),主要研究方向为机器人㊁智能家居;刘科(博士),主要研究方向为智能机器人;叶嘉辉(本科),主要研究方向为机器人㊁物联网㊂(责任编辑:薛士然 收稿日期:2019-01-11)。
竭诚为您提供优质文档/双击可除485通讯协议怎么写篇一:485通讯协议设置通讯协议Rcm-t2控制仪采用标准modbus-Rtu通讯协议,协议采用主从方式,只有主站发出查询时,从站才能相应主站;从站只相应对其单独发出的指令,对于广播信息,从站只接收,而不向主站相应命令。
modbus通讯协议传输方式Rcm-t2控制仪,串口通讯参数:1位起始位,8位数据位,无校验,1位停止位,波特率:9600,采用Rtu通讯方式。
Rcm-t2控制仪地址列表篇二:Rs485通讯协议介绍第九章串行口Rs485通讯协议9.1通讯概述本公司系列变频器向用户提供工业控制中通用的Rs485通讯接口。
通讯协议采用modbus标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如plc控制器、pc机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过Rs485接口连接数台本公司的变频器作为从机。
以实现变频器的多机联动。
通过该通讯口也可以接远控键盘。
实现用户对变频器的远程操作。
本变频器的modbus通讯协议支持两种传送方式:Rtu方式和ascii方式,用户可以根据情况选择其中的一种方式通讯。
下文是该变频器通讯协议的详细说明。
9.2通讯协议说明9.2.1通讯组网方式(1)变频器作为从机组网方式:单主机多从机图9-1从机组网方式示意图单主机单从机(2)多机联动组网方式:-107-图9-2多机联动组网示意图9.2.2通信协议方式该变频器在Rs485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,pc机或plc可以作为主机控制变频器工作。
具体通讯方式如下:(1)变频器为从机,主从式点对点通信。
主机使用广播地址发送命令时,从机不应答。
(2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。
(3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。
RS485是一种常用的串行通信协议,广泛应用于工业自动化、安防监控和数据采集等领域。
其内部电路设计精妙,能够实现远距离高速数据传输,并具备抗干扰能力强的特点。
RS485采用差分信号传输方式,通过发送方将逻辑高电平与逻辑低电平分别映射为正负电平,接收方则通过检测电平差值来恢复数据。
这种差分信号传输方式使得RS485在长距离传输时能够有效抵抗电磁干扰和传输线路上的噪声干扰,提高了通信可靠性。
RS485的内部电路主要包括发送器和接收器。
发送器通过一个驱动电路将逻辑电平转换为差分电平输出,驱动能力强,能够推动较长的传输线路。
而接收器则通过一个差分输入电路来检测接收到的差分电平,并将其恢复为逻辑电平。
在RS485的发送器中,常用的电路结构是差分驱动电路。
这种电路采用了双晶体管结构,通过控制两个晶体管的导通与截止状态,实现了逻辑电平到差分电平的转换。
同时,发送器还包括了一个电流限制电路,用于控制发送电流的大小,保护线路不受损坏。
接收器部分,一般采用差分比较器电路和电平转换电路。
差分比较器用于检测接收到的差分信号,并输出对应的逻辑电平。
电平转换电路则负责将差分信号转换为标准的逻辑电平,以供后续处理。
除了发送器和接收器,RS485的内部电路还包括了电源电路、时钟电路和控制电路等。
电源电路提供工作电压给发送器和接收器,时钟电路提供时序控制信号,控制电路用于控制发送器和接收器的工作状态,以保证数据传输的正常进行。
总之,RS485的内部电路设计精妙,通过差分信号传输方式实现了远距离高速数据传输,并具备抗干扰能力强的特点。
发送器和接收器的设计使得RS485能够在工业自动化等领域中稳定可靠地工作。
了解其内部电路工作原理,有助于我们更好地理解和应用RS485通信技术。
专芯发展•用芯服务•创芯未来产品特点●低静态电流:300µA●共模输入电压范围:-7V 至+12V ●三态输出●50ns 传输延迟,5ns 偏差●可提供半双工版本●运行时5V 单电源供电●总线上可以接入高达32个接收器●数据传输速率:10Mbps ●限流和热关闭用于驱动过载保护●增强的ESD 规范:•IEC61000-4-2标准中±15kV 空气放电标准•IEC61000-4-2标准中±8kV 接触放电标准产品应用●低功耗RS-485系统●DTE/DCE 接口●数据包交换●本地网络(LNA s )●多路数据转换器●数据集中●集成服务数字网络(ISDN)产品描述CBM485是基于RS-485和RS-422通信标准的低功耗收发器,芯片IC 包含一个驱动程序和一个接收器。
CBM485没有驱动摆率限制,传输速率高达10Mbps。
在没有驱动器,无负载或全负载情况下,收发器使用120µA 至500µA 的供电电流工作。
全部加载工作时使用3.3V 单电源供电。
驱动器通过设置驱动输出为高阻抗状态的过热保护电路进行短路电流限制和超功率耗散保护。
接收器输入具有失效保护特性,当输入开路时,可确保逻辑高电平输出。
接收器输入在输入为开路电流时具有确保高电平逻辑输出的故障安全功能。
来目录产品特点 (1)产品应用 (1)产品描述 (1)目录 (2)引脚分配 (3)引脚描述 (3)绝对最大额定参数 (4)直流电气特性 (5)开关特性 (7)测试电路 (8)功能真值表 (11)典型信息 (11)驱动输出保护 (12)传播延时 (12)典型应用 (12)封装尺寸及结构 (13)SOP-8 (13)MSOP-8 (14)包装/订购信息 (15) 专芯发展•用芯服务•创芯未引脚分配图1引脚描述绝对最大额定值*超出上述绝对最大额定值可能会导致器件永久性损坏。
这只是额定最值,并不能以这些条件或者在任何其他超出本技术规范操作章节中所示规格的条件下,推断器件能否正常工作。
三、根据波形图判断RS-485收发数据的正确与否
RS-485是一种半双工的串行通讯方式(RS-422为全双工),485电平芯片所以要正确接收和发送数据,必需保证控制信号和数据的同步,否则要么发送数据丢失,要么接收数据可能丢失。
RS-485发送数据时的正确时序如图4所示。
图4 RS-485的正确发送数据时序
在图4中,发送控制信号的宽度基本与数据信号的宽度一致,所以能保证发送数据的正确和发送后及时转为接收。
图5 和图6 分别是控制信号太短和控制信号太长的情况。
图5 RS-485控制信号太短时的时序
图6 RS-485控制信号太短时的时序
在图5中,由于控制信号关闭过早,则第二个字节的后两位将发送错误;在图6中,由于控制信号关闭过迟,使485芯片在发送数据后,不能及时转到接收状态,此时总线若有数据过来,则本单元将不能正确接收。