基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx

上传人:lao****ou 文档编号:841762 上传时间:2024-06-17 格式:DOCX 页数:8 大小:121.06KB
下载 相关 举报
基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx_第1页
第1页 / 共8页
基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx_第2页
第2页 / 共8页
基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx_第3页
第3页 / 共8页
基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx_第4页
第4页 / 共8页
基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx》由会员分享,可在线阅读,更多相关《基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx(8页珍藏版)》请在第一文库网上搜索。

1、基于XIIinXVivadoH1S的小型无人机平衡仪设计小型无人机在航拍、灾害救援、防火等领域得到广泛运用,但是无人机操作复杂,尤其是控制飞行姿态平稳、航线准确和降落平滑,对地面人员的操作水平要求较高。操作问题容易造成无人机的飞行事故,严重时会损坏飞机机体及机上设备,也会危害对地面人员及财产安全。因此,需要平衡仪辅助地面操作人员控制飞机的姿态和航迹。FPGA对数据并行处理,使用相同算法时与CPU相比,计算速度高,影响速度快,适合数据密集、重复性高的工作。FPGA在逻辑上具有高度灵活性,对各种通讯协议具有良好的兼容性,也可根据各种控制系统制定数据输出格式。FPGA架构飞控具有较大优势,但由于FP

2、GA设计难度较高,开发流程繁琐,开发周期长,影响FPGA架构飞控的应用和普及。本文针对上述问题提出了一种基于XIIinXVivadoH1S工具的FPGA架构飞控的快捷开发方法,并将该方法应用于四旋翼飞行器平衡仪的设计上。1平衡仪介绍平衡仪用于提高无人机飞行的稳定性。无人机的稳定性包括横向稳定性、纵向稳定性和航向稳定性,分别表示无人机在横滚、俯仰和航向上恢复原始状态的能力。通过使用平衡仪辅助地面人员操纵无人机,可精确控制无人机的飞行姿态。本平衡仪包括惯性测量单元:使用三轴加速度计、三轴陀螺仪和三轴磁力计测量无人机物理运动状态;数据处理单元:平衡仪系统的核心,用来计算无A机当前姿态并控制控制机械执

3、行结构调整无人机姿态。平衡仪结构如图1所J0图1平衡仪结构图本平衡仪算法分为姿态解算算法和控制算法。姿态解算算法用于得到当前无人机飞行姿态,当前姿态用俯仰角、横滚角和方向角表示,姿态解算算法的核心为四元数法。平衡仪软件流程如图2所示,系统上电后对处理器和传感器进行初始化。使用加速度计补偿陀螺仪的漂移,进行数据融合得到误差四元数,计算得到当前四元数后,计算得到当前姿态角。对遥控信号解码后可得到目标姿态角,与当前姿态角一起通过PD算法得到控制量的输出。图2平衡仪算法流程图2X11inxVivadoH1S介绍当今无线、医疗、军用之品和消费类产品应用中使用的高级算法比以往更加复杂,加上紧迫的开发和验证

4、计划,即最有经验的RT1开发团队都感到极具挑战。VivadoDesignSuiteVivado高层次综合可将CC+和SyStCn1C规范直接引入XIIinXA11Programmab1e器件,无需手动创建RT1,从而加速了IP创建。ViVado高层次综合支持ISE和ViVado设计环境,使系统工程师和设计架构师能以更快速的方式创建IPo早探索了具有不同设计需求和多种微架构后,VivadoH1S(High-1eve1Synthesis)能直接将CC+和SyStemC转换为VHD1或Veri1og的RT1级,从而加速了设计的实现和验证,功能仿真可以通过C语言执行,这相比VHD1和Veri1og仿真

5、加速超过了一个数量级。VivadoH1S提供给设计人员和架构师一个更快,更可靠的方法进行高品质设计。3设计思路通过上述分析,使用X11inXVivadoH1S套件时需要以己有C语言实现后仿真的飞控核心代码为基础,整合为XIIinXVivadoH1S套件所需结构,完成功能仿真后,通过高级综合工具转换为对应IP核,在EDK套件中配置后生成对应比特流文件。3.1C语言代码调整C语言平台调试方便,可通过在线调试查看变量数值,对数据格式支持性好,代码编译数度较快,可使用幽1对飞控算法框架做功能仿真。飞控框架验证合理后,需要对C语言代码做调整,包括一下几个方面:1整理飞控算法的程序结构。平衡仪核心代码主要

6、分为传感器数据的预处理、和姿态角解算、控制量计算等部分。将这些功能整合到一个函数FC中,使用统一的输入输出变量。2整理飞控算法的输入输出变量。根据H1S工具对数据格式的要求,输入变量使用值传递方法,输出变量和输入输出变量使用指针传递方法。此处输入变量包括传感器数据、遥控信号值和控制参数。输出信号包括飞机的控制信号、姿态角和一部分状态值。3调整非关键信号的数据格式。目前XIIinXZynq系列芯片普遍有对浮点数处理的专用DSP单元,对浮点数有良好的支持。但DSP单元数量有限,对于对响应时间具有苛刻要求的系统中,可采用部分点数运算部分定点运算的方法。对于精度要求高的变量或者关键变量,如四元数,采用

7、浮点数计算;对于对要求不高且对系统影响不大的信号,如遥控信号值,采用定点运算的方法。3.2H1S使用在H1S中建立工程,选择正确的目标芯片,添加所有的C语言文件,在工程的ToPFUnCXion中填写算法的顶层函数名称,本例中为FC。运行CSynthesis,调试提示的警告和错误。可通过添加Testbench软件仿真飞控算法的C语言程序。例如测试姿态解算功能时,需要使用预先采样的传感器数值验算算法计算得到的姿态值是否准确、响应是否及时。建立TeStbenCh文件,定义预先存储的传感器实验数据和FC函数对应的输入输出变量,在main函数中按照传感器采样顺序和数据格式将传感器数据依次送入FC函数,使

8、用Simu1ation工具仿真验证实验结果。使用CSynthesis工具对FC函数进行综合,综合后可查看综合报表,包括各种资源的预计使用情况。例如在设计中发现1NT预计使用量超过实际数量后使用率过高,查看是在何处使用了大量的1UT,可试图采用模块分时复用的方法解决问题。打开此函数对应的C文件,在DireCtiVe栏中选择对应函数,点击右键选择InsertDirective在弹出的对话框中DireCtiVe选项为N1INE0也可通过输入脚本set_directive_inIine函数名”,再次运行C语言的综合,查看资源使用情况。代码调试完成后使用Exp2ItRT1,选择PCOreforEDK格式

9、,生成飞控核心算法对应的IP核。3.3EDK配置在EDK中添加生成的飞控核心算法IP核路径,并将此IP核添加至相应的工程中。编写配置相应的输入输出IP核,在平衡仪设计中,需要编写配置以下模块:机械执行机构控制驱动模块:目前小型无人机电机和舵机控制多以脉宽调制信号为主,此模块功能为将飞控核心模块计算出的油门、升降、横滚和方向等控制量转换为对应的控制信号,并通过芯片管脚输出。将此模块添加至EDK工程中后,编写对应的MPD文件,配置对应的输入输出城且,如配置由飞控核心模块传入的吸纳后端口为输入,宽度为32位;输出到机械控制机构的信号端口为输出,默认为1位.MPD文件配置完成后在PortS标签转中将此

10、模块的端口与飞控核心模块对应的信号连接。遥控接收机信号解码模块:此平衡仪中使用的遥控接收机信号采用6通道脉宽调制信号,周期约为22ms,脉宽从12ms分别代表该通道信号从最小到最大的信号量。将此模板添加至EDK工程中后,编写对应的MPD文件,配置对应的输入输出端口,6个通道信号定义为输入,宽度默认为2;解码后的6路信号定义为输出,信号宽度为32.MPD文件配置完成后在Ports标签中将此模块的端口与飞控核心模块对应的信号连接。传感器读写模块:此平衡仪例子中使用的传感器接且均为I*2C总线,可共用一组总线接口。此模块功能为通过运总线初始化传感器并按照一定采样时间读取传感器数据。将此模块添加至ED

11、K工程中后,编写对应的MPD文件,具体过程同上一模块类似。其中IC总线的2A线为输入输出类型,编写MPD文件时注意使用输入、输出和门控的形式表示输入输出出口。MPD文件配置完成后在Ports标签中将此模块的端口与飞控核心模块对应的信号连接。4实现与结果在完成代码编写和仿真试调后,生成比特流文件。为验证此方法生成IP核的有效性,将其应用到基于Xi1inXZyrKr7000扩展式处理平台(EPP)的ZedBOard中。为了直观比较数据准确性,添加了串口IP核将传感数据和解算的姿态角打印到PC端。将传感器数据送入原始C语言实现的核心代码中,将仿真得到的姿态角与FPGA中得到的姿态角对照发现姿态角计算

12、准确,响应较高。为了直观比较运算时间,配置FPGA一个管脚输出Busy信号表示实际运算的时间。每次运算开始时BUSy管脚置高电平。在ARM平台中实现的飞控系统也配置一个类似管脚用于输出飞控实际运算的时间。比较两个管脚输出信号高电平的宽度,如图3所示,ARM平台实现此算法需要超过ImS的时间,而FPGA平台实现此算法仅需约7us,如图4所示,硬件加速超过了两个数量级,具有较大优势。图3ARM平台运算时间图4FPGA平台运算时1j巾为验证此方法的可靠性,将此系统应用在一个四旋翼飞行器中。经过实际飞行测试,如图5所示,飞行器飞行稳定,适合实际飞行测试,如图5所示,飞行器飞行稳定,适合完成多种目视范围

13、飞行任务,该飞行系统具有较高的可靠性。图5实际飞行测试5结束语本文介绍了一种基于FPGA的小型无人机飞控系统的开发方法,借助Xi1inxVivadoH1S工具,将已有的C语言平台的飞控核心代码转换为FPGA平台的IP核。此方法的特点是开发难度低、流程简便、周期短,生成的IP核运行速度与ARM平台相比提高了两个数量级,且精度没有降低。本文以算法较简单的平衡仪为例验证了此方法的可行性,在处理更加复杂的导航算法和控制算法时,FPGA平台更将凸显出其处理速度快的优势,此方法可在基于FPGA的飞控系统开发过程中得到广泛的应用。在后续的改进方法中,将更加注重资源的使用情况,合理利用逻辑资源。参考文献1霍新

14、宇.关于无人机在森林防火监测方面的探究J.科技与创新,2014(7):128-130.2喻少林.基于DSPFPGA的微小型无人机飞控计算机研究M.杭州:浙江大学,2011.3张鹏翼.纽处传感器在无人机姿态平衡系统中的应用J.电光与控制,2007,14(6):170172.4张天光.捷联惯性导航技术M.北京:国防工业出版社,2007.5徐玉.微小型无人机飞控平台与姿态融合算法研究M.杭州:浙江大学,2008.6秦永元.惯性导航M.北京:科学出版社,2006.7胡寿松.自动控制原理M.北京:科学出版社,2001.8 Xi1inx.VivadodesignsuiteuserguideM.SanJoseiXi1inx,2013.9 Xi1inx.Vivadodesignsuitetutoria1M.SanJoseiXi1inx,2013.10何宾.Xi1inxFPGA设计权威指南ViVado集成设计环境M.北京:清华大学出版社,2014.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服