Crazyflie 2.0 System Architecture

原创 2015年07月10日 18:51:24

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 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的主机系统上都可以非常容易的实现,这也是为什么它成为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)电源管理测量


USB_System Architecture_usb2.0

  • 2015年01月15日 17:49
  • 3.71MB
  • 下载

crazyflie_2.0_rev.c_schematics

  • 2015年11月08日 00:20
  • 206KB
  • 下载

Crazyflie2.0笔记三:用户安装指南、硬件布局、调试套件

原文地址:http://blog.sina.com.cn/s/blog_402c071e0102v6jg.html 这里简要介绍了 Crazyflie 2.0 部件清单、安装步骤、开机测试方法...

硬件篇——1_crazyflie2.0原理图分析之电源部分

从研二就开始准备想做一个微型飞控,现在已经是工作第二个年头,从bitcraze看到了该类飞控的原型设计,于是想模仿做一个,正好在要做的时候,他们推出了2.0版本,所以也就开始从这个版本来做。目前还在焊...

crazyflie2.0原理图之STM32F405与nRF51822串口1M速率的接收和发送

1,状态记录: 目前的状态: (1)STM32F405R程序下载没有问题,LED测试程序OK (2)nRF51822 256K程序下载没有问题,LED测试程序OK (3)STM32F405R驱动MP...

Getting started with the Crazyflie 2.0

最近陆续开始装配自己的小四轴,bitcraze官网上有一些装配的指导,很不错的经验装配和一些四轴PCB上的引脚配置,具体装配,可以看官网的视频操作,链接如下: https://www.bitcraz...

Crazyflie2.0笔记四: eclipse编译、开发环境搭建

Crazyflie2.0笔记四: eclipse编译、开发环境搭建 标签: crazyflie 开发环境 eclipse 编译环境 git 分类: 航模         这里详细介绍了 Crazy...
  • zongguo
  • zongguo
  • 2015年06月02日 15:56
  • 287

crazyflie2.0使用北通游戏手柄控制thrust,roll,pitch和yaw

前一段时间把飞行器的第二个版本PCB画出来了,命名为MiniSnail_V1.0,Logo:SnailTech。另外买了一些缺的器件,然后验证了下北通的手柄是否可以很好的控制飞行器的thrust,ro...

System architecture No.1

Linear Transformation1. matrix transformation & scaling[xyz1]∗⎡⎣⎢⎢⎢⎢Sx00tx0Sy0ty00Sztz0001⎤⎦⎥⎥⎥⎥(3) ...

Aerospike-Architecture系列之系统概述(System Overview)

系统概述(System Overview) Aerospike是一个分布式可扩展的NoSql数据库,为一下三个主要目标而构建: 创建一个满足当今网络平台应用的弹性,可扩展平台提供与传统数据库一样的鲁...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Crazyflie 2.0 System Architecture
举报原因:
原因补充:

(最多只允许输入30个字)