博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Crazyflie 2.0 System Architecture
阅读量:5321 次
发布时间:2019-06-14

本文共 1337 字,大约阅读时间需要 4 分钟。

Crazyflie 2.0架构包含两个微控制器:

A NRF51, Cortex-M0, 用于实现无线通信和电源管理:

(1)按键开关逻辑(ON/OFF logic)
(2)控制给其它系统供电(STM32, sensors and expansion board)
(3)电池充电管理和电压測量
(4)Master 无线bootloader
(5)无线和BLE通信
(6)探測和检測外部扩展板
An STM32F405, Cortex-M4@160MHz, 用于实现飞行控制以及其它的重负载的工作:
(1)读取传感器和电机控制(Sensor reading and motor control)
(2)飞行控制(Flight control)
(3)測量(包含电池电压)
(4)用户扩展功能

以下是总体硬件连接的框图:

The nRF51822

主要有两个任务:处理无线通信的数据和电源管理 ,它扮演无线桥的作用,将无线接收的数据发送给STM32F405RG。

Crazyflie 2.0 用到了CRTP和BLE的无线通信, 同事硬件也支持其它的协议,比方ANT。CRTP模式兼容 Crazyradio USB dongle ,提供2Mbit/秒的低延迟数据通信. 測试显示,在没有重传和包大小1~32字节的情况下,普通无线通信2Mbps 的延迟在360us 和1.26ms之间. BLE最小的延时是7.5ms,可是眼下实际延时大于20ms. CRTP link基本的优势在于在不论什么支持USB的主机系统上都能够很easy的实现,这也是为什么它成为Crazyflie首选来做试验. BLE 主要是用于手机控制Crazyflie 2.0.

nRF51 另外一个优势是能够用纽扣电池供电, 也就是说很适合用在低功耗的领域,所以NRF51会负责功耗管理部分。当USB或者电池供电的时候,NRF51总是会有电,其余部分电路的供电和行为动作取决于按键按下的时间长短(比如,能够用于启动到bootloader).眼下也实现了通过外部扩展板的一个引脚唤醒Crazyflie 2.0

The STM32F405

STM32是基本的控制MCU。尽管它是由NRF51供电启动。相对于NRF51它是作为主要角色。它实现了两个功能:飞行控制和全部的通信算法。扩展板主要是跟STM32连接,所以扩展板的驱动主要实如今STM32这边。

STM32F405 内部 RAM 196kB。这么大的RAM一般的应用肯定是没有问题的。实现飞行控制搓搓有余,还能够实现一些复杂的密集型的算法。比如:惯性传感器和GPS数据的融合。

Inter-MCU communication

两个MCU之间的通信靠 , 该协议是Crazyflie定义的基于包的简单的可扩展的协议机制。

Syslink 提供了全部的两个MCU之间全部的消息, STM32是主机,NRF51是从机.我们尽可能保持NRF51是简单的,而负责的算法都会再STM32实现。

syslink消息样例: 

(1)原始的无线包,发送和接收

(2)电源管理測量

转载于:https://www.cnblogs.com/gccbuaa/p/6917896.html

你可能感兴趣的文章
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>
[Tex学习笔记]尝试数学公式
查看>>
省市县,循环组装,整合大数组
查看>>
C语言中返回字符串函数的四种实现方法
查看>>
Jmeter学习及使用(一)安装
查看>>
H5 调用手机摄像机、相册功能
查看>>
python--闭包函数、装饰器
查看>>
【坑】linux目录软连接的相关操作--很容易误操作
查看>>
Phpstorm中使用SFTP
查看>>
stm32中字节对齐问题(__align(n),__packed用法)
查看>>
like tp
查看>>
开启一个项目如何上传到git
查看>>
使用 github Pages 服务建立个人独立博客全过程
查看>>
posix多线程有感--线程高级编程(线程属性函数总结)(代码)
查看>>
spring-使用MyEcilpse创建demo
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>
kettle导数到user_用于left join_20160928
查看>>
activity 保存数据
查看>>