您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 基于AT91M55800的无人机飞行控制系统设计与实现
基于AT91M55800的无人机飞行控制系统设计与实现摘要:本文介绍了ATMEL公司的ARM7处理器AT91M55800A的性能特点,给出了基于AT91M55800A处理器的无人机飞行控制系统的设计原理和控制策略,介绍了基于μC/OS-II实时操作系统的飞行控制软件的功能模块和任务划分方法,着重说明了各个任务之间的任务调度策1引言随着科学技术的发展以及军事战略思想的转变,无人机在军事、民用等领域获的应用越来越广泛。无人机的飞控计算机向着高精度和小型化方向发展。高精度要求无人机的制导控制精度高,能够适应复杂的外界环境。小型化则对控制系统的重量和体积提出了更高的要求,要求控制计算机的体积越小越好。性能指标和体积限制迫切需要研制新型的飞控计算机系统。基于单片机和基于PC机是目前常用的两种飞行控制计算机。单片机运算速度较慢,片内集成度低,系统资源不足。基于PC机的飞控计算机是以Intelx86系列处理器为CPU,加上相应外围的协处理器、内存、硬盘、接口电路等模块。运算速度快,寻址能力强,但接口能力差,需要较多的外围接口器件配合,不易实现小型化。ARM处理器以它32位的内核和较高的运算速度,丰富的片内集成设备,较强的运算能力正越来越多的受到嵌入式系统设计者的青睐,选用微控制器AT91M55800A,通过扩展一定的外围设备,构成飞行控制计算机,具有较高的集成度,较好的实时性和高性价比。2AT91M55800性能特点AT91M55800A是ATMEL公司基于ARM7TDMI核的AT9116/32位微控制器家族成员,具有如下特性[1][2]*集成了ARM7TDMIARMThumb处理器核——高性能的32位RISC体系结构,高代码密度的16位指令集和嵌入式ICE。最高时钟频率33MHz。*8KB片内SRAM.——32位数据总线宽度,单时钟周期访问,系统最大可扩展64M存储器,软件可编程的8位/16位数据总线。*主从式SPI接口——8~16位可编程数据长度,4个外部从芯片选择,最多可连接16个外部SPI设备,系统扩展性能强。*可编程的看门狗定时器,提高系统的可靠性。*片内集成3个USART、6通道16位定时/计数器(每个定时计数器都可以作为PWM,便于控制电机)片内实时时钟、8通道10位ADC及2通道10位DAC等系统资源。*最大58个通用IO口,IO资源丰富。*片内具有先进电源管理控制器(APMC),可以最大限度的兼顾性能和功耗。适用于高性能低功耗的场合。AT91M55800A以其丰富的片内外资源适合作为无人机的飞行控制系统的微控制器。3控制系统硬件设计无人机上各种传感器众多,输出接口不同。垂直陀螺、角速率传感器输出的是模拟信号,因此飞控计算机必须具备多路模拟信号的高精度采集能力。磁航向传感器、高度传感器以及GPS和遥控遥测等外围单元则采用RS-485或RS-232通讯接口,因此飞控计算机要具有多个串行接口。此外系统要求一系列的电平输出/输入接口。数字舵机接收的信号形式是频率信号,因此飞控计算机必须将控制参数以频率量的格式输出。为了兼容现有的模拟舵机,还要提供控制模拟舵机的模拟电压信号。以上都是在硬件设计中必须考虑的内容。基于以上的考虑,结合AT91M55800A的片上设备,设计的飞行控制系统硬件结构如图1所示。3.1存储系统由于AT91M55800A不带片内程序存储器,需要使用FLASHROM作为系统的程序存储器。AT91M55800A的总线读写周期最长可以有8个周期的延时[3],考虑系统的执行速度和程序的大小,选用访问速度是90ns的AT49BV1614A-90TI(芯片容量1M×16位共2M字节)。处理器片内提供了8K的SRAM,作为程序的数据存储空间,基本上能够满足要求,但为了提高系统的实时性,系统程序需要在RAM中运行,为此采用了大容量的静态RAMIS61LV51216扩展RAM存储系统。而将处理器的片内RAM用作系统堆栈空间,加速程序运行速度。为了保存存储控制参数,预设航路等数据,采用1K字节的SPI接口串行EEPROMX25097,用作掉电保护。3.2串行接口的扩展机上遥控指令、遥测数据、GPS数据、高度信号、航向信号、航路装定、控制参数设置都采用RS-232或RS-485接口,而AT91M55800A片内集成的3个USART不能满足要求,必须要对串口进行扩展。完全采用软件模拟扩展串口,将加重处理器的负荷,降低系统的实时性。而采用16C554专用串口扩展芯片将增加系统的电路复杂性,增加电路板面积。在综合考虑各种方案之后,将遥控指令接入USART0,高度和航向信号通过多路开关4052共用USART1,GPS数据使用USART2。采用SPI总线接口的USART收发器件MAX3111扩展了一路串行接口,本串行口的TX通道作为遥测通道发送遥测数据;RX通道用来接收地面检测以及装定控制参数。这样,兼顾了系统的实时性和紧凑性。3.5频率信号的输出控制数字舵机需要4路PWM信号,分别用来控制升降、副翼、方向和发动机转速舵机,而片上集成的6路定时/计数器正好用来作为输出PWM信号,不需要扩展接口芯片。余下的一路定时器用作μC/OS-II的系统时钟,另外一路定时器用作发动机转速监测。3.4D/A转换为了兼容现有的模拟舵机,还需要输出4路模拟信号。片上两路D/A通道,分别用于控制升降和副翼舵机。采用SPI接口DA转换器扩充了两路DA通道,用来控制方向舵机和发动机转速控制器。3.5A/D转换片上自带的8路10位AD转换器已经完全满足了通道数目和精度的要求,不需要扩展ADC器件。这8路ADC分别采集飞机姿态信号,电网电压等信号,是飞行控制系统对无人机工作状态进行控制和监控的基础,同时这些信号经过编码发往地面遥测设备。3.6数字IO控制数字IO控制用于输出开关量控制其它设备。采用片上通用IO接口经过锁存器驱动输出,这样即增强了输出信号的驱动能力,又加强了抗干扰措施,防止系统出现误动作。4控制策略及软件设计本飞行控制系统的飞行过程控制包括:飞行器姿态保持、航向保持及高度保持,飞行控制律解算及飞行控制,飞行模态管理,导航轨迹生成及优化,任务规划及能量管理,飞行状态数据采集,无线电遥控终端,任务设备管理,系统故障诊断9个方面。4.1控制策略如图2所示为无人机飞行控制系统结构图。以垂直陀螺、三轴角速率陀螺惯性姿态信号为基础,经过控制解算模块,通过相应舵机控制,构成飞行姿态稳定与控制内回路。内回路是飞行控制的核心控制回路。以GPS位置、航向信号、气压高度信号为基础,通过导航控制方法计算出飞行控制内回路给定姿态和发动机油门位置指令,构成系统的外回路[4]。4.2软件设计信息吞吐量大,功能多,逻辑时序关系复杂,特别是实时性要求高,是飞控计算机软件的主要特点。传统的嵌入式系统设计中,多采用单任务的顺序机制,与时间相关性较强的事件靠定时中断来保证。这种编程方式的优势在于程序较为直观,但系统的稳定性、实时性较差。尤其当系统功能较复杂,同时对实时性要求较严格时,单任务机制的弱点使暴露无遗。本飞行控制计算机采用了实时嵌入式操作系统μC/OS-II,其实时性能和内核的健壮性早已经在大量的实际应用中得到了证实。将系统功能按照优先级循序分为数据采集模块,控制解算模块,模态控制模块,高度航向读取模块,指令接收模块,GPS接收模块,航路控制模块,遥测发送模块。这8个模块作为μC/OS-II的8个任务,每个任务都是一个无限循环,由μC/OS-II内核根据各个模块的优先级和模块间的信号量和消息队列进行任务的调度。数据采集模块负责各个模拟信号的收集和处理,将收集的结果通过消息队列发给控制解算模块和遥测发送模块,由于无人机的姿态信息需要根据采样率进行定时采样,将本模块在定时器中断函数中实现,采样周期为20ms。控制解算模块用于收集其他相关模块收集的无人机姿态航向和高度、位置等信息,根据地面指令,依照控制算法解算出控制量,将结果输出给舵机,控制无人机姿态。模态控制模块用于根据当前指令和无人机姿态、速度等信息决定当前所在的控制模态。高度航向读取模块,指令接收模块和GPS接收模块用于接收高度航向,指令和GPS数据。航路控制模块用于在预设航路飞行时根据GPS数据解算航路控制信息。将解算值发送给控制解算模块。遥测发送模块用于发送遥测信息到地面,优先级最低。系统上电复位以后,经过bootloader把指令复制到片外512KRAM中,开始运行,首先进行系统硬件初始化和μC/OS-II自身的初始化。然后创建上述8个任务。在普通飞行模态下,除航路控制模块外,其余模块都处于就绪态。进入优先级最高的控制解算模块开始运行,控制解算模块若收到多个模块发给的消息,则按照相应模态的控制规律进行运算,控制相应舵机,否则进入挂起态;模态管理模块判断完无人机目前所处的模态,执行延时函数将自身进入就绪状态;指令接收模块,GPS接收模块和高度航线读取模块分别接收相应信息并发给控制解算模块消息,执行延时函数自身进入挂起态,若超时没有收到指令或GPS信息,则超时进入挂起状态;航路控制模块只有在无人机处于自主飞行时才处于就绪态,否则处于挂起态。遥测发送模块等待将各个模快收集的信息发回地面,发送完进入挂起态。上述各个任务之间通过信号量和消息队列进行协同,完全能够按照要求并行运行。为提高可靠性,各个模块软件采取了抗干扰措施,如输人通道的数字滤波法,输出通道的重复赋值法。模块内部都有相应的故障诊断指令,一旦发生通讯超时等错误,将调用故障诊断函数进行处理。若判断相应的传感器发送故障,将故障编码通过遥测发送模块发送地面。5结束语本系统已经通过了地面联机试验,各模块功能完全正常,正在进行试飞。AT91M55800A以它的高集成度,较低的功耗,强大的处理能力提高了系统的可靠性,减小了系统的体积,降低了系统功耗。尤其是μC/OS-II的使用,进一步提高了系统的实时性,加强了可靠性,使得整机性能有了很大的提高。参考文献[1]马忠梅等AT91系列ARM核微控制器结构与开发[M]北京:北京航空航天大学出版社,2003[2]马忠梅等ARM嵌入式处理器结构与应用基础[M]北京:北京航空航天大学出版社,2003[3]AT91hardwarereferrence,[Z]rev1745c_ATARM_16_DEC_02,2002[4]王宗学飞行控制系统概论。[M]北京:北京航空航天大学出版社,1994[5]JEANJ.LABROSSE邵贝贝译μC/OS-II源码公开的实时嵌入式操作系统[M]北京:中国电力出版设.2001.3
本文标题:基于AT91M55800的无人机飞行控制系统设计与实现
链接地址:https://www.777doc.com/doc-2568565 .html