一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于星载RS485双总线自适应控制方法与流程

2021-11-30 21:44:00 来源:中国专利 TAG:

一种基于星载rs485双总线自适应控制方法
技术领域
1.本发明涉及一种基于星载rs485双总线自适应控制方法,属于控制总线技术领域。


背景技术:

2.卫星内的设备间或设备内的数据传输一般分为2种类型,一种为业务数据;另一种为控制数据。业务数据量大,传输速率高,一般采用lvds接口、2711接口或光纤接口等。控制数据用于设备的遥控指令和遥测数据等。控制的数据量小,传输速率低,但可靠性要求极高,一般采用lvds接口、rs422接口或rs485接口等。控制总线一旦出现问题,将会导致设备的功能失败,甚至卫星失效,因此控制总线必须做到高可靠性。
3.此外,随着卫星功能越来越多,卫星内的设备种类越来越多,功能越来越强大。星载设备朝着小型化、集成化、智能化方向发展。传统控制总线采用点到点的设计方法,其设计简单,但是使用的信号多、器件多,占用的板面积更大,随之带来的是设备的体积和重量大,成本也相对较高。rs485总线具有节点多、功耗低、传输远等优势,而且节省板面积;但其也存在使用限制多、操作不灵活、可靠性相对较低等问题,与控制总线接口要求传输具备高可靠性、任意节点失效不会影响整条总线上其他节点的传输等需求存在差距,所以传统的控制总线仍采用点到点的设计方法,少有采用总线方式。


技术实现要素:

4.本发明要解决的技术问题是:克服现有技术的不足,提供了一种星载rs485双总线设计的控制系统及传输方法,使用该方法可以减少芯片数量、减小单板面积、降低卫星成本,同时提高星载设备控制总线的可靠性和灵活性。rs485双总线分为a总线和b总线,采用交叉备份设计,a、b总线相互独立,互不影响。rs485总线包含一个主节点和多个从节点,如果任意节点其中一条总线出现故障,卫星无需额外发送指令切换备份,故障节点可以自动跳转到另一条好的总线,并上报遥测信息,且总线上其他节点不受影响。该方法硬件面积小,总线自适应切换方法资源占用率低,易于采用fpga或cpu实现。该方法已在某型号在轨成功应用,表现良好,充分验证了该方法的有效性和高可靠性。总线最大可以支持32个总线节点,可以应用于设备内部各板卡之间通信,也可以运用于设备间的传输,在通信和遥感领域应用广。
5.本发明目的通过以下技术方案予以实现:
6.本发明实施例提供一种基于星载rs485双总线自适应控制方法,双总线包括a总线和b总线,rs485总线上设有一个主节点和多个从节点,包括如下步骤:
7.对主控制器:
8.主节点上电后默认工作在a总线上,并对所有的从节点依次发送轮询取遥测指令;对每个从节点,主节点依次通过a总线和b总线,重复多次向该从节点发送轮询取遥测指令,当该从节点识别到总线数据与自身id一致时会返回遥测数据,主节点通过该从节点返回的遥测数据,确定主节点本次开机将以a总线或b总线与该从节点通信;
9.对从控制器:
10.每个从节点上电或复位后默认处于a总线状态;以一定时间间隔,从节点在a总线和b总线之间切换,直到在a总线或b总线收到主节点发送的取遥测指令后,通过相应总线向主节点返回遥测数据,并工作在相应总线。
11.本发明一实施例中,各从节点相互独立的在a总线和b总线之间切换。
12.本发明一实施例中,主节点依次通过a总线和b总线,重复多次向该从节点发送轮询取遥测指令的方式为:
13.主节点首先通过a总线向该从节点发送轮询取遥测指令,如果在一定时间内未收到从节点的遥测信息,主节点切换至b总线,再次向该从节点发送取遥测指令,反复切换多次,直到收到该从节点返回的遥测数据;如果切换多次仍未收到该从节点返回的遥测数据,则主节点跳转至下一个从节点进行遥测指令发送。
14.本发明一实施例中,rs485总线采用主从应答的方式,主节点为总线的发起者,总线上有且只有一个节点作为发送端。
15.本发明一实施例中,rs485总线上的任意一个节点,当该节点不发送数据时均置成接收状态。
16.本发明一实施例中,从节点在a总线和b总线之间的切换时间间隔大于主节点发送轮询取遥测指令的时间间隔,且两个时间间隔不为整数倍关系。
17.本发明一实施例中,从节点在某一总线上处于接收取遥测指令状态时,如果一定时间内未接受到完整遥测指令帧,则重新搜索取遥测指令的帧头。
18.本发明一实施例中,从节点在某一总线上接收完整的取遥测指令后,对取遥测指令的校验和进行判断,不论校验和是否正确,均返回遥测。
19.本发明一实施例中,从节点初始进入某一总线接收状态后,首先判断是否成功完成总线切换,如果成功,则该从节点本次开机锁定在该总线。
20.本发明实施例提供一种基于星载rs485双总线系统,包括主控制器、从控制器、rs85双总线,主控制器作为主节点,从控制器作为从节点,采用上述的控制方法进行数据传输。
21.本发明相比于现有技术具有如下有益效果:
22.(1)本发明rs485双总线自适应控制方法卫星可以自主完成,无需地面操作,从而降低运营成本;
23.(2)本发明rs485双总线设计可靠性高,各节点独立工作,任意节点故障不会影响其他节点工作,只需故障节点自主切换;
24.(3)本发明rs485双总线设计最大可以支持32个从节点,即32台设备,扩展性强,基本涵盖卫星工程应用;
25.(4)本发明主从节点之间增加帧校验判断,可以防止因干扰导致误判,提高了星上产品的可靠性;
26.(5)本发明主控制器具备对从节点3次轮询机制,防止一次轮询失败导致总线锁定异常,且主从切换时间不同,可以保证最短时间完成总线锁定;
27.(6)本发明资源占用率低,主从控制器适用于fpga、cpu,方面嵌入和移植,应用范围广。
附图说明
28.图1为rs485总线拓扑结构。
29.图2为双总线自适应切换示意图。
30.图3为主控制器总线自适应切换流程图。
31.图4为从控制器总线自适应切换流程图。
32.图5为主节点rs485总线切换示意图。
33.图6为从节点rs485总线切换示意图。
具体实施方式
34.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步详细描述。
35.为了提高星载设备的高可靠性,本发明rs485总线采用交叉备份设计,即双总线。这里统称为a总线和b总线,a总线和b总线完全独立,互为热备份,如图1所示。
36.总线上有多个节点,有且只有1个主节点,其他均为从节点。每个节点既有a总线又有b总线,a、b总线互为备份关系。rs485收发器数据信号包括单端收发信号di(接收)、ro(发送)、差分信号p、n,以及控制收发器发送或接收状态的控制信号de(控制发送打开或关闭,高电平打开)、re(控制接收打开或关闭,低电平打开)。为了防止任意节点短路后影响总线上其他节点,硬件上每个从节点的差分端均需要串一个100ω~200ω的电阻进行故障隔离,阻值需根据整个网络的等效电阻进行计算。
37.总线上的数据传输按照约定的异步串口协议进行通信,协议包括帧头(sof)、设备地址(id)、数据类型(type)、数据长度(length)、有效数据(data)、校验(check)、帧尾(eof)等信息。主节点作为控制的中枢,每个节点都有其id,且唯一。总线上的数据每个节点都可以识别到,只有在数据id与自身的id相匹配时才接收。总线通信采用主从应答的方式,主节点为总线的发起者,总线上有且只有一个节点作为发送端。总线上任意节点,包括主节点,当不发送数据时均置成接收状态,防止两个节点同时置成发送状态,否则总线冲突后会导致丢数、错数。在上电过程或接口芯片未被控制状态下,需要保证各节点均处于关闭状态,防止多个节点处于发送状态,rs485收发器的de通过1kω~4.7kω下拉,re通过1kω~4.7kω上拉。
38.一种基于星载rs485双总线自适应控制方法及总线系统,包括:
39.rs485总线上每个节点只工作在一条总线上,上电后默认a总线。主从节点必须工作在相同的总线上,如果主节点发生切换,则每个从节点均需要切换。如果某个从节点发生切换,则主节点只针对该从节点进行切换,其他从节点保持不变,各节点切换相互独立。本发明设计方法框图如图2所示,其中主控制器和从控制器内部包含主从节点的双总线自适应切换机制,每个从节点的控制器完全相同,具有较强的通用性。下面分别对主、从控制器进行说明。
40.主、从节点的控制器对外信号见表1。
41.表1
[0042][0043][0044]
(1)主控制器自适应切换机制
[0045]
主节点上电后每隔一定时间m(s,一般设为1)会对所有的从节点发送轮询取遥测指令,当从节点识别到总线数据与自身id一致时会返回遥测数据,反馈等待的最大时间设为tn(us)。系统上电完成后,主节点默认工作在a总线上。如果主节点在t微秒内未收到从节点的遥测信息,那么自动切换至b总线,并再次向该从节点发送取遥测指令。若此次在t微秒内收到相应的遥测数据,则主节点本次开机将以b总线与该从节点通信。假如仍然收不到遥测数据,则自动切换到a总线进行轮询,如此反复切换3次。如果3次切换仍然无数据返回,那么主节点将会自动跳转至下一个节点的指令发送。主控制器总线自适应切换机制的流程图如图3所示。
[0046]
对于任意从节点w,针对该从节点的主控制器自适应切换具体流程如下:
[0047]
1)步骤一,主控制器从上一个从节点w

1跳转至从节点w,首先判断该从节点是否开机,如果开机则转入步骤二,否则直接跳转到下一节点w 1的轮询。步骤一rs485的a、b总线均处于发送和接收禁止状态,de

ma=
‘0’
,re

ma=
‘1’
,de

mb=
‘0’
,re

mb=
‘1’

[0048]
2)步骤二,该环节进入a/b总线判断状态,判断状态控制信号flag_ab,flag_ab=
‘0’
表示a总线,flag_ab=
‘1’
表示b总线,flag_ab的默认状态为
‘0’
,上电或复位进入默认状态,即a总线。步骤二rs485的a、b总线均处于发送和接收禁止状态,de

ma=
‘0’
,re

ma=
‘1’
,de

mb=
‘0’
,re

mb=
‘1’
。如果从节点w工作在a总线,则进入步骤三,否则进入步骤六;
[0049]
3)步骤三,该环节进入a总线空闲状态,等待发送取遥测指令,如果等待时间达到t1(微秒)后发送取遥测指令,则进入步骤四,否则仍处于a总线空闲状态,即步骤三。步骤三rs485的a、b总线均处于发送和接收禁止状态,de

ma=
‘0’
,re

ma=
‘1’
,de

mb=
‘0’
,re

mb

‘1’

[0050]
4)步骤四,该步骤为发送取遥测指令环节,此取遥测指令为特定id的帧格式数据,当帧格式数据全部发送完成后进入步骤五,否则等待发送完成。步骤四rs485的a总线均处于发送状态,b总线处于发送接收禁止状态,de

ma=
‘1’
,re

ma=
‘1’
,de

mb=
‘0’
,re

mb=
‘1’

[0051]
5)步骤五,当取遥测指令发送完成后进入等待从节点w的遥测返回状态,如果在设定的时间t≤t微秒内未收到遥测信息,则进入步骤六,否则进入步骤七。步骤五rs485的a总线均处于接收状态,b总线处于发送接收禁止状态,de

ma=
‘0’
,re

ma=
‘0’
,de

mb=
‘0’
,re

mb=
‘1’

[0052]
6)步骤六,该环节进入b总线空闲状态,等待发送取遥测指令,如果等待时间达到t1后发送取遥测指令,则进入步骤八,否则仍处于b总线空闲状态,即步骤六。步骤六rs485的a、b总线均处于发送和接收禁止状态,de

ma=
‘0’
,re

ma=
‘1’
,de

mb=
‘0’
,re

mb=
‘1’

[0053]
7)步骤七,该环节为接收从节点w的遥测返回状态,当接收完成后将ab总线的标识信号flag_ab置成
‘0’
,同时进入下一个节点w 1的遥测轮询。步骤七rs485的a总线均处于接收状态,b总线处于发送接收禁止状态,de

ma=
‘0’
,re

ma=
‘0’
,de

mb=
‘0’
,re

mb=
‘1’

[0054]
8)步骤八,该步骤为发送取遥测指令环节,此取遥测指令为特定id的帧格式数据,当帧格式数据全部发送完成后进入步骤九,否则等待发送完成。步骤八rs485的a总线均处于发送接收禁止状态,b总线处于发送状态,de

ma=
‘0’
,re

ma=
‘1’
,de

mb=
‘1’
,re

mb=
‘1’

[0055]
9)步骤九,当取遥测指令发送完成后进入等待从节点w的遥测返回状态,如果在设定的时间t≤t微秒内收到遥测信息,则进入步骤十。如果t≤t微秒内未收到遥测信息,且ab总线切换的次数不超过3次,则进入步骤三。如果t≤t微秒内未收到遥测信息,且ab总线切换的次数达到3次,则跳至下一个节点w 1的遥测轮询。步骤九rs485的a总线均处于发送接收禁止状态,b总线处于发送接收状态,de

ma=
‘0’
,re

ma=
‘1’
,de

mb=
‘0’
,re

mb=
‘0’

[0056]
步骤十,该环节为接收从节点w的遥测返回状态,当接收完成后将ab总线的标识信号flag_ab置成
‘1’
,同时进入下一个节点w 1的遥测轮询。步骤十rs485的a总线均处于发送接收禁止状态,b总线处于接收状态,de

ma=
‘0’
,re

ma=
‘1’
,de

mb=
‘0’
,re

mb=
‘0’

[0057]
(2)从控制器自适应切换机制
[0058]
rs485总线采用主从应答方式,从节点上电或复位后默认处于a总线状态。如果在预先设置的时间k(s,一般设为3)内接收到主节点发送的取遥测指令,则从节点工作在a总线,并返回遥测数据。否则跳转至b总线接收状态。从控制器a、b总线切换的时间为k秒,要求k>m,且不能成倍数关系,这样保证主从控制器的切换时间错开,不会发生主从节点一直在不同总线上。从控制器总线自适应切换机制的流程图如图4所示。
[0059]
从节点的自适应切换具体流程如下:
[0060]
1)步骤一,从节点上电或复位后默认工作在a总线上,首先判断是否成功完成a总线切换,成功表示a总线已与主节点建立通信,本次开机锁定在a总线,除非重新上电或发送复位信号。如果未完成a总线切换,则进入步骤二。步骤一rs485的a、b总线均处于接收状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘0’
,re

sb=
‘0’

[0061]
2)步骤二,该环节进入接收取遥测指令状态,若在k秒内收到取遥测指令,则进入步骤三,否则进入步骤六。步骤二rs485的a、b总线均处于接收状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘0’
,re

sb=
‘0’

[0062]
3)步骤三,该环节为接收取遥测指令状态,当接收完成后进入步骤四,否则会一直接收指令。这里设计了超时保护机制,当在规定的时间内未接收到完整帧时,则会重新搜索取遥测指令的帧头。步骤三rs485的a、b总线均处于接收状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘0’
,re

sb=
‘0’

[0063]
4)步骤四,在接收完整的指令后,对校验和进行判断,不论校验和正确与否,均要立即返回遥测,并进入步骤五。遥测数据包含校验和的正确性标识位。步骤四rs485的a、b总线均处于接收状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘0’
,re

sb=
‘0’

[0064]
5)步骤五,该环节为从节点发送遥测数据状态,当遥测数据发送完成后rs485总线锁定在a总线状态。步骤五rs485的a总线处于发送状态,b总线处于接收状态,de

sa=
‘1’
,re

sa=
‘1’
,de

sb=
‘0’
,re

sb=
‘0’

[0065]
6)步骤六,该环节进入b总线接收状态,并判断是否成功完成b总线切换。成功表示b总线已与主节点建立通信,本次开机锁定在b总线,除非重新上电或发送复位信号。如果未完成b总线切换,则进入步骤七。步骤六rs485的a、b总线均处于接收状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘0’
,re

sb=
‘0’

[0066]
7)步骤七,该环节进入接收取遥测指令状态,若在k秒内收到取遥测指令,则进入步骤八,否则进入步骤一。步骤七rs485的a、b总线均处于接收状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘0’
,re

sb=
‘0’

[0067]
8)步骤八,该环节为接收取遥测指令状态,当接收完成后进入步骤九,否则会一直接收指令。这里同样有超时保护机制,当在规定的时间内未接收到完整帧时,则会重新搜索取遥测指令的帧头。步骤八rs485的a、b总线均处于接收状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘0’
,re

sb=
‘0’

[0068]
9)步骤九,在接收完整的指令后,对校验和进行判断,不论校验和正确与否,均要立即返回遥测,并进入步骤十。步骤九rs485的a、b总线均处于接收状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘0’
,re

sb=
‘0’

[0069]
10)步骤十,该环节为从节点发送遥测数据状态,当遥测数据发送完成后rs485总线锁定在b总线状态。步骤十rs485的a总线处于接收状态,b总线处于发送状态,de

sa=
‘0’
,re

sa=
‘0’
,de

sb=
‘1’
,re

sb=
‘1’

[0070]
采用本发明提出的星载rs485双总线设计的控制系统及传输方法,已在最新的数据处理器进行了充分验证,经过了环境试验考核,性能表现良好。
[0071]
图5显示了主节点自适应切换rs485总线状态,默认工作在a总线。通过轮询取遥测确定从节点工作在a总线还是b总线,当确定a总线工作正常,后续均通过a总线进行通信。如果a总线工作异常,则切换到b总线。当确定b总线工作正常,后续均通过b总线进行通信。上电或发送复位指令,默认工作在a总线。
[0072]
图6显示了从节点自适应切换工作状态,默认工作在a总线。如果在a总线上收到主节点发送的遥控指令,则锁定在a总线。重新加断电或者发送复位指令,从节点控制器才会重新检测。如果a、b总线在一定的时间内均未收到遥控指令,从节点控制器会一直不停的进
行总线切换,直到某条总线收到相应的指令后锁定在该条总线。从节点的切换时间与主节点切换时间错开,且主节点控制器对每个从节点具备3次总线切换功能,在保证主从节点总线切换的正确性和可靠性的同时,不过多占用总线时间。
[0073]
本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。
[0074]
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献