基于DSP的飞行控制器的设计


摘要:基于DSP的飞行控制器硬件采用DSP、A/D、D/A芯片,外围标准接口、电源控制、抗干扰等电路设计。软件以直接程序设计方式开发,包括主模块、定时/串行中断处理模块。软件系统载于DSP FLASH中,自检后,进行数据采集、通信、计算及信号输出。现场装定飞行模式航迹数据,实时修正飞行轨迹,定时发送遥测、控制信号。 
Design of Flight Controller Based on DSP 
GU Yue-xu, GONG Hua-jun 
(Dept. of Automation, Nanjing University of Aeronautics & 
Astronautics, Nanjing 210016, China) 
Abstract: The flight controller hardware Based on DSP adopts DSP, 
A/D, D/A , standard peripheral interface, power control, resisting 
circuit of interfering etc. Software may be developed by direct procedure
 design, including primary module, timing/serial interrupt handling module
 and so on. Software system can be loaded into FLASH of DSP, and data gathering, 
communications, calculation and control signal export will occur after self-test. Flight path data will be loaded on spot, and during the flight revising 
the flight orbit in real time, sending remote measurement and control signal 

can be of fered. 
Key words: Flight controller; DSP; Interrupt handling; Flight mode 
1 引言 
    飞行控制器是无人机飞行系统的一个子系统,担负着系统数据采集、余度管理、控制律计算等任务。随着航空技术的发展,要求无人机的控制核心向高精度和小型化方向发展。目前基于PC/104的无人机飞行控制器,由控制板、通信板、信号处理板、接口板、电源板等10多块插件组成,不能根据不同飞行控制系统的性能进行有效裁减,资源浪费,成本高。此外,PC/104复位启动时间至少需要数秒,与飞行控制数十毫秒级的要求相距甚远。故设计了基于DSP的新型飞行控制器。 
2 无人机飞行控制器的设计 
2.1 硬件结构设计 
    本嵌入式无人机飞行控制器硬件系统原理如图1,采用TI公司16位TMS320LF2407A DSP为系统的控制核心。根据飞行控制软件设计的要求,本方案外扩了64K程序空间和数据空间,及宽电压输入、高精度的A/D采样芯片,以适应当无人机大机动飞行(如起飞、着陆)、速率陀螺和位置陀螺信号大范围变化。由于该芯片没有专门的DAC转换模块,又分别扩展了2路RS-232C、1路RS-422和1路RS-485标准接口。同时,只需对DSP芯片进行如串行口转换、开关量隔离、模拟信号前后处理等外部接口扩展,即可满足飞行控制系统所有功能和未来扩展性的要求。性能指标如表1所示。 
表1 本方案设计的飞行控制器性能指标 
部件 数量 说明 
10位ADC 16路 采样速率200Ksps/16路 
16位PWM 16路  
12位DA 4路  
DI ≥16 外加隔离 
DO ≥16 外加隔离 
UART 2+4路 SCI/SPI,外扩4路 
RAM 4K 可外扩64K 
FLASH 32K  
2.2 软件设计 
(1) 软件功能及结构 
    整个软件系统被装载在DSP的FLASH中,由DSP负责所有输入通道的数据采集、串行通信、飞行控制律计算、控制指令的实时生成,并将模拟输出和开关量输出信号分发调度到芯片的各个外部端口。软件系统流程和数据流向如图2。串口通信基于中断方式,与主循环流程并列运行,实现实时多任务机制。通过遥控口现场装定自主飞行模式下理想的航迹数据,实时修正飞行轨迹。并能定时发送遥测信号。 
DSP的软件开发采用直接程序设计方式,也可基于嵌入式实时操作系统(ERTOS:Real-Time Operation System)进行。 

图2 软件设计方案 
本软件系统启动速度达毫秒级,浮点运算速度满足FCS的要求,在40MHz晶振下,计算时间≤1ms,综合控制的计算周期≤20ms。 

系统软件分主模块、定时中断处理模块、串行中断处理模块。主流程完成系统初始化,各个任务状态切换。流程图如图3。定时中断处理模块处理与时间有关的周期性任务,包括检测和任务规划数据处理,飞行控制律计算等,流程图如图4。定时中断每20~50ms一次,使用DSP内部定时器控制。飞行模态管理处理无线电、GPS及故障后的应急返航等之间的转换。串行中断处理模块完成串行中断源识别,遥控码识别,遥控解码以及任务设备管理等。 
(2) 主流程代码框架示例 
无操作系统直接程序设计代码框架如下: 
main( ) 

… … 
TFlt_Data_Reset( ); 
while(1) 
{  
switch (m_cs) 

case cs_Stop: Stopping(); break; 
case cs_Takeoff: Takingoff(); break; 
case cs_Fly: Flying(); break; 
case cs_Land: Landing(); break; 
case cs_Crash: Crash(); break; 

… … 

… … 

其中,自主飞行的代码框架结构如下: 
void Flying() 
{  
if(FlyingPreStage) 
 
else 
{ switch (m_logs) 

case logs_Even: Log_Even(); break; //平飞 
case logs_Rise: Log_Rise(); break; //上升 
case logs_Decline: Log_Decline(); break; //下降 


(3) 模块之间的调用以及实时性设计 
考虑到实时性要求,定时器中断的优先级高于串口中断。各串口中断优先级的高低随串口波特率的不同而不同,波特率高的优先级高。 
4 结论 
由于采用了DSP,本方案硬件外围芯片相对较少,系统结构简单优化,成本较低但又不失可靠性。整个主机系统的硬件可采用单片印刷线路板结构,开发的重点将放在外围接口(前置与后置放大、隔离滤波等)、电源控制、抗干扰等电路的设计上,因而开发工作量大大减少。印刷线路板面积可做到≤15×20cm2,温度特性满足工业级的-45~+60℃。如前所述,可以考虑引入嵌入式实时操作系统,UC/OS是个不错的选择。 
参考文献: 
[1] Texas Instruments. TMS320F/C24x DSP Controllers Reference Guide [Z]. 
USA: Texas Instruments, 1999. 
[2] Texas Instruments. TMS320C2x/C2xxx/C5x/ Optimizing C Complier User’s Guide [Z]. USA: Texas Instruments, 1999. 
[3] Texas Instruments. Getting Started in C and Assembly Code with the TMS320LF240x DSP [Z].
 USA: Texas Instruments, 2002. 
[4] 刘和平, 等. TMS320LF240x DSP结构、原理及应用[M]. 北京: 北京航空航天大学出版社, 2002. 
[5](德)鲁道夫, 布鲁克豪斯. 飞行控制[M]. 北京: 国防工业出版社, 1994. 

注:古月徐,男(1981-),汉,南京航空航天大学自动化学院导航、制导与控制专业硕士研究生。通信地址:南京航空航天大学224# ,邮编:210016。 电话:13813825489 电子邮箱:happygod2004@hotmail.com

COPYRIGHT(C) 2011 厦门永宏亚得机电科技有限公司版权所有(闽ICP备05025945号) ALL RIGHTS RESERVED?

电话: 0592-5190891 传真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 厦门市海沧区兴港六里17号2607室 邮编:361009 联系人:翟先生