AVALON总线

ARM 94浏览

 

Avalon总线
Nios系统的所有外设都是通过Avalon总线与Nios CPU相接的,Avalon总线是一种协议较为简单的片内总线Nios通过Avalon总线与外界进行数据交换
Avalon总线接口分类
可分为两类:Slave和Master。slave是一个从控接口,而master是一个主控接口。slave和master主要的区别是对于Avalon总线控制权的把握。master接口具有相接的Avalon总线控制权,而slave接口是被动的。常见的Avalon的传输结构有:Avalon总线从读(slave read),Avalon总线带一个延迟状态从读,Avalon总线从写(slave write),Avalon总线带一个延迟状态从写。
Avalon总线的特点有
所有外设的接口与Avalon总线时钟同步,不需要复杂的握手/应答机制。这样就简化了Avalon总 线的时序行为,而且便于集成高速外设。Avalon总线以及整个系统的性能可以采用标准的同步时序分析技术来评估。
所有的信号都是高电平或低电平有效,便于信号在总线中高速传输。在Avalon总线中,由数据选择器而不是三态缓冲器决定哪个信号驱动哪个外设。因此外设即使在未被选中时也不需要将输出置为高阻态。)(
为了方便外设的设计,地址、数据和控制信号使用分离的、专用的端口。外设不需要识别地址总线周期数据总线周期,也不需要在未被选中时使输出无效。分离的地址、数据和控制通道还简化了与片上用户自定义逻辑的连接
其他特性和约定
AValon总线还包括许多其他特性和约定,用以支持SOPC Builder软件自动生成系统、总线和外设,包括:   
最大4GB的地址空间外设可以映像到32位地址空间中的任意位置——存储器
内置地址译码——Avalon总线自动产生所有外设的片选信号,极大地简化了基于Avalon总线的外设的设计工作
多主设备总线结构总线上可以包含多个主外设,并自动生成仲裁逻辑——Avalon
采用向导帮助用户配置系统——SOPC Builder提供图形化的向导帮助用户进行总线配置(添加外设、指定主/从关系、定义地址映像等)。Avalon总线结构将根据用户在向导中输入的参数自动生成
动态地址对齐——如果参与传输的双方总线宽度不一致,Avalon总线自动处理数据传输的细节,使得不同数据总线宽度的外设能够方便地连接
Avalon 总线模块为外设提供的服务
Avalon 总线模块为连接到总线的Avalon 外设提供了以下的服务:
数据通道多路转换——Avalon 总线模块的多路复用器从被选择的从外设向相关主外设传输数据。
地址译码——地址译码逻辑为每一个外设提供片选信号。这样,单独的外设不需要对地址线译码以产生片选信号,从而简化了外设的设计。
产生等待状态(Wait-State)——等待状态的产生拓展了一个或多个周期的总线传输,这有利于满足某些特殊的同步外设的需要。当从外设无法在一个时钟周期内应答的时候,产生的等待状态可以使主外设进入等待状态。在读使能及写使能信号需要一定的建立时间/保持时间要求的时候也可以产生等待状态。
动态总线宽度——动态总线宽度隐藏了窄带宽外设与较宽的Avalon 总线(或者Avalon 总线与更高带宽的外设)相接口的细节问题。举例来说,一个32 位的主设备从一个16 位的存储器中读数据的时候,动态总线宽度可以自动的对16 位的存储器进行两次读操作,从而传输32 位的数据。这便减少了主设备的逻辑及软件的复杂程度,因为主设备不需要关心外设的物理特性。
中断优先级(Interrupt-Priority)分配——当一个或者多个从外设产生中断的时候,Avalon 总线模块根据相应的中断请求号(IRQ)来判定中断请求。
延迟传输(Latent Transfer)能力——在主、从设备之间进行带有延迟传输的逻辑包含于Avalon总线模块的内部。
流式读写(Streaming Read and Write)能力——在主、从设备之间进行流传输使能的逻辑包含于Avalon 总线模块的内部。
AVALON IP总线结构
作为可重用的设计模块,IP核必须服从一定互连接口标准,包括ALTERA在内的很多公司都有自己的一套互连接口的标准,像ALTERA 的AVALON ,ATLANTIC 。IBM 的CORECONNECT,ARM 的AMBA,还有SILICORE 转让给OPENCORE的WISHBONE总线标准等,以下介绍ALTERA公司的AVALON总线之一。
1. AVALON总线
ACALON总线是一种简单的总线结构,被设计用来将片上的处理器和周边设备成到可编程片上系统里面,并规定了主设备和从设备的端口方式和时序关系,其基本设计目标是:
S简单性:提供一个易于理解的协议。
S为总线逻辑提供优化的资源,节约可编程逻辑器件的逻辑单元
S同步操作,易于与片上的其他用户逻辑集成,避免了复杂的时序与分析过程。
基于的AVALON总线传输是在主设备和从设备之间传输一个字节,半字或字,一次传输过后,总线可以立刻进行下一次传输,而且与上一次传输的目的设备和源设备无关,AVALON总线还支持外设等待执行时间,传输外设和多主设备总线等功能,这些传输模式使得在一次总传输中,在外设之间能够完成多个数据单位的交换。
AVLON总线主设备和从设备的交互采用一种“从端仲裁”技术,在多个主设备试图访问同一个从设备时,用于决定哪个主设备获得访问权,AVALON总线具体以下二种优点:
1. 仲裁的细节封装到AVALON总线内,主设备和从设备的接口与总线上设备数目无关。
2. 多个主设备能够同时执行总线传输,只要它们不在同一时钟周期访问同一个从设备
3. 到周边设备的接口步于AVALON总线时钟,不需要复杂的异步握手,确认信号,AVALON总线和整个系统的性能够利用的同步时序分析技术来评测
4. 所有的信号都是高电平或低电平有效,有利于总线的切换多路复用器而不是三态缓冲器决定哪个一个信号驱动哪一个外设,即使个设没有被选中,此设备也不需要将其输出信号置为高阻态。
5. 地址,数据和控制信号使用分开的专用端口,简化了外设的设计,外设不需要进行地址和数据周期解码,不需要判断当前总线周期的状态,即没有被选中,也不需关掉输出端口。
6. 为易于利用SOPCBUILDER软件自动生成系统,AVALON总线还提供以下功能:
7. 最多4G的寻址空间
8. 同步接口
9. 分离的地址,数据和控制线
10. 内建的地址译码
11. 多主设备的总线结构
12. 基于向导的参数配置
13. 动态总线宽度调整
在最新的Avalon 总线家族中,包含Avalon-MM 接口和Avalon-ST 接口两大接口标准,Avalon-MM 接口是一套互联式总线接口,主要用于多节点的互联,而Avalon-ST接口是一种面向点对点的接口,主要用于单向高速数据流的传输。。
Avalon-MM 的基本特性
Avalon-MM 总线的传输方式是一种主从式的传输方式,即由一个主控端外设发起并控制传输过程,而从属端外设响应经由总线模块发来的信号完成整个传输。与共享式的总线结构相比,Avalon-MM 总线所采用的交换(switch)式结构具有更高总线带
宽。共享式总线只有一个总线数据通路,在任何时刻只由一个主控端占有总线模块,其他主
控端必须等待该主控端放弃总线后才能获取总线控制权并发起传输,而交换式总线则是在任
意的一个主控端和一个从属端之间都可以有一条数据通路,只要访问的从属端不同,多个主
控端可以同时进行数据传输。
 
在这种交换式结构中,在总线的每个Slave 端(Slave Port)具有一个仲裁单元,当连接到该Slave 端的多个Master 端(Master Port)同时发起针对该Slave 端的传输时,由这个仲裁模块来决定Master 端获取Slave 端传输控制权的情况。
Avalon-MM 传输
Master 端传输和Slave 端传输两类,每类传输又分为基本(fundamental)传输流水线(pipelined)传输突发(burst)传输,以及带有流控制Flow control)的传输和专门针对片外端口的三态(Tri-State)传输ri-State 传输是针对片外信号专门设计的。 
Avalon-ST 的特性
一种单向点对点的高速接口,主要针对的是高速数据流的传输。
Avalon-ST 接口与Avalon-MM 接口的区别非常明显,Avalon-MM 接口用于SOPC 控制流传输或者简单的数据流传输,而Avalon-ST 接口则用于SOPC 设计中高速数据流的传输,二者搭配使用可以清晰地分离系统内的控制流和数据流,显著地提高系统整体的可靠性和运行效率。