基于ARM的嵌入式航空拖靶高度控制器设计
2控制器软硬件设计
高度控制器的设计主要包括3个部分的内容:高度控制计算机控制律解算主板的设计、高度控制计算机舵机驱动控制板的设计、传感器与执行机构的选型及配置设计。其中,控制律解算主板是整个系统的核心,因此,全系统的设计也是围绕这个核心进行的。
2.1 控制律解算主板
(1)硬件设计。高度控制律解算板主要功能是在收到开高控指令时,对接收到的无线电高度表信号和采集到的加速度计信号以及设定的飞行高度值按照控制律实时解算出升降翼偏转角(周期为20 ms),并变换成相应的PWM占空比送给舵机驱动控制板实现对升降翼偏转角控制;同时还具有装定拖靶定高飞行高度值、对无线电高度表输出进行调零、对加速度计输出进行调零和比例调整、对升降翼偏转角进行调零和比例调整、接收遥控遥测分系统开/关高控指令和向其实时传送拖靶状态参数等功能。控制律解算主板采用基于ARM7的嵌入式微处理器设计。高度控制律解算板的原理框图如图3所示。本文引用地址://m.amcfsurvey.com/article/162239.htm
这里所选用的中央处理器是ARM7TDMI-S体系结构的32位微处理器芯片LPC2124。该处理器集成有16 KB的内部RAM和128 KB的内部FLASH存储器,这些资源能够满足μC/OS-Ⅱ嵌入式实时操作系统的运行要求。除此之外还集成有2路UART串口、4路10位A/D转换器、1个I2C接口、2个SPI接口、6路PWM输出以及多路通用I/O口,分别用于与地面调参器通信进行高度装定及其他参数的校正、与雷达高度表通信以获取高度值、对加速度计输出进行AD采样、与小容量的E2PROM芯片进行数据读/写以修改和保存设置的参数、控制舵机工作等功能。选用该芯片可以极大地简化外围电路的设计,缩小电路板尺寸,提高系统运行的可靠性。
(2)软件设计。高度控制律解算板中的应用程序是运行在嵌入式实时操作系统μC/OS-Ⅱ下,该系统具有可移植、裁剪、源代码公开、多任务和基于优先级的抢占式任务调度等特点,实时性好,可靠性高。应用程序分解为任务优先级不同的6个任务,每个任务都是一个无限循环程序,任务间通过信号量、邮箱或者其他事件来传递。按任务优先级依次递减分别是主任务(目标板初始化和建立其他任务,任务优先级最高)、串口0接收数据任务、串口1接收数据任务、执行定高指令任务、慢速数据采样任务、串口0发送数据任务。
应用程序首先运行主任务(见图4),在执行延时20 ms等待操作时操作系统自动执行较低任务优先级的任务,在这里即为串口0接收数据任务,这个任务的功能是接收遥控/遥测分系统发送来的指令数据或者是调参器发送来的其他指令,当接收到开高控指令时则设置开高控标志位,在没有继续收到数据时则执行较低任务优先级的任务,即串口1接收数据任务,这是接收无线电高度表发送来的高度值并更新相应的高度全局变量。执行定高指令任务(见图5)是由主任务通过发送开高控信号量来启动的,当串口0接收数据任务设置了开高控标志位后,主任务便每间隔20 ms启动一次执行定高指令任务,利用上次的解算结果及当前的垂向加速度值和高度值进行控制律解算,得出升降翼偏转角并换算为相应的PWM占空比送给舵机驱动板控制舵机的偏转。慢速数据采样任务是1 Hz的速率采集靶载蓄电池的电压、加速度以及无线电高度表等值并更新相应的全局变量。串口0发送任务是以5 Hz的速率向遥控遥测板发送拖靶的参数值,包括靶载蓄电池电压、加速度值、无线电高度表值、设定高度值以及解算出的舵偏角值等。下面给出的是主任务程序框图和执行定高指令任务程序框图。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论