跳转至

3.4 飞控系统总览

前言

飞控系统是四轴飞行器系统的核心,其一方面和硬件直接打交道:比如读取传感器数据,管理

飞控软件系统架构

Breeze Mini的嵌入式系统架构如下图所示,其中主要包含 硬件设备底层驱动外设模块飞控算法 四个部分:

breeze_embedded_architecture

硬件设备

硬件设备部分包含上面第介绍过的电路模块:电机驱动、电源管理、传感器、无线通信以及主控制器。

底层驱动

底层驱动部分包含了常用的外设接口(如IIC、SPI、USART)和内部核心功能(如时钟、延时、中断、定时器、EEPROM、Flash)。它主要是根据STM32官方固件库(上图Libraries部分)中的内容,对系统外设接口或内部核心功能进行进一步的封装,以满足上层外设模块的使用需要。

外设模块

外设模块是对具体外设硬件进行操作的函数库,它使用底层驱动中的大量函数来实现对硬件的控制。外设模块包含了IMU、电机、电池、NRF24L01和CommLink通信协议栈等。本章将会在后面介绍其中比较重要的几个。

飞控算法

飞控算法处在整个嵌入式架构的最顶层,它的实现是要建立在以上三者的基础之上的,比如高度融合、数据滤波、控制算法等。由于整个四轴飞行器的核心功能都是由飞控算法决定的,所以飞控算法是该嵌入式系统的绝对核心,也是开发的重点。

Keil飞控工程目录

ARM-GCC飞控工程目录

总结

在概要地介绍完整个飞控系统的架构后,之后会按照 KEIL MDK 飞控系统代码工程的类别一一详细介绍每个模块,其中会按照 系统开发驱动开发模块开发 三大部分进行讲解。