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

文档序号:8380382阅读:来源:国知局
的特点使得它具有良好的通用 性,克服了现有技术中控制对主控CPU资源占用率过高,不能并行处理数据,控制延迟过大 的问题,同时能够弥补现有技术中基于AISC的控制核心可编程性差、通用性不高的缺点。
【附图说明】
[0046] 图1是本发明所述IP核的结构示意图;
[0047] 图2是本发明所述第一 DMA通道和第二DMA通道的结构示意图;
[0048] 图3是本发明所述统一处理引擎堆的结构示意图;
[0049] 图4是本发明各计算单元之间的连接示意图;
[0050] 图5是本发明第一计算单元、第二计算单元、第三计算单元、第四计算单元、第五 计算单元和第六计算单元各自的内部结构示意图;
[0051] 图6是本发明所述双时钟沿触发寄存器的结构示意图;
[0052] 图7是本发明所述算术逻辑单元I、算术逻辑单元II各自的结构示意图;
[0053] 图8是本发明第四计算单元和第五计算单元的运算示意图;
[0054] 图9是本发明滤波运算单元的结构示意图;
[0055] 图10是本发明滑动窗口滤波器的结构示意图;
[0056] 图11是本发明监视器的结构示意图;
[0057] 图12是本发明程序同步寄存器的结构示意图。
[0058] 图13是本发明快速互联总线的结构示意图。
【具体实施方式】
[0059] 如图1、图3、图4、图5、图6、图7和图8所示,一种可编程飞行器控制引擎IP核, 所述IP核包括:第一片上外设;所述第一片上外设接收飞行器三轴加速度、飞行器三轴角 速度、GPS数据、测距数据、飞行器控制数据、第一 PID参数和第二PID参数;所述飞行器控 制数据至少包括姿态控制数据和航向控制数据;飞行器控制数据、第一 PID参数和第二PID 参数来自于遥控器和飞行器控制器;连接第一片上外设和统一处理引擎堆,用于将飞行器 三轴加速度、飞行器三轴角速度、GPS数据、测距数据、飞行器控制数据、第一 PID参数和第 二PID参数传输至统一处理引擎堆的第一 DMA通道;根据飞行器三轴加速度、飞行器三轴角 速度、GPS数据、测距数据、飞行器控制数据、第一 PID参数和第二PID参数生成飞行器各电 机控制信号,并将飞行器各电机控制信号经由第二DM通道和第二片上外设传输至飞行器 的统一处理引擎堆;第二DMA通道;第二片上外设;所述统一处理引擎堆包括:根据飞行器 三轴加速度和飞行器三轴角速度数据进行姿态融合计算确定飞行器当前姿态角的第一计 算单元;根据GPS数据和测距数据确定飞行器当前所处经炜度和高度的第二计算单元;将 飞行器控制数据、第一 PID参数和第二PID参数传输给第四计算单元的第三计算单元;连 接第一计算单元、第二计算单元和第三计算单元,根据航向控制数据、第二计算单元确定的 飞行器当前所处经炜度和高度、以及第一 PID参数进行PID运算得出飞行器姿态角,并结合 第一计算单元确定的飞行器当前姿态角、以及第二PID参数进行PID运算输出飞行器的垂 直速度控制量、翻滚输入控制量、俯仰控制量和偏航控制量的第四计算单元;连接第四计算 单元,根据第四计算单元输出的飞行器的垂直速度控制量、翻滚输入控制量、俯仰控制量和 偏航控制量,结合飞行器控制数据和飞行器模型生成飞行器各电机控制信号的第五计算单 元;所述飞行器模型可以为四旋翼飞行器模型;四旋翼飞行器是一种实现垂直起降的非共 轴式多旋翼飞行器,只需通过调节蝶形分布四个旋翼的转速,实现对飞行姿态的控制。另 外,所述IP核还包括:与飞行器外部设备实现数据交互的通用外设接口;所述统一处理引 擎堆与通用外设接口相连接;与通用外设接口相连接,用于运行用户自定义程序的主处理 器;与通用外设接口、统一处理引擎堆和主处理器相连接的仲裁器;所述仲裁器当主处理 器和统一处理引擎堆同时申请访问通用外设接口时,根据预设优先级仲裁主处理器和统一 处理引擎堆对通用外设接口的访问权;另外,所述统一处理引擎堆还包括:连接第一计算 单元、第二计算单元、第三计算单元,用于将飞行器当前姿态角、飞行器当前所处经炜度和 高度、飞行器控制数据回传至飞行器控制器的第六计算单元;进一步地,所述统一处理引擎 堆还包括:用于暂存第一片上外设经由第一 DM通道传输过来的数据的输入寄存器;用于 暂存统一处理引擎堆将通过第二DMA通道输出的数据的输出寄存器;用于暂存第一 PID参 数和第二PID参数的控制寄存器;用于暂存各计算单元之间交互数据的共享数据存储器; 所述输入寄存器、输出寄存器与各计算单元之间通过快速互联总线连接;第一计算单元、第 二计算单元、第三计算单元、第四计算单元和第五计算单元均具有数据存取部件;所述控制 寄存器和共享数据存储器与各计算单元的数据存取部件直接连接;进一步地,第一计算单 元、第二计算单元、第三计算单元、第四计算单元和第五计算单元采用超长指令集架构,并 均包括:指令存储器、程序计数器、为各计算单元提供通用存储位置的本地寄存器、输入总 线寄存器、输出总线寄存器、取指译码处理级、多个数据选择器I、多个算术逻辑单元I、第 一执行级和写回级;取指译码处理级控制程序计数器实现程序的顺序执行和跳转;取指译 码处理级依据指令地址从指令存储器中取出指令,并对取出的指令进行译码,按照超长指 令集的指令格式译出控制信号;在控制信号的控制下,第一计算单元、第二计算单元、第三 计算单元、第四计算单元或第五计算单元包括的上述各寄存器的至少一个寄存器输出的数 据经过数据选择器I的选择后进入算术逻辑单元I,各算术逻辑单元I和第一执行级执行 运算并向写回级输出运算结果,该运算结果通过写回级传输到上述各寄存器中的至少一个 寄存器;进一步地,第一计算单元、第二计算单元、第三计算单元、第四计算单元和第五计算 单元采用超长指令集架构,并均包括:指令存储器、程序计数器、为各计算单元提供通用存 储位置的本地寄存器、输入总线寄存器、输出总线寄存器、取指译码处理级、多个数据选择 器I、多个算术逻辑单元I、第一执行级、多个数据选择器II、多个算术逻辑单元II和写回 级;取指译码处理级控制程序计数器实现程序的顺序执行和跳转;取指译码处理级依据指 令地址从指令存储器中取出指令,并对取出的指令进行译码,按照超长指令集的指令格式 译出控制信号;在控制信号的控制下,第一计算单元、第二计算单元、第三计算单元、第四 计算单元或第五计算单元包括的上述各寄存器的至少一个寄存器输出的数据经过数据选 择器I的选择后进入算术逻辑单元I,各算术逻辑单元I和第一执行级在所述控制信号的 控制下,执行运算并输出运算结果后,数据选择器II对第一执行级输出的运算结果、上述各 寄存器中的至少一个寄存器输出的数据进行选择后进入算术逻辑单元II,各算术逻辑单元 II和第二执行级执行运算并向写回级输出运算结果,该运算结果通过写回级传输到上述各 寄存器中的至少一个寄存器;所述控制信号对输出的数据的寄存器设定、各数据选择器I 的选择操作、各算术逻辑单元I的运算、数据选择器II的选择操作、各算术逻辑单元II的运 算、接收写回数据的寄存器设定等进行控制;进一步地,第一计算单元、第二计算单元、第三 计算单元、第四计算单元和第五计算单元均还包括:实现PID运算的PID控制寄存器;提供 程序时钟的定时器;控制第一计算单元、第二计算单元、第三计算单元、第四计算单元或第 五计算单元暂停或运行的程序同步寄存器;进一步地,本地寄存器、输入总线寄存器和输出 总线寄存器采用双时钟沿触发寄存器;所述双时钟沿触发寄存器包括第一 D触发器、第二D 触发器和第一选择器;第一 D触发器和第二D触发器的输出端均连接第一选择器的输入端; 进一步地,算术逻辑单元I和算术逻辑单元II均包括:左寄存器、右寄存器、第二选择器、第 三选择器和ALU ;第二选择器的一输入端连接左寄存器,另一输入端接收操作数,输出端连 接ALU输入端;第三选择器的一输入端连接右寄存器,另一输入端接收操作数,输出端连接 ALU输入端。所述控制寄存器还用于统一处理引擎堆和主处理器之间的控制数据交互;算 术逻辑单元I和算术逻辑单元II包括的ALU所接收的操作数可以为第一数据选择器或第 二数据选择器的输出结果;算术逻辑单元I和算术逻辑单元II均还包括:第四选择器和第 五选择器;ALU的运算结果在送至第一执行级或第二执行级的同时,还送至第四选择器和 第五选择器,第四选择器对ALU的运算结果和来自上部ALU的结果数据进行选择,选择后的 结果暂存至左寄存器,第五选择器对ALU的运算结果和来自下部ALU的结果数据进行选择, 选择后的结果暂存至右寄存器,其中任一 ALU的上部ALU和下部ALU由图5中的各算术逻 辑单元I的上下顺序、或各算术逻辑单元II的上下顺序确定,这样便于进行类似乘累加运 算时上一周期的计算结果能够立即被下一周期使用或者使编译器编译的时候进行软件流 水的相关优化。
[0060] 本发明输入总线寄存器输出的数据还可以经过滤波器滤
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1