CN109765799A - 一种基于dsp的用于垂直起降飞行器制导控制的串口数据收发方法 - Google Patents
一种基于dsp的用于垂直起降飞行器制导控制的串口数据收发方法 Download PDFInfo
- Publication number
- CN109765799A CN109765799A CN201811592080.9A CN201811592080A CN109765799A CN 109765799 A CN109765799 A CN 109765799A CN 201811592080 A CN201811592080 A CN 201811592080A CN 109765799 A CN109765799 A CN 109765799A
- Authority
- CN
- China
- Prior art keywords
- data
- serial
- guidance
- interrupt
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明提出了一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,属于半实物仿真系统开发技术领域。所述方法包括:步骤一、开始启动串口数据收发;步骤二、参数初始化;步骤三、失能中断;步骤四、打开配置设备;步骤五、设置中断;步骤六、使能中断;步骤七、开启死循环。
Description
技术领域
本发明涉及一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,属于半实物仿真系统开发技术领域。
背景技术
串口通信作为一种较为简单而可靠的通信方式,被广泛应用于飞行器计算机上的数据传递。半实物系统在模拟实际飞行器飞行过程时,也要尽可能贴合飞行器上的环境,因此使用串口方式实现半实物系统中数据的传递是必要的。利用串口方式收发数据的编程路径主要有两种:查询和中断;前者需要设置定时器,按一定时间周期收发数据,这就使得需要收发数据的双方同步时钟,这在对实时性要求极高的半实物系统里实现起来较为复杂且不可靠;而后者则免去了同步时钟的麻烦,收发数据的双方中的一方以一定时间周期发送数据,另一方以“是否收到数据”作为条件及时接收,因此只要收到数据的一方有能力在设定时间内处理完数据即可,这与使用高速数字信号处理器(DSP)的半实物系统不谋而和。
发明内容
本发明为了解决现有技术中的串口数据通信方法无法满足垂直起降飞行器半实物仿真系统平台的搭建要求的问题,提出了一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,所采取的技术方案如下:
一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,所述方法包括:
步骤一、开始启动串口数据收发;
步骤二、参数初始化:串口通信的参数初始化、用于垂直起降飞行器制导控制的参数初始化以及DSP芯片参数的初始化;
步骤三、失能中断:先关闭全局中断,然后清除中断号中的中断标志位;
步骤四、打开配置设备:打开串口,并对串口的属性进行初始化设置,其中所述串口属性包括数据位、校验位、停止位和波特率;
步骤五、设置中断:分别设置串口接收数据中断条件、标志位及所占用的中断源,其中,所述串口接收数据中断条件为缓存区数据达到指定数量;
步骤六、使能中断:把中断映射到具体中断源,设置所述中断源为使能,然后安装中断向量表,最后打开全局中断;
步骤七、开启死循环:在死循环里执行接收数据-执行垂直起降的制导控制程序-发送执行结果的流程,并在达到命中目标后,调出循环,结束数据收发。
进一步地,所述串口数据收发方法的串口通信中断服务函数结构为接收串口数据至指定的寄存器,然后清除缓存区数据。
进一步地,步骤七所述死循环的具体包括:
第一步、进入死循环,等待中断;
第二步、判断串口缓存区数据是否达到指定数量,如果达到指定数量,则触发中断,执行中断服务,然后继续执行第二步直至串口缓存区数据达到指定数量;如果没有达到指定数量,则执行下一步;
第三步、判断寄存器数据是否达到预先设定的字符串长度,如果所述寄存器数据达到预先设定的字符串长度,则进行下一步;如果所述寄存器数据没有达到预先设定的字符串长度,则返回第一步并重复第一步至第三步判断寄存器数据直至所述寄存器数据达到预先设定的字符串长度;
第四步、根据与上位机的协议将字符串处理成要使用的数据,完成数据识别;
第五步、利用接收到的数据进行垂直起降飞行器制导控制解算,当达到所述飞行器命中目标时,调出死循环并结束;如果所述飞行器没有命中目标,则利用串口数据发送函数将计算结果发送至上位机;
第六步、在计算结果发送之后,将收发数据的寄存器以及需要清零的参与计算的参数进行数据清零;
第七步、返回第一步继续死循环,等待中断,重复第一步至第七步直至所述飞行器命中目标。
本发明有益效果:本发明除能够根据上位机的数据随即处理、生成并回传垂直起降飞行器的控制指令外,还有如下优点:1)便于调节整个飞行器半实物系统的仿真步长:本发明免去了数据收发的双方时钟同步的麻烦,因此仅需要调节上位机的数据发送周期便可改变整个系统的仿真步长;2)能适用于不同的制导控制程序:对于需要不同数据量收发的制导控制程序,只要调整本发明中所述的数据寄存器中的数据长度的判别条件及与上位机的通信协议即可;3)适用于不同的DSP型号,便于升级硬件提升整个半实物系统的仿真能力:整个系统的仿真步长很大程度上也取决于DSP的处理能力,本发明不依赖于具体的DSP型号,更换更高性能的DSP时,只需减小仿真步长便可达到升级系统的目的。
附图说明
图1为本发明所述串口数据收发方法的流程图;
图2为本发明所述死循环的流程图。
具体实施方式
下面结合具体实施例对本发明做进一步说明,但本发明不受实施例的限制。
实施例1:
一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,所述方法包括:
步骤一、开始启动串口数据收发;
步骤二、参数初始化:串口通信的参数初始化、用于垂直起降飞行器制导控制的参数初始化以及DSP芯片参数的初始化;
步骤三、失能中断:先关闭全局中断,然后清除中断号中的中断标志位;
步骤四、打开配置设备:打开串口,并对串口的属性进行初始化设置,其中所述串口属性包括数据位、校验位、停止位和波特率;
步骤五、设置中断:分别设置串口接收数据中断条件、标志位及所占用的中断源,其中,所述串口接收数据中断条件为缓存区数据达到指定数量;
步骤六、使能中断:把中断映射到具体中断源,设置所述中断源为使能,然后安装中断向量表,最后打开全局中断;
步骤七、开启死循环:在死循环里执行接收数据-执行垂直起降的制导控制程序-发送执行结果的流程,并在达到命中目标后,调出循环,结束数据收发。
其中,所述串口数据收发方法的串口通信中断服务函数结构为接收串口数据至指定的寄存器,然后清除缓存区数据。
进一步地,步骤七所述死循环的具体包括:
第一步、进入死循环,等待中断;
第二步、判断串口缓存区数据是否达到指定数量,如果达到指定数量,则触发中断,执行中断服务,然后继续执行第二步直至串口缓存区数据达到指定数量;如果没有达到指定数量,则执行下一步;
第三步、判断寄存器数据是否达到预先设定的字符串长度,如果所述寄存器数据达到预先设定的字符串长度,则进行下一步;如果所述寄存器数据没有达到预先设定的字符串长度,则返回第一步并重复第一步至第三步判断寄存器数据直至所述寄存器数据达到预先设定的字符串长度;
第四步、根据与上位机的协议将字符串处理成要使用的数据,完成数据识别;
第五步、利用接收到的数据进行垂直起降飞行器制导控制解算,当达到所述飞行器命中目标时,调出死循环并结束;如果所述飞行器没有命中目标,则利用串口数据发送函数将计算结果发送至上位机;
第六步、在计算结果发送之后,将收发数据的寄存器以及需要清零的参与计算的参数进行数据清零;
第七步、返回第一步继续死循环,等待中断,重复第一步至第七步直至所述飞行器命中目标。
虽然本发明已以较佳的实施例公开如上,但其并非用以限定本发明,任何熟悉此技术的人,在不脱离本发明的精神和范围内,都可以做各种改动和修饰,因此本发明的保护范围应该以权利要求书所界定的为准。
Claims (3)
1.一种基于DSP的用于垂直起降飞行器制导控制的串口数据收发方法,其特征在于,所述方法包括:
步骤一、开始启动串口数据收发;
步骤二、参数初始化:串口通信的参数初始化、用于垂直起降飞行器制导控制的参数初始化以及DSP芯片参数的初始化;
步骤三、失能中断:先关闭全局中断,然后清除中断号中的中断标志位;
步骤四、打开配置设备:打开串口,并对串口的属性进行初始化设置,其中所述串口属性包括数据位、校验位、停止位和波特率;
步骤五、设置中断:分别设置串口接收数据中断条件、标志位及所占用的中断源,其中,所述串口接收数据中断条件为缓存区数据达到指定数量;
步骤六、使能中断:把中断映射到具体中断源,设置所述中断源为使能,然后安装中断向量表,最后打开全局中断;
步骤七、开启死循环:在死循环里执行接收数据-执行垂直起降的制导控制程序-发送执行结果的流程,并在达到命中目标后,调出循环,结束数据收发。
2.根据权利要求1所述串口数据收发方法,其特征在于,所述串口数据收发方法的串口通信中断服务函数结构为接收串口数据至指定的寄存器,然后清除缓存区数据。
3.根据权利要求1所述串口数据收发方法,其特征在于,步骤七所述死循环的具体包括:
第一步、进入死循环,等待中断;
第二步、判断串口缓存区数据是否达到指定数量,如果达到指定数量,则触发中断,执行中断服务,然后继续执行第二步直至串口缓存区数据达到指定数量;如果没有达到指定数量,则执行下一步;
第三步、判断寄存器数据是否达到预先设定的字符串长度,如果所述寄存器数据达到预先设定的字符串长度,则进行下一步;如果所述寄存器数据没有达到预先设定的字符串长度,则返回第一步并重复第一步至第三步判断寄存器数据直至所述寄存器数据达到预先设定的字符串长度;
第四步、根据与上位机的协议将字符串处理成要使用的数据,完成数据识别;
第五步、利用接收到的数据进行垂直起降飞行器制导控制解算,当达到所述飞行器命中目标时,调出死循环并结束;如果所述飞行器没有命中目标,则利用串口数据发送函数将计算结果发送至上位机;
第六步、在计算结果发送之后,将收发数据的寄存器以及需要清零的参与计算的参数进行数据清零;
第七步、返回第一步继续死循环,等待中断,重复第一步至第七步直至所述飞行器命中目标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811592080.9A CN109765799B (zh) | 2018-12-25 | 2018-12-25 | 一种基于dsp的用于垂直起降飞行器制导控制的串口数据收发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811592080.9A CN109765799B (zh) | 2018-12-25 | 2018-12-25 | 一种基于dsp的用于垂直起降飞行器制导控制的串口数据收发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109765799A true CN109765799A (zh) | 2019-05-17 |
CN109765799B CN109765799B (zh) | 2020-10-16 |
Family
ID=66451554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811592080.9A Active CN109765799B (zh) | 2018-12-25 | 2018-12-25 | 一种基于dsp的用于垂直起降飞行器制导控制的串口数据收发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109765799B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319729A (ja) * | 1996-06-03 | 1997-12-12 | Oki Electric Ind Co Ltd | ディジタルシグナルプロセッサ |
CN1537771A (zh) * | 2003-10-22 | 2004-10-20 | 北京交通大学 | 车载无线机车信号控制装置 |
CN101150809A (zh) * | 2007-11-03 | 2008-03-26 | 青岛海信移动通信技术股份有限公司 | 移动终端处理器串口唤醒与流控的方法 |
CN101339581A (zh) * | 2008-08-29 | 2009-01-07 | 北京中星微电子有限公司 | 基于中断通讯的嵌入式系统的在线调试仿真方法 |
CN103309826A (zh) * | 2013-05-23 | 2013-09-18 | 中国电子科技集团公司第五十四研究所 | 兼容以太网和pxi多串口数据管理方法 |
-
2018
- 2018-12-25 CN CN201811592080.9A patent/CN109765799B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319729A (ja) * | 1996-06-03 | 1997-12-12 | Oki Electric Ind Co Ltd | ディジタルシグナルプロセッサ |
CN1537771A (zh) * | 2003-10-22 | 2004-10-20 | 北京交通大学 | 车载无线机车信号控制装置 |
CN101150809A (zh) * | 2007-11-03 | 2008-03-26 | 青岛海信移动通信技术股份有限公司 | 移动终端处理器串口唤醒与流控的方法 |
CN101339581A (zh) * | 2008-08-29 | 2009-01-07 | 北京中星微电子有限公司 | 基于中断通讯的嵌入式系统的在线调试仿真方法 |
CN103309826A (zh) * | 2013-05-23 | 2013-09-18 | 中国电子科技集团公司第五十四研究所 | 兼容以太网和pxi多串口数据管理方法 |
Non-Patent Citations (4)
Title |
---|
吴称列: "基于DSP的无刷直流电机舵机系统的设计与研究", 《工程科技II辑》 * |
吴艳敏等: "基于DSP的导弹目标模拟转台控制系统设计实现", 《机电工程技术》 * |
崔乃刚等: "基于混合优化的运载器大气层内上升段轨迹快速规划方法", 《航空学报》 * |
金春竹: "GFSINS导航计算机系统设计与实现", 《信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN109765799B (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11176068B2 (en) | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link | |
CN105812225B (zh) | 与接口无关的虚拟以太网通信部件及其实现通信的方法 | |
CN106155960B (zh) | 基于gpio握手和edma的uart串口通信方法 | |
CN103914424B (zh) | 基于gpio接口的lpc外设扩展方法及装置 | |
US8352231B2 (en) | System for performing a co-simulation and/or emulation of hardware and software | |
CN106953853A (zh) | 一种片上网络千兆以太网资源节点及其工作方法 | |
CN105975424A (zh) | 一种主从串行通讯协议 | |
CN104714918B (zh) | 主机环境下高速fc总线数据接收及缓冲方法 | |
CN104184635A (zh) | 家庭网关基于Android RIL实现一对多数据通讯的方法及装置 | |
CN104156334A (zh) | 用于多机通讯的串口自适应数据透明传输协议 | |
CN110321288B (zh) | 一种用于飞行器上信息处理系统的仿真测试方法 | |
CN109765799A (zh) | 一种基于dsp的用于垂直起降飞行器制导控制的串口数据收发方法 | |
CN103746878B (zh) | 一种测定SpaceWire数据包的传输时间的仿真系统 | |
CN103441914B (zh) | As5643总线中包含等时数据包的传输方法 | |
CN102821159B (zh) | 面向深空通信的分布式仿真系统 | |
CN106789723A (zh) | 多核网络转发限速的方法和装置 | |
CN106649184B (zh) | 适用于星载电子设备的异步通信串口指令快速应答方法 | |
CN109408426A (zh) | 一种灵活通用的串行通信方法及系统 | |
CN102790663A (zh) | 一种应用于vlbi硬件相关处理机的全硬件网络接口 | |
CN103176931B (zh) | 一种改进的dma通信方法及装置 | |
Guo et al. | A novel GPP-based software-defined radio architecture | |
CN207573372U (zh) | 基于上位机rs485通信实现半双工模拟全双工的通信装置 | |
CN102880576B (zh) | 基于stm32f103ve芯片模拟多组uart接口的方法 | |
CN105224260A (zh) | 一种ahci接口的传输方法及系统 | |
CN203104528U (zh) | 一种千兆以太网接口电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |