0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Arduino和Raspberry Pi开发板的嵌入式设计案例

电子设计 来源:Digikey 作者:Steve Leibson 2020-12-09 09:48 次阅读

作者:Steve Leibson

Arduino 和 Raspberry Pi 开发板是颠覆嵌入式系统开发方式的登峰造极之作。从前,嵌入式系统的开发从硬件开始。项目步骤一般如下:

1. 规范系统要求,包括粗略估计处理速度和 I/O 要求。

2. 选择符合功率、性能和价格要求的适当微控制器微处理器

3. 连接硬件原型。

4. 调试硬件原型。如有必要,编写少量驱动程序代码来调动线路。

5. 硬件运行后,开始执行代码。

6. 调试代码。

7. 发货!

现在没那么简单了。首先,有数以千计的处理器和微控制器可供选择,而它们来自众多供应商。没有人可以把所有这些替代方案都记在脑中。

其次,上述第三项(连接硬件原型)提出了一个实际问题,因为三十年前全球已发展到采用表面贴装技术的阶段。对于电气工程,上世纪 70 年代普遍使用的原型开发技术手工布线甚至绕接技术,类似于手工锻造技术。现今已很少用到此类技术。您确实需要设计、制造和焊接原型印刷电路板,如果有更好(更快、更低成本)的替代选项,谁会花时间那样做呢?

这种情况为开发板创造了机会,直接绕过上面的一至四步。目前市场上最知名的两种开发板是 Arduino Uno(及其众多型号)和 Raspberry Pi。Raspberry Pi 的最新型号是 Raspberry Pi 3 Model B+。虽然人们经常将 Arduino 开发板与 Raspberry Pi 开发板相提并论,但两者截然不同。

Arduino 是一家开源计算机硬件与软件公司的名称、一个开源社区项目、设计和制造 Arduino 开发板的用户社区、一种集成开发环境 (IDE) 以及实际 Arduino 微控制器板本身。(Arduino 这个名字出自意大利伊夫雷亚的一家酒吧,Arduino 项目的一些最初创始人过去常在那里会面。)

最初的 Arduino 开发板基于 Atmel 的 AVR 微控制器。在使用 Arduino IDE 开发代码后,Arduino IDE 随后会编译代码,并将代码下载到板载微控制器的闪存中。Arduino IDE 支持 C 和 C++ 语言,具备其独有的特殊代码结构规则。由于 Arduino 概念得到了极大发展,较新的 Arduino 型号已升级到基于 32 位 Arm® Cortex®-M0 的微控制器,以实现更高性能(图 1)。

Arduino 开发板是作为入门级微处理器开发板,用于控制相对简单的嵌入式系统,因此其 I/O 功能非常简单。除了一些带有简单数字 I/O 和模拟输入引脚的 0.1 英寸针座外,Arduino Uno 开发板还有一个 USB 端口以及一些可以闪烁的板载 LED。就这么简单。I/O 引脚由软件控制,因此在发挥这些引脚的性能时不会有太多阻碍。

图 1:Arduino Uno 是一款基于 8 位 Atmel 微控制器的入门级开发板,具有一些简单的 I/O 功能,可作为不需要高性能的嵌入式设计的开发平台。(图片来源:Arduino)

升级到 Raspberry Pi

如果嵌入式设计需要更高性能,那么可以考虑从 Arduino 升级到 Raspberry Pi 3 B+ 开发板(图 2)。以下是该开发板的重要特性:

  • Broadcom BCM2837B0,1.4 GHz Cortex®-A53 (Arm®v8) 64 位 SoC
  • 1 GB LPDDR2 SDRAM
  • 2.4 GHz 和 5 GHz IEEE 802.11.b/g/n/ac 无线 LAN,蓝牙 4.2,BLE
  • USB 2.0 千兆位以太网(最大吞吐量 300 Mbps)
  • 扩展型 40 引脚 GPIO 针座
  • 全尺寸 HDMI
  • 四个 USB 2.0 端口
  • 扩展型 40 引脚 GPIO 针座
  • CSI 摄像头端口,用于连接 Raspberry Pi 摄像头
  • DSI 显示端口,用于连接 Raspberry Pi 触摸屏显示器
  • 4 极立体声输出和复合视频端口
  • Micro SD 端口,用于加载操作系统和存储数据
  • 5 V/2.5 A 直流电源输入
  • 以太网供电 (PoE) 支持(需要独立的 PoE HAT)

图 2:Raspberry Pi 3 Model B+ 是一款出色的嵌入式硬件开发平台,具有四核 64 位 Arm 应用处理器、1 GB SDRAM 以及丰富的 I/O 功能。(图片来源:Raspberry Pi)

有了如此多的处理能力、存储器和 I/O 功能,您可以做很多事情。Raspberry Pi 3 B+ 开发板可运行 Linux,且该产品具有庞大的支持社区。Raspberry Pi 3 Model B+ 价格低廉,成为许多嵌入式开发项目的绝佳硬件平台。

当您觉得需要提速时,该怎么办?

如果 Raspberry Pi 3 Model B+ 满足您对嵌入式系统设计的所有要求,则无需再寻找其他产品。既然这款开发板价格低廉,功能又极其强大,那么何必多此一举呢?但是,如果您的嵌入式系统需要的特殊 I/O 功能超出 Raspberry Pi Model 3 B+ 的大量 I/O 资源,该怎么办?

这种情况就是您需要 FPGA 的高性能功能的一个例子,FPGA 擅长让您仅使用软件即可定义出新型高速接口。无需额外布线。此外,您还可以使用 Trenz ElectronicTE0726-03M 开发板 ZynqBerry(图 3),获得已内置于 Raspberry Pi Model 2 外形尺寸中的 FPGA 功能。

图 3:Trenz 的 TE0726-03M ZynqBerry 开发板采用 Raspberry Pi Model 2 外形尺寸封装了一个 Xilinx 的 Zynq Z-7010 SoC,适合需要额外 I/O 性能的嵌入式设计。(图片来源:Trenz Electronic)

ZynqBerry 基于 Xilinx 的 Zynq Z-7010 SoC,融合了双核 Arm® Cortex®-A9 32 位微处理器和 FPGA。以此打造的器件与单个处理器(或甚至以 1.4 GHz 运行的四个处理器)相比,能够处理更多的高性能任务。您可以使用可下载的 Xilinx Vivado 工具套件对 Trenz ZynqBerry 进行编程,该套件可为 Zynq SoC 的软件(处理器)和硬件 (FPGA) 端提供 IDE。

更喜欢 Arduino 的外形尺寸?

但如果您更喜欢 Arduino Uno 的外形尺寸呢?Trenz Electronic 的 TE0723-03M ArduZynq 也可满足您的这一需求(图 4)。

图 4:对于需要更多处理器和 I/O 性能的 Arduino 项目,Trenz Electronic 的 TE0723-03M ArduZynq 将 Xilinx Zynq SoC 置于 Arduino 开发板外形尺寸中。(图片来源:Trenz Electronic)

与 Trenz ZynqBerry 一样,您可以使用可下载的 Xilinx Vivado 工具套件对 Trenz ArduZynq 进行编程。

像 Arduino Uno 和 Raspberry Pi 这样的开发板可以简化许多嵌入式开发选择,但无法应对所有嵌入式设计挑战。当您的需求超出这些开发板的功能时,无需更改开发板的外形尺寸。您只需在组合中添加一点 FPGA。

关于作者
Steve Leibson 是 HP 和 Cadnetix 的系统工程师、《EDN》和《Microprocessor Report》杂志主编以及 Xilinx 和 Cadence 的技术博主,并担任过两集“The Next Wave with Leonard Nimoy”的技术专家。33 年来,他一直致力于帮助设计工程师们开发出更好、更快、更可靠的系统。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7564

    浏览量

    151506
  • FPGA
    +关注

    关注

    1629

    文章

    21748

    浏览量

    603879
  • led
    led
    +关注

    关注

    242

    文章

    23295

    浏览量

    661267
  • 嵌入式系统
    +关注

    关注

    41

    文章

    3593

    浏览量

    129521
  • Arduino
    +关注

    关注

    188

    文章

    6471

    浏览量

    187224
收藏 人收藏

    评论

    相关推荐

    Made with KiCad(九十四):M5Pi Linux嵌入式开发板

    “ 波哥大作,必须优先安排!M5Pi 是一款开源 Linux 嵌入式开发板,使用全志 F1C200s CPU,拥有漂亮的外壳。”
    的头像 发表于 12-25 14:53 129次阅读
    Made with KiCad(九十四):M5<b class='flag-5'>Pi</b> Linux<b class='flag-5'>嵌入式开发板</b>

    新手怎么学嵌入式?

    操作 实践是学习嵌入式技术的关键。你可以购买一些低成本的嵌入式开发板,如 ArduinoRaspberry Pi。这些
    发表于 12-12 10:51

    如何使用 RISC-V 进行嵌入式开发

    、准备开发环境 选择开发板 :RISC-V架构的嵌入式开发板有多种选择,如GD32VF103R-START、飞凌嵌入式OK113i-S等。选择时需要考虑
    的头像 发表于 12-11 17:32 549次阅读

    比较不同品牌ARM开发板优缺点

    随着物联网(IoT)和嵌入式系统的快速发展,ARM开发板因其低功耗、高性能和广泛的应用场景而受到开发者的青睐。 一、树莓派(Raspberry Pi
    的头像 发表于 11-05 11:37 475次阅读

    使用Tftpd32工具数据互传是一种什么体验?SSD201/202D开发板演示,深圳触觉智能嵌入式方案商

    本文介绍了Tftpd32工具的使用方法,方便电脑与开发板文件互相传输。使用到的是触觉智能的Purple Pi R1双网口开发板,搭载了SigmaStar SSD201/SSD202D芯片,是
    的头像 发表于 10-17 11:20 403次阅读
    使用Tftpd32工具数据互传是一种什么体验?SSD201/202D<b class='flag-5'>开发板</b>演示,深圳触觉智能<b class='flag-5'>嵌入式</b>方案商

    北京迅为RK3568开发板嵌入式学习之Linux驱动全新更新-CAN+

    北京迅为RK3568开发板嵌入式学习之Linux驱动全新更新-CAN+
    的头像 发表于 09-04 15:29 536次阅读
    北京迅为RK3568<b class='flag-5'>开发板</b><b class='flag-5'>嵌入式</b>学习之Linux驱动全新更新-CAN+

    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》第五章 Ubuntu使用apt-get下载

    【北京迅为】《stm32mp157开发板嵌入式linux开发指南》第五章 Ubuntu使用apt-get下载
    的头像 发表于 09-03 16:26 806次阅读
    【北京迅为】《stm32mp157<b class='flag-5'>开发板</b><b class='flag-5'>嵌入式</b>linux<b class='flag-5'>开发</b>指南》第五章 Ubuntu使用apt-get下载

    嵌入式linux开发板怎么操作

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台。它通常包括一个处理器、内存、存储器、输入/输出接口等硬件组件,以及一个基于Linux的操作系统和
    的头像 发表于 09-02 09:09 405次阅读

    嵌入式linux开发板芯片的工作原理

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台,它广泛应用于工业控制、智能家居、智能交通、医疗设备等领域。 嵌入式L
    的头像 发表于 09-02 09:07 402次阅读

    树莓派和arm开发板的区别

    ,已经推出了多个版本,包括A、B、A+、B+、2、3、4等。 ARM开发板 ARM开发板是一种基于ARM架构的嵌入式开发板
    的头像 发表于 08-30 15:36 1046次阅读

    linux开发板与树莓派的区别

    定义和用途 Linux开发板:Linux开发板是一种基于Linux操作系统的嵌入式开发板,通常用于工业自动化、物联网、智能家居等领域。 树莓派:树莓派(Raspberry
    的头像 发表于 08-30 15:34 1001次阅读

    名单公布!树莓派5(Raspberry Pi 5)开发板免费试用!!!

    (图片:评测报告的配图需确保清晰,避免出现影响观感的“反光”、“曝光过度”和“暗部细节不清晰”等情况的发生)。报告要求100 % 原创,抄袭一律封杀。主题名:【Raspberry Pi 5开发板试用
    发表于 06-27 15:40

    飞凌嵌入式RK3568开发板蓝牙收、发文件测试

    本文由电子发烧友论坛用户fsdzdzy提供,感谢分享。飞凌嵌入式每月定期开展新的开发板体验活动,欢迎更多工程师朋友的关注和参与。飞凌嵌入式OK3568-C开发板板载WiFi&BT模组,
    的头像 发表于 02-02 16:31 1895次阅读
    飞凌<b class='flag-5'>嵌入式</b>RK3568<b class='flag-5'>开发板</b>蓝牙收、发文件测试

    飞凌嵌入式T113-i开发板的调屏方法

    对于飞凌嵌入式T113-i开发板的调屏问题,需要按照以下步骤进行操作
    的头像 发表于 01-29 16:25 1019次阅读

    嵌入式软件开发和软件开发的区别

    之间的区别。 硬件环境和资源限制: 嵌入式系统通常运行在资源有限的嵌入式设备上,如单片机、嵌入式开发板或微控制器等。这些设备通常具有有限的处理能力、存储容量以及功耗要求。相比之下,计算机通常拥有更高的处理能
    的头像 发表于 01-22 15:27 2328次阅读