当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]目前已有的一些研究采用硬件改造和CSMA/CD的方法使系统具有多主结构,从而提高实时性,但是实现较为复杂。提出一种基于协议的提高RS 485总线实时性的设计方案,该方案不需

目前已有的一些研究采用硬件改造和CSMA/CD的方法使系统具有多主结构,从而提高实时性,但是实现较为复杂。提出一种基于协议的提高RS 485总线实时性的设计方案,该方案不需要修改硬件,不需要额外资源,只需要进行简单的程序修改。实验结果表明该方案能有效提高系统的实时性。

0 引言

RS 485 总线具有结构简单、成本低廉、通信速率高、传输距离远等诸多优点,因而被广泛应用于工厂自动化、工业控制、安全监控等领域。RS 485一般采用半双工的通信方式,即在整个网络中任一时刻只能有一个节点处于发送状态并向总线发送数据,如果有两个或两个以上节点同时向总线发送数据,将会导致所有发送的数据发送失败,即所谓的总线冲突。

为了避免总线冲突,整个RS 485 通信系统一般由一个主节点、多个从节点组成。数据通信一般采用主节点轮询各个从节点的方式。各个从节点有自己的通信地址,只有主节点轮询帧中的地址信息与自己的地址相同时,此从节点才会进行应答,其他从节点则忽略此帧,不做任何处理。这种传统的主从调度方式虽然不会引起总线冲突,但是也存在着一些局限性。从节点需要发送数据必须等到主节点轮询到自身,系统的通信效率较低,总线的利用率也较低。每个从节点在一个轮询周期中只有一次发送数据的机会,有实时性要求的信息得不到及时发送,系统的实时性较差。

为了提高RS 485 通信系统的实时性,目前国内外已进行了一些研究工作,大多采用对RS 485 进行软硬件改造使其具有多主结构的方法,使得从节点能够随机发送数据。提出的实现方法是将RS 485接口芯片的数据接收引脚通过一反相器接到CPU的外部中断引脚,用触发中断的方式判断总线上是否有数据传输,同时结合定时器中断判断总线是否空闲;如果总线空闲就获得总线控制权发送数据,然后用监听自己发送数据的方法判断是否发生总线冲突,如果发生冲突,则随机延时一段时间,再重新侦听发送。的方法也与之类似。这些方法一般需要额外的硬件资源,需要对原设备进行硬件改造;方法中提到的碰撞处理一般都采用CSMA/CD的随机退避算法,实现较为复杂,而且时间不可预计,不能保证实时性要求。

本文提出一种基于协议的新方法,该方法不需要改造硬件、不需要额外占用资源,只需要对软件作简单的修改就能升级RS 485 通信系统,提高从节点自主发送数据的能力,从而提高系统的通信效率和实时性。

1 工作原理

通信系统仍旧采用一个主节点、多个从节点的结构,主节点每次在轮询完一个从节点以后,留出一段空隙时间给从节点按需主动上传信息。从节点如果有实时性要求的信息需要上传,除了在主节点轮询到自身时可以上传,在空隙时也能上传。首先规定从节点在空隙上传数据的先后顺序,即上传机会的获取机制,一种方法是按优先级分配时间片,从节点只能在获取了规定的发送机会时利用空隙上传数据。如果在一个空隙中,有多个从节点需要上传数据,从节点需要在等待属于自己的发送机会时侦听总线的状态,如果侦听到总线上已经有其他节点进行了数据传输,则从节点必须放弃这次空隙上传的机会,等待下次空隙。

通过理论分析可以比较本文提出的新方法与传统的轮询方式的实时性。一个传输单元由1 位起始位、8 位数据位、1位校验位、1位停止位组成,一个传输单元的传输时间称为字节时间Tbyte ,波特率为baudrate ,则:

 

设主节点发送的轮询帧长度为Lmaster ,从节点回复的数据帧长度固定为Lslave ,从节点数量为N ,假设所有从节点都正常,去除收发状态切换、帧间隔、程序处理等时间影响,则一个轮询周期Tcycle 理想的理论值为:

 

若采用本文提出的新方法,假设从节点的有实时性要求的信息平均需 x(0 ? x ? N - 1) 次空隙才能够获取总线,则响应时间Tresponse′ 平均值为:

 

当x = N - 1 时,响应时间Tresponse′ 最大值为:

 

采用新方法的实时数据平均响应时间更短,系统的实时性更好。

由式(3)与式(6)可知,采用新方法的响应时间在最差情况下比传统轮询方式的最差情况的响应时间更长,大约为其2倍。综合上述分析,新方法与传统方法的实时性由平均所需空隙次数x 决定,新方法适用于各从节点的有实时性要求的信息产生的时间比较离散,碰撞较少的场合。

2 软件实现

与传统轮询方式相比,新方法的软件实现的主要不同是从节点空隙时间的处理。其主要包括两部分,一部分为总线状态侦听,一部分为空隙中发送机会的获取判断,流程图如图1所示。总线状态侦听的具体实现方法有许多种,可以使用串口中断来侦测总线是否有数据传输,不需要额外使用其他资源。串口在完整接收完一个字节数据后会产生一个中断,所以如果从节点在等待自己的时段时产生了串口接收中断,则表明总线上有数据传输,总线为忙碌状态。


3 实验与分析

本文针对上述方法进行了实验测试。实验环境为:

1个主节点、16个从节点、波特率为1 200 b/s、从节点固定帧长度。有实时性要求的紧急数据采用随机产生的方式,产生的时间间隔为1~2 min.对每个从节点从紧急事件产生到获取总线的时间进行计时,得到紧急事件的响应时间,持续运行1 h,然后每个从节点对各自的所有响应时间求平均值。从节点帧长度为25 B的紧急事件平均响应时间如图2所示。其中,实线指示采用上述新方法的测试结果,虚线指示采用传统轮询方式的测试结果。由图可见,采用新方法的所有从节点的平均响应时间在500 ms以内,而采用传统轮询方法从节点平均响应时间都大于1 500 ms,较大的甚至大于3 000 ms,新方法大大提高了系统的实时性。[!--empirenews.page--]

 


从节点帧长度为155 B 的紧急事件平均响应时间如图3所示,从图中可以得到同样的结论。

 


4 结语

本文提出一种基于协议的提高RS 485实时性的设计方案,通过理论分析和实验验证表明:在从节点实时性信息整体产生间隔大于一个轮询周期的情况下,响应时间最大可以缩短为传统轮询方式响应时间的1/N( N 为从节点数量)。该方案非常适用于像气体数据采集这样的数据量大、数据变化缓慢、突变数据实时性要求高的场合。而且采用该方案不需要额外资源、不需要改造硬件,只需要进行简单的程序修改即可实现现有系统的升级,简单实用,具有广阔的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭