p96机床

系统串口信号DSP实现无人飞行器控制系统

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

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

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

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

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

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

  

DSP实现无人飞行器控制系统硬件框图

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

  3 硬件实现

  3. 1 模拟信号接收

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

  

A /D扩展电路框图

  图2 A /D扩展电路框图

  3. 2 串口通信

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

  

串口扩展框图

  图3 串口扩展框图

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

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

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

  

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

  图5 系统控制流程图

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

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

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

  

  图6 舵机控制信号

  5 结束语

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

0.8503041267395 s