论文部分内容阅读
随着技术的进步和成本的降低,民用无人机领域的发展十分迅速。然而,国内外多旋翼无人机基本上使用的是MCU控制器的飞控系统,存在着数据采集和处理速度慢、精度低等缺点。基于FPGA设计飞控系统,不仅可以降低成本、提高精度和运算速度,而且FPGA设计的高可靠性、较短的设计周期、自顶向下的设计流程等特点,可以大幅提高系统的综合性能。为了使自主研发的飞控芯片能够与支持MAVLink协议的地面站Mission Planner进行通信,论文研究了MAVLink协议并对其进行了分析进而设计了MAVLink通信协议电路。论文完成了以下几个方面的工作:为了使飞控芯片采集到的传感器数据,能够通过数传传输给支持MAVLink通信协议的地面站软件Mission Planner。研究和分析了该协议,确定了10个用于传感器数据传输的MAVLink消息。在此基础上新增了自定义的消息,此消息用于对无人机的实时控制,从而设计了MAVLink通信协议电路的总体结构。为了适应不同传输速度的无线数传,设计了采用了相位累加原理能够以任意波特率传输数据的UART接口。为了解决MAVLink数据发送与接口速度不匹配,而设计了采用了异步FIFO的接收数据缓存电路和发送数据缓存电路,以提高UART接口与MAVLink数据发送的效率。设计了msgid生成电路、数据接收及存储电路、MAVLink数据缓存电路、MAVLink编码电路以及控制数据接收电路。这些电路能够实现获取数据、提取有效数据、对数据排序、对数据进行校验和编码以及对数据进行解析。用Modelsim对MAVLink通信协议电路及其子电路进行了功能仿真,随后在FPGA开发板对所设计的MAVLink通信协议电路进行了验证测试。通过分析仿真波形和串口调试软件以及地面站软件Mission Planner接收的数据,验证了本文设计的MAVLink通信协议电路能够按MAVLink协议编码发送传感器数据,并且能够接收和解码按MAVLink协议编码的控制数据消息。