HEITEC 是一家独立的电子设计服务提供商,其设计团队受客户委托开发了一款高性能控制器模块,用于管理控制诊断医学成像和安全关键过程的应用程序的实际设备,并处理所有外围设备和 GUI PC 的必要接口。挑战在于在压缩空间中高效地实现大量功能。对于该设计,选择了英特尔 (Altera) Arria 10 SoC(片上系统)构建块,它将双核 ARM Cortex-A9 处理器与可编程 FPGA 逻辑相结合。
本文概述了该项目以及在设计过程中获得的经验。比较了来自不同供应商的可用 SoC 的替代选项,并解释了选择的关键因素。这个过程导致了当前的解决方案,其中包括硬件和软件方面。
最后表明,这种设计不仅可以用于实际项目的个性化需求,还可以转移到工业控制、通信或测试和测量领域的各种其他复杂的高性能应用中。
除了嵌入式 CPU,该应用程序还包括一个 FPGA。在 FPGA 设计过程的开始阶段,必须决定为什么要使用片上系统,尽管预期会有更高的投资。技术优势必须占上风,才能证明最初较高的价格是合理的。带有 FPGA 的 SoC 构建块将处理器内核和 FPGA 架构集成在一个设备中。一段时间以来,技术进步允许将这两种功能集成到一个芯片中,为前瞻性设计提供有吸引力的解决方案。在选定的单芯片解决方案中,CPU 和 FPGA 可以通过具有 DMA(直接内存访问)的相同接口访问存储。这带来了多种优势,例如更大的设计灵活性、更少组件的更高集成度、
直接存储访问可加快数据传输速度,同时减轻处理器负担。FPGA 设计支持硬件控制访问,即使没有本地总线。SoC 还提供大量扩展功能,以便集成针对相应任务量身定制的所需功能。将特定软件算法集成到带有滤波器算法的硬件中以及进行特定计算的可能性是该决定的其他原因。标准软件也可以很好地与所选 SoC 的 ARM 处理器部分一起使用。通过紧凑的设计和避免额外的组件,更好的热控制是可行的,因为只需要冷却一个组件。因此,SoC 最好地解决了性能和能源效率之间的冲突。结果,
下一个决策步骤是从市场上所有可用的解决方案中选择 SoC。在审查了所需的属性之后,赛灵思和英特尔的特定应用 SoC 进行了讨论。这两家主要的 FPGA 供应商在产品组合中拥有采用类似方法的 SoC FPGA 系列——标准 ARM Cortex-A9 处理器双核作为硬宏。这两种解决方案都依赖于一个专用的“硬化”处理器子系统,该子系统配备一个配备齐全的 ARM Cortex-A9 处理器,包括一个完整的存储层次结构和相关的外围构建块,可以像普通 ARM 处理器一样启动和工作。到目前为止,这两个概念非常相似,但 Xilinx Zynq 不支持处理器缓存和片上处理器 RAM 中的 ECC(纠错码)。
然而,鉴于应用程序的系统要求,完全支持的 ECC 功能最终是 HEITEC 开发团队决定部署基于 20nm 处理器技术的 Intel Arria 10 SoC 的关键。它由硬核处理器系统(简称 HPS)和一个单独的 FPGA 部分组成,它们连接到一个桥接器以实现高数据吞吐量,与通常的 PCI 延迟相比,访问速度明显更快。以这种方式组合的硬件和软件处理是可能的。常见的 HPS/FPGA 桥配备了 DDR 接口的智能调度程序。
除了双核 ARM 处理器之外,Arria 10 SoC 的重要特性还包括处理器频率为 1.5 GHz 的 7500 MIPS 架构、用于数据处理和命令输入的 32 KB 一级缓存、带 ECC 的 512 KB 二级缓存、 - 芯片处理器 256KB RAM,带 ECC,HPS 外部 DDR3 存储接口,533 MHz,32 位数据 + 8 位 ECC。广泛的处理器外设包括一个 Quad SPI 闪存控制器、用于更高数据吞吐量的 NAND 闪存控制器、三个 10M/100M/1G 以太网控制器、两个 USB 2.0-On-The-Go 控制器、1 个 SD/MMC/SDIO 控制器、UART 16550、五个 I2C 控制器,两个 SPI 主控制器和从控制器,以及四个 32 位看门狗定时器。此外,270K逻辑元件,在所选型号中实现了多达三个带 ECC 以及纠错 (ECC) 和存储保护的硬化内存控制器。可以自由选择安全启动顺序:处理器优先或 FPGA 优先或同时两者。封装是一个 780 引脚 FineLine 球栅阵列 (FBGA),球间距为 1.0 mm。
框图 Arria 10 SoC
因此,英特尔 Arria 10 SoC 为嵌入式外设、硬核浮点 DSP 模块、嵌入式高速收发器、硬核存储器控制器和协议 (IP) 控制器提供了具有广泛功能范围的处理器。所有必需的接口都已经在构建块上,ergo,总而言之,这是一个为设计生产力而设计的理想高度集成包。凭借其设置,它是中型应用程序和目标应用程序要求的最佳组合。
审核编辑:郭婷
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)