




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AHB总线接口的一种新实现方案 马天翊,薛 萍,马卫国 时间:2007年12月10日字 体: 大 中 小关键词: 摘 要:针对标准AHB总线对具有特定访问时序的设备数据传输效率较低的情况,提出一种新的实现方案。利用AHB总线突发传输时的组合信息,根据某种算法生成地址和控制信号,以提高慢速设备的总线访问效率。关键词:AHB总线 突发传输 在系统级芯片设计中,AMBA总线已经得到广泛的应用,有效地解决了复杂芯片的互连设计难题。目前AMBA总线的主要实现形式是先进高性能总线(AHB)。AHB总线的关键是对接口和互连均进行定义,目的是在任何工艺条件下实现接口和互连的最大带宽。AHB总线互连的主要形式是带有主模块和从模块的共享总线,将接口与互连分开,主要由总线的中央资源负责仲裁、重传、拆分等操作,这对芯片上各模块的接口设计具有重要意义。AMBA已不再仅仅是一种总线,而是一种带有接口模块的互连体系。 但随着AHB总线的广泛应用,一些问题也暴露出来。例如,对于具有特定访问时序的设备,AHB总线读取数据的效率较低。本文提出一种新的、高效AHB-Slave接口方案,可以在完全兼容AMBA2.0规范的前提下,将突发传输模式下的总线效率提高近一倍(具体提高依应用而定,可参见表1数据)。该方案主要通过判断总线的控制信号,利用某种算法控制地址实现,并可处理突发读数据的忙状态、写数据后立即回读、单周期突发操作等特殊情况。1 标准AHB-Slave方案 AMBA2.0规范详细定义了标准的AHB-Slave接口,涵盖了绝大部分操作。但是对某些应用的实现不够高效,例如对具有较长延时的Slave设备的突发读操作。另外有些操作并没有定义,例如写之后立即读的操作。标准AHB-Slave实现方案介绍如下(AHB总线描述及信号列表请参阅参考文献1。1.1 标准方案实现 标准的AHB-Slave总线接口首先判断读操作或写操作,如果判断为写,则对单次写和突发写执行同样操作。如果判断为读,对于单次读和突发读也不加区分,但由于突发读时地址段与数据段会自然相互重叠(overlap),所以突发读相对于多笔单次读的效率要高一些。标准AHB-Slave总线接口不支持写操作后立即执行读操作,要求二者之间至少有一个时钟周期的间隔,否则会产生错误。考虑接口需求,要求写后立即读的情况并不会很多。但是作为一个典型的存储设备检测方法应该被这种操作支持。1.2 标准方案时序图 对于AHB总线,一次完整的传输可以分成两个阶段:地址段(Address Phase)和数据段(Data Phase)。地址段负责发送地址和控制信号,数据段则用来传输数据和反馈信号。如果从设备无法在数据段用一个时钟周期完成读写,则可以通过HREADY信号来展宽数据段。 AHB总线为提高传输效率定义了突发传输方式(Burst Transfer)。在一次需要传输多个数据时,将前后数据的数据段和地址段重叠在一起以提高效率。限于篇幅,关于突发传输方式的详细描述请参阅文献1。 还有一点需要指出:突发传输时,前次传输的数据段和后次传输的地址段重叠在一起,如果前次的数据段由于某种原因被展宽,后次传输的地址段也会随之展宽。这是AHB2.0协议中降低总线效率的重要原因,也是可以采取方法来改进的地方。 多周期读写时序如图1所示,详细说明如下。图1未示出AHB总线的申请、仲裁、授权机制。 Cycle49:AHB总线的突发写时序,图1所示从设备可正常接收,不再详述。 Cycle14:Master获得总线控制权,发出地址A5和控制信号,总线中央资源将其发往相关Slave。突发操作的第一个数据HTRANS信号值为NONSEQ。Cycle15:Slave采样地址A5和控制信号,并作出判断和响应,如果不能立即存取数据,则将HREADY_OUT信号拉低相应周期数(图1中所示为一个周期),但HRESP信号为OKAY。同时,Master发出第二个传输的地址和控制信号。此时HTRANS为SEQ。Cycle16:Slave可以完成数据存取,将HREADY_OUT信号拉高,将数据发送到HRDATA总线,HRESP信号仍为OKAY。因为突发传输时前后两次数据段和地址段重叠,如果前次的数据段由于某种原因被展宽,后次传输的地址段也会随之展宽。图1中所示,Master重复发出上一个时钟周期的地址A6和控制信号。 Cycle17:Master采样反馈信号。因为HREADY_IN信号为高(此时HREADY_IN与HREADY_OUT信号等价),表示Slave已经将数据发出,Master采样数据D5,同时发出地址A7和相应控制信号。Slave采样地址A6和控制信号,因为不能立即存取数据,所以将HREADY_OUT信号再次拉低一个时钟周期,但HRESP信号为OKAY。 Cycle18、19、20:分别与Cycle16、17、16类似。 Cycle21:Master判断HREADY_IN为高,采样数据D7,但不再发出新的地址和控制信号。Slave采样地址A8和控制信号,然后将HREADY_OUT信号拉低一个时钟周期,HRESP信号为OKAY。 Cycle22:Slave将HREADY_OUT信号拉高(无效),将数据D8发送到HRDATA总线,HRESP信号仍为OKAY。 Cycle23:Master采样反馈信号和数据D8,完成本次突发传输操作,之后可选择释放总线。2 高效AHB-Slave方案 AMBA2.0规范中,对于具有较长延时的Slave设备的突发读操作处理得不够理想。针对这一问题,高效的AHB-Slave方案应运而生。突发传输时,从第二个数据开始的HTRANS信号为SEQ(Sequential,连续),表示当前地址与前一次地址相关,而控制信号与前次相同。这就表明可以利用第一个数据的地址和控制信号根据突发传输的类型来生成其后数据的地址和控制信号。当然,由于AHB总线的功能丰富,需要考虑的情况比较多,所以高效AHB-Slave接口的实现方案相对复杂。但已经证实,当AHB总线时钟为150MHz时,可以在0.13um工艺条件下实现,且效果显著。2.1 高效方案实现 根据AHB总线的规则,突发传输过程中,控制信号不会变化,而地址会根据突发方式和传输数据的位宽增减,所以可以依据某种算法生成内部信号HADDR_internal,用于生成超前地址,提高总线访问效率。在AHB-Slave接口设计中,用HADDR_internal代替HADDR。具体实现方案如图2所示。首先判断读操作或写操作,如果判断为写,则对于单次写和突发写执行同样操作。如果判断为读,则区分三种情况:单次读、写后立即读与突发读。如果为单次读,则执行基本读操作。如果为写后立即读,由于AHB-Slave接口内部处理延时,读操作会多延时一个时钟周期,亦即HREADY_OUT会被多拉低一个时钟周期以通知总线的Master。如果判断为突发读,则需作进一步判断。 当判断为突发读时,需进一步判断四种情况:突发读的首数据、突发读期间的忙状态、突发读忙状态后首数据、突发读基本状态。前三种情况的处理方法如图2所示,如果判断为突发读的基本状态,则内部读地址HADDR_internal每个时钟周期递增一个单元,直到该次突发读结束。对于具有较长读延时的AHB-Slave设备,执行突发读操作时,由于第一个读数据延后n拍送出,所以外部地址HADDR从第2个地址开始延长n拍。假设n=1,从第2个地址起,外部地址HADDR比HADDR_internal延后1拍。内部模块根据HADDR_internal发出数据,此数据可以连续送到外部数据总线上。2.2 高效方案时序图 高效方案的多周期读写时序如图3。图中未示出AHB总线的申请、仲裁、授权机制。Cycle14以前各周期的功能不再详述。 Cycle14:Master发出地址A5和控制信号。依据某种算法生成内部超前地址HADDR_internal以代替HADDR,提高总线访问效率。因为Cycle14为突发传输的第一个周期,所以HADDR_internal与HADDR相同。 Cycle15:Slave采样地址A5和控制信号,由于不能立即存取数据将HREADY_OUT信号拉低一个周期。同时HADDR_internal从A5变为A6,增加一个HSIZE信号所指示的单元地址。Master发出第二个传输的地址和控制信号。此时HTRANS为SEQ。 Cycle16:Slave可以完成数据存取,将HREADY_OUT信号拉高,将数据发送到HRDATA总线。此时HADDR_internal递增为A7,超越了HADDR,因为设计中HADDR_internal代替HADDR输出给内部模块,所以数据也会提前输出。 Cycle17:Master采样反馈信号和数据D5,同时发出地址A7和相应控制信号。Slave不再采样地址和控制信号,而是用内部生成的相应信号代替,发出数据D6,并且不再拉低HREADY_OUT信号。 Cycle18:Master采样反馈信号和数据D6,同时发出地址A8和相应控制信号。Slave根据内部信号发出数据D7。 Cycle19、20:分别与Cycle17、18类似。 Cycle2123:与标准方案的相应时序类似,不再赘述。 在突发传输操作中,Master与Slave之间的交互是连续的,但如果Master因为某些原因无法及时发送或接收数据,则可以将HTRANS信号置为BUSY,使当前传输暂停几个时钟周期。此时Slave应该发送OK的HRESP。在一次读的过程中插入busy的时序如图4。Cycle15以前各周期的功能不再详述。 Cycle15:Master由于某种原因暂时无法接收数据,可以将HTRANS信号置为BUSY,地址递增为A11,控制信号可以保持上一时钟周期的读状态不变。AHB-Slave接口采样到BUSY状态(此次采样为异步采样,不依赖时钟上升沿),则HADDR_internal不再变化,保持上一周期值。数据总线依次送出数据D10,HRESP信号仍为OKAY。 Cycle16:Master恢复采样数据,将HTRANS信号置为Sequencial,但地址保持上一时钟周期A11不变,控制信号也保持为读状态。AHB-Slave接口采样到HTRANS信号恢复Sequencial状态,重新将HADDR_internal与HADDR同步,变为A11。将数据D11送到HRDATA总线,但此数据不被采样。 Cycle17:Master本周期不采样数据。附带指出:Master在Cycle15将HTRANS置为BUSY,即指Cycle17不采样数据,而不是Cycle15不采样。Master发出递增地址A12,控制信号保持为读状态。因为上一周期HADDR_internal与HADDR重新同步,所以Slave无法立即送出数据,将HREADY_OUT拉低一个时钟周期,但HRESP信号为OKAY。同时HADDR_internal从A11变为A12,增加一个HSIZE信号所指示的单元地址。 Cycle18:Slave可以完成数据存取,将HREADY_OUT信号拉高,将数据D11发送到HRDATA总线。Master采样反馈信号并判断后重复发出上一时钟周期的地址A12和控制信号。但HADDR_internal递增为A13。 Cycle19:Master采样反馈信号,判断后采样数据D11,同时发出地址A13和相应控制信号。AHB-Slave接口内部递增地址为A14,并且不再采样AHB总线的地址和控制信号,而是用内部生成的相应信号代替,发出数据D12,并且不再拉低HREADY_OUT信号,HRESP信号保持为OKAY。 Cycle2023:与前文类似,不再赘述。 对单一寄存器写之后读的时序如图5所示。如前文所述,考虑AHB-Slave总线接口的需求,要求写后立即读的情况并不会很多。但是这种操作作为一个典型的存储设备检测方法应该支持。此时HREADY会多拉低一个时钟周期,详细时序不再赘述。 这一AHB-Slave接口的新方案已经分别通过Cadence公司的Specman和Synopsys公司的Vera两种验证平台验证,并已实际应用于一款芯片。 表1中所示为该款芯片采用两种AHB-Slave接口方案的对比。表中最左边一栏为待传输的数据区块,JD为联合检测(Joint Detection)。其中有些数据需要写入含有AHB-Slave接口的模块,而有些数据要读出。通过AHB总线写入时两种方案完全相同,而读出时高效接口方案所需工作周期只有标准接口方案工作周期的一半。 从表1可以看出,此应用中高效接口方案比标准接口方案节省了大约44%(11804-6630)/11804=44%)的工作周期。如果AHB总线时钟按照150MHz计算,则表1中原始接口方案需要78.73us,而高效接口方案需要44.22us,节省了34.51us,这对于通信、图像处理等实时性要求较高的应用来说是很关键的。参考文献1 ARM.AMBA Specification(Rev 2.0).1999.2 吴欣龙.AMBA总线系统介绍.台湾:工研院内部刊物,2002.3 Bruce Mathewson.AMBA总线在复杂系统级芯片片上互连中的应用.电子工程专辑,2004.4 钟文枫,耿彦莉.AMBA片上总线在SOC芯片设计中的应用.电子设计应用,2006.什么是AHB总线和AMBA悬赏分:0 - 解决时间:2007-12-17 10:01 资料上称ARM10支持AHB总线和AMBA,是什么东东? 提问者: s3c44b0 - 四级最佳答案AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位128位总线宽度;支持字节、半字节和字的传输。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。/user1/405/archives/2006/20569.htmlAMBA(Advanced Microcontroller Bus Architecture)总线规范是ARM公司设计的一种用于高性能嵌入式系统的总线标准。它独立于处理器和制造工艺技术,增强了各种应用中的外设和系统宏单元的可重用性。AMBA总线规范是一个开放标准,可免费从ARM获得。目前,AMBA 拥有众多第三方支持,被ARM公司90%以上的合作伙伴采用,在基于ARM处理器内核的SoC设计中,已经成为广泛支持的现有互联标准之一。AMBA总线规范2.0于1999年发布,该规范引入的先进高性能总线(AHB)是现阶段AMBA实现的主要形式。AHB的关键是对接口和互连均进行定义,目的是在任何工艺条件下实现接口和互连的最大带宽。AHB接口已与互连功能分离,不再仅仅是一种总线,而是一种带有接口模块的互连体系。AMBA总线规范主要设计目的如下: 满足具有一个或多个CPU或DSP的嵌入式系统产品的快速开发要求; 增加设计技术上的独立性,确保可重用的多种IP核可以成功地移植到不同的系统中,适合全定制、标准单元和门阵列等技术; 促进系统模块化设计,以增加处理器的独立性; 减少对底层硅的需求,以使片外的操作和测试通信更加有效。AMBA总线是一个多总线系统。规范定义了三种可以组合使用的不同类型的总线:AHB(Advanced High-performance Bus)、ASB(Advanced System Bus)和APB(Advanced Peripheral Bus)。/blog/user1/6/archives/2006/2006112215720.shtml 什么是AHB总线? 2006-6-27 20:24:00 3推荐AHB简介 AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位128位总线宽度;支持字节、半字节和字的传输。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。其互连结构如图1所示。 基于FPGA的OPB_AHB总线桥接器的设计微计算机信息 信息来源: 维库开发网 发布时间:2009年8月4日摘要:本文首先介绍了 AHB和OPB总线协议特点,并在此基础上详细阐述了 OPB_AHB总线桥接器的功能和设计思路,最后给出了 OPB_AHB的验证方法和仿真结果。并在 Xilinx的EDK环境下利用MicroBlaze软核构建了 SoC系统并通过 FPGA验证。1.引言SoC(System on a Chip)自20世纪90年代后期出现以来,广受学术界和工业界的关注, SoC通常将微处理器、 IP(Intelligence Property)核和存储器(或片外存储控制接口)集成在单一芯片上,具有小型、轻量、低功耗、多功能、高可靠和低成本化等特征,在计算机、通信、消费类电子、工控、交通运输等领域应用十分广泛。随着基于IP复用技术的 SoC设计的不断发展,片上总线 OCB(on-chip Bus)技术成为解决 SoC发展的关键技术。目前主要有三大主流片上总线标准: IBM公司的 CoreConnect,ARM公司的AMBA (Advanced Microcontroller Bus Architecture)以及Silicore Corp公司的 Wishbone。本文针对两大主流 OCB总线标准 AMBA和CoreConnect,完成AMBA高性能系统总线AHB和CoreConnect的外围总线 OPB之间的桥接转换,设计出 OPB_AHB桥接器。2.OPB_AHB桥接器功能特性AHB是ARM公司微控制器总线体系结构 AMBA规范定义的三种总线之一,它是先进的系统总线,用于连接高性能系统模块,支持突发数据传输方式及单个数据传输方式, AHB总线可挂接多个功能模块(主 /从),并为它们提供高带宽、低延迟的总线连接。OPB总线是IBM公司推出的一种芯片级的外围设备总线, OPB总线主要连接外围低速设备,降低外围设备对系统性能的影响,支持突发( Burst)操作。Xilinx公司的软核处理器 MicroBlaze能够很好的支持 OPB总线协议, MicroBlaze环境的 OPB总线都是 32位的地址位宽和数据位宽,支持 8bit、16bit、32bit的数据传输。本文设计的OPB_AHB桥接器主要是完成以下四个功能。3.OPB_AHB桥接器结构图1是一个简单的基于 MicroBlaze的OPB_AHB 桥接器拓扑结构图。 MicroBlaze是一个软核处理器,整个系统在 Xilinx的EDK环境下实现, AHB_OPB桥接器可以作为 OPB设备和 AHB设备之间数据、地址和控制命令的传输通道。当OPB主设备要向 AHB从设备读写数据时, OPB_AHB桥接器可以作为 OPB总线这一侧的从设备( Slave),同时在 AHB总线这一侧充当主设备 (Master)的角色,此时 OPB_AHB桥接器主要工作是由图 2中OPB2AHB bridge完成。当 AHB主设备要向 OPB从设备读写数据时, OPB_AHB桥接器可以作为AHB总线这一侧的从设备( Slave),同时在 OPB总线这一侧充当主设备 (Master)的角色,此时 OPB_AHB桥接器主要工作是由图 2中AHB2OPB bridge完成。4.OPB_AHB桥接器的实现实现两种总线的互联,关键是完成控制信号之间的转换以及数据和地址的传输,本设计采用的方法包括。(1)流水线方式, (2)将所有输入的控制信号和数据地址总线都寄存一拍。(3)控制信号都采用同 (4)步设计方法, (5)在OPB_Clk的上升沿触发。(6)数据的读写操作为同 (7)步读写。4.1OPB2AHB_Brg的实现(1) 所有控制信号采用同步设计思想,在 SOPB_Clk的上升沿触发。 SOPB_Rst高电平有效,为同步复位,当其有效时,所有信号输出 0状态。(2) 当桥接器检测到 SOPB_Sel信号有效时,即表明桥接器被选中,成为 OPB总线上的从设备,或者检测到 AHB_Resp信号状态为RETRY,此时 OPB2AHB_Brg作为AHB总线上的主设备向 AHB仲裁器发出请求总线信号 AHB_BusReq。(3) 当OPB2AHB_Brg检测到 AHB总线侧的允许信号 AHB_Grants时,说明桥接器的请求得 到允许,此时当 AHB_Ready有效时,可以根据 SOPB_BE判断传输数据的大小,决定 AHB_Size的状态,当 SOPB_BE为1111时,AHB_Size为010(32bit),SOPB_BE为1100或0011时,AHB_Size为001(16bit),SOPB_BE为0001、0010、0100、1000时,AHB_Size为000(8bit)。(4) 当SOPB_RNW为高电平时,为读取数据,数据流向是从 AHB_Rdata到Sl_Dbus,当 SOPB_RNW为低电平时,为写数据,数据流向从 SOPB_Dbus到AHB_Wdata。地址总线相连,即SOPB_Abus连接AHB_Addr。(5)当一次数据传输完成后, (6)置位Sl_xferAck信号, (7) 让其输出一个时钟周期的高脉冲。4.2 AHB_OPB_Brg的实现(1) 当桥接器检测到 AHB_Sel信号有效时,即表明桥接器被选中,成为AHB总线上的从设备,此时AHB2OPB_Brg作为OPB总线上的主设备向 OPB仲裁器发出请求总线信号 M_req。(2)当桥接器接收到 OPB仲裁器发出的允许信号 OPB_Mgrant信号时, (3)表明桥接器可以开始工作,(4)这个信号会激励 M_Sel信号有效, (5)根据 IP核 BK3721的功能特性, (6) M_BE总是输出 1111,(7) M_SeqAddr和M_busLock输出为0。(3) 当AHB_Write为高电平时,为写数据有效,此时 AHB主设备向从设备桥接器写数据,同时桥接器作为 OPB总线上的主设备向选中的 OPB从设备写数据,数据流向为 AHB_Wdata到 M_Dbus。当AHB_Write为低电平时,为读数据有效,此时 AHB主设备从桥接器(作为 AHB总线上的从设备)读取数据,同时桥接器作为 OPB总线的主设备从选中的 OPB从设备读取数据,数据流向为OPB_DBus到AHB_RData。(8)当数据传输指 (9)示信号OPB_xferAck被检测有效时, (10) AHB_Ready信号输出高电平有效信号, (11)表示数据传输结束。5.OPB_AHB桥接器的验证5.1 OPB2AHB_Brg的验证用verilog编写testbench,在testbench中虚拟设备一个 AHB从设备存储器 AHB_mem,存储器的数据位宽和地址位宽都是 32位,通过测试平台可以对虚拟存储器进行数据的读写,并将数据的读写结果保存到 Wdata.txt文件中。利用ModelSim工具对测试平台进行仿真。在主设备向虚拟从设备写数据时, SOPB_RNW为低电平,桥接器作为AHB上的主设备将 SOPB_DBus数据线上的数据通过 AHB_Wdata写到 AHB_mem存储器中,并在 WData.txt文件中显示出来,仿真结果如图 3 (a)所示。图3 (a) OPB2AHB_Brg写数据仿真波形在主设备从虚拟从设备读取数据时, SOPB_RNW为高电平,桥接器作为 AHB上的主设备将AHB_mem存储器的数据通过 AHB_Rdata读取到Sl_Dbus数据总线上,并在 WData.txt文件中显示出来,仿真结果如图 3 (b)所示。图3 (b) OPB2AHB_Brg读数据仿真波形5.2 AHB2OPB_Brg的验证AHB2OPB_Brg验证平台主要分为测试激励,被测对象以及响应输出三部分。测试过程为:首先对测试激励进行初始化,产生时钟信号和复位信号及控制信号,然后向虚拟 OPB从设备(mem存储器)写数据,写完数据后等待一段时间在进行读取数据操作。在ModelSim中仿真结果如图 4所示。通过观察,当写信号时, AHB_WData数据总线上的数据能够正确的写入到虚拟从设备 OPB_mem中,当读信号有效时,虚拟从诶设备 OPB_mem中的数据能够正确通过 OPB_Dbus传输到AHB_RData总线上。6.结束语本文在分析了 AMBA总线协议和 OPB总线协议的基础上,给出了OPB_AHB桥接器的设计和验证方案。本文作者创新点是采用同步设计和流水线设计方法,能够正确的转换 OPB总线与 AHB总线之间的数据、地址、控制信号,提高了系统的运行速度和稳定性。最后通过 Xilinx的ISE综合和时序仿真,最高频率达到 100MHZ,并导入到 EDK环境中,选择MicroBlaze软核处理器构建 SoC系统,实现 OPB与AHB总线协议的互连。USB2.0设备控制器IP核的AHB接口技术2009-09-06 22:48:00 作者: 来源: 浏览次数:6 文字大小:【大】【中】【小】电子科技大学 左宏权引言通用串行总线USB 2.0接口是目前PC机的主流接口,可提供480 Mb/s(60 MB/s)的高速数据传输,具有即插即用、热插拔、接口体积小巧、节省系统资源、传输可靠、提供电源、良好的兼容性、共享式通信、低成本等优点。由于USB接口的优点和流行,当今嵌入式设计要与PC连接,首选USB接口。ARM 公司提出的AMBA总线,由于其本身的高性能和ARM 处理器的广泛应用,已经成为SoC 设计中广泛使用的总线标准。AMBA rev20中的AHB,采用地址/数据分离格式,支持固定长/不定长猝发(burst) 交易、分裂(split) 交易特性和多个主设备的总线管理,具有高带宽、高性能特性,适合于嵌入式处理器与高性能外围设备、片内存储器及接口功能单元的连接。根据两种总线的特点和广泛支持,为了给嵌入式SoC系统提供USB接口,需要设计USB和AHB间的桥接IP核(Intellectual Property Core)。本文介绍USB 2.0设备控制器IP中的AHB接口部分设计。1设计概述1.1协议概述设计前首先需要了解USB和AHB数据传输的特点。USB上的数据组织为事务进行串行传输,最小数据单位是字节。USB传输始终是由主机方发起的,设备方只负责响应。USB的数据传输分为块、同步、控制、中断四种传输,本IP支持前三种。对于块传输,默认上层协议为BULK ONLY协议1。AHB总线采用单时钟域同步设计。数据、地址线宽32位,采用2级流水线结构,地址、控制信号比数据信号早一个时钟周期。可用猝发(burst)传输来传数据。只需一个时钟周期就可完成总线交权。由于是嵌入式的SoC片上总线,故强调的是面积、工作频率和功耗等。详细情况参见USB13和AMBA协议4。1.2设计规格本IP核的AHB接口,最主要的任务是控制数据在缓存和AHB总线间正确传输,使接口时序满足AHB协议,并协助AHB上的MCU(默认为ARM)控制数据传输;同时要处理与USB控制部分的连接问题,控制USB端的中断申请和寄存器输出。为了适用于大数据量的传输,本IP要求的控制传输是用非DMA方式,块、同步用DMA方式,且已知外部有DMA控制器(默认为ARM双Master的DMA控制器5)。在总体设计中有如下关键问题,决定了IP中AHB接口设计的细节。 双时钟域问题。USB时钟是60 MHz,设计的AHB时钟频率是30133 MHz。跨时钟域的控制信号需要用同步器同步。数据的缓冲问题。IP中使用32位数据位宽的流过式DPRAM(双口SRAM)作为USB和AHB间的数据缓冲。每个端点有固定的缓冲区,使各端点间透明;使用乒乓机制,每个端点两个缓冲区,减小USB和AHB总线速率的相关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 景观栈道施工方案(3篇)
- 海盐无尘室施工方案(3篇)
- 悬浮厨柜施工方案(3篇)
- 物业SOP考试题库及答案
- 安徽省马鞍山市当涂县2024-2025学年高二上学期第二次月考思想政治考试题目及答案
- 心理班面试题目及答案
- 小学文学知识题目及答案
- 蓝色简约秋季开学工作部署
- 读书伴我快乐成长1500字(9篇)
- 名篇阅读课程设计:唐诗五首
- 股权估值协议书模板
- 顺丰快递合同
- 【家庭教育对幼儿性格形成的影响探究11000字(论文)】
- 《电化学原理与应用》课程教学大纲
- 新测绘法解读
- 热力发电厂课件04发电厂的热力系统
- 高海拔作业引发的危险
- 甲醇安全知识培训
- (对外)出租车驾驶员安全行车常识培训课件
- 高效时间管理-提升个人工作效率的方案
- 公安心理健康知识讲座
评论
0/150
提交评论