Avalon总线协议(二)

本文详细介绍了Avalon接口家族中的几种关键接口,包括中断接口的发送器和接收器,用于高带宽数据传输的AvalonStreaming接口,以及AvalonConduit和三态Conduit接口。这些接口在FPGA设计中用于组件间的通信,如DMA控制器与处理器的交互,以及对外设中断信号的管理。
摘要由CSDN通过智能技术生成

目录

4.Avalon中断接口

4.1 中断发送器

4.2 中断接收器

5.Avalon Streaming接口 

6.Avalon Conduit接口

7.Avalon三态Conduit接口


4.Avalon中断接口

中断接口允许从组件(agent components)能够向主组件(host components)发送事件信号。

例如,DMA控制器可以在完成一个DMA传输后中断处理器。

UART 外设组件、JTAG UART组件、Timer 组件、PIO拨码开关组件和矩阵按键控制器组件都有中断信号需要连接到Nios II处理器上,它们可以分配到不同的中断优先级,在发出中断请求后得到 Nios II处理器的处理响应。

4.1 中断发送器

中断发送器将单个中断信号驱动到中断接收器。irq信号的时序必须与其相关联时钟的上升沿同步。irq与任何其他接口上的任何传输无关。irq必须一直置位,直到相关联的 Avalon-MM从接口上确认接收。

中断发送器信号角色

中断发送器属性

 

4.2 中断接收器

中断是特定于组件的。接收器通常通过读取 Avalon-MM从接口中中断状态寄存器来确定相应的响应。

中断接收器接口接收来自中断发送器接口的中断。具有 Avalon-MM主接口的组件可以包含一个中断接收器,用于检测由包含中断发送器接口的从组件置位的中断。

中断接收器信号角色

 中断接收器属性

5.Avalon Streaming接口 

Avalon-ST接口可用于驱动高带宽,低延迟,单向数据的组件。

典型应用包括多路复用流(multiplexed streams),数据包和DSP数据,能够在多个通道之间进行数据包交错的突发和数据包传输。

Avalon-ST接口协议定义了以下术语和概念:

  • Avalon Streaming System—一个 Avalon Streaming系统包含一个或多个 Avalon-ST连接,将数据从source接口传输到sink接口。
  • Avalon Streaming Components—一个使用 Avalon-ST接口的典型系统,结合了多个功能模块(称为组件)。系统设计人员配置组件,并将他们连接在一起来实现一个系统。
  • Source and Sink Interfaces and Connections—当连接两个组件时,数据从source接口流向sink接口,将与sink接口连接的source接口的组合称为connection。
  • Backpressure—背压允许sink能够对source发出信号来停止发送数据。背压支持为可选。sink使用背压来停止数据流的原因如下:
    • 当sink FIFOs已满时
    • 当其输出接口上出现拥塞时
  • Transfers and Ready Cycles—一个传输导致从source接口到sink接口的数据和控制传播。对于数据接口,一个ready周期是sink能够接受一个传输的周期。
  • Symbol—符号是最小的数据单位。对于大多数数据包接口,符号是一个字节。一个或多个符号构成一个周期中传输的单个数据单元。
  • Channel—通道是一条物理或逻辑数据通路或链路,信息通过通道在两个端口之间进行传递。
  • Beat—beat是source与sink接口(由一个或多个符号组成)之间的单一周期传输。
  • Packet—数据包是source同时发送的数据和控制信号的集合。数据包可以包含一个标头,以帮助路由器和其他网络设备将数据包指引到正确的目的地。应用程序定义数据包格式,而不是此规范。 Avalon-ST数据包的长度可以变化,并且可以跨连接交错。通过使用 Avalon-ST接口,数据包的使用是可选的。

Avalon-ST接口信号角色

Avalon-ST接口属性

一个典型的 Avalon-ST source接口将valid,data,error和channel信号驱动到sink。sink可以使用ready信号来应用背压 

 

  • ready—在支持背压的接口上,sink置位ready来标记可能发生传输的周期。如果ready在cycle <n>上置位,那么cycle <n + readyLatency>被认为是一个ready cycle。
  • valid—valid信号限定任何从source到sink的数据传输的周期上的有效数据。在每个有效周期上,sink对data信号和其他source到sink信号进行采样。
  • data—data信号承载着从source到sink传输的大量信息。数据信号由在每个时钟周期上传输的一个或多个符号组成。dataBitsPerSymbol参数定义了数据信号如何分成符号。
  • error—error信号中,每个比特对应一个可能的错误条件。任何周期上的一个0值都代表此周期上无错误数据。此规范未定义检测到错误时组件应该采取的操作。
  • Channel—source驱动可选的channel信号来表明数据属于哪个通道。对一个特定接口,channel的含义要取决于应用。在某些应用中,channel表示接口数。在其他应用中,channel—source驱动可选的channel信号来表明数据属于哪个通道。

6.Avalon Conduit接口

Avalon Conduit接口对任意信号集合进行分组。

一个 Avalon Conduit接口可以包括输入,输出和双向信号。一个模块可以有多个 Avalon Conduit接口以提供逻辑信号分组。

管道(conduit)接口通常用于驱动片外器件信号,例如SDRAM地址,数据和控制信号。

管道接口没有属性,管道信号角色:

7.Avalon三态Conduit接口

Avalon-TC是一种点对点接口,专为驱动片外组件的片上控制器而设计。此接口支持在多个三态器件之间共享数据,地址和控制管脚。

三态管道接口没有属性,信号角色:

Avalon 管道接口就是 Qsys 上各个外设组件需要连接到 FPGA逻辑或FPGA器件外部的引脚。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值