用于组合导航处理器的多任务调度方法及组合导航处理器的制作方法

文档序号:6148013阅读:166来源:国知局
专利名称:用于组合导航处理器的多任务调度方法及组合导航处理器的制作方法
技术领域
本发明主要涉及到惯性导航系统领域,特指一种用于组合导航处理器的多任务调度方法 及组合导航处理器。
背景技术
惯性导航系统由于能够提供高速率、高精度的全导航信息(包括位置、速度、姿态、角 速率、加速度等),因此组合导航常以惯性导航系统为主导航设备,但单纯的惯性导航系统, 其误差随时间积累。以惯性导航系统为主的组合导航系统采用各种信息融合方法,组合其他 多种导航设各,以消减各种独立导航设备的不足,抑制惯性导航系统的误差,进一歩提高系 统的综合性能。工程中使用的主要信息融合方法是Kalman滤波方法。
以某需求为应用背景的典型惯性/卫星组合导航系统为例,如图1,其任务主要有以下5 个,①IMU (Inertial Measurement Unit,惯性测量单元)串行数据接收(每5毫秒一帧数据, 帧长度为N个字节,波特率为230400bps);②卫星导航数据接收(每100毫秒一帧数据,帧 长度为M个字节);③捷联惯导算法根据接收到的一帧或多帧IMU数据进行计算,得到并输 出惯性导航结果(采用双子样算法,则每10毫秒进行一次计算)。④捷联惯导计算完成后将 计算结果通过串行口输出;⑤Kalman滤波算法根据接收到的卫星导f[数据和惯性导航结果进 行计算,得到惯性导航结果的误差,并根据该误差,对惯性导航结果进行误差校正(每完成 10次双子样捷联惯导计算触发一次Kalman滤波计算)。
目前,同类产品中一般采用单一的功能较为强大的通用型嵌入式处理器来完成上述功能 要求。在通用型嵌入式处理器平台上开发上述组合导航软件主要有基于单任务操作系统和基 于实时多任务操作系统两种途径。
基于实时多任务操作系统能够很好地解决上述问题,但是需要付费(比如VXWORKS操 作系统)或者基于开放源代码的操作系统进行裁剪BSP (板级支持包),开发过程费时。即便 .如此,操作系统在后台进行任务调度,也需要花费一定的时间开销。
基于单任务的操作系统(比如DOS操作系统)要实现上述诸多任务的调度往往就显得力 不从心。由于处理器需要完成的任务较多,导致了处理器任务调度过于繁琐,时序控制复杂。
所以有必要针对组合导航开发一种专用的处理器体系,其目标是在单一处理器上,基于 单任务操作系统,完成上述诸多任务的调度
发明内容
本发明要解决的技术问题就在于针对现有技术存在的技术问题,本发明提供一种结构 简单紧凑、原理简单、能够大大提高组合导航处理器的利用率、提高整体效率的用于组合导 航处理器的多任务调度方法及组合导航处理器。
为解决上述技术问题,本发明采用以下技术方案。 一种用于组合导航处理器的多任务调度方法,其特征在于步骤为
'(1)、设覽同步脉冲合成器和中断信号合成器同歩脉冲合成器根据1PPS脉冲信号, 利用自身本地晶振合成200HZ的触发脉冲信号;中断信号合成器根据组合导航处理器中输出 的脉冲信息,生成相应的中断脉沖信号,触发组合导航处理器使其进入相应的中断服务程序;
(2) 、执行惯性测量单元串行数据接收任务依据同步脉冲合成器合成的脉冲信号,每 个脉沖信号触发一次惯性测量单元进行数据采集,惯性测量单元每次将采集到的数据封装成 一个数据包即数据帧通过串行口发送到组合导航处理器,组合导航处理器每收到一个來自惯 性测量单元的串行数据即产生一个接收中断给中断信号合成器,中断信号合成器产生一个让 中断管理器识别的中断进程,令组合导航处理器进入一个中断进程,该进程为执行惯性测量 单元串行数据接收任务的进程;
(3) 、执行卫星导航数据接收任务卫星接收机的导航数据通过串行口发送给组合导航 处理器,卫星导航数据接收任务被来自卫星接收机的串行数据触发,当卫星导航数据接收任 务完成后组合导航处理器通过设置的GPI02产生一个正脉冲,表示已经收到了一帧完整的卫 星导航串行数据,产生了上述脉冲后将帧计数器重置为0,并且设置相应的信号灯标志2;
(4) 、执行双子样捷联惯导计算任务当连续两次惯性测量单元串行数据接收任务完成
后组合导航处理器通过设置的GPIOo产生一个正脉冲,该正脉冲用于触发双子样捷联惯导计
算任务,并且设置相应的信号灯标志l,产生了上述脉冲后将帧计数器重置为0;每次双子样 捷联惯导计算任务完成后触发一次计算结果串行口输出任务,其周期与双子样捷联惯导计算 任务的周期相同;
(5) 、执行基于卡尔曼滤波方法的组合导航计算任务当连续10次双子样捷联惯导计算 任务完成后组合导航处理器通过设置的GPIO,产生一个正脉冲;当卫星导航数据接收任务完 成后组合导航处理器通过设置的GPI02产生一个正脉冲;这两个正脉冲通过中断信号合成器 对GPIO,或GPI02进行"逻辑或",产生一个让中断管理器识别的中断进程,令组合导航处 理器进入一个中断进程,该进程用于触发一次卡尔曼滤波计算任务。
一种组合导航处理器,它包括主控制单元,其特征在于所述主控制单元中设有中断
管理器、中断信号合成器、同步脉沖合成器、通用输入输出接口单元、串行口0、串行口 1
5以及串行口 2,所述同步脉冲合成器用于根据1PPS脉冲结合自身本地晶振合成200Hz的脉冲 信号,中断信号合成器根据通用输入输出接口单元中输出的脉冲信息生成相应的中断脉冲信 号后输出至中断管理器中,触发组合导航处理器使其进入相应的中断服务程序;串行口0用 于与惯性测ill单元相连接收采染到的数据并产生接收中断信号输送至中断管理器,串行口 1 用于与卫呈接收机相连接收采集到的数据并产生接收中断信号输送至中断管理器,串行口 2 用于与外部设备相连完成输出并产生发送中断给中断管理器。 作为本发明的进一步改进
所述迎用输入输出接口单元包括GPIOn 、 GPI0,以及GPK^,所述GPIO。用于在连续两次惯 性测量单元串行数据接收任务完成后产生一个正脉冲输出至中断信号合成器,所述GPIO,用于 在连续10次双子样捷联惯导计算任务完成后产生一个正脉冲输出至中断信号合成器,所述 GPIOa用于在卫星导航数据接收任务完成后产,生一个正脉冲输出至中断信号合成器,所述中断 信号合成器对GPIOo直通输出至中断管理器,中断信号合成器对GPIO,或GPI02进行"逻辑或", 产生一个组合导航中断信号用千触发一次Kalman滤波计算。
与现有技术相比,本发明的优点就在于
1) 本发明的好处在于提高对处理器的利用率。现有需要基于高主频处理器才能够完成的 组合导航功能,只需要一个相对低主频的处理器就能够完成。
2) 能够在单任务操作系统中实现多个任务的调度,而不需要多任务操作系统的支持。能 够实现这种调度的多个任务必须具有顺序触发的关系,而一个典型的组合导航所包含的上述 5个任务只好具有这种关系。


图1是现有技术中典型惯性/卫星组合导航系统程序多任务示意图2是本发明的框架结构示意图3是1PPS脉冲的示意图4是合成的200Hz同步脉冲效果图5是现有技术中调度方法在单任务操作系统中应用的示意图 图6是应用现有技术中调度方法后的效果图; 图7是本发明调度方法在单任务操作系统中应用的示意图; 图8是应用本发明调度方法后的效果图9是本发明组合导航处理器在单任务操作系统中应用实例的示意图。
具体实施方式
以下将结合具体实施例和说明书附图对本发明做进一步详细说明。 如图7所示,本发明一种用于组合导航处理器的多任务调度方法,其歩骤为-
(1) 、设置同步脉冲合成器和中断信号合成器同歩脉冲合成器根据1PPS脉冲信号, 利用fi身本地品振合成200Hz的触发脉冲信号;屮断信号合成器根据组合导航处现器中输出 的脉冲信息,生成相应的中断脉冲信号,触发组合导航处理器使其进入相应的中断服务程序;
(2) 、执行惯性测量单元串行数据接收任务依据同步脉冲合成器合成的脉冲信号,每 个脉冲信号触发一次惯性测量单元进行数据采集,惯性测量单元每次将采集到的数据封装成 一个数据包即数据帧通过串行口发送到组合导航处理器,组合导航处理器每收到一个來自惯 性测量单元的串行数据即产生一个接收中断给中断信号合成器,中断信号合成器产生一个让 中断管理器识别的中断进程,令组合导航处理器进入一个中断进程,该进程为执行惯性测量 单元串行数据接收任务的进程;这样IMU串行数据接收任务被来自IMU的串行数据触发。 假设组合导航处理器的串行口在每收到一个字节就触发一次中断,其触发周期约为50ns (" 10bitxls/230400bps。其中10包含了 lbit起始位,8bit数据位,lbit停止位)。由于--个完整 的数据帧有N个字节,因此为了接收一个完整的数掂帧需要进入中断N次。接收一个完整的 数据帧的周期为5ms。
(3) 、执行卫星导航数据接收任务卫星接收机的导航数据通过串行口发送给组合导航 处理器,卫星导航数据接收任务被来自卫星接收机的串行数据触发,当卫星导航数据接收任 务完成后组合导航处理器通过设置的GPI02产生一个正脉冲,表示已经收到了一帧完整的卫 星导航串行数据,产生了上述脉沖后将帧计数器重置为O,并且设置相应的信号灯标志2。由 此可见卫星接收机的导航数据(每100毫秒一帧数据,帧长度为M个字节)也是通过串行口 发送给组合导航处理器,这样卫星导航数据接收任务②被來自卫星接收机的串行数据触发。 基于前面同样的假设,为了接收一个完整的数据帧需要进入中断M次。接收一个完整的数据 帧的周期为00ms。
(4) 、执行双子样捷联惯导计算任务当连续两次惯性测量单元串行数据接收任务完成 后组合导航处理器通过设置的GPIOo产生一个正脉冲,该正脉冲用于触发双子样捷联惯导计 算任务,并且设置相应的信号灯标志l,产生了上述脉冲后将帧计数器重置为0;每次双子样 捷^惯导计算任务完成后触发一次计算结果串行口输出任务,其周期与双子样捷联惯导计算 任务的周期相同;由此可见, 一次双子样捷联惯导计算任务的触发周期为10ms。假设一个结 果数据帧包含了 P个字节,发送缓冲区每发送一个字节产生一次发送中断用于传送下一个字 节,则将进入P次串行口发送中断进程。
7(5)、执行基于卡尔曼(Kalnmn)滤波方法的组合导航计算任务当连续10次双子样 捷联惯导计算任务完成后组合导航处理器通过设置的GPIO,产生一个正脉冲;当卫呈导航数 据接收任务完成后组合导航处理器通过设置的GPI02产生一个正脉冲;这两个正脉沖通过中 断信号合成器对GPIO,或GP102进行"逻辑或",产生一个让中断管理器识别的中断进程, 令组合导航处理器进入一个中断进程,该进程用于触发一次卡尔曼滤波计算任务。由于基于 Kalman滤波方法的组合导航计算任务需要两种数据(双子样捷联惯导计算任务的结果,卫星 接收机的导航数据)作为计算输入,正好前面的卫星导航数据接收任务能够同步提供此数据, 且周期相同。因此基于Kalman滤波方法的组合导航计算任务由"每连续10次双子样捷联惯 导计算任务"或"1次卫星导航数据接收任务"完成这个条件來触发。
本发明是一种基于硬件实现组合导航程序多任务调度的方法,即基于外部中断的调度方 法。其原现为外部中断信号是内部的某一个任务(任务A)在结束前通过输出端口产生的 一个脉冲信号;产生的脉冲信号通过外部非屏蔽中断输入口触发一个硬件中断。需耍由任务 A触发才执行的任务B被安排在此中断进程中。这样就实现了任秀A通过外部硬件中断触发 任务B的效果。按照信息流触发各个中断任务需要毎个中断任务输出用于触发下级中断任务 的脉冲。基于此原理就形成了各个任务间的调度机制。中断信号合成器就是将各个任务结束 前输出的标志本任务结束的脉冲经过一定的逻辑又送回到通用处理器的中断管理器,从而实 现环回(Loop back)触发。.
图5表示了在单任务操作系统中现有的调度方法如下IMU串行数据接收任务(任务①) 被安排在由串行口接收中断进程中,当进行完连续两帧完整的帧协议解析后,设置一个全局 变量形式的标志位(2帧IMU数据准备好标志位),即通知双子样捷联惯导计算任务(任务③) 可以开始了。双子样捷联惯导计算任务连续完成IO次后,设置一个全局变量形式的标志位(捷 联惯导计箅完成标志),即通知基于Kalman滤波方法的组合导航计算任务(任务 )可以开 始了。其特点是双子样捷联惯导计算任务(任务③)以及基于Kalman滤波方法的组合导航 计算任务(任务⑤)都被安排在主程序中。图6表示了在单任务操作系统中现有调度方案的 效果图。任务①②④的虛线部分表示多次进入中断。任务⑤的前部分虚线表示多次被别的中 断进程打断。这种调度会出现一种极端的情况,即在某一个10ms周期(也是双子样捷联惯 导计算任务周期)中,同时需要完成一次双子样捷联惯导计算任务G壬务③)与基于Kalraan 滤波方法的组合导航计算任务(任务 )。这种极端情况发生的次数为每100ms周期中的第 10个lOms周期,而在其它9个IOms周期中并不存在。由于这个问题的存在导致了对CPU 利用率的降低。比如在800MHz某型处理器上, 一次双子样捷联惯导计算任务需要0.9ms,一次基于Kalman滤波方法的组合导航计算任务需要9ms,那么在最极端的周期中两个任务的 时间开销为9.9ms。而其它9个10ms周期中,计算开销仅仅为0.9ms,处理器的利用率仅仅 为9% (0.9ms/10ms),这就对处理器造成了极大的浪费。处理器的平均利用率仅仅为 9%x0.9+99%xOJ=0.18。也就是说如果存在一种合理的调度方法,则只需要160MHz的处理 器即可以完成这两个主要任务。因为在上述800MHz假设情况下,毎一个100ms周期中,所 有的时问开销为0.9msxl0次+9msxl次-18ms。如果处理器降低到160MHz的主频,则由18ms 变成18msx (800/160) -90ms<100ms。
为了充分提高处理器的平均利用率, 一种合理的调度方法就是各个任务都是被安排在各 自的中断进程中,而中断是可以实现嵌套的,这就不存在上述最极端的情况,这也确保了高 优先级的任务的按时完成。如图7和图8所示,以160MHz主频的处理器为例, 一次双子样 捷联惯导计算任务需要0.9msx (800/160) =4.5ms,'满足〈10ms周期的要求。对于一个100ms 的周期,则剩余100ms-4.5ms/次x10次-55ms。而一次基于Kalman滤波方法的组合导航计算 任务需要9msx (800/160) =45ms<55ms。可以按照本模型运行的前提是双子样捷联惯导计算 任务被单独安排在中断进程中,基于Kalman滤波方法的组合导航计算任务则安排在能够被 双子样捷联惯导计算任务打断的低级中断或者主程序中。
如图2所示,本发明的一种组合导航处理器,包括主控制单元,该主控制单元为通用嵌 入式处理器,它包括外部存储器、晶振以及电源等常规的必要部件,主控制单元中设有支持 多于5个中断源的中断管理器、中断信号合成器、同步脉冲合成器、通用输入输出接口单元、 串行口 0、串行口 1以及串行口 2,通用输入输出接口单元采用3bit以上的GPIO (General Pmpose I叩ut Output),同步脉冲合成器用于根据1PPS脉冲结合自身本地晶振合成200Hz的 脉冲信号,中断信号合成器根据通用输入输出接口单元中输出的脉冲信息生成相应的中断脉 冲信号后输出至中断管理器中,触发组合导航处理器使其进入相应的中断服务程序;串行口 0用于与惯性测量单元相连接收采集到的数据并产生接收中断信号输送至中断管理器,串行 口1用于与卫星接收机相连接收釆集到的数据并产生接收中断信号输送至中断管理器,串行 口 2用于与外部设备相连完成输出并产生发送中断给中断管理器。卫星接收机产生的卫星接 收机串行数据指卫星接收机导航结果,包括伪距,伪距率,速度,位置,时间等。
通用输入输出接口单元包括GPIOo 、 GPIC^以及GPI02,所述GPIOo用于在连续两次惯 性测量单元串行数据接收任务完成后产生一个正脉冲输出至中断信号合成器,所述GPIO,用 于在连续10次双子样捷联惯导计算任务完成后产生一个正脉冲输出至中断信号合成器,所述 GPI02用于在卫星导航数据接收任务完成后产生一个正脉冲输出至中断信号合成器,所述中
9断信号合成器对GPIOo直通输出至中断管理器,中断信号合成器对GPIO!或GPI02进行"逻 辑或",产生一个组合导航中断信号用于触发一次Kalman滤波计算。
组合导航全过程的多个任务为了实现事件方式下的同步触发,这就需要本发明中的同步 脉冲合成器配合。卫呈接收机输出两种信息,分别是导航定位结果数据与秒脉沖(1PPS, one pulse per second)。图3显示了 1PPS的脉冲形式。同歩脉冲合成器的功能是将PPS脉沖倍频 成200Hz的脉冲,并且生成的200Hz脉冲的上升沿与1PPS脉冲的上升沿基本对齐(在一定 误差范围内),效果见图4。卫星接收机的输出数据更新率(每100毫秒一帧数据对应10Hz 的更新率)严格与自身产生的1PPS脉冲同歩,即毎产生一个IPPS脉冲,代表历时1秒,期 间卫星接收机的输出数据严格为10帧。同步脉冲合成器生成的200Hz的脉冲用于触发MU 进行采集,IMU根据采集的结果进行处理后通过串行口送出,那么IMU的输出数据更新率也 是严格的200帧。同步脉冲合成器使用的效果如下每一个1PPS周期内,IMU的输出数据 为200帧;基于双子样的捷联惯导算法将每两帧IMU数据进行一次惯性导航计算,总共将进 行100次计算。正如前述,卫星接收机的输出数据严格为10'1'贞,基于Kaman滤波方法的组 合导航计算,其输入是卫星接收机的输出数据与双子样捷联惯导计算任务的结果的次数也为 10次。山于组合导航的作用是完成对捷联惯导计算所需要的状态变量进行修正,并不输出最 终结果。最终组合导航意义下的结果來自于锭联惯导箅法,即更新率与捷联惯导算法的更新 率相同,都为100Hz。同歩脉冲合成器的作用实际上是实现了两个独立单元(IMU与卫星接 收机)的数据釆集同步。确切地说,是实现了IMU与卫星接收机的同步。同步脉冲合成器的 使用仅仅解决了组合导航处理器进行组合导航计算所必需的外部信息源采集同步问题,如何 解决组合导航总任务所包含的诸多任务之间的调度问题,还需要中断信号合成器。
本发明中中断信号合成器的功能是根据主控制单元自身的GPIO输出脉冲信息,基于一 定的逻辑,生成相应的中断脉沖信号,用于触发通用处理器,使主控制单元进入相应的中断 服务程序。中断是解决多任务在单任务操作系统下的一种调度方法。利用中断信号合成器以 及中断调度解决组合导航诸多任务在事件方式下的同歩触发原理如下①IMU串行数据接收 任务,②卫星导航数据接收任务,③双子样捷联惯导计算任务,④组合导航数据输出任务, 基于Kalman滤波方法的组合导航计算任务等等都在各自的中断进程中实现,且触发顺序 按照实现总功能所要求的信息流进行。
结合本发明具体实施例中的结构,对其工作原现做进一歩详细说明。 .(—)同歩脉冲合成器根据1PPS脉冲,利用自身本地晶振(频率在10MHz 100MHz之 间),通过一定的逻辑,合成200Hz的脉冲信号。合成的200Hz脉冲信号边沿与1PPS脉沖对齐,且在一个1PPS周期内,刚好产生200个200Hz脉冲。其效果图如图4所示。
(二) 合成的200Hz脉冲用于触发1MU惯性测量单元进行惯性数据采集。惯性测量单元 实现在200Hz的上升沿对其内部的陀螺以及加速度计传感器的数据进行采集。然后将采集的 结果进行打包成为一个数据帧,采用RS232或者RS422进行传送到主控制单元的串行口 0。
(三) 串行口O在每收到一个字节后产生一个串行口0接收中断,主控制单元的中断管 理器在识别到上述中断后,将进入一个中断进程,称之为IMU串行数据接收进程。由于一个 完整的IMU串行数据帧长度为N个字节,即进入了 N次串行口 0接收中断后才能够收到一 个完整的IMU串行数据,其周期为5毫秒。设定在第N次串行口 O接收中断程序完成帧协 议解析后且退出前进行帧计数,那么当收到第二个完整帧后,通过设置GPIOo,使得GPIO0 产生一个一定宽度的正脉冲,用于触发双子样的捷聘惯导程序。产生了上述脉冲后,将帧计
数器重置为0。
(四) 双子样的捷联惯导程序被安排在GPIOo产生的中断进程中,其计算周期为10毫秒。 在此进程中,由于所需要的输入数据是完整的,因此可以进行一次捷联惯导计算。完成了一 次捷联惯导计算后,对捷联惯导计算次数计数。当完成10次捷联惯导计算,通过设置GPIO,, 使得GP10,产生一个一定宽度的正脉冲,用于触发Kalman滤波计算程序;并且设置相应的 信号灯标志l。产生了上述脉沖后,将帧计数器重置为O。 GPIO,产生的周期为IOO毫秒。
(五) 卫星导航串行数据是通过主控制单元的串行口 1进行接收的,山于一帧的长度为 M个字节,需要经历M次串行口 l接收中断后才能够收到一个完整的卫星导航串行数据,其 周期为100毫秒。设定在第M次串行口 1接收中断程序完成帧协议解析后,通过设置GPI02, 使得GPK)2产生一个一定宽度的正脉沖,表示已经收到了一帧完整的卫星导航串行数据;并 且设置相应的信号灯标志2。
(六) 中断信号合成器的功能是对GPIOo直通输出,对GPIO,或GPI02进行"逻辑或", 产生一个组合导航中断信号用于触发一次Kalman滤波计算。此时完成一次Kalman滤波计算 所需要的两种数据之一已经准备好。这两种数据是①'捷联惯导计算后将产生载体的姿态信 息,位置信息,速度信息等,②卫星接收机的导航数据。进入组合导航中断信号触发的组合 导航中断进程后,根据进入的条件如果是信号灯标志l,则进行Kalman滤波的时间更新部分 计算;如果是信号灯标志2,则进行Kalman滤波的测量更新部分计算。通过Kalman滤波计 算修正后的状态信息将被计算周期为IO毫秒的捷联惯导进程利用或者直接用于输出,这取决 于用户的算法设计。
(七) 整个组合导航的数据输出更新率依然保持在100Hz (对应IO毫秒周期),即每次捷联惯导完成后都要进行数据输出。整个组合导航的数据输出通过串行口 2完成。第一个输 出字节的发送,由步骤(四) 一次捷联惯导计算完成后进行。当这个字节发送完成后将产生 一个发送完成中断信号,由此中断信号触发任务④,继续发送下一个字节的数据。假设一个 完整的输出数据帧为P字节,需耍进入P-1次串行口发送中断,因为第一个字节的发送是任 务③完成的。
到此为止,5个任务一共需要5个中断。为了保证本发明所期望的结果,这5个中断的 优先级从高到低安排为
中断源任务优先级任务编号
串行口 o接收中断IMCJ串行数据接收任务高'①
串行口l接收中断卫星导航数据接收任务②
串行口2发送中断组合导航数据输出任务
GPIOo上升沿中断双子样捷联惯导计算任务③
组合导航中断信号基于Kalman滤波方法的组合导航计算任务低
实施实例如图9所示,本发明基于MPC8247通用商用处理器给出了一个实现实例。主 控制单元只详细给出了与本发明密切相关的部分的连接关系,其它部分简单的以总线形式进
行了描述。中断脉冲合成器给出了实现逻辑图。同歩脉冲合成器给出了原理示意图。同步脉 沖合成器基于FPGA逻辑实现。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡 属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通 技术人员來说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本 发明的保护范围。
1权利要求
1、一种用于组合导航处理器的多任务调度方法,其特征在于步骤为(1)、设置同步脉冲合成器和中断信号合成器同步脉冲合成器根据1PPS脉冲信号,利用自身本地晶振合成200Hz的触发脉冲信号;中断信号合成器根据组合导航处理器中输出的脉冲信息,生成相应的中断脉冲信号,触发组合导航处理器使其进入相应的中断服务程序;(2)、执行惯性测量单元串行数据接收任务依据同步脉冲合成器合成的脉冲信号,每个脉冲信号触发一次惯性测量单元进行数据采集,惯性测量单元每次将采集到的数据封装成一个数据包即数据帧通过串行口发送到组合导航处理器,组合导航处理器每收到一个来自惯性测量单元的串行数据即产生一个接收中断给中断信号合成器,中断信号合成器产生一个让中断管理器识别的中断进程,令组合导航处理器进入一个中断进程,该进程为执行惯性测量单元串行数据接收任务的进程;(3)、执行卫星导航数据接收任务卫星接收机的导航数据通过串行口发送给组合导航处理器,卫星导航数据接收任务被来自卫星接收机的串行数据触发,当卫星导航数据接收任务完成后组合导航处理器通过设置的GPIO2产生一个正脉冲,表示已经收到了一帧完整的卫星导航串行数据,产生了上述脉冲后将帧计数器重置为0,并且设置相应的信号灯标志2;(4)、执行双子样捷联惯导计算任务当连续两次惯性测量单元串行数据接收任务完成后组合导航处理器通过设置的GPIO0产生一个正脉冲,该正脉冲用于触发双子样捷联惯导计算任务,并且设置相应的信号灯标志1,产生了上述脉冲后将帧计数器重置为0;每次双子样捷联惯导计算任务完成后触发一次计算结果串行口输出任务,其周期与双子样捷联惯导计算任务的周期相同;(5)、执行基于卡尔曼滤波方法的组合导航计算任务当连续10次双子样捷联惯导计算任务完成后组合导航处理器通过设置的GPIO1产生一个正脉冲;当卫星导航数据接收任务完成后组合导航处理器通过设置的GPIO2产生一个正脉冲;这两个正脉冲通过中断信号合成器对GPIO1或GPIO2进行“逻辑或”,产生一个让中断管理器识别的中断进程,令组合导航处理器进入一个中断进程,该进程用于触发一次卡尔曼滤波计算任务。
2、 一种组合导航处理器,它包括主控制单元,其特征在于所述主控制单元中设有中断管理器、中断信号合成器、同步脉冲合成器、通用输入输出接口单元、串行口 0、串行口 1 以及串行口 2,所述同步脉冲合成器用于根据1PPS脉冲结合自身本地晶振合成200Hz的脉冲 信号,中断信号合成器根据通用输入输出接口单元中输出的脉冲信息生成相应的中断脉冲信 号后输出至中断管理器中,触发组合导航处理器使其进入相应的中断服务程序;串行口0用 于与惯性测量单元相连接收采集到的数据并产生接收中断信号输送至中断管理器,串行口 I用于与卫呈接收机相连接收采集到的数据并产生接收中断信号输送至中断管理器,串行口 2 用于与外部设备相连完成输出并产生发送中断给中断管理器。
3、根据权利要求2所述的组合导航处理器,其特征在于所述通用输入输出接口单元包 括GP10n 、 GPIO,以及GPI02,所述GPOo用于在连续两次惯性测量单元串行数据接收任务 完成后产生一个正脉冲输出至中断信号合成器,所述GPIO,用于在连续10次双子样捷联惯导 计算任务完成后产生一个正脉冲输出至中断信号合成器,所述GPI02用于在卫星导航数据接 收任务完成后产生一个正脉冲输出至中断信号合成器,所述中断信号合成器对GPIOo直通输 出至中断管理器,中断信号合成器对GPIO,或GPICb进行"逻辑或",产生一个组合导航中 断信号用于触发一次Kalman滤波计算。
全文摘要
一种用于组合导航处理器的多任务调度方法,其步骤为(1)设置同步脉冲合成器和中断信号合成器;(2)执行惯性测量单元串行数据接收任务;(3)执行卫星导航数据接收任务;(4)执行双子样捷联惯导计算任务;(5)执行基于卡尔曼滤波方法的组合导航计算任务。该用于组合导航处理器,它包括主控制单元,主控制单元中设有中断管理器、中断信号合成器、同步脉冲合成器、通用输入输出接口单元、串行口0、串行口1以及串行口2。本发明具有结构简单紧凑、原理简单、能够大大提高组合导航处理器的利用率、提高整体效率等优点。
文档编号G01C21/20GK101586961SQ20091004385
公开日2009年11月25日 申请日期2009年7月6日 优先权日2009年7月6日
发明者吴美平, 唐康华, 涛 李, 兵 罗, 胡小平, 逯亮清 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1