以SmartFusion智能混合信号FPGA开发真正符合需求的系统 智能应用 影音
Smiths Connectors
Event

以SmartFusion智能混合信号FPGA开发真正符合需求的系统

  • 周安莲

SmartFusion智能混合信号FPGA开发真正符合需求的系统。
SmartFusion智能混合信号FPGA开发真正符合需求的系统。

系统单芯片(SoC)依照它们在系统中运作的方式,对嵌入式系统设计师来说具有许多不同的意义。举例来说,在大量的娱乐或通讯消费性产品市场中,SoC意味着一颗具数百万逻辑闸的集成电路(IC),其中包含许多大区块自订逻辑,并有混合信号功能可和芯片的数码处理性能介接以与外部世界连接。在现实世界中,能支持这样大规模SoC开发计划的数量非常有限。许多要进行「中型」嵌入式系统的设计人员都会很高兴要完成一项SoC方案的开发,但实际上,因为各种不同的原因,这是很不容易做到的。

希望进行一项能将所有重要功能整合在单一元件的设计是很吸引人的,因为能将材料成本、零件库存、以及电路板面积降至最低。相较于多芯片方案,此作法的功率较低,同时亦能助于增加对智财权(IP)的保护。如果一项设计功能的精髓能够被深植于一单芯片中,将会大幅增加第三方取得这项设计的困难度。

SoC梦想

能够被大量生产以支持一完全自订化混合信号芯片开发的产品仍然是少数。绝大部分的产品都是采用特定应用标准产品(ASSP)或微控制器作为其解决方案的核心。如此,想要找到一个能够完全符合计划需求的元件将是一个挑战。就定义来看,ASSP能够为特定应用领域的设计问题提供一种解决方案,但是这样的典型方案不可能完全符合真实世界中的计划需求。结果采用规格超过需求的元件,或是开发另外的芯片以弥补标准产品与实际需求之间的落差。ASSP的弹性不高,一旦选用了某颗IC,它的功能组合会限制此产品之后的设计进展。

大部分的常用解决方案都不免地会以微控制器(MCU)为基础。虽然其软件可程序性能提供不错的弹性,但是很少MCU能提供与典型嵌入式设计需求完全相符的功能。大部分这类的设计都会在MCU旁加入不同形式的可程序逻辑─FPGA或CPLD─以增加硬件中的逻辑功能。尽管现今市场上有各种具备不同周边功能的MCU可供选用,但是绝大多数的嵌入式系统电路板上都还是需要各种的类比元件以作为信号调节和I/O连接之用。

混合信号FPGA

SmartFusion结合了高密度、以快闪存储器为基础的FPGA、一个具完整周边组合的ARM Cortex-M3微控制器核心、以及高效能可程序类比功能,全部都整合在一颗单芯片上。Cortex-M3处理器是一100 MHz (125 DMIPS)元件,拥有最高容量为512 KB的快闪存储器和128 KB的SRAM,效能足以执行复杂演算法,像是精密马达控制、或甚至是数个马达的多轴控制。

周边与界面

SmartFusion元件包括一个10/100 Ethernet MAC(媒体存取控制器)和其他界面,诸如SPI、I2C、以及UART。大量的数码(FPGA) I/O最快可执行350 MHz,并支持LVDS、PCI和LVPECL等I/O等级的界面标准。习惯采用微控制器进行设计的工程师会肯定此元件所包含的其他特性与功能,像是实时时脉、DMA控制器、外部存储器控制器、计时器、和看门狗(watchdog)功能。

除了ARM Cortex-M3核心,还有丰富的Microsemi flash-based ProASIC 3 FPGA逻辑。此可程序逻辑可提供350 MHz的系统效能;同时,SmartFusion系列元件最高可提供50万闸的可程序逻辑和108 KB的内建SRAM。Microsemi的flash-based FPGA架构可完全免于高能量辐射效应韧体错误(radiation-induced firm errors),此现象有时会影响SRAM-based元件。由于FPGA的配置是设定在快闪单元(flash cell)中(同时,ARM核心可从芯片上快闪存储器执行),整个芯片是可通电即用的,无需等待配置档从ROM或EPROM加载的时间。在微控制器子系统内,有5层的ARM AHB汇流排架构,理论上总共提供芯片每秒16 GB的带宽。其中5个功能可供设定为汇流排主控(master):2个来自Cortex-M3核心,加上10/100 Ethernet MAC、DMA控制器和FPGA架构主控,而其他的各种界面与存储器区块则作为从属(slave)。

可程序类比

第3个重要元素是高电压双极类比功能。为正确撷取来自应用程序的信号,SmartFusion元件最高可具备3个12位元连续近似暂存器(SAR)类比至数码转换器(ADC),其最高执行速度为600 ksps。每个ADC都有相对的一阶、1位元sigma-delta DAC,具500 ksps更新与12位元有效分辨率。多个类比功能都集中在信号调节区块(SCB)中,其中包含准确高电压和电流监控器、温度监控器、和高速比较器。此高压监控器,亦称为主动双极预分压器(ABPS),可提供从-11.5 V到 +14 V的电压监控能力。

自主(Autonomous)类比信号处理

截至目前提到的类比功能只是SmartFusion智能混合信号FPGA中类比处理性能的一部分。类比运算引擎(ACE) 是一个全新的概念,这是一个半自主的功能区块,能够执行完整的类比前与后处理,包括信号撷取的取样和排序,而无需ARM Cortex-M3处理器的介入。

ACE可减少处理器核心的日常任务,因此像是信号撷取、处理、存储、和输出等工作都能完全无需透过Cortex-M3处理器就能完成。它所处理的可程序类比区块包括ADC、DAC、和SCB。请注意,此类比区块拥有与微控制器子系统和FPGA架构的丰富连接组合。这些元素中的每一项,不管是单独或作为一组功能方块,其互连和操作参数都是可完全程序化的。

设计弹性的新境界

SmartFusion元件有一个功能强大的处理器核心,因此具软件开发能力的嵌入式设计人员将能轻松上手ARM架构,并立即为ARM 32位元ISA撰写程序码。具备RTL设计背景的硬件设计人员可能不习惯于以处理器为基础的C语言编写程序,而且想要将类比功能设计交给具备此经验的同事来处理。

当利用SmartFusion元件进行设计时,一种以使用者绘图界面为基础(GUI-based)、拖放的操作方式可提供对完整预定义IP功能库的立即存取。对C语言和RTL程序码开发人员来说,此工具套件可延伸他们的专业领域,让芯片的资源充分使用。

一般的系统管理功能会包括排序、缓升(ramp)和监控多重电源轨、产生电压修正(trim)信号(类比和/或数码)、监控温度探针、将警告和状态信号传送到较高端的监督器(supervisor)、驱动风扇输出和指示器、以及可能需要执行多项次要但关键的任务等。这样一个子系统的确切规格可能一直要到主系统的开发完成后才能定案,因此,这时候一个完全可程序化的解决方案是非常吸引人的。像是电压临界值(threshold)可直接透过类比比较器或ADC来监测,藉由ACE区块或是在Cortex-M3处理器上执行的程序码来实现。风扇控制能透过一组由ACE排序的简单步进值;或是可利用在Cortex-M3核心上执行的完整PID控制演算法来实现。若欲驱动风扇,系统需要产生一PWM输出波形。PWM产生器可从ARM核心计时器来配置。

设计安全性

在其现有的flash-based FPGA系列元件中,Microsemi已对可程序逻辑提供了增强的设计安全性,一旦烧录到阵列之中,黑客将难以从矽晶中读取此核心的IP。现在,微控制器核心与FPGA架构在相同的晶粒上,此保护亦延伸到系统软件以及FPGA配置码。ARM Cortex-M3为一硬核心不再需要这样的保护形式。

在单芯片环境中可提供固有的IP安全性,由于内建快闪存储器,SmartFusion不再需要从外部存储器读取配置档案。此外,还有多种额外选项可供设计人员用来保护IP。最简单的方法是烧录存有FPGA配置的快闪存储器,以及将Cortex-M3程序码放在「乾净」的区域中,并设定一个条件─生效时切断保险丝─以免于此快闪存储器区域被读取或重新烧录。此功能亦称为FlashLock。从Microsemi Libero整合式设计环境(IDE)输出的数据,包含配置和run-time程序码,也能用128位元AES标准进行加密,以期能安全地传送到安全的制造环境之外。如果以匹配(matching)程序档案做好设定,一内建的128位元AES解密引擎可在最后的产品制造期间进行安全的系统内(in-system)程序化。

(本文作者为美高森美公司产品行销经理Rajiv Nema,记者周安莲整理)