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