基于双mcu实现的飞行机器人系统的制作方法

文档序号:6310986阅读:307来源:国知局
专利名称:基于双mcu实现的飞行机器人系统的制作方法
技术领域
本发明属于飞行机器人系统设计领域,尤其涉及一种基于双MCU实现的飞行机器人系统。
背景技术
随着微机电系统MEMS的发展,飞行机器人姿态传感器的采样频率不断提高,姿态控制算法越来越复杂,这样需要运算能力更强的微型控制器单元MCU对传感器采样获得数据进行处理。原有的单微型控制器单元MCU飞行机器人控制系统中,所有的控制计算功能均由一个微型控制器单元MCU完成,其工作频率较高,但操作复杂。在双微型控制器单元MCU实现的飞行机器人控制系统中,二者之间的数据共享有串行通信方式、并行通信方式、双口 RAM等方式。串行总线多微型控制器单元MCU中,各微型控制器单元MCU之间的通信十分方便,只是传输的速度较慢,传递的信息量不宜过大;并行通信方式可交换的数据量大,传输速度较快,能满足大多数应用场合速度的要求。但只适用于系统中互通信的两个微型控制器单元MCU是处于同一速度级别的情况,否则,微型控制器单元MCU之间极大的通信数据量和处理速度的差异,易造成数据处理中的“瓶颈”现象;双口 RAM的功能特点解决了快速与慢速设备之间的矛盾,使得通信的两个微型控制器单元MCU可以按照各自的速度对数据进行处理和交换,保证系统的可靠性。

发明内容
针对上面技术背景中描述的目前使用的飞行机器人控制系统,在数据处理的速度和可靠性方面存在的不足,本发明提出了一种基于双MCU实现的飞行机器人系统。本发明的技术方案是,一种基于双MCU实现的飞行机器人系统,其特征在于,所述系统包括电源模块、通信模块、第一微控制器单元、第二微控制器单元和双口 RAM ;其中,所述电源模块分别与所述通信模块、第一微控制器单元、第二微控制器单元和双口 RAM连接;用于为整个飞行机器人的正常工作提供能量;所述通信模块分别与所述电源模块和第一微控制器单元连接;用于将飞行机器人的实时状态信息发送至远端PC,对飞行机器人的工作状态进行实施监视;所述第一微控制器单元分别与所述通信模块、电源模块和双口 RAM连接;用于整个系统的控制与任务调度,将获得的传感器数据存放入双口 RAM的下行数据区;所述第二微控制器单元分别与所述电源模块和双口 RAM连接;用于实时解算当前飞行姿态,将实时解算的飞行机器人空中姿态数据存放如双口 RAM的上行数据区;所述双口 RAM分别与所述电源模块、第一微控制器单元和第二微控制器单元;用于使通信的第一微控制器单元和第二微控制器单元可以按照各自的速度对数据进行处理和交换。所述双口 RAM包括邮箱Mail Box、上行数据区和下行数据区;所述邮箱Mail Box用于两个微控制器单元MCU在信息交互时产生中断;所述上行数据区用于存储第二微控制、器单元实时解算的飞行机器人空中姿态数据;所述下行数据区用于存储第一微控制器单元所得到的传感器数据。本发明的效果在于,采用双口 RAM,解决了快速与慢速设备之间的矛盾,使得通信的两个微型控制器单元MCU可以按照各自的速度对数据进行处理和交换,保证系统的可靠性。


图I是本发明提供的一种基于双MCU实现的飞行机器人系统的硬件结构示意图; 图2是本发明提供的一种基于双MCU实现的飞行机器人系统的双口 RAM的存储空间分配图;图3是本发明提供的一种基于双MCU实现的飞行机器人系统的双口 RAM驱动程序框图。
具体实施例方式下面结合附图,对优选实施例作详细说明。应该强调的是下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。图I是本发明提供的一种基于双MCU实现的飞行机器人系统的硬件结构示意图。图I中基于双MCU实现的飞行机器人系统包括电源模块、通信模块、第一微控制器单元、第二微控制器单元和双口 RAM ;其中,所述电源模块分别与所述通信模块、第一微控制器单元、第二微控制器单元和双口 RAM连接,用于为整个飞行机器人的正常工作提供能量;所述通信模块分别与所述电源模块和第一微控制器单元连接,用于将飞行机器人的实时状态信息发送至远端PC,对飞行机器人的工作状态进行实施监视;所述第一微控制器单元分别与所述通信模块、电源模块和双口 RAM连接,用于整个系统的控制与任务调度,将获得的传感器数据存放入双口 RAM的下行数据区;所述第二微控制器单元分别与所述电源模块和双口RAM连接,用于实时解算当前飞行姿态;所述双口 RAM分别与所述电源模块、第一微控制器单元和第二微控制器单元,使得通信的两个微控制器单元MCU可以按照各自的速度对数据进行处理和交换。图2是本发明提供的一种基于双MCU实现的飞行机器人系统的双口 RAM的存储空间分配图。图2中,所述双口 RAM包括邮箱Mail Box、上行数据区、下行数据区三个部分。邮箱Mail Box用于两个微控制器单元MCU在信息交互时产生中断,防止出现双口 RAM中的传感器数据与已获得的姿态解算结果数据不是在同一软件运行周期内计算的问题。将剩余的RAM存储空间划分为上行数据区、下行数据区。上行数据区用于存储第二微控制器单元实时解算的飞行机器人空中姿态数据;下行数据区用于存储第一微控制器单元所得到的传感器数据。将双口 RAM的存储空间进行人为划分可以避免两个微控制器单元MCU同时对双口 RAM进行写操作。图3是本发明提供的一种基于双MCU实现的飞行机器人系统的双口 RAM驱动程序框图。图3中,在第一微控制器单元侧,系统在正常工作时,由第一微控制器单元将获得的传感器数据存放在双口 RAM的下行数据区内;查看BUSY_R信号,判断第二微控制器单元是否在向上行数据区写入数据,若否,则读取经过解算获得的飞行姿态数据;此时,查看BUSY_L信号,判断第二微控制器单元是否在向下行数据区写入数据;若否,则操作邮箱Mail Box产生中断,通知第二微控制器单元读取双口 RAM中的传感器数据,进行空中姿态解算。在第二微控制器单元侧,系统在正常工作时,由第二微控制器单元将通过解算获得的飞行机器人空中姿态数据存放在双口 RAM的上行数据区内;查看BUSY_L信号,判断第一微控制器单元是否在向下行数据区写入数据,若否,则读取获得的传感器数据;此时,查看BUSY_R信号,判断第一微控制器单元是否在向上行数据区写入数据;若否,则操作邮箱Mail Box产生中断,通知第一微控制器单元读取双口 RAM中的空中姿态数据。进入下一个循环周期。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范 围为准。
权利要求
1.一种基于双MCU实现的飞行机器人系统,其特征在于,所述系统包括电源模块、通信模块、第一微控制器单兀、第二微控制器单兀和双口 RAM; 其中,所述电源模块分别与所述通信模块、第一微控制器单元、第二微控制器单元和双口 RAM连接,用于为整个飞行机器人的正常工作提供能量; 所述通信模块分别与所述电源模块和第一微控制器单元连接;用于将飞行机器人的实时状态信息发送至远端PC,对飞行机器人的工作状态进行实施监视; 所述第一微控制器单元分别与所述通信模块、电源模块和双口 RAM连接;用于整个系统的控制与任务调度,将获得的传感器数据存放入双口 RAM的下行数据区; 所述第二微控制器单元分别与所述电源模块和双口 RAM连接;用于实时解算当前飞行姿态,将实时解算的飞行机器人空中姿态数据存放如双口 RAM的上行数据区; 所述双口 RAM分别与所述电源模块、第一微控制器单元和第二微控制器单元;用于使通信的第一微控制器单元和第二微控制器单元可以按照各自的速度对数据进行处理和交换。
2.根据权利要求I所述的一种基于双MCU实现的飞行机器人系统,其特征在于,所述双口 RAM包括邮箱Mail Box、上行数据区和下行数据区;所述邮箱Mail Box用于两个微控制器单元MCU在信息交互时产生中断;所述上行数据区用于存储第二微控制器单元实时解算的飞行机器人空中姿态数据;所述下行数据区用于存储第一微控制器单元所得到的传感器数据。
全文摘要
本发明公开了飞行机器人系统设计领域的一种基于双MCU实现的飞行机器人系统。其特征在于,所述系统包括电源模块、通信模块、第一微控制器单元、第二微控制器单元和双口RAM。本发明采用双口RAM,解决了快速与慢速设备之间的矛盾,使得通信的两个微型控制器单元MCU可以按照各自的速度对数据进行处理和交换,保证系统的可靠性。
文档编号G05D1/08GK102759926SQ20121024079
公开日2012年10月31日 申请日期2012年7月11日 优先权日2012年7月11日
发明者刘春阳, 吴华, 李钊, 杨国田, 柳长安 申请人:华北电力大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1