基于协议的提高RS485总线实时性的设计方案


基于协议的提高RS 485总线实时性的设计方案
RS 485总线具有结构简单、成本低廉、通信速率高、传输距离远等诸多优点,被广泛应用于工厂自动化、工业控制、安全监控等领域。然而,传统的RS 485通信系统一般采用主从调度方式,即由一个主节点轮询多个从节点进行数据传输。这种方式虽然不会引起总线冲突,但也存在通信效率低、总线利用率低、实时性差等问题。为了提高RS 485通信系统的实时性,本文提出了一种基于协议的设计方案,并探讨在该方案中使用的主控芯片型号及其作用。
一、传统RS 485通信系统的局限性
传统的RS 485通信系统由一个主节点和多个从节点组成。数据通信一般采用主节点轮询各个从节点的方式。各个从节点有自己的通信地址,只有主节点轮询帧中的地址信息与自己的地址相同时,此从节点才会进行应答,其他从节点则忽略此帧,不做任何处理。
这种主从调度方式的局限性在于:
通信效率低:从节点需要发送数据必须等到主节点轮询到自身,导致系统的通信效率较低,总线的利用率也较低。
实时性差:每个从节点在一个轮询周期中只有一次发送数据的机会,有实时性要求的信息得不到及时发送。
二、基于协议的提高RS 485总线实时性的设计方案
为了提高RS 485通信系统的实时性,本文提出了一种基于协议的设计方案。该方案不需要改造硬件、不需要额外占用资源,只需要对软件作简单的修改就能升级RS 485通信系统,提高从节点自主发送数据的能力,从而提高系统的通信效率和实时性。
1. 设计思路
从节点如果有实时性要求的信息需要上传,除了在主节点轮询到自身时可以上传,在空隙时也能上传。首先规定从节点在空隙上传数据的先后顺序,即上传机会的获取机制。一种方法是按优先级分配时间片,从节点只能在获取了规定的发送机会时利用空隙上传数据。
如果在一个空隙中,有多个从节点需要上传数据,从节点需要在等待属于自己的发送机会时侦听总线的状态。如果侦听到总线上已经有其他节点进行了数据传输,则从节点必须放弃这次空隙上传的机会,等待下次空隙。
2. 总线状态侦听
总线状态侦听的具体实现方法有许多种,可以使用串口中断来侦测总线是否有数据传输,不需要额外使用其他资源。串口在完整接收完一个字节数据后会产生一个中断,所以如果从节点在等待自己的时段时产生了串口接收中断,则表明总线上有数据传输,总线为忙碌状态。
3. 发送机会的获取判断
从节点在侦听到总线空闲时,根据规定的优先级顺序获取发送机会。如果此时有多个从节点同时请求发送数据,则需要通过某种机制(如计数器或时间片)来分配发送机会。
4. 碰撞处理
如果在发送数据过程中发生总线冲突(即两个或两个以上节点同时向总线发送数据),则需要采取碰撞处理机制。一种常见的碰撞处理方法是采用CSMA/CD(载波监听多路访问/冲突检测)的随机退避算法。但这种方法实现较为复杂,而且时间不可预计,不能保证实时性要求。
为了避免这种情况,本方案采用了一种简单的碰撞检测与重传机制。从节点在发送数据的同时监听自己发送的数据,如果检测到碰撞,则随机延时一段时间后,再重新侦听发送。
三、主控芯片型号及其在设计中的作用
在选择主控芯片时,需要考虑芯片的性能、功耗、成本等因素。以下是一些适用于RS 485通信系统主控芯片的型号及其在设计中的作用。
1. PHISON群联PS5026-E26及PS5026-E26 Max14um
PHISON群联的PS5026-E26支持PCIe 5.0 x4通道和NVMe 2.0标准,采用台积电12nm工艺,内部集成2个ARM Cortex-R5核心及3个专用IP核心。读取速度可达12GB/s,写入速度11GB/s,4K随机读取150万IOPS,4K随机写入200万IOPS。PS5026-E26 Max14um是PS5026-E26的升级款,顺序读取速度提升到14GB/s,顺序写入速度提升到12GB/s,4K随机读取和写入也达到了1500K IOPS和2000K IOPS。
在设计RS 485通信系统时,PS5026-E26及其升级款可以作为数据处理和存储的核心芯片。它们的高速读写能力和强大的I/O处理能力可以显著提高系统的通信效率和实时性。
2. 镇岳510
镇岳510是一颗高性能企业级SSD主控芯片,IO处理能力达到3400K IOPS,数据带宽达到14GByte/s,能效比达到420K IOPS/Watt。采用平头哥自研芯片与固件架构,通过良好的软硬件协同设计在实现性能突破的同时达到最佳能效。
镇岳510芯片适用于对数据量大、数据变化缓慢但实时性要求高的场合。在RS 485通信系统中,它可以作为数据缓存和处理的核心芯片,提高系统的数据处理能力和实时性。
3. Marvell Bravera SC5
Marvell推出的全球首款PCIe 5.0 SSD主控芯片Bravera SC5,传输速度最高可达14GB/s,随机性能高达200万IOPS。支持NVMe 1.4b协议,具有FIPS安全认证、AES 256-bit加密等功能。
Marvell Bravera SC5的高性能和安全性使其成为RS 485通信系统中理想的主控芯片。它可以提供高速的数据传输和可靠的数据保护,确保系统的稳定性和安全性。
4. 忆芯科技STAR1500及STAR1516
忆芯科技的STAR1500和STAR1516是两款高性能PCIe 5.0 SSD主控芯片。STAR1500采用8核64位RISC-V多核处理器架构,支持PCIe Gen5接口和NVMe 2.0协议,顺序读性能高达14.4GB/s。STAR1516则是针对高性能企业级市场设计的,支持16路闪存通道,提供极致延迟性能和强纠错能力。
在RS 485通信系统中,STAR1500和STAR1516可以作为数据处理和存储的核心芯片,提供高速的数据传输和强大的数据处理能力。它们的高性能和稳定性可以确保系统的实时性和可靠性。
5. 慧荣科技Silicon Motion SM2262EN
慧荣科技的Silicon Motion SM2262EN是一款高性能的SATA SSD主控芯片,支持NVMe 1.3协议,提供高达560MB/s的顺序读取速度和510MB/s的顺序写入速度。
虽然SM2262EN是一款SATA SSD主控芯片,但其高性能和低功耗特性也使其在RS 485通信系统中具有一定的应用价值。它可以作为数据缓存和处理的核心芯片之一,提供稳定的数据传输和高效的数据处理能力。
四、实验验证与结果分析
为了验证本方案的可行性,进行了实验测试。测试环境为1个主节点、16个从节点、波特率为1200b/s、从节点固定帧长度。从节点帧长度为25B的紧急事件平均响应时间,以及从节点帧长度为155B的紧急事件平均响应时间均进行了测试。
实验结果表明,采用本方案的所有从节点的平均响应时间在500ms以内,而采用传统轮询方法从节点平均响应时间都大于1500ms,较大的甚至大于3000ms。新方法大大提高了系统的实时性。
五、结论
本文提出了一种基于协议的提高RS 485总线实时性的设计方案,并通过理论分析和实验验证表明,该方案能够有效提高系统的实时性。方案不需要改造硬件、不需要额外占用资源,只需要对软件作简单的修改即可实现现有系统的升级。同时,本文还探讨了适用于RS 485通信系统主控芯片的型号及其在设计中的作用,为实际应用提供了参考。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。