基于FPGA 架构的微控制器子系统实现

时间:2025-05-02  作者:Diven  阅读:0

随着物联网应用的采用势头越来越猛,嵌入式开发社区面临的压力也越来越大,需要平衡每个设计的可用计算资源、延迟、成本和尺寸。由于其实时性,对云连接的关注也被视为某些发展的挑战,从而导致混合“雾”计算方法。配置本地网关以向雾方法提供本地云方面可能需要相当高的计算需求和算法处理。许多负责开发网关设备的设计人员面临的挑战是了解其计算要求的多样性。一些应用,尤其是工业物联网部署中的应用,可能涉及相当复杂的电机控制或视觉处理任务。对于这些要求,不仅需要高水平的计算能力,还需要实时确定性行为。虽然高端 CPU 通常是首选设备,但还有许多其设备正在引起开发人员的注意。其中是现场可编程门阵列 (FPGA),由于其硬确定性能力,正在迅速发展。

基于FPGA 架构的微控制器子系统实现

那些不熟悉使用 FPGA 的人面临着许多关于这些设备的复杂性、成本和功耗特性的神话。许多开发人员认为 FPGA 可能只适用于高度专业化、高成本的军事系统,但目前的情况与这种情况相去甚远。在当今的云连接世界中,FPGA 的最大应用是数据中心应用,除了加速搜索功能外,还用于使用神经网络深度学习技术进行图像识别搜索。

毫无疑问,精通构建基于微控制器或微处理器的系统的嵌入式开发人员在考虑使用 FPGA 时会被前面的学习曲线吓倒。对大多数人来说,显着的区别将是从基于软件的思维过程转向硬件“门”方法。FPGA 被认为是最接近设计定制 IC 的最接近的东西,可以完全按照您的要求进行设计,FPGA 本质上是通用门和单元的空白画布,是使用硬件描述语言 (HDL) 编程或连接在一起的结构(图1)。学习数字逻辑的电子工程师很快就会对 FPGA 背后的基本概念感到宾至如归,而其人可能会发现有关该主题的在线进修课程很有用。Simon Monk 对 FPGA 进行编程。

图 1:FPGA 器件的功能框图。

随着 FPGA 在各种应用中的使用势头越来越猛,有关信息的可用性也越来越高。这主要是由领先的 FPGA 供应商推动的,投入巨资提供免费的开源软件工具,以帮助定义和加速设计流程。在 FPGA 架构中集成 MCU 以创建 FPGA 片上系统 (SoC) 设备进一步有助于管理 FPGA 并将其集成到最终应用中。极大地简化了学习和开发过程,有助于在更的应用中使用 FPGA,并促进开放社区论坛的发展。在创客社区内采用 FPGA 也有助于激发对其功能的兴趣,并为 Mojo 和 Papilio 等许多众筹 FPGA 评估板项目做出了贡献。FPGA 制造商还努力通过创建在更的开源社区中得到很好支持的开发套件和评估板来使设计更易于访问。所有这些举措共同创造了丰富的技术信息和支持资源,有助于鼓励设计人员考虑第一个 FPGA 设计。

这种评估板的一个例子是MICrosemi 的 SmartFusion2 入门套件,如图 2 所示。

图 2:SmartFusion2 入门套件。

该入门套件包含一个系统级模块 (SOM),其中包含带有相关存储器和时钟的 Microsemi SmartFusion2 FPGA SoC 器件,以及一个承载原型设计区域、电源转换器和电源管理 IC 的 SmartFusion2 基板,该入门套件提供了一个完整的平台开始您的第一个设计。

FPGA SoC 器件具有 32 位 ARM® Cortex®-M3 微控制器内核,在 FPGA 架构中实现为微控制器子系统 (MSS)。支持 64 MB DDR 内存和 16 MB 闪存,并且能够运行高达 142 MHz。图 3 显示了 SmartFusion2 SOM 的功能框图。

图 3:SmartFusion2 系统级模块的功能框图。

SOM 还包括一个 JTAG 接口、一个看门狗定时器、一个以太网接口以及大量 GPIO 和串行(I 2 C、CAN、SPI 和 UART)接口。基板连接和用户 I/O 功能的全部范围如图 4 所示。FPGA 架构的大小取决于模型,范围从 6060 到 56520 个逻辑元件。SoC 代码运行 uClinux 内核,通过提供对所有 Linux 工具(包括 SSH、FTP 和 Telnet 等网络实用程序)的访问,进一步帮助开发过程。

图 4:SmartFusion2 基板功能框图。

在对 FPGA SoC 进行编程时,Microsemi 的设计流程工具Libero可从 Microsemi 网站免费下载。套件中还包括作为 Libero 项目设置的完整 FPGA SoC 和电路板。Libero 将 FPGA 设计的设计流程与嵌入式应用程序开发集成在一起,如图 5 所示。

图 5:Libero 将传统的 FPGA 设计流程与微控制器固件开发集成在一起。

Libero 快速入门指南很好地介绍了使用 Libero 和整个设计流程。Libero 的一个关键部分是 System Builder 向导(图 6),通过提出一系列问题来帮助开发人员进行架构设计过程,这些问题有助于塑造基本系统要求、配置选项,并在需要时向架构添加额外的外围设备。

图 6:Libero System Builder 向导 - MSS 中时钟功能的示例设置。

与传统的开发实践保持一致,“Hello World”第一程序的现代解释是通过闪烁的 LED 设计项目实现的。在本教程中完整记录,该文档指导工程师完成设计流程以实现此基本设计功能。图 7 是本教程的屏幕截图,突出显示了将输出信号分配给指定的 GPIO 引脚,该引脚在基板上连接了一个 LED。

图 7:闪烁 LED 示例中的 GPIO 引脚分配。

FPGA 在原始计算能力、设计灵活性和每瓦性能方面可为开发人员提供很多帮助。以前被视为程序复杂、耗电大且价格昂贵的设备,随着越来越多的商业应用利用其的功能,在最近已经成熟了很多。众所周知,在工程师创建复杂的神经网络设计之前,有一个合理的学习曲线。但是,由于本文中描述的开发工具的可用性,迈出第一步变得容易得多。

猜您喜欢

流量计是工业自动化中不可少的设备,应用于液体和气体的流量测量。根据工作原理和应用领域,流量计可以分为多种类型。按工作原理分类,流量计主要有机械式流量计和电子式流...
2025-04-16 15:11:29

熔断器作为重要的安全元件,起到了防止电路过载和短路的重要作用。岚珊熔断器高品质的性能和多样的规格,受到了广大用户的青睐。本文将围绕“岚珊熔断器大小规格多少品牌”...
2021-10-18 11:37:30

贴片电阻本身不具备电压值,只是一个无源电子元件,其作用是限制电流的流动。测量贴片电阻两端的电压,实际上是测量电路中流经该电阻的电流在电阻上产生的电压降。要测量贴...
2024-11-29 10:25:31

装订夹作为日常办公和学习中不可少的文具,其参数选择直接影响使用效果。厚度是一个关键参数,通常根据装订的纸张数量选择,常见的有15mm、25mm、50mm等不同厚...
2023-02-28 00:00:00

当今快速发展的科技时代,PM_38X23MM_TM作为新型的产品,逐渐受到市场的关注。它的独特规格和设计使其在多个领域中展现出广泛的应用潜力。本文将对PM_38...
2025-02-21 10:32:33

直流电子负载是重要的测试设备,应用于电源、充电器和电池等领域。了解其参数对于有效使用直流电子负载非常重要。最大电流是一个关键参数,指的是负载能够承受的最大电流值...
2008-04-21 00:00:00

贴片电阻的英文缩写是 SMR (Surface Mount Resistor),有时也简写为 Chip Resistor。它是一种表面贴装元件(SMD),可以直...
2024-11-26 11:30:02

钮子开关作为常见的电气元件,其参数直接影响着其性能和应用效果。额定电压是钮子开关的关键参数,通常在220V或380V之间,选择时需根据实际使用环境来确定。额定电...
2018-02-21 00:00:00

还在为识别贴片电阻上的数字编码而烦恼吗?这款贴片电阻对照表软件,提供免费下载安装,中文版界面,无需破解,简单易用,帮您轻松解决难题!本软件内置 comprehe...
2024-11-29 10:26:30

心率计是常用的医学检查设备,实时准确的心率测量在病人监控、临床治疗及体育竞赛等方面都有着广泛的应用。心率测量包括瞬时心率测量和平均心率测量。瞬时心率不仅能够反映...
2019-01-01 16:30:00