当前位置:首页 > 工业控制 > 工业控制
[导读] 将近一半的嵌入式设计用到FPGA,仅次于微控制器。FPGA可用于执行任何胶合逻辑、自定义IP 、计算密集型算法加速器。通过采取一些处理任务, FPGA可以帮助提高系统性能,从而使单片机从周期密集的任务中腾出部分时间

 将近一半的嵌入式设计用到FPGA,仅次于微控制器。FPGA可用于执行任何胶合逻辑、自定义IP 、计算密集型算法加速器。通过采取一些处理任务, FPGA可以帮助提高系统性能,从而使单片机从周期密集的任务中腾出部分时间。FPGA还提供优良的性能特点和更的灵活性,以适应不断变化的标准。

  基于FPGA的MCU设计有两种基本实现方式:一种是在FPGA逻辑结构中内置MCU软核;一种是使用基于离散FPGA的标准MCU产品。FPGA内置软核有效果,但与标准MCU相比,该方式实现一个微控制器是比较昂贵和耗电的。尤其是使用基于32位ARM的内核。结果,基于FPGA内置软核的FPGA MCU设计只占三分之一。其余的三分之二是基于离散FPGA的标准微控制器产品。

  标准微控制器产品和FPGA都没有有效的发展两者之间的通信,甚至使用不同的语言。因此,它们之间的接口将是一种挑战。FPGA的没有任何专门的逻辑电路来与微控制器通讯。首先,这种逻辑模块的设计必须从零开始。其次,微控制器和FPGA之间的通信是异步的。特别是需要使单片机与FPGA时钟域同步。最后,无论是接口,还是微控制器总线,都存在瓶颈问题。MCU和FPGA之间的信息传递通常需要在MCU总线上循环,且通常占用资源(PIO or EBI)影响传递速度。因此必须注意避免与外部SRAM或闪存和微控制器总线的瓶颈问题。

  MCU的FPGA接口基本上有三种硬件选择:可编程的I / O(PIO);外部总线接口( EBI的),如果有的话;最后,MCU之间的一个专门的接口,先进的高速总线( AHB )和FPGA 。该方法的使用依赖于高端应用和市场期望。

  PIO接口

  通过PIO 连接MCU和FPGA相对简单数据传输来说比较简单,包括传输32位的地址, 32位数据,还有一些控制信号的控制。这就需要一个32位的PIO和一个2位PIO(图1) 。

图1 PIO连接FPGA

  为了将数据传输到FPGA,PIO中的双向缓冲器方向必须设置为输出。数据传输到FPGA的软件算法实现如下:

  从FPGA读取数据的方法相似。同样,PIO中的缓冲区首先必须设置为输出,然后改变方向为输入从FPGA读取数据,下面是执行代码:

  上述算法是一个基本的传输,更先进的算法是必要在ARM微控制器和FPGA之间建立适当的通信。特别要注意的是,确保数据的可靠性,例如没有因高速或等待周期造成资料遗失等。

  访问时间计算的总和:

T访问-PIO=t1+处理阶段+t2+数据阶段

  使用最大优化的GCC编译器,系统大约需要55个AHB周期向FPGA执行写操作(图2)。

 

 

图2 PIO向FPGA 写数据

  假设t2(FPGA的等待响应时间)也大约是25个 AHB周期,系统大约需要85个AHB周期从FPGA进行读操作(图3)。

 

 

图3 PIO从FPGA读取数据

  MCU自身接口连接非常简单和直截了当。然而,在FPGA里必须用特殊的逻辑来解码所有的由PIO生成的业务流。在大多数情况下,微控制器的业务流是完全异步。因此,FPGA必须能够从微控制器中过采样控制信号;否则,FPGA将错过时间窗口且业务流将不会最终到达FPGA内。

  因为处理器专门负责维持PIO工作,所以处理时间消耗很大。虽然CPU是从事数据传输,它还是不能做别的事了。因此,这一解决方案有可能使系统处理陷入瘫痪。DMA不可能使用的PIO接口,所以程序员必须限制的数据带宽,以便其他任务能够与MCU进行通讯。例如,如果有一个常规的进程要求100 %的处理器运行周期,同时又要与FPGA进行串行(SPI,USART或TWI)通信(读或写),那么这两个进程必须有一个要等待。如果发送到或接受来自FPGA的数据没有及时的存进缓冲区,那么到下一个字节/字数据时可能会溢出。从本质上讲,嵌入式处理器成为受??赖的数据移动硬盘。

  通过外部总线接口连接(EIB)

  许多32位微控制器有一个外部总线接口(EBI)模块,它是为外部设备和基于ARM设备的存储控制器之间传输数据而设计的。这些外部存储控制器能够处理几种类型的外部存储器和外围设备,如SRAM,PROM,EPROM,EEPROM,flash和SDRAM。只要FPGA可以处理预定义存储器接口,EBI也可用于FPGA的接口。在EBI中使用静态存储器接口(SRAM)对于FPGA通信来说是最好的,因为它设计简单,且大多数设计者都熟悉它。至于PIO接口, FPGA不得不包含一个模块,用来理解SRAM时间,并能产生一个响应返回微控制器(图4)。

图4 EBI-SMC接口

  图5显示了EBI读SMC存储器接口的标准时间,而图6显示了其标准写周期。

 

 

 

图5 EBI-SMC读周期

 

 

图6 EBI-SMC写周期

  注意:这些时间波形是默认的SMC规格。所有可编程参数显示都基于外部设备的速度。

  EBI的接口速度比PIO块,是因为EBI有其自己的I / O,且大部分的信号是并行的。但是,如果外部设备很慢或引入等待状态, EBI的速度优势可能会受到损害。

  跟PIO接口一样, EBI接口必须由处理器或其他的主AHB来驱动。因此,实现带宽的EBI的还依赖于软件,并取决于它可以利用多少处理器时间。当然,可能受到带宽的限制。这又可能限制了嵌入式处理器旨在实现的其他系统功能。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭