摘要:Arduino是一款基于微控制器(单片机)的电子开发板,它可以运行一些相对比较简单的应用程序。包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。树莓派(RaspberryPi)则是一款以ARM作为处理器、自身具有操作系统的超小计算机。1 Pixhawk是一款基于ARM芯片的32位开源飞控,由ETH的computer vision and geometry group的博士生Lorenz
Meier开发。2 以上三类处理器在嵌入式开发中得到大量使用。本文选取树莓派4B、Arduino
MKRWAN 1300和Pixhawk 2.4.8三款处理器进行特点和总体性能对比,以期对嵌入式开发处理器选择有一定的参考。

关键词:Arduino 树莓派 Pixhawk
性能对比 应用领域

1.简介

本部分将简要介绍三类处理器各自特点和应用场景,第二部分分别就三类处理器中特定型号产品做性能对比,第三部分将给出总结与讨论。

1.1
Arduino

Arduino是一个基于易于使用的硬件和软件的开源电子平台,产自Ivrea交互设计学院,是一种快速原型制作的简便工具,主要面向没有电子和编程背景的学生。通过不断更改以适应新的需求和挑战,从简单的8位板扩展到IoT应用,可穿戴,3D打印和嵌入式环境的产品。很多处理器采用了微控制器编程的繁琐细节,并将其包装在易于使用的程序包中。Arduino还简化了使用微控制器的过程,同时具有以下优势:

1便宜 -与其他微控制器平台相比,Arduino板相对便宜,预组装的Arduino模块的价格也不到50美元。

2跨平台 -Arduino软件(IDE)在Windows,Macintosh
OSX和Linux操作系统上运行。

3简单,清晰的编程环境 -Arduino软件(IDE)对于初学者来说易于使用,但足够灵活,4 开源和可扩展软件 -Arduino软件作为开源工具发布,可供经验丰富的程序员进行扩展。可以通过C ++库扩展该语言。

5开源和可扩展的硬件 -Arduino开发板的计划是在Creative Commons许可下发布的,因此经验丰富的电路设计人员可以制作自己的模块版本,进行扩展和改进。3

4 )主板结构图

1.2 树莓派

树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。

它是一款基于ARM的微型电脑主板,以SD/MicroSD卡为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100
以太网接口(A型没有网口),可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件全部整合在一张仅比信用卡稍大的主板上,具备所有PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。 Raspberry Pi B款只提供电脑板,无内存、电源、键盘、机箱或连线。支持python、Java、BBC BASIC (通过
RISC OS 映像或者Linux的"Brandy
Basic"克隆)、C 和Perl等编程语言。5

(树莓派各版本发布时间和差异对照)6

就像其他任何一台运行Linux 系统的台式计算机或者便携式计算机那样,利用Raspberry Pi 可以做很多事情。当然,也难免有一点点不同。普通的计算机主板都是依靠硬盘来存储数据,但是Raspberry Pi 来说使用SD 卡作为“硬盘”,你也可以外接USB 硬盘。利用Raspberry Pi 可以编辑Office 文档、浏览网页、玩游戏—即使玩需要强大的图形加速器支持的游戏也没有问题,如《雷神之锤》。Raspberry
Pi 的低价意味着其用途更加广泛,与其他一些器件结合使用会达到意想不到的效果。一些很好的idea可以参见文献【6】和文献【7】。

1.3 Pixhawk

Pixhawk是一个独立的开放硬件项目提供随时可用,成本低,高端,自动驾驶仪的硬

设计,在飞行器控制领域得到大量使用。8 使用Pixhawk相关硬件具有以下优势:

1软件支持-作为PX4参考硬件,能够得到很好的维护

2可以连接的硬件外围设备的灵活性。

3高质量。

4高度可定制的形式因素。

5用途广泛,因此经过良好测试/稳定。

6通过QGroundControl(最终用户友好)自动更新最新固件。

9

Pixhawk处理器采用STM32F427 VIT6 (168 Mhz/256 KB RAM/2 MB 闪存 100Pin)、32位
STM32F100C8T6(48Pin)故障保护协处理器,平常用来控制输入信号采集(“Big – Little ”架构),采用15ppm 3325封装。传感器反面,具有 Invensense MPU6000三轴加速度计/陀螺仪、ST Micro L3GD20 16位陀螺仪、ST Micro LSM303D 14位加速度计/磁力计 、MEAS
MS5611气压计等。10

其系统框架如图所示:

2.处理器对比

随着开发人员对硬件要求越来越高以及不同使用场景下的特殊使用要求,基础开发的处理器也在不断更新换代,以及做一些特殊场景下的修改。这里选择Arduino WANKMR 1300、树莓派4B和pixhawk2.4.8从性能参数、使用特点、适合对象等方面进行比较。

2.1 Arduino WANKMR 1300

MKR WAN
1300是一款功能强大的主板,
结合了MKR Zero和LoRa连接的功能。对于希望设计物联网项目的制造商而言,它是理想的解决方案,而且在具有低功耗方面具备自己独特的优势,使用Arduino来开发和测试,也减少了对专业人员的技术需求。LoRa的优势在于低功耗和远距离,理论上来说,相比于BLE和WiFi更具优势。不过在可穿戴领域,依旧是BLE一枝独秀;而WiFi则- -直独霸着局域网无线通信领域。相对来说,LoRa在 工业应用方面正逐渐显露自己独特的优势。市面LoRa产品不少,大多以模块的方式提供给用户,借助三方MCU来实现自己的远程通信功能。11

(WAN KMR实图)


MKR1300使用两节1.5V
AA/AAA电池或外部5V为电路板供电,从一个源切换到另-一个源是自动完成的,具有良好的32位计算能力,类似于MKR ZERO板, 丰富的GPIO接口,低功耗LoRa通信以及用于代码开发和编程的Arduino软件的易用性等特性,使得该主板成为紧凑外形的新兴物联网电池供电项目的首选。另外USB端口可用于为电路板供电,ArduinoMKR WAN 1300能够在连接或不连接电池的情况下运行,具备很低的功耗。

开发板上两个主要器件: 一个是Atmel SAMD21,另一个是Murata CMWX1ZZABZ LoRa模块。Arduino Zero兼容引 |脚使用过孔排针来引出,正反两面都可以连接外设,同时也非常方便和其它扩展板来进行连接以扩展功能。ATSAMD21G18是一款低功耗,高性能的基于ARMRCortexB-M0 +的闪存微控制器,是各种家庭自动化,消费,计量和工业应用的理想选择。它的特点主要包括:

●256KB闪存和32KB
SRAM

●工作频率高达48MHz

●六个串行通信模块(SERCOM)可配置为UART / USART, SPI或I2C, 三个1 6位定时器/计数器,32位实时时钟和日历,20个PWM通道,一个1 4通道12位ADC,一个10位DAC

●支持多达120个触摸通道

●全速USB设备和嵌入式主机

CMWX1ZZABZ是一种新型, 紧凑,低成本,低功耗的广域网(LPWAN)无线模块。Murata CMWX1ZZABZ模块具有预认证的无线电监管认证,适用于世界上大多数地理区域的868和915 MHz工业,科学和医疗(ISM)频谱。正常输出功率为+ 14 dBm,但可以选择PA增强功能,以便在远距离应用或终端设备位于室内信号较差的位置时将RF输出增加至+ 20dBm。MCU包括192 kB闪存和20 kB RAM,并具有足够的内存来嵌入客户应用程序和托管其他调制堆栈。此外,可选的STSAFE安全元件可以集成到MCU中,以增强网络安全功能。该模块可适应各种温度,工作温度范围为-40至+ 85°C。

2.2 树莓派4B

与Arduino定位是单片机、侧重IO性能不同,树莓派的定位是电脑侧重计算性能。Arduino以UNO为例是AVR核心的8位单片机,运算频率16Mhz;树莓派4B版为例,是ARM核心的64位微处理器,运算频率1.5GHz,兼顾其他Linux下的开发环境。12总之,树莓派可以被看做一台功能完整的迷你电脑。存储空间是通过micro-SD卡来提供的,而内置的以太网接口则提供了连接到互联网的能力(Arduino也可以访问网络,但需要额外的部件)。13


(树莓派4B结构图)14

通过最新对树莓派4B的评测来看,Pi 4B的功率为3.4瓦,比3B+高出17%。在负载下,这个数字跃升至7.6瓦,但这仍然比其前任产品多出19%。15 因此存在过热的风险。功率增加的同时是性能大幅提升。这款新芯片基于28nm工艺,而不是旧的Cortex-A53微架构,它采用了Cortex-A72。四个内核,时钟频率为1.5 GHz,同时支持无序执行,使得运算速度大幅加快。更快的图形性能:新架构允许它以高达4K fps的速率输出到显示器,速率为60fps,或支持高达4K 30Hz的双显示器。强大的网络性能:以太网端口现在具有更多带宽,这使其能够提供全千兆吞吐量。GPIO针脚:树莓派的真正明星是它的40个GPIO(通用输入/输出)引脚。 树莓派4B为一些引脚增加了一些新功能,如支持四个额外的I2C,SPI和UART连接,同时响应速度也快得多,其切换速度为50.8 KHz。

2.3 Pixhawk 2.4.8

Pixhawk是根据我们的需要,结合PX4FMU / PX4IO改进而开发出的PX4飞K控的单块电路板版本。之前常用的APM是一款非常可靠的成功产品, 但是APM的8位CPU在储存和CPU计算能力上已经不能满足未来的需求。因此拥有一个32位处理器,提供更多内存、运用分布处理方式并且包含-一个浮点运算协处理器更受到欢迎。


(Pixhawk 32位 无人机多轴固定翼飞控 / v2.4.8)

Pixhawk是一款货真价实的第三代飞行控制系统(APM -> PX4 -> Pixhawk)。它针对我们的飞行导航软件做了高度优化以实现对飞行器的控制与自动飞行。Nuttx实时操作系统对各种自主模型都可以实现高性能、高灵活性与高可靠性的控制。类似于Unix/Linux,集成了多线程和Lua任务脚本与飞行行为的编程环境提供了强大的开发潜力。有一个定制的PX4驱动层确保所有进程密集运行。16

作为应用相当广泛的v2.4.8,具有以下特点:

1.先进的32位ARM CortexM4高性能处理器,可运行NutX RTOS实时操作系统;

  1. 14个PWM/舵机输出;

3.总线接口(UART,I2C,SPI,CAN);

4.集成备份电源和失效备份控制器,主控制器失效时可安全切换到备份控制;

5.提供自动和手动模式;

6.提供冗余电源输入和故障转移功能;

7.多色LED灯;

8.提供多音蜂鸣器接口;

9.Micro SD记录飞行数据.

其硬件参数包括处理器、传感器和接口。其中处理器使用32位2兆闪存STM32F427 Cortex M4,带硬件浮点处理单元,主频为168MHZ, 256K RAM。传感器方面使用L3GD20 3轴数字16位陀螺仪、LSM303D 3轴14位加速度/磁强计、MPU6000 6轴加速度计/磁强计和MS5611高精度压计。共有十类接口,分别是5个UART、2个CAN、Spektrum DSM/DSM2/DSM-X卫星接收机兼容输入、Futaba SBUS兼容输入和输出、PPM信号输入、RSSI(PWM或者电压)输入、12C、SPI、3.3和6.6VADC输入和外部MICRO USB接口。17

3总结与讨论

可以看到,Arduino由于结构较为简单,没有操作系统,只能运行一些相对比较简单的应用程序,程序运行更加直接,运行效率较高。Arduino的程序设计相对比较简单,其程序需要通过USB接口与计算机连接进行上传。而树莓派是一款超小体积的计算机,能够运行操作系统。同时树莓派利用ARM作为处理器,还具有板载内存、HDMI接口、USB接口、音频接口、网络接口等强大功能,在操作方面较Arduino要繁琐一些。而Pixhawk由于其多种接口和传感器,在飞控方面能够得到很好的应用。

因此选择处理器与所要做的项目密切相关。Arduino更适合做一些与电路、传感器等相关而不需要太多复杂计算的项目,树莓派的处理器运算能力更强,由于具有操作系统,可以设计出功能更丰富的软件,因此树莓派更适合做一些需要较多运算和功能的项目。而若需要与周围环境进行交互,做一些传感器参与的控制活动,则可以考虑Pixhawk。同时,每种处理器都有相应的一些扩展元件,可以根据需要灵活使用。18

参阅资料:

【1】
http://baijiahao.baidu.com/s?id=1605212801170379398&wfr=spider&for=pc

【2】 https://blog.csdn.net/u013181595/article/details/80976610

【3】https://www.arduino.cc/en/Guide/Introduction

【4】

http://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=Arduino&step_word=&hs=0&pn=0&spn=0&di=168300&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3060732580%2C1728560537&os=2181637029%2C1973985803&simid=0%2C0&adpicid=0&lpn=0&ln=981&fr=&fmq=1569659739081_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20171024%2F1badf9c1b2aa4216bb46c920a2d7d79c.jpeg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bf5i7_z%26e3Bv54AzdH3FwAzdH3F8llbmbad9_0lmbcd&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined

【5】https://baike.baidu.com/item/树莓派/80427?fr=aladdin

【6】http://m.elecfans.com/article/620717.html

【7】http://shumeipai.nxez.com/what-raspi-used-for

【8】https://docs.px4.io/v1.9.0/en/flight_controller/pixhawk_series.html

【9】 https://blog.csdn.net/u013181595/article/details/80976610

【10】 https://blog.csdn.net/csshuke/article/details/78952026

【11】 http://www.21ic.com/evm/evaluate/MCU/201808/808046.htm

【12】 https://blog.csdn.net/ztguang/article/details/72581930

【13】 http://www.elecfans.com/emb/app/20180110613309_2.html

【14】

https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E6%A0%91%E8%8E%93%E6%B4%BE4b&step_word=&hs=0&pn=10&spn=0&di=910&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3586417583%2C878483016&os=3014304662%2C2766978385&simid=41589497%2C3568664418&adpicid=0&lpn=0&ln=182&fr=&fmq=1569670989357_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=11&oriquery=&objurl=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20190926%2F2cd504db551346c29b7b3aa399489218.JPG&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bf5i7_z%26e3Bv54AzdH3FwAzdH3Fn9ncnal8m_8aa8ndn9c&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined

【15】 https://www.eefocus.com/mcu-dsp/444160/p3

【16】http://www.360doc.com/content/15/0416/17/22888854_463691388.shtml

【17】 http://www.mxzdy.com/p_helicopters/helicopters_11736.html

【18】http://baijiahao.baidu.com/s?id=1605212801170379398&wfr=spider&for=pc

关于Arduino、树莓派和 Pixhawk微处理器对比分析相关推荐

  1. AMBA总线协议AHB、APB、AXI对比分析

    一.AMBA概述 AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构 AHB (Advanced High-performance B ...

  2. AHB、APB、AXI三种协议对比分析(AMBA总线)

    一.AMBA概述  AMBA (Advanced Microcontroller Bus Architecture) 高级处理器总线架构  AHB (Advanced High-performance ...

  3. JDBC与数据库连接工具对比分析

    JDBC 使用步骤: 注册数据库驱动 通过DriverManager获取数据库连接 通过Connection对象获取Statement对象 使用Statement执行SQL语句 操作ResultSet ...

  4. Apache 流框架 Flink,Spark Streaming,Storm对比分析(一)

    https://bigdata.163.com/product/article/5 Apache 流框架 Flink,Spark Streaming,Storm对比分析(一) 转载于:https:// ...

  5. php遍历数组哪个效率高,PHP遍历数组的三种方法及效率对比分析

    PHP遍历数组的三种方法及效率对比分析 发布于 2015-03-04 21:55:27 | 129 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  6. R语言决策树、bagging、随机森林模型在训练集以及测试集的预测结果(accuray、F1、偏差Deviance)对比分析、计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况

    R语言决策树.bagging.随机森林模型在训练集以及测试集的预测结果(accuray.F1.偏差Deviance)对比分析.计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况 ...

  7. python计算多个模型在不同数据集上的预测概率、获取每个数据集上的最优模型、多个最优模型的ROC曲线进行对比分析

    pytyon计算多个模型在不同数据集上的预测概率.获取每个数据集上的最佳模型.多个最优模型的ROC曲线进行对比分析 目录

  8. R语言e1071包中的支持向量机:仿真数据(螺旋线性不可分数据集)、简单线性核的支持向量机SVM(模型在测试集上的表现、可视化模型预测的结果、添加超平面区域与原始数据标签进行对比分析)、如何改进核函数

    R语言e1071包中的支持向量机:仿真数据(螺旋线性不可分数据集).简单线性核的支持向量机SVM(模型在测试集上的表现.可视化模型预测的结果.添加超平面区域与原始数据标签进行对比分析).如何改进核函数 ...

  9. R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题、可视化模型预测的结果、添加超平面区域渲染并与原始数据标签进行对比分析

    R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题.可视化模型预测的结果.添加超平面区域渲染并与原始数据标签进行对比分析 目录

最新文章

  1. windows程序设计之对话框简介1
  2. 关于C++中数组下标越界不报错的问题
  3. 全民熬夜的时代,如何做到早睡?
  4. 亚特兰大峰会精彩看点:软件吞噬世界,OpenStack是变革核心
  5. 《相关性准则——大数据时代的高效能之道》一一2.2 意识与大脑处理信息的能力...
  6. George Moody 对OSEA 软件的修改
  7. apple script to 1s screen capture snapshot w/ windowsill
  8. python 实现读取图片的像素值。
  9. window的渊源、发展过程、趋势
  10. react 跨域—— jsonp 跨域
  11. 2021-11-10全球货币市场基础知识系列3
  12. vs商业智能项目的安装
  13. 考研英语 - word-list-43
  14. iphone13开箱验机全步骤
  15. c++简单复数计算器
  16. ORAN专题系列-29:运营商O-RAN扩展皮站测试的硬件架构
  17. 乐视2 usb计算机连接,乐视 LetvX620 开启USB调试模式
  18. 太原理工大学数据科学与计算机学院,谢珺-太原理工大学信息与计算机学院
  19. uni-app 图片懒加载
  20. kotlin中mainactivity无法直接调用xml中的控件_个推TechDay广州站:使用Kotlin演进安卓开发生态...

热门文章

  1. 计算机组成原理 累加器实验
  2. 独家:为了永不停机的计算服务 - 五月月刊 | 凌云时刻
  3. 【三维目标检测】3DSSD(一)
  4. Linux for h4100 - installing Linux to the ipaq h4150 (老树出新芽)
  5. 10.11_attention
  6. (《机器学习》完整版系列)第5章 神经网络——5.2 RBF网络(单层RBF就可解决异或问题)与ART网络(实现“自适应谐振”)
  7. 日本开设无人机专业,打造无人机“人才市场”
  8. 解决Raid模式下重装系统无法识别固态硬盘的问题
  9. 跟李沐学深度学习-softmax回归
  10. 亚马逊数据技能,选择新品的8大核心原则