树莓派、BeagleBone Black和Arduino

几乎每天都有新的单板计算机宣布诞生。所谓的“Raspberry Pi”效应已对采用这种电路板产生了巨大的影响。虽然Raspberry Pi毫无疑问是提高小板电脑利益唯一最重要的一环,但这绝不是个例。还有许多其他电路板已经存在很多年了。在市场上,Arduino可能是最有名的,也可能是被许可设计为小型计算机板最多的。其中,Raspberry Pi和Arduino是最受欢迎的可用单板计算机。从冰箱网络服务器到自动远程四轴飞行器,它们存在于由‘制造商’或电子产品爱好者制作的数以千计的项目中。Arduino基于微型控制器的项目、源代码和扩展板(称为“屏蔽”)的开源生态系统的范围是惊人的。对Raspberry Pi的采用一定会快速增长。利用基于ARM的微处理器和Linux操作系统,其孵化项目和应用软件与Arduino是完全不同的。

单板计算机当然并不是新的理念。半导体制造商已销售单板计算机多年,作为缓解采用最新微型控制器装置的一种方式,并提供一个装备有各种外围设备和IO的低成本评估平台,且嵌入式开发人员可根据其进行他们新的设计。BeagleBoard是此类开发板的一个例子,由美国德州仪器公司于2008年为嵌入式开发学生学习基于美国德州仪器公司(TI)OMAP3530芯片系统(SoC)的开源硬件和软件开发而设计。随后一些电路板迭代,信用卡大小的BeagleBone Black则迅速加入Arduino和Raspberry Pi的行列,成为有力的竞争者。

毫无疑问这三种电路板都能够,且将继续用于电子理论教学、爱好者建造项目等,那么专业嵌入式开发人员能够运用它们作为新的商业设计基础吗?

Arduino

首先,Arduino不仅仅是一个电路板。它代表电路板的一个集合。除了一个电路板以外,其他所有的电路板都基于爱特梅尔公司良好支持并受欢迎的8位基于AVR微控制器的艾特梅尔系列,且Arduino系列适用于各种尺寸、IO和内存配置。Uno在各系列中(Arduino指的是参考设计)是最受欢迎的电路板,并使用在16MHz下运行的爱特梅尔公司ATmega328设备。IO包括6个模拟输入,14个数字I/O,其中6个可作为PWM使用。微控制器(MCU)提供1kB电可擦除只读存储器(EEPROM)、2kB静态随机存取存储器(SRAM)和32kB闪速存储器。Arduino Due是基于艾特梅尔SAM3X8E 32位Cortex-M3微处理器。改进的IO提供54个数字IO,其中12个可提供PWM输出,12个可提供模拟输入,2个可提供模拟输出。512kB的闪存可与总共96kB的SRAM一起使用。以84MHz的频率,即以所有Arduino电路板中最快的速度进行记录。

1Arduino Uno

所有IO和功率可通过两排连接器进行利用。而且正是这种标准布局使得许多第三方屏蔽了从WiFi、LCD屏和ZigBee等提供的信息,如位于电路板顶部上的扩展模块。Arduino还通过电动机控制、以太网和无线原型扩展板提供一些自身信息。免费下载IDE使编程和目标上传变得极其简单。IDE使用C派生语言,从而易于使用电路板IO功能。Arduino所称的程序或“草图”可通过USB进行编程,但是专业开发人员可能更倾向于通过电路板的在线串行编程(ICSP)标头,使用基于STK500的引导装载程序。对嵌入式开发人员的吸引力有很多。电路板设计和IDE是所有的开放源码,并根据GPL进行发布。尽管已警告任何自主开发的电路板根据同样的许可证进行了发布,但知识共享署名-相同方式共享许可协议考虑到了个人和商业衍生品。如果您正面临创建一些简单的小容量工业应用程序,您可考虑利用现存原有的电路板,以及必要的屏蔽。对于高容量设计,更多BOM成本控制将支配电路板从头设计。对于非计算密集型且不需要连接各种传感器的应用程序,Arduino是理想的选择。您可接口或将它连接到任何东西上。同样地,对于有空间限制的设计,Uno或最小的电路板和Arduino Mini将是较好的备选。(完整目录请访问arduino.cc)。开发者应放心确保Arduino设计已被极好地证明。专业的工具包括一个eclipse插件和一个来自于Visual Micro的IDE。

BeagleBone Black

BeagleBone Black是一个相对较新的产品,并且是半导体制造商—美国德州仪器公司开发的唯一电路板。作为针对嵌入式开发人员和‘制造商’的社区支持开发平台的一部分,其声称能够在10秒钟内启动Linux。其直接前趋—BeagleBone确定了电路板的大小以及IO引脚分配,现在已经确定为Arduino类似屏蔽(称作‘capes’)范围的默认值。不过仍可快速分辨出BeagleBone Black与Arduino完全不同,并且更为强大。

2BeagleBone Black

BeagleBone Black是一个单板计算机,而不是一个嵌入式平台。其单独存在而不是作为一个系列的一部分,‘Black’使用TI Sitara AM335x 1GHz 32位ARM Cortex-A8应用处理器。该电路板有512兆字节的DRAM和2GB的闪存。配备有一个3D图形加速器和一个NEON浮点加速器,‘Black’将目光投向更高性能的应用程序。连接包括USB、以太网、HDMI以及通过同样用于扩展板的2 x 46引脚头来接入65个GPIO口。但是,由于Arduino,您可能会被限制于主要使用Arduino IDE并运行单一的程序,BeagleBone Black在软件支持方面比较擅长。仅连接电源、键盘、鼠标和屏幕,‘Black’即可启动预装入的Angström Linux发行版。其他操作系统选项包括Android和Ubuntu发行版。这些系统和其他更多系统可从社群网站—beagleboard.org下载。虽然最初从第三方购买的‘capes’数量不同于Arduino的屏蔽,但随着Black发掘更多的追随者则开始稳步增长。假设Black有更高的性能,则可用的‘capes’往往比某些Arduino更为复杂。和Arduino一样,BeagleBoard社群鼓励对商业应用采用BeagleBone Black的设计。根据开源许可证,所有的硬件设计文件都是可用的。开发人员不得将电路板纳入原来的商业设计中,除非其已经过全面评审,并经BeagleBoard社群批准。

当涉及到软件开发时,BeagleBone Black有一些令人愉快的惊喜。初学者和更多有经验的开发人员将会很乐意开发开箱即用的Black,Black可通过自行运行其web服务器介绍其电路板功能。同时,一些网页可举例说明并运行Bonescript代码,以确保类似Arduino接入IO。也有一些流行的Cloud9 IDE的本地副本在电路板上运行,为大多数应用程序提供一个合适的IDE。所有正常的Linux命令和网路工具,如SSH,是可用的。Bonescript命令为了解电路板提供了一种很好的方法,而专业开发人员更有可能倾向于使用所有被支持的语言,如Perl、Python和C++,以及受欢迎的IDE,如Eclipse、GCC或通过TI的代码调试器。利用证据充分的IO接入和软件支持的深度,基于BeagleBone Black的设计是创建要求互联网连接、良好的IO连接和媒介CPU性能的应用程序的理想基础。

Raspberry Pi

3Raspberry Pi—模型B电路板

Raspberry Pi是单板计算机近期利润的主要来源。最初针对高校学生,由于其更广泛的社群光谱,Pi已被证明长久的受到人们的喜爱。小学、童子军团体和制造商已发现了Raspberry Pi的应用程序。从技术角度看,Pi与BeagleBone Black的共同点多于与Arduino的共同点。根据Broadcom BCM2835 SoC,其拥有一个以700 Mhz运行的ARM1176 MPU核心,并配备有512兆字节RAM。您将需要安装一个4GB或更大的SD RAM卡。不同的Linux发行版,如Fedora、Debian和Raspian可用于Raspberry Pi,但应注意其对如BeagleBone Black是不会预装入的。虽然一个因素无法影响专业开发人员,但对于一个业余爱好建造者,则最初可能发现这是令人怯步的一个过程。内置USB、以太网、HDMI和复合视频输出Pi连通性标题。除SPI、I2C和功率外,一个单独扩展排针也可接入GPIO。

虽然在子板装配上不提供GPIO扩展,如‘capes’和屏蔽,但Raspberry Pi可从第三方一些适合大多数设计的原型电路板和模块上获取利益。然而,Raspberry Pi有一个音频输出端子,这是其他电路板在其标准卡上没有的部分。Linux支持的多样性确保所有流行的编程语言,如C/C++、Perl和Python都是受支持的。基于视觉的程序设计工具,如草图已证明在学生中间倍受欢迎。但是Raspberry Pi的一些配置,在以VideoCore 4 GPU形式的Broadcom SoC设备中比较特殊。该配置提供H.264蓝光回放质量,并支持OpenGL ES2.0和OpenVG库规范。Raspberry Pi适合广泛的高清视频应用程序,并配备大量支持此设计的软件(Arduino 和BeagleBone Black未配备)是不足为奇的。

总结

每个被审查的电路板为专业开发人员提供了一个加速新项目设计和原型阶段的机会。编程语言的选择、IO要求和应用程序,以及开发者自身的技能组合将极大地影响电路板的选择。如果使用大量的传感器IO开始一项新的设计,没有这种经验的开发人员可以考虑提供更好IO教程和支持的电路板。无论选择哪种电路板,开发人员应能确保采用的电路板是许多其他工程师通过访问专家论坛正在使用的,这将比完全从头开始一项新的设计要容易的多。