可编程 SoC 帮助制造商在可配置性与性能之间找到正确的平衡点

作者:European Editors

投稿人:DigiKey 欧洲编辑

虽然半导体技术是所有电子产品的基础,但真正让我们的社会实现现代化的却是软件。与硬件相比,软件提供了几乎无限的灵活性,而且当软件在高性能微处理器上运行时,可能会产生惊人的结果。例如,如果不是在最新的处理器上运行软件,人工智能就不可能取得进展。

在过去的几十年里,硬件与软件之间的平衡已经发生转变。人们普遍认为,现在约有 70% 的产品功能是在嵌入式软件层面定义的,而原因几乎完全在于其灵活性。

然而,随着应用将性能推向极致,这种不平衡也变成了一个制约因素。软件归根结底是以抽象的形式实现功能,在执行时间方面伴随着不可避免的开销。而在晶体管层面的专用硬件中实现的相同功能总是会执行得更快。这种性能上的增益通常以灵活性为代价,但是得益于集成了三种关键技术(处理内核、固定功能和可重新配置的硬件)的器件,在性能与灵活性之间实现正确的平衡已经变得更加容易。

高性能优化解决方案

集成上述三种技术的器件通常称为片上系统 (SoC)。就本质而言,它们将这些功能的所有优点全部汇集到单一平台中,提供比固定功能器件更大的灵活性、比微控制器更高的可配置性,以及比 FPGA 更多的功能多样性。

出于多个原因,这种集成对于应用而言是一种很好的组合。性能是一个主要的原因,可以解释为吞吐量或实时响应。低功耗和优化的设计可能是另一个原因。可以在单个器件上集成的功能越多,所需的外部元器件就越少。这些场景包括 SoC 的两个“转折点”,即实现纯性能的场景和提供优化设计的场景。

如果吞吐量是最终目标,那么采用 ASIC 形式的全定制式设计所提供的性能将难以超越。不过,虽然 NRE 成本正在下降,但仍然需要根据单价权衡 ASIC 的开发成本,而且该数字通常只有在大批量的情况下才具有商业价值。长期以来,FPGA 技术一直在一个器件离厂后仍可配置的平台中为行业提供与 ASIC 一样的性能。底层技术使用查询表来模拟全定制逻辑,但总是存在一些硬接线功能的集成,尤其是在涉及逻辑中不容易仿真的功能时。最近,此技术经过发展,已经将处理器子系统包括在内,使这些器件也毫无疑义地归入 SoC 类别。FPGA 的行业领导者提供完美结合三种 SoC 关键元件的器件。其中包括 Xilinx 的 Zynq® UltraScale+ 系列,它提供具有两个或四个 ARM®Cortex®-A53 内核以及 ARM Cortex-R5 内核的器件。

这些器件针对的是需要高性能的应用,而属于第二个类别的 SoC 则包括 Microsemi 的 SmartFusion2 SoC FPGA 系列和 Cypress Semiconductor 的 PSoC 5LP 系列。这两款器件都集成了 ARM Cortex-M3 内核与硬接线功能和可配置硬件。这里提到的所有器件均受到相关平台支持,这些平台同时在硬件和软件层面为应用开发提供全面支持。

多核 SoC

Xilinx 的 ZCU102 评估板采用 Zynq UltraScale+ XCZU9EG 多处理器 SoC,可提供令人难以置信的高度集成。其多核处理功能包括 Cortex-A53 64 位四核处理器和 Cortex-R5 双核实时处理器,与 FPGA 逻辑、连接接口和图形处理单元紧密耦合(图 1)。

高度集成的 Xilinx Zynq UltraScale+ EG 框图(点击可放大)

图 1: 高度集成的 Xilinx Zynq UltraScale+ EG 的框图。

该评估板(图 2)具有连接到处理子系统的 4 Gb DDR4 SODIMM 和连接到可编程逻辑的另一个 512 Mb DDR4 存储器。它还包括两个用于进一步扩展的 FPGA 夹层卡 (FMC) 接口以及高级接口(PCIe Gen2x4、USB3、显示端口、SATA),可为汽车、工业、视频和通信领域的各种应用提供理想的评估平台。

Xilinx ZCU102 评估板特性图片(点击可放大)

图 2: ZCU102 评估板的主要特性。

EG 系列的系统逻辑单元从大约 10 万个扩展到 100 多万个,其可配置逻辑块 (CLB) 查询表 (LUT) 的数量从大约 5 万个到 50 多万个不等。凭借这种水平的可配置性以及强化的多媒体块和集成的高速外设,Zynq UltraScale+ 系列可以用于各种要求苛刻的应用。ZCU102 评估板是开发人员的理想平台,与 Zynq-7000 系列相比,可提供高达五倍的每瓦性能。

应用示例

人们对性能的要求不断增加,这一点在通信领域最为明显。大部分互联网活动都涉及存储在数据库中的信息,最常见的数据库是 SQL。一种用于加速 SQL 数据库的技术是使用高速缓冲存储器,通常使用具有集成 DRAM 的标准处理器来实现。

这种做法虽然能够奏效,但也受到处理器架构的束缚,因为处理器架构并不是为此类应用而设计的。使用 Zynq UltraScale+ 之类的器件可以为流数据提供优化的解决方案,而不会因为使用处理器的所有高级功能让其如同网络中的独立服务器一样工作而对处理器造成压力。按照标准的 x86 处理器来衡量,这可以使性能提高四倍,而功耗则降低 20 倍。

在汽车行业,ADAS 的使用将因为车载摄像头的使用而进一步增加。这会催生对能够处理多达六个 30 帧/秒帧速 200 万像素摄像头的 SoC 的需求。凭借其高度集成的特性,Zynq UltraScale+ 非常适合这种具有挑战性的应用。

ZCU102 配备了开始开发此应用及更多其他应用所需的所有工具和 IP。它还包括 Vivado 设计套件: 设计版凭证代码(与评估板上的 XCZU9EG 进行节点锁定和器件锁定)。

物联网中的 SoC

物联网通常被描述为一种资源和功能有限的设备网络,但它也涉及许多现有应用的连接和自动化。凭借其高度集成的特性,能够提供适当功能水平和低功耗的 SoC 可为连接的设备提供理想的平台。

例如,Microsemi 的 SmartFusion2 是针对电机控制和工业自动化应用的,但也可以为安全连接设备轻松奠定基础。它将基于闪存的 FPGA 结构与 ARM Cortex-M3 内核和高性能通信接口(包括 CAN、千兆位以太网、HS-USB 和 PCIe)以及 DDR2/DDR3 存储器控制器集成在一起。为了支持使用 SmartFusion2 进行应用开发,Microsemi 开发了 SmartFusion2 高级开发套件。该评估板的主要特性如图 3 和图 4 所示。

Microsemi SmartFusion2 高级评估套件框图

图 3: SmartFusion2 高级评估套件的框图。

Microsemi 的 SmartFusion2 高级开发套件图片(点击可放大)

图 4: Microsemi 的 SmartFusion2 高级开发套件。

Microsemi 已使用此套件开发了一款演示应用,提供创建安全 Web 服务器(支持使用 TLS/SSL 安全协议发送和接收加密数据)所需的所有软件和支持;此应用正是物联网中目前部署的那种应用。

如图 5 所示,应用层接收来自客户端浏览器的请求,并使用静态网页做出响应,而服务器应用在 SmartFusion2 上运行。TLS/SSL 协议是使用开源库 PolarSSL 实现的。传输层 (TCP/IP) 通过更多的开源软件来实现,这些软件在有无操作系统的情况下均可使用。在此示例中,使用 FreeRTOS 开源实时操作系统确定任务的优先顺序并安排任务。也可以将该高级开发套件配置为运行 uClinux,这种操作系统基于 Microsemi 已针对 SmartFusion2 SoC 修改过的 Linux 内核。

安全 Web 服务器应用概述

图 5: 在 SmartFusion2 上实现的安全 Web 服务器应用概述。

SmartFusion2 具有 15 万个逻辑元件、一个 166 MHz Cortex-M3 内核和专用的 DSP 块,加上嵌入式 NVM(非易失性存储器)和 SRAM,在可配置性与硬接线功能之间实现了良好的平衡。该高级开发套件借助 PCIe 边缘连接器、FMC 连接器、两个千兆位以太网端口、SPI 和 UART 的支持来利用这种潜力。通过新增的高性能运算放大器,可以在开发过程中衡量器件的功耗,帮助开发人员在给定的功率预算内设计最佳解决方案。

优化的设计

单芯片解决方案广泛适用于各种应用,可以将数字器件、模拟器件和存储器恰当组合并集成到一起,提供优化的定制器件。这样做总是能够缩小 PCB 面积,减少外部元器件数量并降低 BOM 成本。

可编程模拟器件比相应的数字器件要少见得多,而且可以说是以 Cypress Semiconductor 的 PSoC 系列为主。PSoC 器件(即可编程 SoC)采用微控制器内核、硬接线块和可编程逻辑,其区别在于其使用开关电容技术、运算放大器、比较器、ADC 和 DAC 以及数字滤波器模块实现的可配置模拟外设。这些特性共同作用,就能创建与芯片上的数字功能紧密耦合的复杂模拟信号路径的配置。

CY8CKIT-050 开发套件可与 PSoC Creator 集成开发环境 (IDE) 结合使用,基于 PSoC 5LP 开发各种应用。该开发套件的主要元件如图 6 所示。

Cypress PSoC 5LP 开发套件图片

图 6: PSoC 5LP 开发套件。

PSoC Creator 是与众不同的 IDE;它可用于并行开发在器件的可配置模拟块中实现的嵌入式软件(在本例中,运行在 PSoC 5 的 ARM Cortex-M3 内核上)和硬件特性。可以使用拖放方法将模拟功能添加到设计中,动态生成 API,从而通过软件访问这些功能。IDE 自带大量预定义的放大器和滤波器,但也允许开发人员自行创建功能。

为了示范 PSoC 5 的功能,Cypress 创建了大量应用示例,包括实现太阳能微逆变器控制器的示例。图 7 显示了该应用的架构概述。微逆变器涉及几个转换阶段,包括纹波消除升压控制、输出电流控制、锁相环控制和最大功率点跟踪算法。此应用能够恰当示范该平台的功能。

使用 PSoC 5LP 实现的太阳能微逆变器控制器图片

图 7: 使用 PSoC 5LP 实现的太阳能微逆变器控制器。

总结

虽然软件可以提供抽象的方法来实现几乎所有的任务或功能,但在性能方面却很少能够超越专用硬件。随着人们对更高吞吐量和更高可配置性的需求增加,将硬件、软件、数字和模拟域相结合的平台作为单芯片解决方案也变得越来越可行。

这些 SoC 可以满足需求,但是如同任何实现方式一样,也需要做出一些妥协。并非所有 SoC 都能提供合适的硬接线功能。不可避免的是,没有哪一种应用有可能利用所有可用的特性,而且在某些情况下,灵活性较高的平台的经济成本可能太高,以致难以承受。

不过,随着技术的发展,这些妥协已经变得不那么明显,它们所提供的灵活性很可能为其在更广泛应用中的使用提供理由。

 

免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。

关于此作者

European Editors

关于此出版商

DigiKey 欧洲编辑