3.4 飞控系统总览
前言¶
飞控系统是四轴飞行器系统的核心,其一方面和硬件直接打交道:比如读取传感器数据,管理
飞控软件系统架构¶
Breeze Mini的嵌入式系统架构如下图所示,其中主要包含 硬件设备、底层驱动、外设模块 和 飞控算法 四个部分:
硬件设备¶
硬件设备部分包含上面第介绍过的电路模块:电机驱动、电源管理、传感器、无线通信以及主控制器。
底层驱动¶
底层驱动部分包含了常用的外设接口(如IIC、SPI、USART)和内部核心功能(如时钟、延时、中断、定时器、EEPROM、Flash)。它主要是根据STM32官方固件库(上图Libraries部分)中的内容,对系统外设接口或内部核心功能进行进一步的封装,以满足上层外设模块的使用需要。
外设模块¶
外设模块是对具体外设硬件进行操作的函数库,它使用底层驱动中的大量函数来实现对硬件的控制。外设模块包含了IMU、电机、电池、NRF24L01和CommLink通信协议栈等。本章将会在后面介绍其中比较重要的几个。
飞控算法¶
飞控算法处在整个嵌入式架构的最顶层,它的实现是要建立在以上三者的基础之上的,比如高度融合、数据滤波、控制算法等。由于整个四轴飞行器的核心功能都是由飞控算法决定的,所以飞控算法是该嵌入式系统的绝对核心,也是开发的重点。
Keil飞控工程目录¶
ARM-GCC飞控工程目录¶
总结¶
在概要地介绍完整个飞控系统的架构后,之后会按照 KEIL MDK 飞控系统代码工程的类别一一详细介绍每个模块,其中会按照 系统开发、驱动开发 和 模块开发 三大部分进行讲解。