采用FPGA开发真正符合需求的系统
hernet MAC、DMA控制器和FPGA架构主控,另外两个来自Cortex-M3内核,而其他各种接口与存储模块则作为从属(slave)。
可编程模拟
SmartFusion器件的第三个重要元素是高电压双极模拟功能。为了正确获取来自应用程序的信号,SmartFusion器件最高可具备三个12位逐次逼近寄存器(SAR)模数转换器(ADC),其最高执行速度为600ksps。每个ADC都有相对的第一阶(first-order)1位sigma-delta DAC,能提供500ksps更新与12位有效分辨率。多个模拟功能都集中在信号调节模块(signal conditioning block,SCB)中,其中包含准确高电压和电流监控器、温度监控器和高速比较器。此高压监控器,也称为有源双极预分压器(active bipolar prescalers,ABPS),可提供-11.5V+14V的电压监控能力。
此外,对系统管理或电源调节领域的设计人员来说,这也可作为绝佳的工具。器件中的电流监控器可放大从外部感测电阻测量到的电压降,而此感测电阻放置在应用的电流回路上,差分增益为50。温度监控器能把一个简单的PN结的电压降转换为温度读数。器件具备数量很多的片上比较器(在一50万门器件中最多有10个),而且速度非常快,传送时间仅为50ns。
自主(Autonomous)模拟信号处理
前面提到的模拟功能只是SmartFusion混合信号FPGA中模拟处理性能的一部分。而模拟运算引擎(ACE)是一个全新的概念,这是一个半自主的功能模块,无须ARM Cortex-M3处理器的介入,便能够执行完整的模拟前/后处理,包括信号采集的采样和排序。
由于ARM Cortex-M3内核就在ACE附近,初看起来在ACE模块中加入这样的功能似乎是多余的。然而,半自主的ACE可减少处理器内核的日常任务,例如,信号采集、处理、存储和输出等工作完全无须通过Cortex-M3处理器就能完成。设计人员能以这种方式配置器件,以使Cortex-M3处理器不受其他影响地执行实时处理任务。
在一个电源管理的设计工作中,监测每一电压轨是否偏离正常值以及警告等工作都由ACE来执行,它还有可应付更复杂的任务的能力,包括滤波和线性转换等。它所处理的可编程模拟模块包括ADC、DAC、和SCB。注意,此模拟模块拥有与微控制器子系统和FPGA架构的丰富连接组合。这些元素中的每一项,不管是单独或作为一组功能模块,其互连和工作参数都是可完全编程的。
设计灵活性更上一层楼
对于SmartFusion而言,器件和其相关的设计工具都已准备就绪,因此不管是具备何种背景的工程师,都能充满信心地执行一个完整的设计。
当利用SmartFusion器件进行设计时,一种基于图形化用户界面(GUI-based)拖放的操作方式(drag-and-drop-style)可提供对完整预定义IP功能库的立即存取。对C语言和RTL程序代码开发人员来说,此工具套件可扩展他们的专业领域,因此芯片的资源能充分被使用。此设计工具可提供协作环境,让传统的设计团队能针对SmartFusion的不同领域共同合作。
设计安全性
在现有的基于快闪FPGA系列器件中,爱特已对可编程逻辑提供了增强的设计安全性。ARM公司愿意将其处理器内核的软件版本授权给爱特公司,并在其FPGA中实现,就可以证明对于此设计安全性的信心。一旦编程到阵列之中,黑客将难以从硅片中读取此内核的IP。现在,微控制器内核与FPGA架构在相同的硅片上,此保护也延伸到系统软件以及FPGA配置码。ARM Cortex-M3是一个硬核,因此现已不需要这样的保护形式。
在单芯片环境中可提供固有的IP安全性,由于SmartFusion是一个快闪器件,因而不再需要从外部存储读取配置档案。在执行时,诸如FPGA到ARM内核总线的内部接口是看不到的,同时在它们上面的流量也无法监控。
此外,还有多种额外选项可供设计人员用来保护IP。最简单的方法是将存有FPGA配置的闪存以及Cortex-M3程序代码编程到“干净”的区域中,并设定一个“生效时切断保险丝”的条件,防止此闪存区域被读取或重新编程。此功能也称为FlashLock。从Actel Libero集成式设计环境(IDE)输出的资料,包含配置和运行时间(run-time)程序代码,也能用128位AES标准进行加密,以期在安全的制造环境之外也可以确保其IP得到保护。如果以匹配(matching)程序档案做好设定,一个内建的128位AES解密引擎可在最后的产品制造期间进行安全的系统内(in-system)编程。
- MCS-51系列单片机结构化程序设计探讨(04-20)
- 免费的I/O:改进FPGA时钟分配控制(03-08)
- HDMI1.4基础技术及测试需求(10-18)
- Linux嵌入式系统开发平台选型探讨(11-09)
- VxWorks实时操作系统下MPC8260ATM驱动的实现(11-11)
- VXWORKS内核分析(11-11)