可编程飞行器控制引擎ip核的制作方法

文档序号:8380382阅读:274来源:国知局
可编程飞行器控制引擎ip核的制作方法
【技术领域】
[0001] 本发明涉及飞行器控制领域,具体为一种可编程飞行器控制引擎IP核。
【背景技术】
[0002] 飞行器运行时,为了完成所承担的任务,必须具有一定的控制系统,如四旋翼悬 停飞行时,需要通过控制系统控制飞行器完成指定方向和指定姿态的飞行。对于飞行器而 言,不仅需要进行姿态的控制和修正,还需要进行航向修正等其它控制行为,才能保证飞行 器按照期望的方式飞行。
[0003] 现有技术中的飞行器控制系统,一般采用通用CPU+通用A/D采样+通用D/A输出 的架构,这种架构设计简单,且通用CPU和现有编程模型相同。采用这种方式意味着通用 (PU需要时刻进行姿态控制,航向控制等操作,对于一般嵌入式处理器而言,这个运算量是 十分庞大的,处理器往往无法再分配于其它应用之中,使得一些设计和架构不得不采用两 个以上的通用CPU,其中一个用于姿态控制,另一个用于实现机载应用;同时,对于飞行器 控制过程,其数据通路具有明显的生产者-消费者的数据特性,现有的通用CPU针对控制密 集型应用,无法做到并行处理这些数据流,因而整个系统的处理效率大大降低;现有技术中 的姿态控制系统,还有一部分采用通用CPU+硬件PID的设计,这种设计仅能够缓解PID部 分的运算压力,对于改善整个飞行器控制系统的作用甚微。

【发明内容】

[0004] 本发明针对以上问题的提出,而研制一种可编程飞行器控制引擎IP核。
[0005] 本发明的技术手段如下:
[0006] 一种可编程飞行器控制引擎IP核,所述IP核包括:
[0007] 第一片上外设;所述第一片上外设接收飞行器三轴加速度、飞行器三轴角速度、 GPS数据、测距数据、飞行器控制数据、第一 PID参数和第二PID参数;所述飞行器控制数据 至少包括姿态控制数据和航向控制数据;
[0008] 连接第一片上外设和统一处理引擎堆,用于将飞行器三轴加速度、飞行器三轴角 速度、GPS数据、测距数据、飞行器控制数据、第一 PID参数和第二PID参数传输至统一处理 引擎堆的第一 DM通道;
[0009] 根据飞行器三轴加速度、飞行器三轴角速度、GPS数据、测距数据、飞行器控制数 据、第一 PID参数和第二PID参数生成飞行器各电机控制信号,并经由第二DMA通道和第二 片上外设传输至飞行器的统一处理引擎堆;
[0010] 第二 DMA 通道;
[0011] 第二片上外设;
[0012] 所述统一处理引擎堆包括:
[0013] 根据飞行器三轴加速度和飞行器三轴角速度数据进行姿态融合计算确定飞行器 当前姿态角的第一计算单元;
[0014] 根据GPS数据和测距数据确定飞行器当前所处经炜度和高度的第二计算单元;
[0015] 将飞行器控制数据、第一 PID参数和第二PID参数传输给第四计算单元的第三计 算单元;
[0016] 连接第一计算单元、第二计算单元和第三计算单元,根据航向控制数据、第二计算 单元确定的飞行器当前所处经炜度和高度、以及第一 PID参数进行PID运算得出飞行器姿 态角,并结合第一计算单元确定的飞行器当前姿态角、以及第二PID参数进行PID运算输出 飞行器的垂直速度控制量、翻滚输入控制量、俯仰控制量和偏航控制量的第四计算单元;
[0017] 连接第四计算单元,根据第四计算单元输出的飞行器的垂直速度控制量、翻滚输 入控制量、俯仰控制量和偏航控制量,结合飞行器控制数据和飞行器模型生成飞行器各电 机控制信号的第五计算单元;
[0018] 另外,所述IP核还包括:
[0019] 与飞行器外部设备实现数据交互的通用外设接口;所述统一处理引擎堆与通用外 设接口相连接;
[0020] 与通用外设接口相连接,用于运行用户自定义程序的主处理器;
[0021] 与通用外设接口、统一处理引擎堆和主处理器相连接的仲裁器;所述仲裁器当主 处理器和统一处理引擎堆同时申请访问通用外设接口时,根据预设优先级仲裁主处理器和 统一处理引擎堆对通用外设接口的访问权;
[0022] 另外,所述统一处理引擎堆还包括:
[0023] 连接第一计算单元、第二计算单元、第三计算单元,用于将飞行器当前姿态角、飞 行器当前所处经炜度和高度、飞行器控制数据回传至飞行器控制器的第六计算单元;
[0024] 进一步地,所述统一处理引擎堆还包括:
[0025] 用于暂存第一片上外设经由第一 DMA通道传输过来的数据的输入寄存器;
[0026] 用于暂存统一处理引擎堆将通过第二DMA通道输出的数据的输出寄存器;
[0027] 用于暂存第一 PID参数和第二PID参数的控制寄存器;
[0028] 用于暂存各计算单元之间交互数据的共享数据存储器;
[0029] 所述输入寄存器、输出寄存器与各计算单元之间通过快速互联总线连接;
[0030] 第一计算单元、第二计算单元、第三计算单元、第四计算单元和第五计算单元均具 有数据存取部件;
[0031] 所述控制寄存器和共享数据存储器与各计算单元的数据存取部件直接连接;
[0032] 进一步地,第一计算单元、第二计算单元、第三计算单元、第四计算单元和第五计 算单元采用超长指令集架构,并均包括:指令存储器、程序计数器、为各计算单元提供通用 存储位置的本地寄存器、输入总线寄存器、输出总线寄存器、取指译码处理级、多个数据选 择器I、多个算术逻辑单元I、第一执行级和写回级;
[0033] 取指译码处理级控制程序计数器实现程序的顺序执行和跳转;
[0034] 取指译码处理级依据指令地址从指令存储器中取出指令,并对取出的指令进行译 码,按照超长指令集的指令格式译出控制信号;在控制信号的控制下,第一计算单元、第二 计算单元、第三计算单元、第四计算单元或第五计算单元包括的上述各寄存器的至少一个 寄存器输出的数据经过数据选择器I的选择后进入算术逻辑单元I,各算术逻辑单元I和 第一执行级执行运算并向写回级输出运算结果,该运算结果通过写回级传输到上述各寄存 器中的至少一个寄存器;
[0035] 进一步地,第一计算单元、第二计算单元、第三计算单元、第四计算单元和第五计 算单元采用超长指令集架构,并均包括:指令存储器、程序计数器、为各计算单元提供通用 存储位置的本地寄存器、输入总线寄存器、输出总线寄存器、取指译码处理级、多个数据选 择器I、多个算术逻辑单元I、第一执行级、多个数据选择器II、多个算术逻辑单元II和写 回级;
[0036] 取指译码处理级控制程序计数器实现程序的顺序执行和跳转;
[0037] 取指译码处理级依据指令地址从指令存储器中取出指令,并对取出的指令进行译 码,按照超长指令集的指令格式译出控制信号;在控制信号的控制下,第一计算单元、第二 计算单元、第三计算单元、第四计算单元或第五计算单元包括的上述各寄存器的至少一个 寄存器输出的数据经过数据选择器I的选择后进入算术逻辑单元I,各算术逻辑单元I和 第一执行级在所述控制信号的控制下,执行运算并输出运算结果后,数据选择器II对第一 执行级输出的运算结果、上述各寄存器中的至少一个寄存器输出的数据进行选择后进入算 术逻辑单元II,各算术逻辑单元II和第二执行级执行运算并向写回级输出运算结果,该运 算结果通过写回级传输到上述各寄存器中的至少一个寄存器;
[0038] 进一步地,第一计算单元、第二计算单元、第三计算单元、第四计算单元和第五计 算单元均还包括:
[0039] 实现PID运算的PID控制寄存器;
[0040] 提供程序时钟的定时器;
[0041] 控制第一计算单元、第二计算单元、第三计算单元、第四计算单元或第五计算单元 暂停或运行的程序同步寄存器;
[0042] 进一步地,本地寄存器、输入总线寄存器和输出总线寄存器采用双时钟沿触发寄 存器;所述双时钟沿触发寄存器包括第一 D触发器、第二D触发器和第一选择器;第一 D触 发器和第二D触发器的输出端均连接第一选择器的输入端;
[0043] 进一步地,算术逻辑单元I和算术逻辑单元II均包括:
[0044] 左寄存器、右寄存器、第二选择器、第三选择器和ALU ;第二选择器的一输入端连 接左寄存器,另一输入端接收操作数,输出端连接ALU输入端;第三选择器的一输入端连接 右寄存器,另一输入端接收操作数,输出端连接ALU输入端。
[0045] 由于采用了上述技术方案,本发明提供的可编程飞行器控制引擎IP核,本发明采 用超级流水线和超长指令集架构的硬件体系架构,通过硬件方式对飞行器进行姿态和航向 控制,专用的优化硬件使得控制延迟大大降低,同时可编程
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1