找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] DSP实现无人飞行器控制系统

[复制链接]
admin 发表于 2013-3-22 03:10:06 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  本系统选用的TMS320F2812(以下简称F2812)是TI公司开发的一款32位DSP芯片,采用高性能静态CMOS技术,工作主频可达150Mips。片内集成了128K字的FLASH存储器,方便实现软件升级;还集成了丰富的外围设备,如:采样频率高达12.5MIPS的12位16路A/D转换器,两个面向电机控制的事件管理器和多种标准串口通信外设。

     在此基础上设计出一种高精度、扩展性强、小型化和低成本的新型飞行控制系统。
     2硬件系统方案要求和设计
     基于DSP的飞控系统硬件设计,关键在于系统的整体方案设计。接口设计是一个重要环节,将直接影响系统的性能。为了减轻系统的负担,外部输入信号用中断方式读入,信号输入输出时要考虑抗干扰性。
     充分考虑TMS320F2812的片内资源以及系统的接口要求,仅需对DSP芯片进行少量的外部接口扩展,即可满足飞控系统所有功能和未来扩展性的要求。同时由于系统的输入逻辑量较多,采用Altera公司CPLD芯片EPM7128,完成数据处理和逻辑运算功能,以减少控制电路的体积,增加系统的可靠性,实现对控制系统各单元状态的监视和控制。
     系统整体方案设计如图1所示。以下将从系统各模块的实现加以说明。 2012110705224191807461.jpg
   图1系统硬件总体设计结构图
     3硬件实现
     3.1模拟信号接收
     模拟信号经过信号调理模块输入,A/D转换选择12位逐次逼近A/D转换器AD1*,其片内含有三态输出缓存电路和高精度参考电压源与时钟电路,自带采样保持器。本设计采用的连接方式如图2所示,使ADI*工作在全控模式下。在AD1*的使用上采用程序启动、标志查询方式,启动信号和转换结束信号相配合,使ADI*一旦转换结束就处于数据输出状态,同时产生AD结束标志,提高多通道时的通过率。 2012110705224198057462.jpg
   图2A/D扩展电路框图
     3.2串口通信
     F2812处理器提供两个串行通信接口(SCI),支持16级接收和发送FIFO。但仍然满足不了飞控系统与多外设的通讯要求。因此,系统选用异步串行接口扩展芯片SP2338,方便地将DSP的SCI1扩为3个全双工、波特率最高可达9600b/s的异步串行通信接口,作为主控制器和专用的通信设备数据传输通道,进行控制系统和地面的通信传输,SCI2作为GPS与CPU的通信通道。SP2338使用简单,不需要底层软件支持,上电即可工作。 2012110705224208994463.jpg
   图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次。 2012110705224223056464.jpg
   图5系统控制流程图
     所有任务的启动都和飞控系统总线上的小周期计数息息相关,其中与接收总线数据相关的任务都是由消息分发线程启动,当接收的消息为PSP发送的同步数据码时,终端对象同步自己的小周期计数,并按现在所处的小周期启动相应的任务。所有的任务都包含在消息处理线程中,每个终端都有一个这样的线程,各个线程独立工作,使各个终端处于并行工作方式。系统全部逻辑控制功能,均采用周期运行方式,每隔10ms由定时中断程序唤醒。利用CPLD进行逻辑运算及数据处理,并检测模拟量输入信号,判断各监控对象的工作状态并按照系统控制逻辑决定输出量。在其状态发生变化时通知DSP,协助DSP完成系统的自检测功能。在状态监测中,将当前检测到的状态量与存储的上一个状态量相比较,如果两次状态相同,则不进行任何操作;如果发生变化,则向DSP发出中断信号INT,通知DSP读取数据。
     在接收DSP发送的控制指令时,将该指令与当前状态相比较,若符合就不再发送控制指令,这样就能防止多次发送控制指令引起的误动作。
     在飞行过程中,控制系统的任务主要包括采集无人机的姿态数据,计算控制量并输出到舵机等执行机构,接受地面站的指令并传输无人飞行器的位置等信息。利用设计的控制板进行伺服控制算法的实现,完成对执行机构舵机的控制。图6为控制系统输出的其中一路舵机的PWM控制信号波形。 2012110705224229306465.jpg
   图6舵机控制信号
     5结束语
     经过调试,该系统在实际运行中性能稳定,达到了设计要求。本系统体积小、重量轻、成本低,具备一定的扩展性,适合于构成较强的实时性、小型化和低成本的小型无人飞行器。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 17:19 , Processed in 0.065253 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表