CN210294853U - 一种基于单主多从协议实现多主机的装置 - Google Patents
一种基于单主多从协议实现多主机的装置 Download PDFInfo
- Publication number
- CN210294853U CN210294853U CN201921632109.1U CN201921632109U CN210294853U CN 210294853 U CN210294853 U CN 210294853U CN 201921632109 U CN201921632109 U CN 201921632109U CN 210294853 U CN210294853 U CN 210294853U
- Authority
- CN
- China
- Prior art keywords
- module
- slave
- processor
- host
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本实用新型提供了一种基于单主多从协议实现多主机的装置,包括:处理器模块、至少两个主机接入模块、至少一个从机接入模块;所述主机接入模块和从机接入模块分别连接所述处理器模块,用于实现主机和处理器模块、从机和处理器模块之间的通信。本实用新型在原单主485网络上扩展1路主机接口,共具有3个RS485接口,每个口都采用电源隔离和信号隔离,带有TVS,自恢复保险丝。结合缓存协调的软件算法,当两主机同时通信时,另一路主机的数据被缓存,待总线空闲时,再通信另一路,完全解决了单主多从协议上多主机的通信故障问题,避免了数据碰撞,且合理利用了处理器内存资源和逻辑单元资源,具有通信可靠,效率高的有益效果。
Description
技术领域
本实用新型涉及单主多从通信领域,具体涉及一种基于单主多从协议实现多主机的装置。
背景技术
随着物联网概念的提出,相关产业的落地,物联网产业迎来飞速的发展,遍布于世界各个角落的电子传感器,仪表,设备,控制器等等,电子终端设备都有接入物联网的需求,而绝大多数存量终端并不具备多余的接口来加入物联网,这就使得物联网最后1公里面临巨大挑战。
在存量市场上,仪表,控制器,传感器等等,有很大部分采用的是2线制485,而所支持的协议绝大多数是MODBUS协议,自由协议。Modbus协议采用的是简单的主从应答机制,即主机向从机发送请求,从机对主机的请求进行应答。该协议公开发表且无版权税,有许多公司的产品支持Modbus协议。同时,Modbus网络在通讯的时候有着较高的可靠性,并且其帧格式较简单,较易进行开发。按照Modbus协议规定,Modbus网络中只能存在一个主机,其余均为从机。这样一主多从的结构存在以下几个问题。首先,一旦主机出现故障,则整个网络陷于瘫痪,无法实现对从机的查询工作。其次,单主机网络架构无法实现多主机对于网络内部资源的访问。由于单主机网络架构存在以上的缺点,如何在Modbus网络中实现多主机共存,并实现多主机对于网络的访问的成为当今Modbus网络所需要解决的一个难题。
如果为了实现万物互联而替换硬件,更改程序,改变架构,那么将会耗费巨大的人力物力,并且也使得原有设备变的不稳定。单主多从协议不支持多主机,目前的通用做法就是强行在总线上加入主机,然后通过在主机上设置不同的采样周期,或者是通过某种手段监测总线空闲,来减少两个主机的冲突。然而这种手段并不可以绝对避免数据碰撞。为此,申请号为201721065206.8的中国专利,公开了一种基于Modbus协议的多主机通讯系统:当通讯系统运行时,多个Modbus通讯主机同时请求Modbus通讯从机信息时,利用中断处理方式,将多个Modbus通讯主机的通道分别进行标记,存入DMA缓冲区,进行轮询中断处理,首先将第一个Modbus通讯主机的请求信息通过RS485接口模块发送给Mod bus通讯从机,此后根据Modbus通讯协议在中断程序中进行Modbus通讯主机和Modbus通讯从机信息的交互,当交互完成后,释放Modbus通讯主机和Modbus通讯从机的通路,然后进行第二个Modbus通讯主机和Mod bus通讯从机的通讯交互,依此类推。
上述对多主机Modbus通讯通道的分别进行标记,存入DMA缓冲区,并轮询中断的方式,轮流进行主从交互,虽然实现了多主机对于网络内部资源的访问,来减少两个主机的冲突。然而这种手段并没有从根本上解决数据碰撞,且轮询中断、轮流进行主从交互的单线程执行方式,并没有合理利用单片机内存资源和逻辑单元资源,导致通信效率低下,迫切需要加以改进。
实用新型内容
为解决上述问题,本实用新型提供了一种基于单主多从协议实现多主机的装置。本实用新型在原单主485网络上扩展1路主机接口,共具有3个RS485接口,每个口都采用电源隔离和信号隔离,带有TVS,自恢复保险丝。结合缓存协调的软件算法,当两主机同时通信时,另一路主机的数据被缓存,待总线空闲时,再通信另一路,完全解决了单主多从协议上多主机的通信故障问题,避免了数据碰撞,且合理利用了处理器内存资源和逻辑单元资源,具有通信可靠,效率高的有益效果。
为实现所述技术目的,本实用新型的技术方案是:一种基于单主多从协议实现多主机的装置,包括:处理器模块、至少两个主机接入模块、至少一个从机接入模块;
所述主机接入模块和从机接入模块分别连接所述处理器模块,用于实现主机和处理器模块、从机和处理器模块之间的通信。
进一步,所述处理器模块包括型号为STC15W的处理器及其最小系统。
进一步,所述主机接入模块、从机接入模块采用型号为ADM2483的磁隔离RS485收发器。
进一步,还包括:
电源输入模块,采用型号为XL1509的线性稳压器,将输入电源降压至所述处理器的工作电压;
显示模块,用于主机和处理器、从机和处理器的通信状态显示以及处理器运行状态的显示。
进一步,还包括看门狗模块,看门狗模块包括型号为SGM706的多功能微处理器监控电路,及型号为MT9700的功率开关电路,用于防止不明原因导致的装置死机。
作为本实用新型的一种优选的实施方案,基于上述内容,还包括隔离电源模块,隔离电源模块采用型号为B0505S的电源模块,并连接所述功率开关电路,用于给各个主机接入模块、从机接入模块供给相互不相关的电源,隔断电的联系,防止相互间的干扰。
本实用新型的有益效果在于:
本实用新型在原单主485网络上扩展1路主机接口,共具有3个RS485接口,每个口都采用电源隔离和信号隔离,带有TVS,自恢复保险丝。结合软件算法,实现了单主多从2线制485网络中不能实现多主机同时采集的问题,使数据可以被另外的设备采集,而不需要对原有程序进行变更,不需要做任何替换。将大幅减少升级成本和减少升级时间,减少升级风险。
附图说明
图1是本实用新型基于单主多从协议实现多主机的装置模块化原理示意图;
图2是本实用新型电源输入模块的电路原理图;
图3是本实用新型看门狗模块的电路原理图;
图4是本实用新型隔离电源模块的电路原理图;
图5是本实用新型显示模块的电路原理图;
图6是本实用新型第一主机接入模块的电路原理图;
图7是本实用新型第一主机接入模块的电路原理图;
图8是本实用新型从机接入模块的电路原理图;
图9是本实用新型处理器模块的电路原理图。
图10是本实用新型基于单主多从协议实现多主机的方法模块化原理示意图;
图11是本实用新型的A功能块逻辑原理图;
图12是本实用新型的B功能块逻辑原理图;
图13是本实用新型的C功能块逻辑原理图。
具体实施方式
下面将对本实用新型的技术方案进行清楚、完整地描述。
一种基于单主多从协议实现多主机的装置,如图1所示,包括:处理器模块、至少两个主机接入模块、至少一个从机接入模块;
所述主机接入模块和从机接入模块分别连接所述处理器模块,用于实现主机和处理器模块、从机和处理器模块之间的通信。本实用新型在原单主通信网络上扩展1路主机接口,共具有3个通信接口,为多主机通信提供了硬件基础。
进一步,如图9所示,所述处理器模块包括型号为STC15W的处理器及其最小系统。STC15W支持外部RAM扩展,方便了各主机和从机之间的通信数据寄存。
进一步,如图6-8所示,所述主机接入模块、从机接入模块采用型号为ADM2483的磁隔离RS485收发器,用于给3个RS485收发器供给相互不相关的电源。隔断电的联系,防止相互间的干扰。本实用新型的三个RS485收发器每个口都采用电源隔离和信号隔离,带有TVS,自恢复保险丝。
进一步,如图2和图5所示,还包括:
电源输入模块,采用型号为XL1509的线性稳压器,将输入电源降压至所述处理器的工作电压;电源从xs6的1,2脚接入,电压范围DC9-30V。通过DC/DC芯片降压到5V,供内部芯片使用。D1二极管防止直流电源的反接,DZ1过压保护,将电压限制在DC30V附近。本实用新型支持DC9-DC30V供电,具有过压保护。
显示模块,用于主机和处理器、从机和处理器的通信状态显示以及处理器运行状态的显示。3只双色LED灯,LED1,LED2,LED3用于显示3个RS485收发器的通信状态,LED4用于显示处理器的工作状态,处理器工作正常时,此灯会每隔500ms切换亮灭状态。
进一步,如图3所示,还包括看门狗模块,看门狗模块包括型号为SGM706的多功能微处理器监控电路,及型号为MT9700的功率开关电路,用于防止不明原因导致的装置死机。看门狗芯片U11一直监测单片机发出的交替信号,如果持续1.6秒状态不反转,则通过S1切断单片机的电源后再恢复,从而保证单片机可靠工作。
作为本实用新型的一种优选的实施方案,基于上述内容,如图4所示,还包括隔离电源模块,隔离电源模块采用型号为B0505S的电源模块,并连接所述功率开关电路,用于给各个主机接入模块、从机接入模块供给相互不相关的电源,隔断电的联系,防止相互间的干扰。
一种基于单主多从协议实现多主机的方法,使用了上述的基于单主多从协议实现多主机的装置,其包括以下步骤:
S1:处理器时刻监控各个主机发来的数据,并只存储1个通信帧的数据;
S2:处理器将以所述步骤S1中,来自不同主机的数据存储于不同的存储区,且不相互重叠;
S3:处理器检测这各个存储区是否有新的数据,如果有并且从机总线空闲,则发送此存储区的数据到从机总线;
S4:发送完毕后,开始等待从机总线的响应信息,如果在预设的时间内收到数据,则立即将接收到的数据发送到该存储区对应的主机处,如果没有接收到数据那么处理器继续监控存储区。通过以上的缓存协调机制,当两主机同时通信时,另一路主机的数据被缓存,待总线空闲时,再通信另一路,完全解决了单主多从协议上多主机的通信故障问题,避免了数据碰撞。
作为本实用新型的一种实施例,所述步骤S1中,有主机1和主机2两个主机接入处理器,对应存在第一主机接入模块和第二主机接入模块;步骤S1中:处理器时刻监控主机1发来的数据,并只存储1个通信帧的数据,依靠3.5T时间来判断帧尾。同时时刻监控主机2发来的数据,并只存储1个通信帧的数据,依靠3.5T时间来判断帧尾。
为了清楚的表明本实用新型基于单主多从协议实现多主机的方法,如图10所示,按照模块化程序编程方法,以下将处理器内程序划分为A功能块、B功能块、C功能块三个功能块。所述A功能块1用以接收主机1发来的通信报文并放入A接收缓存,将A发送缓存区的报文发送回主机1。所述B功能块2用以接收主机2发来的通信报文并放入接收缓存,将B发送缓存区的报文发送回主机2。所述C功能块用以将A接收缓存和B接收缓存发送到从机总线,将总线响应的报文区分放入A发送缓存和B发送缓存。本实用新型可实现多线程工作,合理利用了处理器内存资源和逻辑单元资源,具有通信可靠,效率高的有益效果。
所述步骤S2中,处理器内部RAM中,划分A存储区、B存储区两个存储区。
进一步,如图11所示,处理器将所述A存储区划分为A接收缓冲区、A发送缓冲区,A功能块时刻监控第一主机接入模块,一旦接收到主机1发来的数据,立即存入A接收缓存区,同时监控A发送缓存区是否有数据,如果有立即发送回主机1;
如图12所示,B存储区划分为B接收缓冲区、B发送缓冲区,B功能块时刻监控第二主机接入模块,一旦接收到主机2发来的数据,立即存入B接收缓存区,同时监控B发送缓存区是否有数据,如果有立即发送回主机2。
进一步,如图13所示,所述步骤S3和S4中,C功能块时刻监控A接收缓冲区,B接收缓冲区,如果A接收缓冲区内有数据,立即将A缓冲区数据从处理器接口发出到从机接入模块的从机总线上,并开始等待从机总线的响应,如果从机总线不能响应,那么C功能块继续监控B接收缓冲区和A接收缓冲区,但是此时先监控B接收缓冲区,如果从机总线响应了数据,那么处理器先将接收到的数据存入A发送缓冲区,然后再监控B接收缓冲区和A接收缓冲区;
如果B接收缓冲区内有数据,立即将B缓冲区数据从接口发出到从机总线,并开始等待从机总线的响应,如果从机总线不能响应,那么C功能块继续监控A接收缓冲区和B接收缓冲区,但是此时先监控A接收缓冲区,如果从机总线响应了数据,那么处理器先将接收到的数据存入B发送缓冲区,然后再监控A接收缓冲区和B接收缓冲区。
而本方法引入缓存协调机制,将完全避免此种情形。当两主机同时通信时,另一路主机的数据被缓存,待总线空闲时,再通信另一路。完全解决了单主多从协议上多主机的通信故障问题。
对于本领域的普通技术人员来说,在不脱离本实用新型创造构思的前提下,还可以做出若干变形和改进,这些都属于本实用新型的保护范围。
Claims (6)
1.一种基于单主多从协议实现多主机的装置,其特征在于,包括:处理器模块、至少两个主机接入模块、至少一个从机接入模块;
所述主机接入模块和从机接入模块分别连接所述处理器模块,用于实现主机和处理器模块、从机和处理器模块之间的通信。
2.根据权利要求1所述的基于单主多从协议实现多主机的装置,其特征在于,所述处理器模块包括型号为STC15W的处理器及其最小系统。
3.根据权利要求2所述的基于单主多从协议实现多主机的装置,其特征在于,所述主机接入模块、从机接入模块采用型号为ADM2483的磁隔离RS485收发器。
4.根据权利要求3所述的基于单主多从协议实现多主机的装置,其特征在于,还包括:
电源输入模块,采用型号为XL1509的线性稳压器,将输入电源降压至所述处理器的工作电压;
显示模块,用于主机和处理器、从机和处理器的通信状态显示以及处理器运行状态的显示。
5.根据权利要求4所述的基于单主多从协议实现多主机的装置,其特征在于,还包括看门狗模块,看门狗模块包括型号为SGM706的多功能微处理器监控电路,及型号为MT9700的功率开关电路,用于防止不明原因导致的装置死机。
6.根据权利要求5所述的基于单主多从协议实现多主机的装置,其特征在于,还包括隔离电源模块,隔离电源模块采用型号为B0505S的电源模块,并连接所述功率开关电路,用于给各个主机接入模块、从机接入模块供给相互不相关的电源,隔断电的联系,防止相互间的干扰。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201921632109.1U CN210294853U (zh) | 2019-09-28 | 2019-09-28 | 一种基于单主多从协议实现多主机的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201921632109.1U CN210294853U (zh) | 2019-09-28 | 2019-09-28 | 一种基于单主多从协议实现多主机的装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN210294853U true CN210294853U (zh) | 2020-04-10 |
Family
ID=70065893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201921632109.1U Active CN210294853U (zh) | 2019-09-28 | 2019-09-28 | 一种基于单主多从协议实现多主机的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN210294853U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110531686A (zh) * | 2019-09-28 | 2019-12-03 | 徐州可云智能科技有限公司 | 一种基于单主多从协议实现多主机的装置及其方法 |
CN112382077A (zh) * | 2020-11-12 | 2021-02-19 | 深圳市常工电子计算机有限公司 | 一种多主式rs485通信的水控器及系统 |
-
2019
- 2019-09-28 CN CN201921632109.1U patent/CN210294853U/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110531686A (zh) * | 2019-09-28 | 2019-12-03 | 徐州可云智能科技有限公司 | 一种基于单主多从协议实现多主机的装置及其方法 |
CN110531686B (zh) * | 2019-09-28 | 2024-07-12 | 徐州可云智能科技有限公司 | 一种基于单主多从协议实现多主机的装置及其方法 |
CN112382077A (zh) * | 2020-11-12 | 2021-02-19 | 深圳市常工电子计算机有限公司 | 一种多主式rs485通信的水控器及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110531686B (zh) | 一种基于单主多从协议实现多主机的装置及其方法 | |
CN210294853U (zh) | 一种基于单主多从协议实现多主机的装置 | |
CN111966189B (zh) | 一种灵活配置的多计算节点服务器主板结构和程序 | |
CN106603359B (zh) | Plc系统的通讯控制方法及装置 | |
CN104899170A (zh) | 分布式智能平台管理总线ipmb连接方法及atca机框 | |
CN102724093A (zh) | 一种atca机框及其ipmb连接方法 | |
CN111108450B (zh) | 用于耦合现场总线和本地总线的电路 | |
CN110247936B (zh) | 一种通讯协议转换卡及通讯协议转换系统 | |
CN114490152A (zh) | 一种双机整机级热备系统的建立方法 | |
CN103067201B (zh) | 一种多协议通讯管理机 | |
CN103106113A (zh) | 一种中断事件处理方法和处理设备 | |
CN114039808B (zh) | 基于can的多通道的can/lin/sent转发协议 | |
CN210137335U (zh) | 一种基于单主多从协议实现网络主机的装置 | |
CN108983695A (zh) | 一种基于复杂可编程逻辑器件的主从切换方法和装置 | |
CN1960276B (zh) | 远程控制系统及方法 | |
CN111885008A (zh) | 机器人和焊接设备间的协议转换模块及其转换方法 | |
CN106708701B (zh) | 一种基于arinc659总线的中央维护装置与方法 | |
CN103793344B (zh) | 处理数据冲突的方法及系统 | |
CN103513596B (zh) | 基于arm的mvb总线管理功能实现系统 | |
CN209433225U (zh) | 用于列车网络输入输出系统的处理装置 | |
CN116541329A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN107395478B (zh) | 一种用于高速卷烟包装设备的网络控制系统以及网络通信模块 | |
CN115696100A (zh) | 一种交换机光模块监测方法、装置、设备及存储介质 | |
CN212324117U (zh) | 一种rs485总线多主机竞争切换系统 | |
CN105743927B (zh) | 一种CANopen与DP协议数据转换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |