Crazyfile固件源码结构
最近在学习Crazyfile,学习中不断获取了新的知识,不敢独享,希望在分享中提升自己同时帮助其它想学习飞控程序的人。
1、Crazyflie 2.0 系统结构
Crazyflie 2.0是架构在两个微控制器之上的包括一个主控芯片stm32f405以及一个射频及电源管理芯片NRF51:
1、NRF51采用Cortex-M0处理无线电通信和电源管理,其功能包括:
- 1、开/关逻辑
- 2、控制电力系统的其余部分(STM32、传感器和扩展板)
- 3、电池充电管理和电压测量
- 4、管理广播bootloader
- 5、广播和BLE沟通
- 6、检测和检查安装扩展板
2、STM32F405 Cortex-M4@160MHz,处理飞行控制和其他所有的繁重的工作:
- 1、传感器的读取和运动控制
- 2、飞行控制
- 3、遥测(包括电池电压)
- 4、额外的用户开发
下图旨在解释它们之间如何一起工作。
nRF51822
nRF51两个主要的任务是处理无线电通信和电源管理。它作为一个无线电桥(原始数据包STM)通信。
Crazyflie 2.0使用通信方式包括CRTP和BLE,但硬件还支持其他协议如ANT。CR