MSS-AMBA相关文档阅读笔记
2010/12/15 Embedded hengheng
1 AHB BUS MATRIX---MSS的脊梁
1.1 AHB BUS MATRIX简介
AHB BUS MATRIX 是多层AHB 矩阵。允许一个主机操作A从机,另一个主机操作B从机。当二者同时对C进行操作时,仲裁模块发挥作用,采用客户定制的方式或者乒乓方式对主机进行仲裁。理论吞吐量为16Gbps. 通过上图,得知AHB MARTIX共拥有5个MASTER和8个SLAVE。在AHB BUS MATRIX中实现的路径是理论路径的子集。此外,CORTEX-M3的IBUS和DBUS在MATRIX内部被多路选择,因此公用一个MASTER PORT,二者无法同时激活。
1.2 AHB BUS MATRIX连接关系
通过上表可以得知,AHB BUS MATRIX中各master与slave的连接权限。 一般来说,除了CORTEX-M3外的master 和slave在上电时都会被关掉,用户需要通过设置AHB_MATRIX_CR中的相关位来打开这些master和slave。 CORTEX-M3是系统中唯一可以是使能其他MASTER的MASTER,因为其PPB总线上挂了一个可以使能其他MASTER的控制寄存器。 注意,关于ENVM使用时,需要明确一点,在命令ENVM进行编程或者擦写时,其他MASTER不会自动得知ENVM是不可读取的。因此,此时需要通过软件信号来控制其他MASTER的连接路径。
1.3 仲裁简介:
仲裁器在slave的端口上。通常仲裁方式分为两种:循环方式和权重循环方式。 通过设置AHB_MATRIX_CR中的COM_WEIGHTEDMODE位来切换。 循环方式
权重循环方式
2.AMBA BUS 简介:(结合ACTEL的IP Core)
2.1AHB Lite Core
AHB Lite Core 是AHB Lite 总线的一种多层实现,它包含2个Master,16个Slave和1第17个超大空间的slave。
Remap功能只针对master 0使用,用于切换slot 0和slot 1的映射地址。引脚拉高代表使用,否则就拉低。
2.1.1拥有两种操作模式:
固定地址空间16个SLAVE,每个256M(2的28次方,高四位用于选中1个SLAVE)
固定地址空间15个SLAVE,每个64K,此外还有16个4k的Init/Config Client,额外的还有一个极大
的slave,为2G。(建议使用此模式)
2.1.2 内存映射计算:
建议使用第二种配置方式,而且从机的挂靠最好从slot 5开始。 每个Slot 占用空如下:
2.2 AHB Lite 知识简介
AHB Lite 是一种支持单Master的高带宽的总线接口 其特性如下: AHB Lite的Slave多为内部的存储设备,外部存储器接口,和高吞吐量的外设。为了保证系统的性能,低吞吐量的外设都挂在AHB LITE的slave—APB Bridge上。
2.2.1 基本结构介绍
下图为一个简单的单Maste 三Slave系统连接图。其中,总线内部互连结构包含了地址译码器和Slave To Master 的多路选择器。保证合理的选通。 Master
主机提供地址和控制信号用来实现读写操作。 Slave
从机返回主机的信号如下: 从机接口信号如下: Decorder
译码器对每次传输的地址进行译码,提供选择信号。此外,也对多路选择器提供控制信号。 Multiplexor
多路选择器用于将读数据总线和响应进行多路选择。 主机通过驱动地址信号和控制信号来开始传输。这些信号包含了地址,传输方向,传输宽度及确定是否是突发传输的一部分。 传输类型如下:
传输的过程包含以下两个部分: 从机无法要求主机延长地址周期,因此必须在所有从机必须在地址周期获取地址。但是,从机可以要求主机延长数据周期,拉低HREADY信号来使主机插入等待周期,为从机提供足够的时间进行提供数据或扑捉数据。
2.2.3 多层AHB Lite
由于AHB Lite是单主机系统,所以要实现多主机系统,必须引入多层互联模块来隔离各个主机,同时实现共享对从机的通道,此外,此模块还要提供对从机的仲裁。 多层互联模块包含以下两个部分: 当多层都打算持续读写同一个从机时,此时,多层互联中的仲裁发挥作用决定哪层获得权力,未获得的使用HREADY使其等待,直至轮到其传输。 每个从机都有自己的仲裁机制:
具体实现形式:
随着层数的增加,内部互联模块的资源占用会快速增加。 采用以下方案降低面积:
局部从机方案:由于部分从机只会被某主机使用,因此,可以采用此种方案。 多从机映射为一个从机口,适合多个低吞吐量的从机,例如APB Bridge。 多主机公用一层,多用于测试端口
分立的主从系统,可以共用一个SLAVE作为BUFFER
2.2.4 信号列表
代指信号由谁产生 全局信号: 主机信号: 从机信号: 译码信号:
2.2.5 传输介绍:
基本传输:包含一个地址周期,一个数据周期。
1. 主机在HCLK的上升沿后,驱动地址和控制信号。
2. 从机在下一个HCLK的上升沿,采用地址和控制信号。
3. 从机采样地址和控制信号后,它开始驱动HREADY信号,此信号在第三个HCLK被采样。 传输类型:
2.2.6 HCLK 和 HRESET_N
A. 每一个AHB Lite组件拥有单独的HCLK,输入数据在HCLK的上升沿采集,输出数据在HCLK的上升沿后发生
变化。
B. HRESETN用于复位总线上的所有组件。一般来说,异步复位,同步释放。
C. 复位时,主机的控制和地址信号必须为可知的状态,而且HTRANS必须为IDLE。 D. 复位时,从机的HREADYOUT必须为高,保证传输可以进行。
2.2.7 Slave Response Signals
主机开始传输后,从机便开始控制传输的进度。主机一旦开始一个传输,便无法结束此传输。 从机在连通后,通过HREADY和HRESP来反映状态。 从机可以通过以下三种方式结束传输:
补充:ERROR响应
错误响应需要两个周期:
第一个周期:从机将HRESP置高,用于显示错误,同时将HREADY拉低,用于延长一个周期。 第二个周期:从机将HREADY置高,结束传输;HRESP保持高电平,表示ERROR发生。
两个周期的原因:在从机进行提示有错误发生时,主机已经在向总线发送下一个传输的地址。采用两个
周期的操作,可以给予主机足够的时间结束下一个传输,并且将HTRANS置为IDLE状态。
2.2.8 Bus Interconnection 2.2.8.1 地址译码:
中央地址译码提供一个HSELX信号,为总线上的每一个从机提供选择信号 从机必须只能在HREADY为高时,采样HSEL,地址和控制信号,表示当前传输已经结束。 每个从机分配的地址空间至少为1KB,与之相对应,主机设计的递增型传输不能超过1KB。从而保证不会超越寻址边界。
补充:
总线互联
2.3 APB Bridge Core
2.3.1使用规则
只能有一个APB3主机挂到此桥上,通过主机的PSEL和PADDR信号进行译码确定指向从机的PSEL信号,从而,一个时刻只能沟通一个从机。
直接寻址:所有的16个APB从机节点拥有相同的地址空间。
间接寻址:第一个节点拥有4GB(2^32)的寻址空间,第二个节点不用,而作为第一个节点的地址寄存器,其他的同直接寻址。
间接寻址时,PCLK才有作用,而且地址端口宽度为32;直接寻址时,地址宽度为24.
2.3.3资源占用
APB3的资源占用量为38 Tile。
2.4 APB 接口
APB接口是一种为低速外设提供的低功耗和低复杂度的接口。一般来说,连接的外设都为低带宽,而且不要求很高性能,不支持流水线操作。
Key Feature:为外设的可编程的控制寄存器提供接口。
因篇幅问题不能全部显示,请点此查看更多更全内容