作为无人机飞控系统的核心,飞控计算机通常采用基于嵌入式系统的实现方案; ARM 嵌入式处理器及Linux 嵌入式操作系统以其一系列优点在飞控计算机中具有广泛的应用前景; 研究了基于ARM- Linux 的某型无人机飞控计算机的实现方法, 给出了系统总体设计方案, 着重介绍了硬件电路的设计过程, 列出了软件调试流程图, 分析了调试结果; 实践证明, 该实现方法结构简单, 功能强大,能够满足系统控制的要求, 具有较好的实用性。
前言
无人机是一种由动力驱动、机上无人驾驶、可重复使用的航空器的简称。它以其重量轻、体积小、造价低、隐蔽性好的性能特点, 更适于完成危险性大、机动性高这些普通飞机难以完成的任务, 越来越广泛应用于军需民用的各个方面。
无人机飞控系统是无人机系统的核心部分, 实现对无人机整个飞行过程的控制, 其中飞控计算机完成接收信息、处理信息、输出信息的功能。飞控计算机的性能要求做到快速、实时、准确, 通常采用基于嵌入式系统的实现方案, 核心是嵌入式处理器。
目前在无人机飞控计算机中, 常用的嵌入式处理器包括X86、单片机、数字信号处理器DSP ( Dig ital Sig nal Pr ocessor) 、ARM ( Advanced RISC M achine) 等 。
X86 微处理器具有高性能、高可靠性、结构凑、低功耗的特点, 能满足无人机飞控系统小型化、高集成度的要求。单片机将整个计算机系统集成到一块芯片中, 一般以某一种微处理器内核为核心,是目前嵌入式系统工业的主流控制器。
DSP 处理器对系统结构和指令进行了特殊设计, 使其适合于实时地进行数字信号处理, 特别是数字滤波、FFT 及谱分析等应用领域, 在运算量较大, 特别是向量运算、指针线性寻址较多的智能化算法中,更能发挥优势。
ARM 是目前公认的业界领先的32 位嵌入式RISC ( Reduced Instruction Set Comput ing , 精简指令集计算机结构) 微处理器, 具有体系结构可扩展、功耗低、成本低和支持管理实时多任务等特点。
较之其它几种处理器, ARM 嵌入式处理器具有性价比高、功能丰富、接口完善、可扩展性强等优点, 并且Linux 嵌入式操作系统是对ARM 技术的强大支持。把Linux 应用到ARM 嵌入式技术中, 能充分发挥ARM- Linux 的优势。
本文研究了一种基于ARM - Linux 的某型无人机嵌入式飞控计算机, 是某型无人机飞控系统的核心部分。系统在合理硬件设计基础上进行Linux 软件调试, 结果证明了该系统硬件结构简单, 处理速度快, 性能稳定, 且成本低廉, 有较好的实用性。
系统结构与控制原理
飞控系统由飞控计算机及其外围传感电路、执行机构组成, 因此飞控计算机的主要功能包括: 提供稳定的电源供电系统、对各类模拟信号进行采样预处理、处理各种开关量以控制相应外围设备、进行控制律计算以控制和稳定无人机、操纵发动机的工作状态以决定飞行模态、实现飞行航路的预设置等。另外飞控计算机的特殊工作环境要求其满足工业级标准, 工作温度在- 40~ + 85C°。
根据飞控计算机的性能指标, 系统总体设计框图如图1 所示。系统采用Atmel 公司的工业级ARM9 处理芯片AT 91RM9200 为核心, 工作频率可高达200 MIPS, 其外围电源电路、复位电路、晶振电路保证系统正常工作, 外扩32 MB的SDRAM 作为内存, 32 MB 的闪存用作程序和数据存储空间, A/ D 电路完成对模拟信号的采样, D/ A 电路完成对数字量的转换, 8 路串口通信电路工作方式在RS232、RS422、RS485 之间可设置, 32 路离散I/ O 口可设置输入输出, 另外留有调试用的DBUG 口。
图1 系统总体设计框图
硬件设计
这儿具体介绍系统各部分的硬件设计, 系统分为核心控制电路、A/ D 转换电路、D/ A 转换电路、UART 串口通信电路、DBUG 串行调试口电路六部分。
1
核心控制电路核心控制电路确保ARM 最小系统板及与各外扩功能芯片的正常运行。设计最小系统板( 核心板) 的关键是
图2 AT 91RM 9200 的存储器扩展原理
AT91RM9200 与SDRAM、闪存芯片的接口。图2 所示为核心板的ARM 处理器与外扩存储器的接口原理图。实验表明, 核心板运行稳定可靠, 满足计算处理数据时的速度和精度要求。
2 、A/ D 采样
A/ D 采样电路用来对各种模拟信号进行采样预处理, 其工作原理图如图3 所示, 由AD7490 提供16 路分辨率为12 位的A/ D 通道。AT91RM9200 通过SPI 口与AD7490 进行通信,AT91RM9200 向AD7490 写入控制字, 使其按设定的要求工作, 通过Dout 引脚将A/ D 采样结果传送到ARM 的CPU。
为了确保采样精度, AD7490 需外加21 5 V 参考电压Vre fIN 。根据设计要求, A/ D 采样电路的输入信号电平范围为– 10 V ~ +10 V, 而AD7490 允许的输入信号电平范围为0 V~ Vref IN 或0V~ 2Vref IN , 因此需要在输入信号与AD7490 的输入引脚之间增加调理电路。
图3 :A/ D 转换电路原理图
调理电路应对输入信号uin_ s 先进行衰减再加直流偏置电压, 使其电平范围变为0 V~ Vref IN 或0 V ~ 2V refIN 。其衰减系数为4 或8, 取决于AD7490 控制寄存器的bit1 ( RANGE) 的取值是0 或1。加到AD7490 的输入引脚的信号uin _ ad 与输入信号uin _ s 的关系如式( 1) 所示。
3、 D/ A 转换
D/ A 转换电路用来处理各种开关量, 其工作原理图如图4所示, 由AD5668 提供8 路分辨率为16 位的D/ A 通道。AT91RM9200 通过SPI 口与AD5668 进行通信, AD5668 的时钟频率可达50 MHz。
图4 D/ A 转换电路原理图
AD5668 的D/ A 输出信号uo ut _ da的电平范围为0 V~ 5 V,无法满足控制系统对D/ A 输出信号电平范围为- 10 V~ + 10V 的要求。可以利用AD5668 内部产生的高精度21 5 V 参考电压, 通过调理电路, 使输出信号uout _ s 的电平范围满足要求。
D/ A 调理电路的数学关系如式( 2) 所示。
( 2)式中, Vre fo ut 为AD5668 产生的21 5 V 参考电压。
4 、UART 串口通信
根据设计指标, 系统共需要8 路串口通信, AT91RM9200自带4 路串口通信, 由ST 16C654 对4 路外扩串口通信进行控制, 其电路原理图如图5 所示。串口通信电路工作方式在RS232、RS422、RS484 之间可设置。通信速率和中断号由系统软件设置。实验证明, 该电路部分可提供稳定的串行通信端口。
图5 外扩串口通信电路原理图
5 、DBUG串行调试口
由ADM3202 实现DBUG 串行调试口电路的控制。系统经由DBUG 串行调试口下载程序, 进行启动和调试。
系统软件调试
系统硬件设计完成后, 需要配备相应的软件系统方能完成任务。将硬件电路板( 称为目标板) 用串口数据线通过DBUG串行调试口与普通PC 机( 称为宿主机) 连接, PC 机须装有Redhat91 0 软件, 这样就构成了整个系统平台, 系统结构示意图如图6 所示。系统软件调试工作分为内核裁剪和驱动程序编写两步。
图6 调试系统结构示意图
1 Linux 内核裁减
本系统采用了Linux - 21 41 19 版本的内核, 用make menuconf ig 命令进入内核配置界面, 对内核进行裁剪, 即将需要的项选中不需要的去掉, 完成设置后, 退出并保存设置, 然后执行make zImag e 命令, 就编译生成了自己定制的内核映像文件。最后将内核烧写到系统中, 则完成了系统内核的裁剪。
2 驱动程序的编写
Linux 系统中设备都可以作为文件来加载和处理, 本系统的外设主要包括AD 电路、DA 电路及串口通信电路, 都属于字符设备。字符设备驱动程序的流程图如图7 所示。
图7 字符设备驱动程序流程图
设备驱动程序的主要内容包括: 设备注册、打开设备、读写设备、获取内存、打印信息、释放设备、设备卸载。驱动程序编写好之后, 采用直接加载到目标板的方法进行调试。调试流程如图8 所示。调试信息通过串口打印在宿主机的minicom 屏幕上, 这样便可进行调试。有问题时切换至编辑编译, 重新在开发板上运行, 直至程序工作正常。程序无误则显示该设备已经成功加载。驱动程序编写并且调试完成后, 下一步进行相应的应用程序开发。
图8 驱动程序调试流程
结论
这儿主要研究了基于ARM 的嵌入式信息处理平台的设计过程, 该平台拟应用于某型无人机飞控计算机, 目前已经完成了硬件平台的初步设计和系统软件的简单调试工作, 实践证明了本设计方案合理可行, 能满足无人机飞控系统对精度和实时性的要求, 下一步的工作是对硬件进行工程化设计和开发相关应用程序。
文章来源:无人机