本发明涉及总线通信与控制,具体涉及一种基于rs485总线一主多从的令牌调度系统及通信方法。
背景技术:
1、现今,rs485总线的可靠性在工业现场已经得到充分的验证,因其低廉的成本使rs485总线成为工业背板总线的首选。在现有的基于rs总线的一主机多从机的通信机制中,常存在设备并发冲突的问题。在现有技术方案中,解决总线冲突的方法大多采用延时或轮循的方式来避免并发冲突的情况,但是这样会大大延长主机与从机之间的通讯周期。对于工业现场而言,通讯周期是最重要的指标之一,如何保证通讯周期不受影响且又无并发冲突情况的发生是当前rs485总线待攻克的技术难点。
2、现有的一篇中国专利《一种mbus总线通信方法及系统》,申请公布号为cn110474828a,其解决从机并发冲突的技术方案为通过在mbus主机端增加多机并发冲突仲裁机制,优化通信协议(当从机收到主机下发的多机并发状态时,当有需要主动上报数据的从机延时等待,在等待时间结束后,上传其地址数据。在整个等待循环完成后,主机根据收到的从机地址信息,使用主动访问形式与从机的数据通信),在检测到存在多机并发冲突时,主机管理总线,允许需要上报数据的从机上报地址,主机再根据从机上报的地址来访问从机,避免了冲突的发生,通过主动检测多机并发冲突,使得通信数据少而且高效,降低了系统功耗。以上技术方案是检测到并发冲突后采取措施机制来规避并发冲突带来的问题,但是总线产生并发冲突的根本缘由并没有解决,也就是系统的通信机制并没有改变,仅是在发生并发冲突后通过增加的多机并发冲突仲裁机制进行解决,也就是所谓的治标不治本。
技术实现思路
1、本发明目的在于提供一种基于rs485总线一主多从的令牌调度系统及通信方法,用于解决rs485总线通信系统中常出现的多从机并发冲突的问题。
2、为达成上述目的,本发明提出如下技术方案:
3、一种基于rs485总线一主多从的令牌调度系统,包括连接于同一rs485总线上的一个主机和至少两个从机,还包括电性连接于所述rs485总线上的终端模块;
4、所述从机之间以级联的方式连接,其中,定义与所述终端模块连接的所述从机为末位从机,与所述主机连接的所述从机为首位从机;
5、每一所述从机均配置有信号选择器和令牌信号线;
6、级联顺序上在后的所述从机的信号选择器的输出端连接于与其相邻的在前的所述从机的信号选择器的输入端以及在前的所述从机的令牌信号线,所述首位从机的信号选择器的输出端连接于所述主机的令牌信号输入端口,所述末位从机的令牌信号线连接于所述终端模块,其中,所述终端模块向所述末位从机的令牌信号线保持提供稳定电平以作为所述末位从机的令牌信号线上的令牌信号;
7、所述主机通过所述rs485总线向所有所述从机发起数据交互请求,以使得所述从机捕获到其对应的所述令牌信号线上的令牌信号从而响应所述数据交互请求并控制其对应的所述信号选择器输出令牌信号,并逐级向前传递直至所述主机通过所述令牌信号输入端口接收到令牌信号以完成所述数据交互请求。
8、作为本发明的一种优选技术方案,所述终端模块设有第一电阻,所述第一电阻与所述末位从机的令牌信号线连接。
9、作为本发明的一种优选技术方案,每一所述从机均设有电性连接的第二微控制器和第二rs485串口模块,所述从机通过所述第二微控制器与所述令牌信号线连接,所述第二微控制器电性连接所属所述从机的所述信号选择器(203)以及所述第二rs485串口模块;
10、所述第二微控制器通过所述第二rs485串口模块接收所述数据交互请求时,同时控制其所属从机对应的所述信号选择器输出非令牌信号的电平,然后根据所述数据交互请求的内容判断自身是否有ttl电平信号类型的上行数据发送给所述主机,并根据所属所述从机的所述令牌信号线的电平状态来判断是否存在令牌信号以是否响应所述数据交互请求及控制所述信号选择器输出令牌信号;
11、当所述第二微控制器检测到所属所述从机的令牌信号线存在令牌信号时,所述第二微控制器若有所述上行数据发送给所述主机,则将所述上行数据通过所述第二rs485串口模块发送给所述主机,以完成响应所述数据交互请求,之后配置所属所述从机的所述信号选择器输出令牌信号,否则直接配置所属所述从机的所述信号选择器输出令牌信号;其中,所述信号选择器输出的令牌信号是所属所述从机对应的所述第二微控制器产生的;
12、所述第二rs485串口模块与所述rs485总线电性连接,用于将所述第二微控制器产生的ttl电平信号类型的所述上行数据转换成可供所述rs485总线传输的rs485差分信号类型的所述上行数据。
13、作为本发明的一种优选技术方案,所述主机设有电性连接的第一微控制器和第一rs485串口模块,所述令牌信号输入端口设于所述第一微控制器上以接收首位从机传递的令牌信号;
14、所述第一rs485串口模块与所述rs485总线电性连接,用于将所述主机发起的ttl电平信号类型的所述数据交互请求转换成可供所述rs485总线可传输的rs485差分信号类型的所述数据交互请求。
15、作为本发明的一种优选技术方案,所述配置所属所述从机的所述信号选择器输出令牌信号,包括,
16、所述第二微控制器选择其自身产生的令牌信号,或者级联顺序上与所属所述从机相邻的在后的所述从机的信号选择器输出的令牌信号作为所属所述从机的所述信号选择器输出的令牌信号。
17、作为本发明的一种优选技术方案,所述终端模块还设有终端匹配电阻。
18、作为本发明的一种优选技术方案,所述令牌信号的类型为高电平信号、低电平信号和脉冲信号的任意一种。
19、本发明还提供一种基于rs485总线一主多从的令牌调度系统的通信方法,用于基于rs485总线的一主机与若干从机之间的令牌调度通信,包括:
20、所述令牌调度系统上电初始化时,所述主机通过广播帧向所有所述从机发起数据交互请求,以使所述从机配置其对应的信号选择器输出非令牌信号的电平,使得除了末位从机之外的从机的令牌信号线均处于非令牌信号的电平状态,以使所述从机处于等待接收令牌信号并准备响应所述数据交互请求的状态,然后根据级联顺序上的地址表在相应的广播帧数据包中读取自己的数据,直至其捕获到令牌信号后才响应所述数据交互请求并在响应完成后产生令牌信号依据级联顺序向前传递,直至所述主机接收到令牌信号完成本轮次的所述数据交互请求;
21、其中,所述末位从机的令牌信号线由所述终端模块向其持续提供稳定的电平作为初始的令牌信号,以使其作为第一个符合响应条件的从机。
22、作为本发明的一种优选技术方案,所述主机通过rs485总线开始数据交互请求的交互数据类型包括过程数据和非过程数据。
23、作为本发明的一种优选技术方案,在每一轮次的由所述主机发起的所述数据交互请求过程中,每一所述从机均只响应一次所述数据交互请求。
24、本发明的技术方案主要用于解决基于rs485总线一主多从的通信机制中出现的并发冲突问题,通过在每个从机上集成一个信号选择器,用于传递令牌信号,再搭配自定义的总线设计,当主机将广播指令传输到rs485总线上时,所有从机几乎同时接收该广播指令但在令牌信号到达之前不响应,而是通过令牌信号的传递来触发从机响应数据交互请求,使从机按顺序依次响应,从而解决从机并发冲突的发生。本技术方案可广泛应用于工业现场中的分布式io模块的背板总线设计,实现主机与从机实时传输监控数据、分配从机地址、告警主动上报、同步功能等。
25、应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。
26、结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面的描述中显见,或通过根据本发明教导的具体实施方式的实践中得知。
1.一种基于rs485总线一主多从的令牌调度系统,包括连接于同一rs485总线上的一个主机(1)和至少两个从机(2),其特征在于,还包括电性连接于所述rs485总线上的终端模块(3);
2.根据权利要求1所述的基于rs485总线一主多从的令牌调度系统,其特征在于,所述终端模块(3)设有第一电阻(308),所述第一电阻(308)与所述末位从机的令牌信号线(204)连接。
3.根据权利要求1所述的基于rs485总线一主多从的令牌调度系统,其特征在于,每一所述从机(2)均设有电性连接的第二微控制器(201)和第二rs485串口模块(202),所述从机(2)通过所述第二微控制器(201)与所述令牌信号线(204)连接,所述第二微控制器(201)电性连接所属所述从机(2)的所述信号选择器(203)以及所述第二rs485串口模块(202);
4.根据权利要求3所述的基于rs485总线一主多从的令牌调度系统,其特征在于,所述主机(1)设有电性连接的第一微控制器(101)和第一rs485串口模块(102),所述令牌信号输入端口设于所述第一微控制器(101)上以接收首位从机传递的令牌信号;
5.根据权利要求3所述的基于rs485总线一主多从的令牌调度系统,其特征在于,所述配置所属所述从机(2)的所述信号选择器(203)输出令牌信号,包括,
6.根据权利要求2所述的基于rs485总线一主多从的令牌调度系统,其特征在于,所述终端模块(3)还设有终端匹配电阻(307)。
7.根据权利要求1-6任一项所述的基于rs485总线一主多从的令牌调度系统,其特征在于,所述令牌信号为高电平信号、低电平信号和脉冲信号的任意一种。
8.一种如权利要求1所述的基于rs485总线一主多从的令牌调度系统的通信方法,其特征在于,用于基于rs485总线的一主机(1)与若干从机(2)之间的令牌调度通信,包括:
9.根据权利要求8所述的基于rs485总线一主多从的令牌调度系统的通信方法,其特征在于,所述主机(1)通过rs485总线开始数据交互请求的交互数据类型包括过程数据和非过程数据。
10.根据权利要求8所述的基于rs485总线一主多从的令牌调度系统的通信方法,其特征在于,在每一轮次的由所述主机(1)发起的所述数据交互请求过程中,每一所述从机(2)均只响应一次所述数据交互请求。