账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
采用微控制器的新型FPGA
 

【作者: Ted Marena】2017年10月03日 星期二

浏览人次:【33578】


尽管FPGA在许多应用中日益普及,但大部分供应商仅采用两种颇为狭窄但截然不同的FPGA结构。市场上不同产品阵营之间的区隔是很清楚的,一边是整合了多个应用处理器核心的高端SoC FPGA,另一边是主要包含逻辑单元的低端FPGA方案。供应商一般都只提供其中一类产品:要麽是提供内置高性能ARM A级应用处理器的SoC FPGA,要麽是提供没有处理器的低端FPGA。


像伺服器农场和高性能运算系统这类应用,对运算性能的要求越来越高,为因应这种需求,SoC FPGA也开始整合多个十分适合处理高性能应用的ARM A级应用处理器。然而,现实的情况是,这种整合ARM A级处理器的SoC FPGA对很多其他应用来说,都算是大材小用。它们一般都比较贵,由於作业系统的要求而产生很多软体支援的负担,此外,由於高功耗也导致系统过热。一般来说,对越来越多的应用而言,这种强大的原始运算性能是不必要的;但要用低端FPGA来替代也不尽理想。由於低端FPGA只是一组逻辑单元的组合,没有硬核微控制器或处理器,虽然它们带有软核微控制器,但却不带周边设备或子系统。若需要周边设备,就必须利用FPGA闸来开发建立。带软核微控制器的低端FPGA一般运行缓慢,而且由於需要FPGA闸来建立微控制器和子系统而使得效率不彰。此外,它们几??没有设计安全性可言,而且都是以专用的架构来开发。这两种FPGA选择已经无法满足越来越多的通用型应用之要求。


但是,现在有了第三种选择。采用微控制器的新型SoC FPGA比低端FPGA性能强,而又没有ARM A级SoC FPGA的高成本和支援需求等缺点。它们内置了硬核微控制器核心和周边设备、I/O及其他功能,可让嵌入式系统设计师实现各种通用型的应用。对很多应用而言,这种采用微控制器而且经过强化的SoC FPGA是最有效的方案,毕竟有很多应用都可以使用32位元的微控制器架构,所以每年会生产出许多这种架构的微控制器。


当FPGA结构与硬核微控制器和完整的周边设备子系统结合起来,就可以产生一种有效的平台,方便在系统设计之内进行理想的分工。


设计分区策略的实例

一个ARM Cortex M3 SoC FPGA就可以兼具微控制器和FPGA结构的优势。鉴於结构和为指令存取记忆体的要求,微控制器比较适合低速串列任务。而FPGA结构则更适合对时间要求比较高的平行处理任务。若根据这个特点来对设计进行分区(partitioning),就比较清楚那个元件应该做什麽事情。


例如,在许多设计中,ARM Cortex M3及周边设备一般用於通讯、控制和其他低速功能。而FPGA结构一般用於实现独特的逻辑功能,或者执行对时间要求比较高的加速功能。按这种方式,一个ARM Cortex M3 SoC FPGA结构就可以视为是一个带可配置硬体加速功能的微控制器,而FPGA结构也成为硬体加速和实现逻辑功能的理想方案,而这两方面都是FPGA所擅长之处。将ARM Cortex M3与FPGA结构整合成单一的解决方案,就可以在很多系统设计应用中妥善解决串列和平行任务的分区。我们将在下文列出几个相关的设计实例。


多轴马达控制

控制多个马达的一个主要挑战是要求马达控制回路要有确定性的回应时间。为确保设计的可靠性,每个马达必须有精确的伺服回应时间,不能有太大的计时波动。由於多轴马达控制演算法是一种对时间要求严格的功能,所以它应该常驻於FPGA结构之中。FPGA是实施这种需要确定性计时的控制回路之理想方案。图一说明了一个多轴马达控制设计的模组示意图。从图中可以看出,马达控制演算法模组位於FPGA结构之中,而低速介面则连接到ARM M3。



图1 : 多轴马达控制设计的示意图
图1 : 多轴马达控制设计的示意图

马达控制演算法并不是唯一必须的功能,一个完整的马达控制设计往往还需要通讯介面和控制I/O。这类介面对性能要求不高,因此由M3这类微控制器来实现比较合适。通讯介面可以是控制区域网路(CAN) 汇流排、串列周边设备介面(SPI)、通用非同步收发器(UART),或者其他控制汇流排。


为乙太网交换机增加MACsec (MKA)

由於对网路资料安全的考虑越来越深,IEEE委员会制定了802.1AE MAC安全标准,它通常被称为MACsec 或MACsec Key Agreement (MKA)。MKA标准具体规定了一系列的协定,来保护在乙太网上传输的资料,其中一个要求就是让资料在链路上加密,对资料加密是利用产生金钥和交换金钥来完成的。虽然MACsec已内建在许多的乙太网实体层(PHY)器件之中,但很少有乙太网交换机带有MKA协定。交换机和PHY需要同时支援,才可以实施MKA协定。而由采用ARM Cortex M3的FPGA来实现,是再合适不过的。


要为乙太网交换机增加MKA,交换机必须要连接到采用MACsec 的实体层(图2)。另外还需要一个外部器件来管理金钥、运行MKA协定,及监控乙太网连结。



图2 : MKA协定实施
图2 : MKA协定实施

金钥管理和MKA软体对运算性能没有太高的要求,但是监控乙太网连结却需要很高的列速率(line-rate)性能。这些任务最适合由采用M3的FPGA负责。微控制器运行MKA协定并处理金钥的产生,这些任务跟网路类型和所需的安全标准无关,并且不会经常运行。例如,如果网路要求每隔一小时更改安全金钥,且如果FPGA要支持两个链路,那麽MKA协定只需要每小时执行几次即可。FPGA逻辑单元可提供与串列十亿位元级媒体独立介面 (Serial Gigabit Media Independent Interface,SGMII) 链结介接的物理介面,也可以过滤特定IP位址或命令的列。当新的金钥需要载入时,逻辑单元还会对PHY输出讯号。


实施一个完整的IEEE1588用户端

IEEE1588是一种在同步乙太网内计时的标准,广泛地应用於无线通讯产品之中,并且也广为金融网路、智慧电网应用和广播视讯所采用。一个IEEE1588网路包括乙太网交换机、闸道、接取点,以及从端/用户端点的(slave/client end point)设备(图3)。从端/用户端点只需要一个乙太网埠,像智慧电网的中继或机器视觉相机等工业应用也只需要一个IEEE1588埠。虽然从端/用户端点设备仅需要一个埠,但要在设计中添加IEEE1588功能,并不是一件小事。



图3 : 完整的IEEE1588用户端方案
图3 : 完整的IEEE1588用户端方案

在IEEE1588设计中,需要实现以下四个关键的功能:


· 可支援时间戳记的乙太网PHY或其他器件


· 在处理器上运行的软体常式(routine),以实现所要求的应用功能


· 运行演算法的IP,可依据IEEE1588输出调整锁相回路(PLL)


· 可以动态调整的PLL,以输出网路计时时钟


一个采用ARM Cortex M3的FPGA是IEEE1588用户端设计的理想核心。M3用於运行软体计时常式和演算法以控制PLL,这个软体可以监控网路时钟,必要时也可以调整PLL。FPGA提供可与乙太网PHY介接的逻辑,以及简化系统主机整合所必需的介面汇流排。这一经过验证的完整方案可将系统软体整合和测试工作量减到最少。此外,当新的IEEE1588简档或增强功能面世时,这个采用M3的FPGA方案也可实现更快的现场更新。


开启新的机会

对通用型应用来说,系统设计师以往只有两种FPGA选择,但两种都不是很理想。现在,我们有了第三种选择,就是采用微控制器的SoC FPGA。这种方案可以实现桥接、I/O扩展、硬体加速、协定管理和主机板初始化等功能。对於越来越多的应用来说,这种采用微控制器新型FPGA的能力已经是绰绰有馀了,所以它们必将为嵌入式系统设计师开启更多的市场机会。


(本文作者 Ted Marena 任职於美高森美公司)


相关文章
为嵌入式系统注入澎湃动力 开启高效能新纪元
蓝牙技术支援精确定位
FPGA开启下一个AI应用创新时代
以协助因应AI永无止尽的能源需求为使命
2024年嵌入式系统的三大重要趋势
comments powered by Disqus
相关讨论
  相关新闻
» 松下汽车系统与Arm合作标准化软体定义车辆 加快开发周期
» Arm Tech Symposia 2024於台北展开 推动建构运算未来的人工智慧革命
» 巴斯夫与Fraunhofer光子微系统研究所共厌 合作研发半导体产业创新方案10年
» 工研院IEK眺??2025年半导体产业 受AI终端驱动产值达6兆元
» ASM携手清大设计半导体制程模拟实验 亮相国科会「科普环岛列车」


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.2048.3.139.236.93
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw