登录站点

用户名

密码

Avalon总线规范

已有 2155 次阅读  2009-09-22 14:15   标签Avalon  总线  规范 

   

 

Avalon总线是一种相对简单的总线结构,主要用于连接片内处理器与外设,以构成可编程单芯片上系统(SOPC)。它描述了主从构件间的端口连接关系,以及构件间通信的时序关系。

 

Avalon总线的主要设计目标是:

 

  简单性——提供一套容易学习、易于理解的协议

 

         总线逻辑资源使用的优化——减少对可编程逻辑器件(PLD)中逻辑单元(LE)的占用

 

       同步操作——这种方式能够与片上的用户自定义逻辑更好地集成,避免了复杂的时序分析问题

 

Avalon总线拥有多种传输模式,以适应不同外设的要求。Avalon总线的基本传输模式是在一个主外设和一个从外设之间进行单字节、半字或字(81632)的传输。当一次传输结束后,不论新的传输过程是否还是在同样的外设之间进行,Avalon总线总是可以在下一个时钟周期立即开始另一次传输。Avalon总线还支持一些高级传输模式和特性,例如支持需要延迟操作的外设、支持需要流传输操作的外设以及支持多个总线主设备并发访问。    Avalon总线支持多个总线主外设,允许单个总线事务中在外设之问传输多个数据单元。这一多主设备结构为构建SOPC系统提供了极大的灵活性,并且能适应高带宽的外设。例如,一个主外设可以进行直接存储器访问(DMA)传输,从外设到存储器传输数据时不需要处理器干预。

 

Avalon主从外设之间的交互是构建在从端口仲裁技术上的:当多个主外设同时要求访问同一个从端口时,从端口仲裁决定哪一个主外设取得访问权。从端口仲裁具有以下两个优点:

 

      仲裁的细节被封装在Avalon总线内部。因而,主从外设的接口是一致的,与总线上的主从外设的数量无关。每个主外设到总线的接口都与总线上是否还有其他主外设无关

 

      多个主外设只要不是在同一总线周期访问同一个从端口,便可同时执行多个总线传输

 

    Avalon总线是为SOPC环境而设计的,互连逻辑由PLD内部的逻辑单元构成。Avalon总线具有以下基本特点:

 

       所有外设的接口与Avalon总线时钟同步,不需要复杂的握手/应答机制。这样就简化了Avalon总线的时序行为,而且便于集成高速外设。Avalon总线以及整个系统的性能可以采用标准的同步时序分析技术来评估

 

    所有的信号都是高电平或低电平有效,便于信号在总线中高速传输。在Avalon总线中,由数据选择器(而不是三态缓冲器)决定哪个信号驱动哪个外设。因此外设即使在未被选中时也不需要将输出置为高阻态

 

  为了方便外设的设计,地址、数据和控制信号使用分离的、专用的端口。外设不需要识别地址总线周期和数据总线周期,也不需要在未被选中时使输出无效。分离的地址、数据和控制通道还简化了与片上用户自定义逻辑的连接

 

AValon总线还包括许多其他特性和约定,用以支持SOPC Builder软件自动生成系统、总线和外设,包括:  

 

  最大4GB的地址空间——存储器和外设可以映像到32位地址空间中的任意位置

 

  内置地址译码——Avalon总线自动产生所有外设的片选信号,极大地简化了基于Avalon总线的外设的设计工作

 

     多主设备总线结构——Avalon总线上可以包含多个主外设,并自动生成仲裁逻辑

 

  采用向导帮助用户配置系统——SOPC Builder提供图形化的向导帮助用户进行总线配置(添加外设、指定主/从关系、定义地址映像等)Avalon总线结构将根据用户在向导中输入的参数自动生成

 

  动态地址对齐——如果参与传输的双方总线宽度不一致,Avalon总线自动处理数据传输的细节,使得不同数据总线宽度的外设能够方便地连接

 

术语和概念

 

SOPC设计相关的许多术语和概念是全新的,或是与其在传统的片外总线结构中的意义有显著的不同。以下的术语和概念在后文中将会被多次到,它们构成了Avalon总线规范的概念框架。为了更好地理解Avalon总线规范,因此有必要特别说明相关术语和概念,以免混淆。

 

总线周期

 

总线周期是总线传输中的基本时间单元,定义为从Avalon总线主时钟的一个上升沿到下一个上升沿之间的时间。总线信号的时序以总线周期为基准来确定。

 

总线传输

 

 Avalon总线传输是指对数据的一次读或写操作,可能需要一个或多个总线周期来完成。AValon总线支持的传输宽度包括字节(8)、半字(16)和字(32)

 

流传输模式

 

流传输模式在流模式主外设和流模式从外设之间建立一个开放的信道,以提供连续的数据传输。只要存在有效数据,便能通过该信道在主从端口对之间传输,主外设不必为了确定从外设是否能够发送或接收数据而不断地访问从外设的状态寄存器。流传输模式使得主从端口对之间的数据吞吐量达到最大,同时避免了从外设的数据上溢或下溢。它对于DMA传输特别重要。

 

延迟读传输模式

 

    有些同步外设在第一次访问时需要几个时钟周期的延迟,此后每个总线周期都能返回数据。对于这样的外设,延迟读传输模式可以提高带宽利用率。延迟传输使得主外设可以发起一次读传输,转而执行一个不相关的任务,等外设准备好数据后再接收数据。这个不相关的任务可以是发起的另一次读传输,尽管上一次读传输的数据还没有返回。在取指令操作(经常访问连续地址)DMA传输中,延迟传输是非常有用的。在这两种情况下,CPUDMA主外设会预取期望的数据,从而使同步存储器处于激活状态,并减少平均访问时间。

 

AvalON总线模块

 

    Avalon总线模块是系统模块的主干,是SOPC设计中外设之间通信的主要信道。Avalon总线模块由各类控制、数据和地址信号以及仲裁逻辑组成,它将构成系统模块的外设连接起来。Avalon总线模块是一种可配置的总线结构,它可以随着用户的不同互联需求而改变。

 

    Avalon总线模块是由SOPC Builder自动生成的。因此系统用户不需要关心总线与外设的具体连接。Avalon总线模块很少作为分离的单元使用,这是因为用户几乎总是使用SOPCBuilder自动将处理器和其他Avalon总线外设集成到系统模块中。对于用户来说,valon总线模块通常可以被看作是连接外设的途径,如图4.1

上一篇: DSP 下一篇: Avalon总线规范(下)

分享 举报