您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术如何实现微控制器与FPGA的接口设计 正文
如何实现微控制器与FPGA的接口设计

如何实现微控制器与FPGA的接口设计

点击数:7127 次   录入时间:03-04 11:55:23   整理:http://www.55dianzi.com   DSP/FPGA技术

  FPGA接口是基于一套编码和解码AHB内部业务流的单元。各主从AHB编码/解码的数据传输通过使用专用并串行转换器的MPIO来实行。由于传送大量数据,一个单一的传输就消耗多个AHB总线时钟周期。具体所需的时钟周期取决于ARM7中的AHB时钟、串行时钟和FPGA中的AHB时钟之间的比例。由于微控制器的AHB时钟与FPGA中的AHB时钟之间相互独立, FPGA和微控制器可以在不同的频率运行。甚是FPGA内的主或副AHB时钟可以在不同的频率运行。

  微控制器和FPGA上的每个并串行转换器阻滞都有一个互补的有限状态机(FSM)与AHB总线打交道。因此,该接口可以借鉴EBI或PIO消除共同接口瓶颈的技术来处理同步传输问题。

  带有直接FPGA接口的微控制器几乎所有的外围都有DMA通道,有几个DMA通道专用于FPGA的接口。多通道外围DMA控制器( PDC )支持该DMAs,像其他两种方法一样,在FPGA、外设和存储器之间传输数据时通过CPU卸荷。这避免了普通ARM7的带宽限制,它被只有4万比特每秒(Mbps)数据传输速率完全垄断。

  通过从CPU中卸下这一任务, PDC可以实现处理时间占85 %CPU周期,数据传输率12 Mbps。多重DMA通道是专为FPGA接口连接PDC多个特定应用的外设和接口而设的,不受微控制器的任何干预。在PDC中使用DMA专用通道,可以使ARM处理器有时间把重点放在处理器的繁重任务上,提高系统的总体性能和数据带宽(图8)。

ARM7与FPGA接口

点击看原图

图8 ARM7与FPGA接口

  该并串行转换器模块能处理所有的AHB和串行通讯。它由一个有限状态机(FSM)和移位器组成。有限状态机解读AHB,并与AHB对话。当主AHB初始化一个传输(读/写操作)时,FSM通过使用遵守的AHB协议的HREADY来引入等待状态。FSM直接根据AHB时钟和串行时钟之间的比例来自动处理引入等待周期的数量。比例越小,引入的等待周期就越少。

  FSM控制移位器,负责处理所有微控制器和FPGA之间的数据转移(序列化),每周期传输在2个bits的数据。如果串行时钟速率为100兆赫,移位器的传输速度为200 Mbps。

  这些并串行转换器模块处理主口A / B、副口A / B和副口C/D,通过FPGA 内的“模式”模块在复位时程序化,使可用的I / O数量尽可能多。设计者可以为一个单一的串行配置选择使用所有的10个I / O线。在这种情况下,串行模块将只处理一个的AHB接口。例如,如果用户仅想使用AHB主口A,串行模块将所有主口设定为“串行单配置” 。这种配置将改善转换器之间的传输速度,从而加快了微控制器和FPGA之间的传输速度(图9)。

串行单配置

点击看原图

图9 串行单配置

  另一种选择是配置串行模块为“双串行配置”使其能处理2个AHB接口,2个AHB (主/副)之间共用10个I / O线。在这种情况下,微控制器和FPGA之间的数据传输速率较低,但数据带宽更高,因为有2个AHB接口可用。双配置给另一个AHB接口重新使用一半以上的专用I / O(图10)。

双串行配置

点击看原图

 

图10 双串行配置

  FPGA的接口逻辑

  当通过EBI或PIOs执行一个FPGA接口时,工程师必须写RTL代码,让FPGA与MCU进行沟通。直接FPGA接口微控制器供应商提供的所有RTL需要为每个具体的FPGA供应商建立适当的编码和解码通信限制。这种逻辑模块产生一个重置,并提供不同模式下的重置条件。供应商提供的RTL可让用户来决定选择哪些功能来。默认情况下,所有的模式位0 (表1)。

表1 模式位

模式位

  一个供应商提供的模板可用于FPGA接口的主从AHB实例。提供具体的例子。在FPGA模板,一个模块所谓的“自定义MP”不费力的整合AHB / APB外设。因为系统将使用FPGA逻辑,此模板让设计师使用迁移的两片MCU加FPGA毫不费力的实现单芯片可定制微控制器。

  外部ZBT-RAM和NVM/SDRAM/SRAM是可选的,它基于应用程序和系统要求。

  设计人员还可以在FPGA添加非AHB逻辑,为添加与AHB总线无关的功能提供了灵活性。

  在单一配置模式下,单一AHB接口从微控制器传输所有的AHB信息到FPGA需要4个AHB时钟周期,反之亦然(图11 ) 。在双配置模式下,双AHB接口从微控制器传输所有的AHB信息到FPGA需要8个AHB时钟周期,反之亦然。

通过直接FPGA接口传输的读/写时间

图11 通过直接FPGA接口传输的读/写时间

  发生在ARM7 MCU和FPGA之间的相关传输时间如下:

  •   t1:标准时间——2个AHB周期;
  •   t2:FPGA传输所需时间(单一AHB接口4个周期,双AHB接口8个周期);
  •   t3:FPGA的外设响应时间;
  •   t4:传输响应返回CAP7E的时间(单一AHB接口4个周期,双AHB接口8个周期);
  •   t5:从FPGA到CAP7E AHB总线内部读取响应/数据时间;
  •   t6:引入等待周期时间。

  下面的公式是用来近似从ARM到FPGA外设的存取时间:

公式

  注: t1和的t5相对于PIO和EBI是可以忽视的的AHB周期时间。

  在数据传输速率低的情况下,如点阵式液晶显示器,MCU到FPGA通过PIO或EBI接口就足够了。然而,FPGA和MCU之间或其他一些外设和存储器的高数据传输率可以完全占用CPU周期和给外设创造瓶颈。举例来说, TFT液晶彩色图形将需要传输大量的数据到液晶显示器帧缓冲区,这最有可能完全占用CPU和EBI。这种应用将更好地执行从微控制器到FPGA的直接接口连接,而允许液晶数据通过DMA传输,使处理器空出时间处理其他事和使EBI空出时间传输其他数据,如从闪存运行主要应用软件,或TFT液晶显示器为单个或多个帧缓冲区使用SDRAM。

  此外, FPGA中的AHB逻辑定义类似MCU,犹如它在微控制器“内部”。这使得未来设计路线很容易就转移到可定制微控制器。

  直接FPGA接口的发展时间也较短,因为接口已经在微控制器内部定义且逻MCU供应商提供了FPGA的辑模块。设计者不需要写入任何接口RTL 。带专用FPGA接口的微控制器将会提高整个系统的性能和设计的易用性。



上一页  [1] [2] 


本文关键字:如何  控制器  接口  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术