《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > DSP实现无人飞行器控制系统
DSP实现无人飞行器控制系统
摘要:  本系统选用的TMS320F2812(以下简称F2812)是TI公司开发的一款32位DSP芯片,采用高性能静态CMOS技术,工作主频可达150Mips。片内集成了128K字的FLASH存储器,方便实现软件升级;还集成了丰富的外围设备,如:采样频率高达12.5MIPS的12位16路A/D转换器,两个面向电机控制的事件管理器和多种标准串口通信外设。
关键词: DSP 飞行器
Abstract:
Key words :
  本系统选用的TMS320F2812(以下简称F2812)是TI公司开发的一款32位DSP芯片,采用高性能静态CMOS技术,工作主频可达150Mips。片内集成了128K字的FLASH存储器,方便实现软件升级;还集成了丰富的外围设备,如:采样频率高达12.5MIPS的12位16路A/D转换器,两个面向电机控制的事件管理器和多种标准串口通信外设。

  在此基础上设计出一种高精度、扩展性强、小型化和低成本的新型飞行控制系统。 

  2硬件系统方案要求和设计

  基于DSP的飞控系统硬件设计,关键在于系统的整体方案设计。接口设计是一个重要环节,将直接影响系统的性能。为了减轻系统的负担,外部输入信号用中断方式读入,信号输入输出时要考虑抗干扰性。

  充分考虑TMS320F2812的片内资源以及系统的接口要求,仅需对DSP芯片进行少量的外部接口扩展,即可满足飞控系统所有功能和未来扩展性的要求。同时由于系统的输入逻辑量较多,采用Altera公司CPLD芯片EPM7128,完成数据处理和逻辑运算功能,以减少控制电路的体积,增加系统的可靠性,实现对控制系统各单元状态的监视和控制。

  系统整体方案设计如图1所示。以下将从系统各模块的实现加以说明。

DSP实现无人<a class=飞行器控制系统硬件框图" src="http://files.chinaaet.com/images/20110908/25e6f1cb-f2f6-4961-ac3e-6a3ec3d32b6e.jpg" style="WIDTH: 438px; HEIGHT: 282px" />

图1系统硬件总体设计结构图

  3硬件实现

  3.1模拟信号接收

  模拟信号经过信号调理模块输入,A/D转换选择12位逐次逼近A/D转换器AD1*,其片内含有三态输出缓存电路和高精度参考电压源与时钟电路,自带采样保持器。本设计采用的连接方式如图2所示,使ADI*工作在全控模式下。在AD1*的使用上采用程序启动、标志查询方式,启动信号和转换结束信号相配合,使ADI*一旦转换结束就处于数据输出状态,同时产生AD结束标志,提高多通道时的通过率。

A /D扩展电路框图

图2A/D扩展电路框图

  3.2串口通信

  F2812处理器提供两个串行通信接口(SCI),支持16级接收和发送FIFO。但仍然满足不了飞控系统与多外设的通讯要求。因此,系统选用异步串行接口扩展芯片SP2338,方便地将DSP的SCI1扩为3个全双工、波特率最高可达9600b/s的异步串行通信接口,作为主控制器和专用的通信设备数据传输通道,进行控制系统和地面的通信传输,SCI2作为GPS与CPU的通信通道。SP2338使用简单,不需要底层软件支持,上电即可工作。

串口扩展框图

图3串口扩展框图

  串口扩展实现如图3,ADRI0、ADRI1是下行地址线,ADRI0,ADRI1=00,01,10是分别对应子串口0,,l2;ADRO0,ADRO1是上行地址线,ADRO0,ADRO1-00,01,10是分别对应子串口0,1,2。

  F2812的I/O口直接与SP2338的地址线相连。发送数据时,DSP通过改变I/O口的状态来改变下行地址,选中特定的子串口;接收数据时,DSP通过读取I/O口的状态来判断数据具体来自哪一个子串口,从而对读取到的数据做出相应的处理。因此可以提高系统效率、减低软件消耗。通过外加电平转换芯片就可以实现RS232,RS422,RS485通讯。

  系统控制流程图如图5所示。数据存储放置在任务线程中,其过程是将飞行数据分析结果等值存储在Flash中。检测任务线程可以通过周期函数PRD来完成。PRD可以根据实时时钟来确定函数运行的时间。这里,设置检测任务100ms运行1次。

DSP实现无人飞行器控制流程

图5系统控制流程图

  所有任务的启动都和飞控系统总线上的小周期计数息息相关,其中与接收总线数据相关的任务都是由消息分发线程启动,当接收的消息为PSP发送的同步数据码时,终端对象同步自己的小周期计数,并按现在所处的小周期启动相应的任务。所有的任务都包含在消息处理线程中,每个终端都有一个这样的线程,各个线程独立工作,使各个终端处于并行工作方式。系统全部逻辑控制功能,均采用周期运行方式,每隔10ms由定时中断程序唤醒。利用CPLD进行逻辑运算及数据处理,并检测模拟量输入信号,判断各监控对象的工作状态并按照系统控制逻辑决定输出量。在其状态发生变化时通知DSP,协助DSP完成系统的自检测功能。在状态监测中,将当前检测到的状态量与存储的上一个状态量相比较,如果两次状态相同,则不进行任何操作;如果发生变化,则向DSP发出中断信号INT,通知DSP读取数据。

  在接收DSP发送的控制指令时,将该指令与当前状态相比较,若符合就不再发送控制指令,这样就能防止多次发送控制指令引起的误动作。

  在飞行过程中,控制系统的任务主要包括采集无人机的姿态数据,计算控制量并输出到舵机等执行机构,接受地面站的指令并传输无人飞行器的位置等信息。利用设计的控制板进行伺服控制算法的实现,完成对执行机构舵机的控制。图6为控制系统输出的其中一路舵机的PWM控制信号波形。

图6舵机控制信号

  5结束语

  经过调试,该系统在实际运行中性能稳定,达到了设计要求。本系统体积小、重量轻、成本低,具备一定的扩展性,适合于构成较强的实时性、小型化和低成本的小型无人飞行器。



 

此内容为AET网站原创,未经授权禁止转载。