本文以 586-Engine 嵌入式芯片为核心,设计了某型无人机的飞行控制器,介绍系统的硬件结构和相应的软件流程,并给出仿真实验结果。586-Engine 是 TERN 公司的基于 AMD Elan SC520 处理器的微控制模块,具有高可靠性、结构紧凑以及低功耗等特点,它同时还具有功能强大的调试软件。586-Engine 的主要参数指标如下:
(1)CPU 为 32 位 AMD Elan SC520,主频为 133 MHz;
(2)具有高性能的浮点运算单元,支持正弦、正切、对数等复杂运算,非常适合需要复杂运算的应用;
(3)配置 512 KB 的 SRAM、512 KB 的 Flash、114 字节内部 RAM;
(4)支持 15 个外部中断,共有 7 个定时器,包括一个可编程内部定时器,提供 3 个 16 位内部定时器和 3 个 16 位 GP 定时器,再加上一个软件定时器;这些定时器支持外部事件的计时和计数,软件定时器提供微秒级的硬件时间基准;

图 1 586-Engine 微控制模块
(5)提供 32 路可编程 I/O、2 个 UART,共有 19 路 12 位 A/D 输入(包括 11 路 ADC 串行输入和 8 路并行 ADC,转换频率为 300 kHz)、6 路 D/A 输出(包括 2 个串行输出 DAC 和 4 个输出并行 12 位 DAC,转换频率为 200 kHz);
(6)工作温度为 −40~80 ℃,尺寸为 91.4 mm×58.4 mm×7.6 mm。
飞行控制器硬件设计
该型无人机是为海军野战部队提供通信中继用途的中型轮式无人机,其飞行控制器是一个单独装箱的小型航空机载电子设备,由 DC/DC 直流电源变换板、计算机主机板、模拟量通道板、开关量通道板和舵机控制板组成,全部模板通过母板上的总线方式连接,以减小尺寸、提高集成度。这里详细介绍飞行控制器的数据采集、信息传输、控制量输出等问题。
串口扩展
该飞行控制器需要与 GPS、磁航向计和无线电高度表等进行通信,共需 5 个串口;而 586-Engine 主板只提供 2 个串口,分别供地面检测和测控电台使用,因此需要进行串口扩展,串口扩展电路如图 2 所示。

图 2 串口扩展电路
串口扩展电路中采用 TL16C754 四通道 UART 并—串转换器件,将 8 位并行数据转换成 4 路串行输出,外加 MAX202 和 MAX489 电平转换芯片,扩展了 2 个 RS-232 串口和 2 个 RS-422 串口,可满足飞行控制器的硬件需求。