【Avalon总线】1.Avalon总线总体介绍

最近在学习Avalon总线相关的知识,所以在学习的过程中写下了这一系列的博文。文章主要是根据ALTERA公司的文档写的。文章中如有错误请指出,谢谢!


1 Avalon总线总体介绍

Avalon总线提供了FPGA内部各种组件(Components)的接口,包括高速流传输设备(High Speed Streaming Application)和内存映射设备(Memory-Mapped Applications)(如SDRAM,flash等设备)。接口这个词是直译过来的,用我们常用的电脑来打个可能不太恰当的比方。在使用一个新的设备的时候我们需要安装驱动,而这个驱动就可以认为是由好多接口组成的。而当有了这个驱动,CPU才知道怎么和外围硬件进行“交流”。ALTERA公司在SOPC环境中提供了一些标准的组件,如图1所示。一个组件可以包含任意数量的接口。当然我们也可以根据需要自己定义符合Avalon总线协议的组件。大多的Avalon接口只能对时钟沿敏感。

【Avalon总线】1.Avalon总线总体介绍_第1张图片

图1 SPOC builder中的IP核

       Avalon总线有6种不同的接口类型,分别是:

1)Avalon内存映射接口(Avalon-MM

2)Avalon流传输接口(Avalon-ST)

3)Avalon内存映射三态接口(Avalon Memory MappedTristate Interface)

4Avalon时钟复位接口(Avalon Clock

5)Avalon中断接口(Avalon Interrupt)

6)Avalon管脚接口(Avalon Conduit(这个Conduit原意是导管,不知道这儿准确的翻译应该是什么,因为这个接口的功能和芯片的管脚类似,所以取名为管脚接口)。

每种接口都有自身的信号,其中有一些信号是必须的,而有一些信号则是可选的。

接下来简单的介绍一下这6种接口,还将对Avalon内存映射接口,Avalon时钟复位接口,Avalon管脚接口等常用接口进行详细的介绍。

2 Avalon接口的简单介绍

2.1内存映射接口(Avalon-MM)

       Avalon内存映射接口是主从设备基于地址读写的接口。Avalon内存映射接口可以说是最常用的接口之一。比如说,NIOS核工作需要将软件运行的资源加载到SDRAM或者其他内存设备中,此时就需要进行内存映射设备的读写。而SOPC软件已经集成了SDRAM的接口,你需要做的只是更改一些相关的参数,如图2所示。

【Avalon总线】1.Avalon总线总体介绍_第2张图片

图2 SDRAM Controller向导

 

2.2 Avalon流传输接口

       Avalon流传输接口支持单向数据流的接口,包括多路复用流,数据包和DSP数据。这是ALTERA公司对流传输接口的介绍。由于小弟的开发经验有限,还没有使用过这个接口所以,暂时不对其做更加深入的介绍。

2.3 Avalon内存映射三态接口

       Avalon内存映射三态接口是基于地址读写的接口,支持片外的设备。多个设备共享数据和地址,从而减少占用管脚。比若说在板子上,你将FLASH和SDRAM的地址线和数据线同时连到了FPGA相同的管脚,这时就需要使用到内存映射三态接口。内存映射三态接口可以说是Avalon内存映射接口的一个扩展接口,有了这个接口Avalon内存映射接口就可以驱动多个外设而增加FPGA管脚的占用。ALTERA提供的技术手册中的图能够很好的显示Avalon内存映射三态接口的作用。

【Avalon总线】1.Avalon总线总体介绍_第3张图片

图3 Avalon内存映射三态接口

 

2.4 Avalon时钟复位接口

       Avalon时钟复位接口用于接收时钟和复位信号。

2.5 Avalon中断接口

       Avalon中断接口提供了一个组件向另一个组件发送中断信号的接口。

2.6 Avalon管脚接口

       Avalon管脚接口的作用相当于是FPGA的一个管脚,他提供了一个将片上系统信号输出到板上其他设备的一个接口。

 

3 常用的Avalon接口详细介绍

       本章介绍的主要是Avalon内存映射接口,Avalon内存映射三态接口,Avalon时钟复位接口,Avalon中断接口和Avalon管脚接口。Avalon流传输接口将会在以后使用到的时候再进行补充介绍。

3.1 Avalon时钟复位接口

       Avalon时钟复位接口几乎是每个组件都必备的一个接口,之前我们介绍过的SDRAM组件中就存在一个Avalon时钟复位接口。Avalon时钟复位接口的输入信号类型如下表所示。

信号类型

宽度

描述

clk

1

一个时钟信号,给内部或者其他接口提供同步时钟信号

reset

reset_n

1

一个复位信号

输出信号类型如下表所示:

信号类型

宽度

描述

clk

1

输出的时钟信号

3.2 Avalon管脚接口

       Avalon管脚接口是信号与片上可编程系统沟通的桥梁,可以直接和FPGA外的设备或者输出到NIOS核外的其他逻辑进行信号传输。Avalon管脚接口包含的信号只有一种。

信号类型

宽度

方向

描述

export

n

输入,输出或者双向

输出的时钟信号

 

Avalon内存接口将在下一节进行介绍

你可能感兴趣的:(Avalon总线)