一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法技术

技术编号:21139847 阅读:42 留言:0更新日期:2019-05-18 04:49
本发明专利技术提出了一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,属于半实物仿真系统开发技术领域。所述方法包括:步骤一、开始启动串口数据收发;步骤二、参数初始化;步骤三、失能中断;步骤四、打开配置设备;步骤五、设置中断;步骤六、使能中断;步骤七、开启死循环。

A Serial Data Transmitting and Sending Method Based on DSP for Guidance Control of Vertical Takeoff and Landing Vehicle

【技术实现步骤摘要】
一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法
本专利技术涉及一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,属于半实物仿真系统开发

技术介绍
串口通信作为一种较为简单而可靠的通信方式,被广泛应用于飞行器计算机上的数据传递。半实物系统在模拟实际飞行器飞行过程时,也要尽可能贴合飞行器上的环境,因此使用串口方式实现半实物系统中数据的传递是必要的。利用串口方式收发数据的编程路径主要有两种:查询和中断;前者需要设置定时器,按一定时间周期收发数据,这就使得需要收发数据的双方同步时钟,这在对实时性要求极高的半实物系统里实现起来较为复杂且不可靠;而后者则免去了同步时钟的麻烦,收发数据的双方中的一方以一定时间周期发送数据,另一方以“是否收到数据”作为条件及时接收,因此只要收到数据的一方有能力在设定时间内处理完数据即可,这与使用高速数字信号处理器(DSP)的半实物系统不谋而和。
技术实现思路
本专利技术为了解决现有技术中的串口数据通信方法无法满足垂直起降飞行器半实物仿真系统平台的搭建要求的问题,提出了一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,所采取的技术方案如下:一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,所述方法包括:步骤一、开始启动串口数据收发;步骤二、参数初始化:串口通信的参数初始化、用于垂直起降飞行器制导控制的参数初始化以及DSP芯片参数的初始化;步骤三、失能中断:先关闭全局中断,然后清除中断号中的中断标志位;步骤四、打开配置设备:打开串口,并对串口的属性进行初始化设置,其中所述串口属性包括数据位、校验位、停止位和波特率;步骤五、设置中断:分别设置串口接收数据中断条件、标志位及所占用的中断源,其中,所述串口接收数据中断条件为缓存区数据达到指定数量;步骤六、使能中断:把中断映射到具体中断源,设置所述中断源为使能,然后安装中断向量表,最后打开全局中断;步骤七、开启死循环:在死循环里执行接收数据-执行垂直起降的制导控制程序-发送执行结果的流程,并在达到命中目标后,调出循环,结束数据收发。进一步地,所述串口数据收发方法的串口通信中断服务函数结构为接收串口数据至指定的寄存器,然后清除缓存区数据。进一步地,步骤七所述死循环的具体包括:第一步、进入死循环,等待中断;第二步、判断串口缓存区数据是否达到指定数量,如果达到指定数量,则触发中断,执行中断服务,然后继续执行第二步直至串口缓存区数据达到指定数量;如果没有达到指定数量,则执行下一步;第三步、判断寄存器数据是否达到预先设定的字符串长度,如果所述寄存器数据达到预先设定的字符串长度,则进行下一步;如果所述寄存器数据没有达到预先设定的字符串长度,则返回第一步并重复第一步至第三步判断寄存器数据直至所述寄存器数据达到预先设定的字符串长度;第四步、根据与上位机的协议将字符串处理成要使用的数据,完成数据识别;第五步、利用接收到的数据进行垂直起降飞行器制导控制解算,当达到所述飞行器命中目标时,调出死循环并结束;如果所述飞行器没有命中目标,则利用串口数据发送函数将计算结果发送至上位机;第六步、在计算结果发送之后,将收发数据的寄存器以及需要清零的参与计算的参数进行数据清零;第七步、返回第一步继续死循环,等待中断,重复第一步至第七步直至所述飞行器命中目标。本专利技术有益效果:本专利技术除能够根据上位机的数据随即处理、生成并回传垂直起降飞行器的控制指令外,还有如下优点:1)便于调节整个飞行器半实物系统的仿真步长:本专利技术免去了数据收发的双方时钟同步的麻烦,因此仅需要调节上位机的数据发送周期便可改变整个系统的仿真步长;2)能适用于不同的制导控制程序:对于需要不同数据量收发的制导控制程序,只要调整本专利技术中所述的数据寄存器中的数据长度的判别条件及与上位机的通信协议即可;3)适用于不同的DSP型号,便于升级硬件提升整个半实物系统的仿真能力:整个系统的仿真步长很大程度上也取决于DSP的处理能力,本专利技术不依赖于具体的DSP型号,更换更高性能的DSP时,只需减小仿真步长便可达到升级系统的目的。附图说明图1为本专利技术所述串口数据收发方法的流程图;图2为本专利技术所述死循环的流程图。具体实施方式下面结合具体实施例对本专利技术做进一步说明,但本专利技术不受实施例的限制。实施例1:一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,所述方法包括:步骤一、开始启动串口数据收发;步骤二、参数初始化:串口通信的参数初始化、用于垂直起降飞行器制导控制的参数初始化以及DSP芯片参数的初始化;步骤三、失能中断:先关闭全局中断,然后清除中断号中的中断标志位;步骤四、打开配置设备:打开串口,并对串口的属性进行初始化设置,其中所述串口属性包括数据位、校验位、停止位和波特率;步骤五、设置中断:分别设置串口接收数据中断条件、标志位及所占用的中断源,其中,所述串口接收数据中断条件为缓存区数据达到指定数量;步骤六、使能中断:把中断映射到具体中断源,设置所述中断源为使能,然后安装中断向量表,最后打开全局中断;步骤七、开启死循环:在死循环里执行接收数据-执行垂直起降的制导控制程序-发送执行结果的流程,并在达到命中目标后,调出循环,结束数据收发。其中,所述串口数据收发方法的串口通信中断服务函数结构为接收串口数据至指定的寄存器,然后清除缓存区数据。进一步地,步骤七所述死循环的具体包括:第一步、进入死循环,等待中断;第二步、判断串口缓存区数据是否达到指定数量,如果达到指定数量,则触发中断,执行中断服务,然后继续执行第二步直至串口缓存区数据达到指定数量;如果没有达到指定数量,则执行下一步;第三步、判断寄存器数据是否达到预先设定的字符串长度,如果所述寄存器数据达到预先设定的字符串长度,则进行下一步;如果所述寄存器数据没有达到预先设定的字符串长度,则返回第一步并重复第一步至第三步判断寄存器数据直至所述寄存器数据达到预先设定的字符串长度;第四步、根据与上位机的协议将字符串处理成要使用的数据,完成数据识别;第五步、利用接收到的数据进行垂直起降飞行器制导控制解算,当达到所述飞行器命中目标时,调出死循环并结束;如果所述飞行器没有命中目标,则利用串口数据发送函数将计算结果发送至上位机;第六步、在计算结果发送之后,将收发数据的寄存器以及需要清零的参与计算的参数进行数据清零;第七步、返回第一步继续死循环,等待中断,重复第一步至第七步直至所述飞行器命中目标。虽然本专利技术已以较佳的实施例公开如上,但其并非用以限定本专利技术,任何熟悉此技术的人,在不脱离本专利技术的精神和范围内,都可以做各种改动和修饰,因此本专利技术的保护范围应该以权利要求书所界定的为准。本文档来自技高网...

【技术保护点】
1.一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,其特征在于,所述方法包括:步骤一、开始启动串口数据收发;步骤二、参数初始化:串口通信的参数初始化、用于垂直起降飞行器制导控制的参数初始化以及DSP芯片参数的初始化;步骤三、失能中断:先关闭全局中断,然后清除中断号中的中断标志位;步骤四、打开配置设备:打开串口,并对串口的属性进行初始化设置,其中所述串口属性包括数据位、校验位、停止位和波特率;步骤五、设置中断:分别设置串口接收数据中断条件、标志位及所占用的中断源,其中,所述串口接收数据中断条件为缓存区数据达到指定数量;步骤六、使能中断:把中断映射到具体中断源,设置所述中断源为使能,然后安装中断向量表,最后打开全局中断;步骤七、开启死循环:在死循环里执行接收数据‑执行垂直起降的制导控制程序‑发送执行结果的流程,并在达到命中目标后,调出循环,结束数据收发。

【技术特征摘要】
1.一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,其特征在于,所述方法包括:步骤一、开始启动串口数据收发;步骤二、参数初始化:串口通信的参数初始化、用于垂直起降飞行器制导控制的参数初始化以及DSP芯片参数的初始化;步骤三、失能中断:先关闭全局中断,然后清除中断号中的中断标志位;步骤四、打开配置设备:打开串口,并对串口的属性进行初始化设置,其中所述串口属性包括数据位、校验位、停止位和波特率;步骤五、设置中断:分别设置串口接收数据中断条件、标志位及所占用的中断源,其中,所述串口接收数据中断条件为缓存区数据达到指定数量;步骤六、使能中断:把中断映射到具体中断源,设置所述中断源为使能,然后安装中断向量表,最后打开全局中断;步骤七、开启死循环:在死循环里执行接收数据-执行垂直起降的制导控制程序-发送执行结果的流程,并在达到命中目标后,调出循环,结束数据收发。2.根据权利要求1所述串口数据收发方法,其特征在于,所述串口数据收发方法的串口通信中断服务函数结构为接收串口数据至指定的寄存器,然后清除缓存区数据。3.根据权利...

【专利技术属性】
技术研发人员:韦常柱崔乃刚杨奔奔关英姿浦甲伦
申请(专利权)人:哈尔滨工业大学
类型:发明
国别省市:黑龙江,23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1