首页> 中国专利> 基于高速Linkport接口的嵌入式双核飞行控制软件架构方法

基于高速Linkport接口的嵌入式双核飞行控制软件架构方法

摘要

本发明公开了一种基于高速Linkport接口的嵌入式双核飞行控制软件架构方法,所述方法包括以下步骤:步骤一、双核飞行控制软件任务划分;步骤二、飞行控制软件双核通信机制设计;步骤三、飞行控制软件双核数据共享机制;步骤四、飞行控制软件双核可靠性设计。本发明双核硬件条件下按照以上方法进行飞行控制软件架构设计能显著降低单个核心使用率,双核CPU占用率趋于平均,程序获得更好的时间性能。

著录项

  • 公开/公告号CN106775659A

    专利类型发明专利

  • 公开/公告日2017-05-31

    原文格式PDF

  • 申请/专利权人 四川航天系统工程研究所;

    申请/专利号CN201611070636.9

  • 发明设计人 张波;姚天问;敖永才;钟敏;

    申请日2016-11-28

  • 分类号G06F9/44(20060101);G06F11/36(20060101);G06F11/07(20060101);G05D1/10(20060101);G06F15/17(20060101);

  • 代理机构51213 四川省成都市天策商标专利事务所;

  • 代理人袁辰亮

  • 地址 610000 四川省成都市龙泉驿区航天北路工业区201号科研楼

  • 入库时间 2023-06-19 02:23:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-01-31

    授权

    授权

  • 2017-06-23

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20161128

    实质审查的生效

  • 2017-05-31

    公开

    公开

说明书

技术领域

本发明涉及无人机飞行控制软件领域,具体涉及一种基于高速Linkport接口的嵌入式双核飞行控制软件架构方法。

背景技术

飞行控制计算机是无人机飞行控制系统的核心部分。随着无人机飞行包线的扩大以及任务环境的愈加复杂,对飞行控制计算机的硬件平台和软件平台的性能提出了新的更高要求,其性能的好坏直接决定着无人机能否可靠地完成飞行任务。传统的控制系统中,单核处理器架构是主流,除了通过提升处理器主频来提高系统的响应速度,还可以通过使用抢占式实时操作系统、引入多线程、改进系统任务调度策略等软件方法来进一步提高系统性能。但随着应用不断复杂,控制精度要求不断提高,有限的系统资源成为系统性能提升的最大瓶颈。通过分析目前传统的单核飞行控制软件主要有以下不足:1)单CPU处理飞行控制任务时由于需要处理大量的数据,造成单个核在处理以上任务时存在实时性较低问题;2)单核处理飞行任务时,如果CPU出现问题,则整个系统崩溃,造成系统可靠性低的问题;3)单核处理飞行任务时,由于单核本身的系统资源被飞行任务抢占,所以单核的系统扩展性与灵活性较差。

随着双核架构应用的不断推广,同时双核微处理器技术逐渐成熟,如何设计稳定高效的双核系统软件架构克服单核存在的问题成为当前研究的重点。

发明内容

本发明克服了现有技术的不足,提供一种基于高速Linkport接口的嵌入式双核飞行控制软件架构方法。

为解决上述的技术问题,本发明采用以下技术方案:

一种基于高速Linkport接口的嵌入式双核飞行控制软件架构方法,所述方法包括以下步骤:

步骤一、双核飞行控制软件任务划分

将双核中的主核用于飞行控制,从核用于实现导航解算;

步骤二、飞行控制软件双核通信机制设计

在基于Linkport接口通信的基础上设计可靠通信协议与无回复通信协议;

步骤三、飞行控制软件双核数据共享机制

设置双缓存信号量机制;

步骤四、飞行控制软件双核可靠性设计

通过实时监控通信故障并重启核间通信,保障核间可靠通信;

通过程序运行启动校验机制,保障双核可靠启动;

通过主核监控从核运行监控机制,保障双核可靠运行。

更进一步的技术方案是所述步骤一包括:主核完成从核组合导航数据、控制规律解算、舵机控制规律解算;从核完成IMU数据、GPS数据采集、组合导航解算、输出导航数据至主核。

更进一步的技术方案是所述步骤二包括:双核通信通过高速Linkport口,并配合数据传输中断进行通讯,当主核需要将数据传输给从核时,主核将固定2K数据封装到Linkport数据接口中,传输完成后,对从核发出数据传输完成中断,当从核接收到此中断后,认为数据已经传输完成,并从Linkport接口中读取固定2K数据,传输过程完成。

更进一步的技术方案是从核将数据传输至主核的传输方式与主核将数据传输至从核的传输方式相同。

更进一步的技术方案是所述步骤二中可靠传输通讯协议是将要发送的数据进行数据分包,将数据分成固定2K大小的数据包,按照帧协议进行数据组帧;当接收方收到此数据后首先进行帧头校验判断,如果帧头校验错误,发送错误接收指令请求发送方重新发送数据;如果判断正确则向接收方发送数据接收正确指令,接收发收到正确指令后,开始发送下一包数据;如果接收方接收的数据帧头校验正确,帧内容判断错误则会发送数据请求指令,接收方接收到命令后发送请求帧所指向的数据帧;当所有数据传输完成后,发送方请求接收方发送回传总数据CRC校验码,发送方接收CRC码并计算发送总数据的CRC码,比对正确后,传输完成。

更进一步的技术方案是所述步骤二中无回复通信协议是通讯数据按照2K数据帧格式单方发送数据,接收方只判断帧头与校验和。

更进一步的技术方案是所述步骤三中所述双缓存信号量机制包括:设置A、B双缓存、锁标志位与访问标志位,当写入线程访问临界区时,判断是否加锁,如果为锁状态表示主函数正在读取临界区内容则写入访问标志位的另一个区,并设置访问标志位为刚写入区的标记;当读取线程时,首先加锁,然后读取访问标志位所指数据后解锁。

更进一步的技术方案是所述步骤四包括:进入飞行任务流程后,从核按间隔发送组合导航数据以及中间结果数据至主核,主核设置为中断接收从核数据,如果接收中断与接收数据正确,则计数器清零,同时另一路监控中断则负责计数器累加,如果计数器累加量大于限制,则认为通信故障,执行主核、从核通信接口重启代码,重启核间通信,保障核间可靠通信。

更进一步的技术方案是所述步骤四包括:一方程序上电后需要等待另一方程序运行,双方同时通过后,双核飞行程序开始运行,否则双方程序均不运行,保障双核可靠启动。

更进一步的技术方案是所述步骤四包括:主核监控从核预定时间的运行预设信号,如果连续5个周期未能收到从核的预设信号,则认为从核已经运行异常,主核发送从核重启信号,强制从核重启,重启后将从核运行的预存储数据发送给从核,从核使用所述预存储数据恢复至重启前状态,恢复组合导航解算,保障双核可靠运行。

与现有技术相比,本发明实施例的有益效果之一是:本发明首先进行了双核CPU软件功能划分,设计结果表明多核CPU功能划分合理,有效降低核间通信数据量;起飞后对核间数据的实时性、正确性依赖较小能有效提高系统的可靠性;其次针对核间通信制定了两种核间通信模式即可靠通信模式与无回复通信模式;前者适用于核间关键数据的传输;后者适用于异步运行的双核通信,虽降低通信可靠性但有效提高传输的实时性;最后针对核间数据交互临界区进行了设计,设计了一种双缓存加锁机制解决双线程冲突问题,解决双线程引起的数据不一致问题的同时,能有效提高系统的实时性,避免了线程等待引起超时问题。

针对多核特性进行了可靠性设计,核间通信设计了类似“看门狗”技术,提高核间通信可靠性;设计了双核启动校验,防止单个核心启动发生未知错误;设计了双核运行监控机制,设计了核间运行监控可靠性设计,主核监控从核运行设计,有效解决从核运行错误情况下,系统失效问题。

飞行控制软件经过测试,根据双核功能划分分别对主核从核进行了测试,双核功能均满足需求。最后对空间性能进行了详细分析,并与传统单核模式下空间性能进行了对比,结果表明双核硬件条件下按照以上方法进行飞行控制软件架构设计能显著减小单个核心的程序空间,使得内存空间使用更加合理,程序获得更好的空间性能。对时间性能进行了详细分析,并与传统单核模式下时间性能进行了对比,结果表明双核硬件条件下按照以上方法进行飞行控制软件架构设计能显著降低单个核心使用率,双核CPU占用率趋于平均,程序获得更好的时间性能。

附图说明

图1为本发明一个实施例中双核飞行控制软件功能架构示意图。

图2为本发明一个实施例中双缓存机制解决多线程冲突示意图。

图3为本发明一个实施例中主核监控从核运行的监控机制数据流图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

下面结合附图及实施例对本发明的具体实施方式进行详细描述。

本实施例公开一种基于高速Linkport接口的嵌入式双核飞行控制软件架构方法,其中,无人机双核飞行控制系统采用两片基于DSP6713B内核具有双精度浮点能力的芯片,利用高速LinkPort接口实现双CPU数据交换。本实施例中基于高速Linkport接口的双核飞行控制软件架构方法,主要包括双核心硬件架构下的软件任务功能划分设计、双核通信机制设计、双核数据共享机制设计;其次针对双核特性进行了软件可靠性研究,主要包括核间软件通信可靠性设计、双核软件启动可靠性设计、双核软件运行可靠性设计;最后对双核飞行控制软件架构下性能进行了详细分析主要包括双核软件时间性能分析、双核空间性能分析,并与传统的飞行控制软件架构进行了比对,显示出该软件架构的性能优势。

具体的,所述基于高速Linkport接口的嵌入式双核飞行控制软件架构方法包括以下步骤:

步骤一,双核飞行控制软件任务划分设计

传统单核飞行控制软件架构主要运行在单个CPU内,与各个分系统采用某种硬件接口一定的通讯协议进行通讯,分系统根据通讯协议执行相应动作,完成整体功能;传统飞行控制软件运行在单个CPU上,主要功能为在严格的控制周期内采集传感器数据、控制规律解算形成控制量,通过各分系统通讯协议完成控制量传输,各分系统解析通讯协议内容经过自身的控制最终完成伺服机构控制。

本实施例对飞行控制计算机的任务进行飞控与导航分类,基于双核架构的核心系统一片CPU用于飞行控制,一片CPU实现导航解算,从而为无人机提供高速的数据处理速度和强大的任务控制能力,并对任务划分后的飞行控制系统进行性能测试。此任务划分方法可有效解决单核的性能问题,提高了系统的时间性能与空间性能,并通过性能测试量化了提高的时间性能与空间性能。

如图1所示,由图1可知主核主要完成从核组合导航数据、控制规律解算、舵机控制规律解算等、从核主要完成IMU数据、GPS数据采集、组合导航解算、输出导航数据至主核;此种功能划分有以下优势:

1)功能相对独立的组合导航模块放入从核有效降低主核程序运行的时间、降低主核程序占用空间。

2)核心间传输数据相对较小,有效降低核心间通信的数据量。

3)双核异步运行,不需要同步运行,降低使用难度。

4)将组合导航数据传输至主核,如果出现通信偶尔出现错误情况系统也可以运行,有效提高系统运行的可靠性。

步骤二、飞行控制软件双核通信机制设计

本实施例设计了一种基于中断信号、高速Linkport接口的双核通信机制,同时针对Linkport设计了两种通信协议,可靠通信协议与无回复通信协议,前者对传输数据的全文回复与数据校验保证数据的可靠性降低了数据传输的实时性,后者不需要可靠传输,但实时性高,满足双核架构下的各种通信场景。

具体的,双核通信通过高速Linkport口,并配合数据传输中断进行通讯,当主核需要将数据传输给从核时,主核将固定2K数据封装到Linkport数据接口中,传输完成后,对从核发出数据传输完成中断,当从核接收到此中断后,认为数据已经传输完成,并从Linkport接口中读取固定2K数据,传输过程完成。从核传输数据至主核情况跟以上情况相同。

其中,Linkport接口是基于LVDS技术的高速接口,能够与相同接口时序的链路口进行通讯。LVDS是指Low Voltage Differential Signaling,是一种低功耗、低噪声、低电压、高速率的线上传输方式。对于标准的I/O信号,数据的存取依赖于实际的电压值,电压值受传输线长度影响(由于传输线的电阻,电压下降)。而LVDS方式的传输,仅依赖于其正端和负端的差分值,并且可以有效的滤掉共模噪声,所以能够实现长距离的高速传输。LinkPort在1x模式下传输速率可达到200Mbps,4x模式传输速率可达到0.8Gbps。

核间通信主要完成主核向从核传输组合导航初始坐标点、组合导航参数设置、GPS星历、GPS启动指令等;从核向主核发送组合导航结果、IMU与GPS数据、GPS启动状态、GPS星历转发状态等;从通讯特点看GPS星历数据、GPS命令、组合导航初始坐标等数据必须保证传输的可靠性与正确性,对实时性要求不高,通信量较小;而组合导航数据等要求数据的实时性要求高,通信的数据量大;为了满足以上需求,在基于Linkport接口通信的基础上设计了两种通信协议,即可靠传输通讯协议与无回复通信协议;前者主要完成GPS星历、组合导航初始坐标点等需要保证数据正确的的数据传输,后者主要完成对实时性要求高组合导航结果数据传输。

本实施例中可靠传输通讯协议是将要发送的数据进行数据分包,将数据分成固定2K大小的数据包,按照帧协议进行组帧,包括数据类型、本次传输数据总长度、当前帧计数、当前包数据有效长度、帧校验等数据;当接收方收到此数据后首先进行帧头校验判断,如果帧头校验错误,发送错误接收指令请求发送方重新发送数据;如果判断正确则向接收方发送数据接收正确指令(包括此帧的数据类型、总长度、帧编号与CRC校验码),接收发收到正确指令后,开始发送下一包数据;如果接收方接收的数据帧头校验正确,帧内容判断错误则会发送数据请求指令(包括请求数据类型、帧编号),接收方接收到命令后发送请求帧所指向的数据帧;当所有数据传输完成后,发送方请求接收方发送回传总数据CRC校验码,发送方接收CRC码并计算发送总数据的CRC码,比对正确后,传输完成,

本实施例中无回复通信协议是通讯数据按照2K数据帧格式单方发送数据,不需要等待另一方回复重新发送,接收方只判断帧头与校验和。

步骤三、飞行控制软件双核数据共享机制

本实施例设计了一种双缓存信号量机制。解决双核异步运行下的访问冲突问题,区别于传统的信号量机制,多线程访问需要等待被锁缓存释放的等待,降低了系统的实时性,本设计方法通过双缓存机制可有效解决多线程访问缓存区不需要等待锁区的问题,提高了系统的实时性。

由于双核异步运行,主核中断接收从核数据,运行主流程解析从核数据这一过程,相当于两个线程同时访问从核数据区;即存在双线程同时访问同一存储区问题,主核中读取从核数据与主核写入从核数据程序段为临界区,需要加锁访问,防止多线程同时访问临界区导致数据不一致。

本实施例设计了一种双缓存加锁机制解决双线程冲突问题,与传统的加锁防止冲突不一样的是,传统加锁是其中一个线程对临界区操作时,另一个线程如果访问临界区则等待上一个线程访问退出后进行访问;由于飞行控制软件对实时性的要求,不能出现线程等待情况;所以设计了双缓存机制,设置A、B双缓存、锁标志位与访问标志位,当写入线程访问临界区时,判断是否加锁,如果为锁状态表示主函数正在读取临界区内容则写入访问标志位的另一个区,并设置访问标志位为刚写入区的标记;当读取线程时,首先加锁,然后读取访问标志位所指数据后解锁,双线程运行时均不需要等待另一个线程占用临界区,双缓存机制解决多线程冲突示意图如图2所示。

步骤四、飞行控制软件双核可靠性设计

本实施例针对双核运行设计对比传统单核飞行控制软件特有的双核飞控可靠性设计,主要包括飞行控制软件核间通信可靠性设计、双核启动可靠性设计、双核运行可靠性设计等,更好地提高双核软件架构的可靠性。

由于双核控制器运行时关键问题之一即使核间通信,从核主要完成IMU数据与GPS数据的接收,并完成组合导航解算,将解算结果传给主核;所以核间通信如果出现问题,主核收不到从核的组合导航数据,则整个控制将失效;所以如何提高核间的通信可靠性,成为关键问题。

其中,飞行控制软件核间通信可靠性设计部分,本实施例采用了一种类似“看门狗”的技术,提高核间传输信号的可靠性;进入飞行任务流程后,从核会以为2ms时间按间隔发送组合导航数据以及中间结果数据至主核,主核设置为中断接收从核数据,如果接收中断与接收数据正确,则“喂狗”即计数器清0,同时另一路监控中断则负责计数器累加,如果计数器累加量大于限制,目前设置为20ms,则认为通信故障,执行主核、从核通信接口重启代码,重启核间通信。通过试验验证,如强制LINKPORT中断停止,LINKPROT缓冲区溢出等错误出现时,使用以上方法能有效解决起飞后可能出现的核间通信问题。

关于双核启动可靠性设计部分,双核控制器程序分为主核、从核程序,两个程序分别烧写在两块Flash存储器内,上电后,双核异步运行;由于整个系统需要双核运行,所以本文设计了一种程序运行启动校验机制,即一方程序上电后需要等待另一方程序运行,双方同时握手通过后,双核飞行程序开始运行,否则双方程序均不运行,防止一方程序运行另一方程序未运行而产生未知错误,防止出现双核程序出现一方程序未烧写的低层次问题出现。

进一步的,如图3所示,对于双核运行可靠性设计部分,双核控制器飞行控制软件程序分为主核、从核程序,主核主要负责飞行程序的测试装订与飞行控制,从核主要完成IMU、GPS数据读取完成组合导航解算,使用双核架构且双核异步运行,本文设计了一种主核监控从核运行监控机制,主核监控从核2ms的运行“心跳信号”,如果连续5个周期未能收到从核的“心跳信号”则认为从核已经运行异常,主核发送从核重启信号,强制从核重启,重启后将从核运行的“关键数据”发送给从核,从核使用“关键数据”恢复至重启前状态,恢复组合导航解算,整个恢复过程不大于500ms。

在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一个实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本发明的范围内。

尽管这里参照发明的多个解释性实施例对本发明进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变型和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号