Crazyflie 2.0 System Architecture
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)用户扩展功能
以下是总体硬件连接的框图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
The nRF51822Anchor
link for: 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 STM32F405Anchor
link for: the_stm32f405
STM32是基本的控制MCU。尽管它是由NRF51供电启动。相对于NRF51它是作为主要角色。它实现了两个功能:飞行控制和全部的通信算法。扩展板主要是跟STM32连接,所以扩展板的驱动主要实如今STM32这边。
STM32F405 内部 RAM 196kB。这么大的RAM一般的应用肯定是没有问题的。实现飞行控制搓搓有余,还能够实现一些复杂的密集型的算法。比如:惯性传感器和GPS数据的融合。
Inter-MCU communicationAnchor
link for: inter mcu_communication
两个MCU之间的通信靠 syslink
protocol, 该协议是Crazyflie定义的基于包的简单的可扩展的协议机制。
Syslink 提供了全部的两个MCU之间全部的消息, STM32是主机,NRF51是从机.我们尽可能保持NRF51是简单的,而负责的算法都会再STM32实现。
syslink消息样例:
(1)原始的无线包,发送和接收
(2)电源管理測量
Crazyflie 2.0 System Architecture的更多相关文章
- 找不到方法:"!!0[] System.Array.Empty()".
找不到方法:"!!0[] System.Array.Empty()". 这个原因是没装.net framework 4.6
- Eclipse maven工程 Missing artifact com.sun:tools:jar:1.5.0:system 解决方法
今天同事在使用eclipse,引入一个新的maven工程时报错: Missing artifact com.sun:tools:jar:1.6.0:system 这个问题很奇怪,相同的代 ...
- pom文件miss artifact com.sun:tools:jar:1.5.0:system问题
问题现象: 导入新的maven项目时,有时候pom.xml文件会提示一个错误信息:Missing artifact com.sun:tools:jar:1.5.0:system 问题原因: maven ...
- Method not found: !!0[] System.Array.Empty()错误
最近由于公司项目需要将之前支持的TLS1.0改成更安全的TLS1.2,而公司现有项目都是老系统,有的是.NET FrameWork 4.0,有的是.NET FrameWork3.5,但是TLS1.2默 ...
- fio 测试 磁盘I/O: ls -1 /sys/block/sda/queue/ | awk '{cmd="cat "i$0; print i$0; system(cmd) }' i=`pwd`'/'
小型计算机系统接口(SCSI,Small Computer System Interface) SAS(Serial Attached SCSI,串列SCSI) SCSI 硬盘名称: sd[a-p] ...
- Maven错误-Missing artifact com.sun:tools:jar:1.5.0:system 解决方式
1.Missing artifact com.sun:tools:jar:1.5.0:system Could not resolve dependencies for project com.ifl ...
- Missing artifact com.sun:tools:jar:1.5.0:system 补充
转自:http://blog.csdn.net/sweblish/article/details/6662586 解决方案一: 原来,是${java.home}在作怪,eclipse 没有使用 JAV ...
- 【代码审计】LaySNS_v2.2.0 System.php页面存在代码执行漏洞分析.
0x00 环境准备 LaySNS官网:http://www.laysns.com/ 网站源码版本:LaySNS_v2.2.0 程序源码下载:https://pan.lanzou.com/i0l38 ...
- .NET 4.0 System.Threading.Tasks学习笔记
由于工作上的需要,学习使用了System.Threading.Tasks的使用,特此笔记下来. System.Threading.Tasks的作用: Tasks命名空间下的类试图使用任务的概念来解决线 ...
随机推荐
- Android自己定义对话框实现QQ退出界面
效果 首先看下qq的效果图,点击菜单button后点退出就会出现如图的对话框. 从上图能够看出,该对话框有一个圆角,以及标题,提示信息,两个button,button颜色是白色,button点击后背景 ...
- 小P寻宝记——好基友一起走
小P寻宝记--好基友一起走 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描写叙述 话说.上次小P到伊利哇呀国旅行得到了一批宝藏.他是 ...
- 视差滚动demo (pc)
根据设计图设定每屏的高度,js会自动缩放到全屏尺寸,效果要大尺寸才能看的出来 demo :http://runjs.cn/detail/uvizsekd <!DOCTYPE html> & ...
- nyoj-647-奋斗小蜗牛在请客(进制转换)
奋斗小蜗牛在请客 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 一路艰辛一路收获.成功爬过金字塔的小蜗牛别提多高兴了.这不为了向以前帮助他的哥们们表达谢意,蜗牛宴请 ...
- gemm() 与 gesvd() 到矩阵求逆(inverse)(根据 SVD 分解和矩阵乘法求矩阵的逆)
可逆方阵 A 的逆记为,A−1,需满足 AA−1=I. 在 BLAS 的各种实现中,一般都不会直接给出 matrix inverse 的直接实现,其实矩阵(方阵)的逆是可以通过 gemm()和gesv ...
- oracle性能检测sql语句
1. 监控事例的等待 select event,sum(decode(wait_Time,0,0,1)) "Prev",sum(decode(wait_Time,0,1,0)) & ...
- 杂项-DB-分布式:HBase
ylbtech-杂项-DB-分布式:HBase HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系 ...
- 基于Redis实现分布式应用限流--转
原文地址:https://my.oschina.net/giegie/blog/1525931 摘要: 限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限 ...
- struts2学习之基础笔记3
第8章Struts 2类型转换 使用类型转换器 自定义类型转换器 步骤:1. Struts 2 构建流程 2.自定义类型转换器类(继承 DefaultTypeConverter /StrutsType ...
- 杭电 2639 Bone Collector II【01背包第k优解】
解题思路:对于01背包的状态转移方程式f[v]=max(f[v],f[v-c[i]+w[i]]);其实01背包记录了每一个装法的背包值,但是在01背包中我们通常求的是最优解, 即为取的是f[v],f[ ...