单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,AMBA,总线协议,AHB/APB/AXI,对比分析,1,AMBA总线协议AHB/APB/AXI对比分析1,纲要,2,AMBA,概述,AHB,协议,APB,协议,AXI,协议,APB/AHB/AXI,对比,纲要2AMBA概述,AMBA,概述,3,AMBA(Advanced Microcontroller Bus Architecture),:高级微处理器总线架构,AHB(Advanced High-performance Bus),:高级高性能总线,ASB(Advanced System Bus),:高级系统总线,APB(Advanced Peripheral Bus),:高级外围总线,AXI(Advanced eXtensible Interface),:高级可扩展接口,这些内容加起来就定义出一套为了高性能,SOC,而设计的片上通信的标准,AMBA概述3AMBA(Advanced Microcon,一个典型的基于,AMBA,总线的,SOC,系统架构,4,这种,SOC,架构以,AHB,为主干,挂上,CPU,,片上内存,和其它,DMA,设备。,一个典型的基于AMBA 总线的SOC 系统架构4这种SOC架,5,AHB 主要是针对高效率、高频宽及快速系统模块所设计的总线,它可以连接如微处理器、,芯片上或芯片外的内存模块和,DMA,等高效率模块,AMBA 中的APB 主要用在低速且低功率的外围,,可针对外围设备作功率消耗及复杂接口的最佳化,APB在AHB和低带宽的外围设备之间提供了通信的桥梁,,,所以APB是AHB或者ASB的二级扩展总线,5AHB 主要是针对高效率、高频宽及快速系统模块所设计的总线,AHB,的组成,6,Master,:能够发起读写操作,提供地址和控制信号,同一时间只有,1,个,Master,会被激活。,Slave,:在给定的地址范围内对读写操作作响应,并对,Master,返回成功,失败或者等待等状态。,Arbiter,:负责保证总线上一次只有,1,个,Master,在工作。仲裁协议是规定的,但是仲裁算法可以根据应用决定。,Decoder,:负责对地址进行解码,并提供片选信号到各,Slave,。,每一个,AHB,都需要,1,个仲裁器和,1,个中央解码器。,AHB的组成6Master:能够发起读写操作,提供地址和控制,AHB,总线互连,7,AHB总线互连7,8,发起一个请求给仲裁器,驱动地址和控制信号,允许某个主设备控制总线,仅选中的从设备响应地址,/,控制信号,拉高,HREADY,信号,总线传输完成,8发起一个请求给仲裁器驱动地址和控制信号允许某个主设备控制总,9,AHB,基本信号,HADDR,:,32,位系统地址总线,HTRANS:,M,指示传输状态,,NONSEQ,、,SEQ,、,IDLE,、,BUSY,HWRITE,:,传输方向:,1-,写,,0-,读,HSIZE,:,传输单位,HBURST,:,传输的,burst,类型,HWDATA,:,写数据总线,从,M,写到,S,9AHB基本信号HADDR:32位系统地址总线,10,HREADY,:,S,应答,M,是否读写操作传输完成,:1-,传输完成,0-,需延长传输周期。需要注意的是,,HREADY,做为总线上的信号,它是,M,和,S,的输入;同时每个,S,需要输出自己的,HREADY,。所以对于,S,会有两个,HREADY,信号,一个来自总线的输入,一个自己给到多路器的输出。,HRESP,:,S,应答当前传输状态,,OKAY,、,ERROR,、,RETRY,、,SPLIT,HRDATA,:,读数据总线,从,S,读到,M,10HREADY:S应答M是否读写操作传输完成:1-传输完,11,AHB,基本传输,两个阶段,地址周期(,AP,),只有一个,cycle,数据周期(,DP,),由,HREADY,信号决定需要几个,cycle,流水线传送,先是地址周期,然后是数据周期,11AHB基本传输两个阶段,12,Master,发出地址和控制信号,Slave,采样地址和控制信号,Master,采样读数据,一次无需等待状态的简单传输,12Master发出地址和控制信号Slave 采样地址和控制,13,Not ready,Not ready,Ready,Slave,拉低,READY,不能超过,16,拍,需要两个等待周期的简单传输,13Not readyNot readyReadySlave,14,Pipeline,A Address,A Data,B Address,B Data,C Address,C Data,14PipelineA AddressA DataB Add,15,A,A,A+4,A+4,A+8,A+8,A+12,A+12,HBURST shows the burst types:,Single Transfer,Incrementing transfer with unspecified length,(,INCR,),4-beat,8-beat,16-beat,Slave has know that master need 4 data,A/A+4/A+8/A+12,During burst transfer,if slave not ready,then hready=0;but if master is not ready,how to do?,Burst,类型,15AAA+4A+4A+8A+8A+12A+12HBURST,16,传输类型,HTRANS1:0,:当前传输的状态,IDLE,、,BUSY,、,NONSEQ,、,SEQ,00,:,IDLE,主设备占用总线,但没进行传输,两次,burst,传输中间主设备发,IDLE,01,:,BUSY,主设备占用总线,但是在,burst,传输过程中还没有准备好进行下一次传输,一次,burst,传输中间主设备发,BUSY,16传输类型HTRANS1:0:当前传输的状态,17,传输类型(续),10,:,NOSEQ,表明一次单个数据的传输,或者一次,burst,传输的第一个数据,地址和控制信号与上一次传输无关,11,:,SEQ,表明,burst,传输接下来的数据,地址和上一次传输的地址是相关的,17传输类型(续)10:NOSEQ,18,The first transfer,Master is busy,The subsequent transfer,The subsequent transfer,Slave is not ready,The subsequent transfer,传输类型举例,18The first transfer Master is,19,其它,AHB,控制信号,HWRITE,高电平:写,低电平:读,HSIZE2:0,000:8bits 100:128bits,001:16bits 101:256bits,010:32bits 110:512bits,011:64bits 111:1024bits,最大值受总线的配置所限制,通常使用,32bits,(,010,),19其它AHB控制信号HWRITE,APB/AHB/AXI,对比,APB,AHB,AXI,低功耗,高速度,高速度,高带宽,管道化互联,单向通道,只需首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多,20,APB/AHB/AXI对比APBAHBAXI低功耗高速度高速,