利用 SoM 实现嵌入式微处理器/FPGA 组合设计和项目的快速运行
投稿人:DigiKey 北美编辑
2018-07-25
很多嵌入式设计使用基于微处理器和微控制器的单板计算机 (SBC) 和模块化系统 (SoM)(例如,请参阅“使用 Raspberry Pi 3 构建低成本工业控制器”)。但是,更多嵌入式应用无法忍受与软件相关的响应时间所带来的延迟。
这些应用需要只有定制硬件方可实现的更高性能,而开发定制硬件的最快捷方法是使用 FPGA。
本文将讨论使用 SoM 来开发嵌入式系统的优势,这些系统需要借由 FPGA 提供更高的处理能力。本文还将介绍各种不同的 FPGA SoM,并讨论它们在嵌入式设计开发中的使用。
FPGA 模块化系统的角色
模块化系统 (SoM) 可以帮助设计人员开发带有定制接口的特定外形尺寸嵌入式系统,而无需从头开始开发内核处理系统。设计人员可将预先设计且经过测试的 SoM 插入到预先设计或定制的载卡中,以创建嵌入式设计,其功能与完全定制的设计相同,但硬件开发所需的时间要少得多。
与从头开始开发硬件相比,使用 SoM 具有几大优势,其中包括:
- 节省成本(在开发和调试基于 SoC 的电路板的过程中,会产生很高的非经常性工程成本)
- 降低设计风险
- 多种 SoC 选择(得益于 SoM 的可插拔性)
- 小封装
- 并行的硬件和软件开发
曾经由微处理器和微控制器占领的市场现在由 SoM 取而代之,通孔和插座式元件失去了主导地位。引脚兼容性让设计人员得以从一系列的兼容处理器中进行选择,挑选具有正确的时钟速率和适当的片载存储器容量的处理器。但是,随着引脚数的增加和表面贴装封装技术的采用,这种设计方法已经过时,SoM 随之应运而生,其外形尺寸和基底面与先前的引脚兼容式微控制器系列具有相同的作用。
若使用 SoM 作为项目的计算平台,设计工程师能够集中精力和资源来开发最终应用,而不会迷失在设计计算平台时的繁琐细节中。例如,在几百兆赫 (MHz) 的时钟速率下,由于差分走线延迟、噪声、串扰和其他诸多挑战,连接到应用处理器的 SDRAM 的电路板布局变得日益艰难。然而,SoM 供应商在项目开始之前就已经完成了很多设计工作,从而能够解决这些难题,缩短产品面世时间。
要为嵌入式开发项目选择合适的 SoM 系列,必须对各种因素进行认真分析,包括预期的嵌入式资源需求,以及对设计可扩展性、未来适应性和易用性的需求。这有助于选择合适的 SoM 外形尺寸和基底面大小,提供丰富的替代方案选择,以应对已知的挑战和无法预期的未来挑战。若选择的 SoM 系列包含多个产品成员并具有可兼容的外形尺寸和连接器基底面,则可以扩大设计团队的选择范围,让产品能够更好地经受未来的考验。
基于带处理器和 FPGA 的 SoC 的新型 SoM
SoM 通常采用带有多个应用处理器的 SoC,但有一种新型嵌入式处理器 SoC 集成了 FPGA,也适用于 SoM 设计,例如 Xilinx 完全可编程的 Zynq®-7000 SoC。Xilinx Zynq-7000 SoC 将 Arm® Cortex®-A9 应用处理器的软件可编程性与 FPGA 的硬件可编程性集成在一起。Zynq SoC 的内置 Arm 微处理器,结合强化外设和 SDRAM 存储器控制器(称为 Zynq SoC 的“处理系统”或“PS”),执行通常由嵌入式微处理器或微控制器处理的所有基于软件的任务,而集成的 FPGA(称为 Zynq SoC 的“PL”,也就是“可编程逻辑”)则为需要更快执行速度的嵌入式任务提供硬件 I/O 响应时间和硬件加速。
Xilinx Zynq SoC 提供多种不同的处理器配置和速度,就芯片上的 FPGA 结构而言,提供的选择甚至更多。选择基于混合处理器/FPGA SoC(例如 Xilinx Zynq-7000 系列)的 SoM 系列,可以扩大选择范围,提高产品的未来适应性。
此类 SoM 系列示例之一是来自 Trenz Electronic 的 TE0782 系列(图 1)和配套 SoM 测试板 TEBT0782-01。Trenz Electronic TE0782 系列的模块采用了 Xilinx Zynq-7000 SoC 系列的三个成员之一:
- TE0782-02-035-2I 基于 Xilinx Zynq Z-7035 SoC
- TE0782-02-045-2I 基于 Xilinx Zynq Z-7045 SoC
- TE0782-02-100-2I 基于 Xilinx Zynq Z-7100 SoC
所有这三款 SoM 都具有相同的连接器基底面,包括三个 Samtec LSHM 无极性连接器,带有数百个 I/O 引脚,另外在 SoM 和载板之间还有电源和接地引脚。
图 1:Trenz Electronic 的 TE0782 SoM 采用三款 Xilinx Zynq Z-7000 SoC 的其中一款,还提供 1 GB 的 SDRAM 和其他非易失性存储器。(图片来源:Trenz Electronic)
要见识 SoM 设计方法的灵活性,也许最好的方式是先看一下 TE0782 SoM 系列的 TE0703 载板,然后通过 I/O 引脚回到 SoM,看一下 SoM 的资源(图 2)。
图 2:Trenz TE0703 载板将众多 I/O 引脚从相关 4 x 5 cm SoM 板分接到嵌入式系统的其他部分。(图片来源:Trenz Electronic)
TE0703 的方框图显示了从 SoM 板分拆的众多重要 I/O 功能,包括:
- 1 Gbit/s 以太网
- USB 和微型 USB
- 微型 SD 卡
- 数百个 I/O 引脚(可配置为单个数字 I/O 引脚,或者配置为低压差分信号对 (LVDS))
SoM 和 SBC 各有用途
处理速度、响应时间、I/O 能力是 SoM 的显著特征。但是,嵌入式系统中经常也会集成 SBC,例如 Arduino Uno 和 Raspberry Pi 系列,因为这些产品同样拥有广泛的支持基础。因此,Trenz Electronic 也提供相应版本的 Arduino 和 Raspberry Pi 开发板:基于 Xilinx Zynq-7000 SoC 的 TE0723-03M ArduZynq 和 TE0726-03M ZynqBerry。这些 SBC 为连接很多现有插件卡搭建了桥梁,例如 Arduino 扩展板和各种 Raspberry 扩展板。
与集成到三款 Trenz Electronic SoM(采用 Zynq Z-7035、Zynq Z-7045 和 Zynq Z-7100 SoC 元件)中的 FPGA 容量相比,集成到 TE0723-03M ArduZynq 和 TE0726-03M ZynqBerry SBC 中的 Zynq Z-7010 SoC 的 FPGA 容量存在显著差异。虽然所有 Zynq-7000 SoC 都采用双核 Arm Cortex-A9 处理器,但元件上的 FPGA 数量存在差别,如表 1 所示:
|
表 1:Trenz Electronic 的 SoM 中使用的 Xilinx Zynq-7000 SoC(Z-7035、Z-7045 和 Z-7100)所提供的 FPGA 资源多于 Trenz Electronic ArduZynq 和 ZynqBerry SBC 中使用的 Zynq Z-7010 所具备的资源。(数据来源:DigiKey)
此外,TE0723-03M ArduZynq 和 TE0726-03M ZynqBerry SBC 仅提供 512 MB 的板载 SDRAM,而 TE0782 SoM 提供了 1 GB。
Trenz Electronic 为其 SoM 提供多种载板,包括 TE0703-05、TE0706-02、TE0701-06、和 TEB0745-02。这些载板提供很多标准化 I/O 功能。其中某种载卡可能适合某个特定嵌入式应用,但也可以将嵌入式系统设计拆分到可接受 SoM 系列产品的定制设计载板中,以满足不同的处理需求。这种灵活性突显了将 SoM 系列作为嵌入式设计基础的设计方法优势。SoM 一致的标准化连接器基底面使得 SoM 能够简单地互换,以适应系统规格的变化。
总结
SoM 可以大幅缩短为嵌入式系统进行原型开发所需的时间,并且降低项目风险。只要 SoM 外形尺寸和连接器基底面受支持,可以插入具有更多 FPGA 资源的 SoM,从而满足不断增长的需求。此外,基于 Xilinx Zynq-7000 SoC 的多种可兼容 SoM 将双核 Arm Cortex-A9 处理器的处理能力与 FPGA 资源结合在一起,有助于加快嵌入式设计的开发。
这种采用 SoM 的嵌入式设计方法不仅可以缩短开发硬件部分所需的时间,还允许在项目中更早开始软件开发,从而降低设计风险。如果项目范围和要求在扩展,它还能够提供良好的灵活性。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。