EDN China > 设计实例 > 测试与测量 > 系统测试 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于TMS320F2812和μC/OS_II的飞机电气测控终端设计

来源:计测技术/作者:郭晓康 姬劳 谢拴勤?? 2007年11月06日 ?? 收藏0

  引言

  作为飞机电气系统的重要组成部分,飞机配电系统主要用于实现电功功率的合理分配和控制。目前,我国大多数飞机采用的都是常规配电系统,但由于这种配电系统具有电网重量大、空勤人员负担重、自动化程度低等缺点,在一定程度上已经对飞机的研制进程产生了许多不利的影响,因此开发更为先进的飞机配电系统成为当务之急。随着电子及计算机技术的发展,借鉴国外的研究现状,采用分布式配电和负载自动管理技术的先进飞机配电系统是目前发展的总趋势。本实验室对先进飞机配电系统进行了多年研究,设计了包括电源系统处理机、负载管理中心、汇流条控制器及负载仿真器四部分的飞机配电地面实验系统。本文所要介绍的飞机测控终端是适用于汇流条控制器和负载管理中心的通用测控终端,其主要实现对负载状态的监测并依据电源系统处理机发布的控制命令实现对负载的控制。下面将从硬件及软件两方面介绍测控终端的实现。

  硬件设计

  TMS320F2812DSP介绍

  TMS320F2812DSP是德州仪器公司(TI)推出一种32位高性能数字信号处理器,它拥有峰值每秒运行150万条指令(MIPS)的处理速度和单周期完成32×32位MAC运

算的功能,同时它还具有128K×16的片上Flash、18K×16的片上RAM以及大量的片上外设,包括AD转换模块、两个事件管理器(EVA和EVB)、CAN总线控制器、两个串行通信接口模块(SCIA和SCIB)、串行外设接口模块(SPI)、多功能串行接口(McBSP)及56个通用IO口。该DSP以高效的32位定点CPU——TMS320C28xTM为核心处理器,其开发既可使用C28x汇编也可使用ANSIC/C++语言。此外TI公司还提供有虚拟浮点数学函数库(IQ数学函数库)、快速傅立叶变换(FFT)算法函数库、滤波器库等,这些函数库可显著简化应用系统开发。TMS320F2812强大的功能使其完全能满足测控终端的设计要求。

  系统硬件设计

  作为飞机电气系统测控平台的组成部分,测控终端主要功能包括:处理主控模块控制命令、监控主电力汇流条、检测开关量的状态、控制开关量及传送智能终端状态数据等。为了实现上述功能,并充分利用DSPTMS320F2812强大的外设功能及嵌入式操作系统的优点,设计中将系统分为交流电压采集模块、频率采集模块、开关量管理模块及通信模块四部分来实现,系统结构

  如图1所示。交流电压采集模块及频率采集模块用来实现对电力汇流条参数的检测,开关量管理模块用来实现对开关量状态的检测并依据电源系统处理机发来的控制命令及负载优先级状态实现对开关量的控制,通信模块主要实现测控终端与电源系统处理机间的通信。

 电气测控终端系统结构图

图1 电气测控终端系统结构图

  通信模块

  国外先进飞机配电系统中均采用1553B总结实现各模块的通信,考虑到本次设计的是地面实验系统,因此各模块的通信采用与1553B相似的CAN通信。由于F2812本身具有增强型CAN总线控制器,因此通信模块的硬件设计主要是CAN总线驱动电路的设计,这里我们选用飞利浦公司的CAN通信收发器PCA820C250作为F2812的CAN控制器和物理总线间的接口,以实现对总线的差动发送和接收功能。为了防止干扰信号的引入,设计中采用高速光耦6N137对F2812及物理总线进行隔离。

  软件设计

  软件设计包括系统软件设计和应用软件设计。系统软件设计的主要任务是实现μCOS_II在F2812上的移植;应用软件设计的主要任务是测控终端功能的实现。

  系统软件设计

  本次设计系统软件采用源代码公开实时操作系统μC/OS_II,它是一个基于优先级的、可移植、可固化、可裁剪、占先式实时操作系统,其绝大部分源码是用ANSIC写的。μC/OS_II通过了联邦航空局(FAA)商用航行器认证,符合RTCA(航空无线电技术委员会)DO-178B标准。这也是本次设计采用μC/OS_II的一个原因。要使用μC/OS2-II,首先要把这个内核成功移植到所使用的CPU上。μC/OS_II在F2812上的移植工作包括以下几个内容:

  ①在OS_CPU.H中定义与处理器相关的常量、宏及数据类型,例如关中断和开中断的定义分别为#defineOS_ENTER_CRITICAL()asm“DINT”及#defineOS_EXIT_CRITICAL()asm“EINT”。

  ②调整和修改头文件OS_CFG.H,以裁减或修改μC/OS_II的系统服务,减少资源损耗。例如#defineOS_MBOXEN_0即禁止使用邮箱相关的代码。

  ③编写C语文件OS_CPU.C。由于本次设计中未用到其他几个函数,因此这里主要完成函数OS-TaskStkInit()的编写。OS-TaskStkInit()用来初始化任务的堆栈结构,使其看起来象刚发生过中断并将所有的寄存器保存到堆栈的情形一样。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

F2812? μC/OS_II? 测控终端? 任务?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈