完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
像服务器集群和高性能计算系统这类应用,对计算性能的要求越来越高,为应对这种需求,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则更适合对时间要求比较高的并行处理任务。若根据这个特点来区分设计,就比较清楚那个组件应该做什么事情。 比如,在许多设计中,ARM Cortex M3及外设一般用于通信、控制和其它低速功能。而FPGA一般用于实现独特的逻辑功能,或者执行对时间要求比较高的加速功能。按这种方式,一个ARM Cortex M3 SoC FPGA芯片就可以视为一个带可配置硬件加速功能的微控制器,而FPGA也成为硬件加速和实现逻辑功能的理想方案,而这两方面都是FPGA的长处。将ARM Cortex M3与FPGA集成,就可以在很多系统设计应用中很好地解决串行和并行任务的区分。下面我们列出几个设计实例。 |
|
|
|
多轴马达控制:控制多个马达的一个主要挑战是要求马达控制回路有确定性的响应时间。为确保设计的可靠性,每个马达必须有精确的伺服响应时间,不能有太大的时间波动。由于多轴马达控制算法对时间要求严格,它应该由FPGA来实现。FPGA是实施这种需要确定性响应时间的控制回路的理想方案。图一展示了一个多轴马达控制设计的模块示意图。从图中可以看出,马达控制算法模块位于FPGA区域,而低速接口则连接到ARM M3。
图一:多轴马达控制设计的模块示意图 马达控制算法不是唯一要求实现的功能,一个完整的马达控制设计往往还需要通信接口和控制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 的物理层器件PHY (图二)连接。还需要一个外部器件来管理密钥、运行MKA协议,并监控以太网链接。 图二:MKA协议实施 密钥管理和MKA软件对计算性能没有太高的要求,但是监控以太网链接却需要很高的端口速率性能。一个基于M3的FPGA可以很好地执行这些任务。微控制器运行MKA协议并处理密钥生成,这些任务跟网络类型和所需的安全标准无关,因此不经常运行。例如,如果网络要求每隔一小时改变安全密钥,若FPGA要支持两个链路,那么MKA协议只需要每小时执行两次即可。FPGA逻辑单元可为串行千兆媒质独立接口(SGMII)提供物理接口,也可以过滤特定IP地址或命令行。当新的密钥需要加载时,逻辑单元还为PHY输送信号。 实施一个完整的IEEE1588客户端:IEEE1588是一种在以太网内同步时钟的标准,广泛应用于无线通信产品中,并且在金融网络、智能电网应用和广播视频领域也得到普遍使用。一个IEEE1588网络包括以太网交换机、网关、接入点,以及从端/客户端节点设备(见图三)。从端/客户端节点只需要一个以太网端口,像智能电网中继或机器视觉摄像头等工业应用也只需要一个IEEE1588端口。虽然从端/客户端节点设备仅需要一个端口,但要在设计中添加IEEE1588功能,并不是小事。 图三:完整的IEEE1588客户端方案 在IEEE1588设计中,需要实现如下四个关键功能: 以太网PHY或其它器件,以支持时间戳 在处理器上运行的软件程序,以实现所要求的应用功能 运行算法的IP,以调整基于锁相环(PLL)的IEEE1588输出 可以动态调整的PLL,以输出网络时钟 一个基于ARM Cortex M3的FPGA是IEEE1588客户端设计的核心。M3用于运行软件时序程序和算法以控制PLL,这个软件可以监控网络时钟,必要时也可以调整PLL。FPGA提供连接以太网PHY的逻辑接口,以及简化系统主机集成所必需的接口总线。这一经过验证的完整方案可以最小化系统软件集成和测试工作量。此外,当新的IEEE1588简档或增强功能面世时,这个基于M3的FPGA方案也可以加快现场的更新。 开启新的机会 对通用型应用来说,系统设计师以往只有两种FPGA选择,但两种都不是很理想。现在,我们有了第三种选择,就是基于微控制器的SoC FPGA。这种方案可以实现桥接、I/O扩展、硬件加速、协议管理和主板初始化等功能。这种基于微控制器的新型FPGA对于越来越多的应用都绰绰有余,必将为嵌入式系统设计师开启更多市场机会。 |
|
|
|
只有小组成员才能发言,加入小组>>
793 浏览 0 评论
1152 浏览 1 评论
2528 浏览 5 评论
2861 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2711 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1071浏览 3评论
194浏览 2评论
456浏览 2评论
369浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
454浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 19:03 , Processed in 1.038266 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号