精华内容
下载资源
问答
  • amba总线
    2022-04-21 10:09:00

    AMBA总线协议是一套由ARM提供的互连规范,该规范标准化了各种IP之间的芯片通信机制。这些设计通常有一个或多个微处理器以及集成其他一些组件——内部存储器或外部存储器桥、DSP、DMA、加速器和各种其他外围设备,如USB、UART、PCIE、I2C等。AMBA协议的主要动机是用一种标准和高效的方法来重用这些跨多个设计的IP。

    在这里插入图片描述
    1、APB:高级外围设备总线(APB)用于连接低带宽的外围设备。它是一个简单的非流水线协议。读写操作共享同一组信号,不支持burst数据传输。最新的规范(APB2.0)可以在ARM网站上找到,是最容易学习的AMBA 协议。

    2、AHB:高级高性能总线(AHB)用于连接共享总线上需要更高带宽的组件。这些slave组件可以是内部内存或外部内存接口、DMA、DSP等。AHB可以通过burst数据传输来获得更高的带宽。

    3、AHB-lite协议是AHB的一个简化版本。简化后只支持一个主设计,这消除了对任何仲裁、重试、分割事务等的需求。

    4、高级可扩展接口(AXI)适合于高带宽和低延迟互连。这是一个点对点的互连,并克服了AHB、APB等共享总线协议在可连接的代理数量方面的限制性。该协议支持多个outstanding 的数据传输、burst数据传输、单独的读写通道和支持不同的总线宽度。

    5、AXI-lite协议是AXI的简化版本,简化后不支持突发数据传输。

    6、AXI-stream 协议是AXI协议的另一种风格,它只支持数据流从master 流到slave。与完整的AXI或AXI-lite不同,AXI-stream 协议中没有单独的读/写通道,因为其目的是只在一个方向上流。

    7、ACE-AXI协议是AXI4协议的扩展,应用于在一个芯片上集成多个CPU核心与一致性cache的场景。ACE协议扩展了AXI读写数据通道,同时引入了单独的snoop 地址、snoop 数据和snoop 响应通道。这些额外的通道提供了实现基于snoop 的一致性协议的机制。

    8、ACE-Lite—对于没有自己cache的agents ,但仍属于可共享一致性域的一部分,如DMA或网络接口agent,使用ACE-lite协议实现这种“单向”一致性。

    9、CHI—ACE协议作为AXI的扩展而开发,以支持一致性互连。ACE协议使用了master/slave之间的信号电平通信,因此互连需要大量的线和增加的通道来进行snoops 和响应。这对于具有2/4核移动SOC 的小一致性clusters非常有效。随着SOC上集成越来越多的一致性clusters ——AMBA5修订版引入了CHI协议。CHI协议使用基于分层分组的通信协议,具有协议、链路层和物理层实现,还支持基于QoS的流控制和重试机制。

    下面将分别对APB,AHB,AXI总线进行介绍

    APB

    AHB

    AXI

    更多相关内容
  • 包括AMBA3的中英文协议,AMBA2的中文协议
  • AMBA总线规范_中文版_V2.0.zip
  • SoC设计之AMBA总线-AHB总线详解,中文版!SoC设计之AMBA总线-AHB总线详解,中文版!SoC设计之AMBA总线-AHB总线详解,中文版!SoC设计之AMBA总线-AHB总线详解,中文版!SoC设计之AMBA总线-AHB总线详解,中文版!SoC...
  • 该控制器集成于基于AMBA总线的Garfield系列芯片SEP4020中,采用硬件描述语言(verilog)实现。利用EDA工具VCS,Design Compiler对该控制器进行仿真、综合。设计采用Altera公司的FPGA进行验证,并采用SMIC 0.18μm工艺流片...
  • 基础课程+实训项目 AMBA总线 AHB控制器设计 ekw
  • AMBA总线规范_中文版_V2.0。关于本文,本文是AMBA规范。适合的读者,本文用来帮助有经验的硬件或者软件工程师设计符合AMBA规范的模块。
  • AMBA总线

    2022-04-26 14:23:17
    AMBA是由ARM公司研发推出的一种高级微控制器总线架构(Advanced Microcontroller Bus Architecture)。其中AMBA包含了四种不同的总线标准,分别是: AHB、ASB、APB、AXI。 其中AXI是在AMBA3.0的协议中增加的,可以...

    前言

    仅记录整理一些个人关注的概念,目的在于:整理相关概念,熟悉并了解相关总线等基础知识即可。

    部分内容来源自参考文献,参考文献附录在最后。

    AMBA

    概述

    AMBA是由ARM公司研发推出的一种高级微控制器总线架构(Advanced Microcontroller Bus Architecture)。其中AMBA包含了四种不同的总线标准,分别是: AHB、ASB、APB、AXI。

    其中AXI是在AMBA3.0的协议中增加的,可以用于ARM和FPGA的高速数据交互。剩下的三种是在AMBA2.0协议中定义的总线标准。AHB是高级高性能总线,通常用于CPU和高性能设备之间的交互,类比于现代PC的北桥;而APB是高级外设总线,通常和AHB相连接,来访问一些低速的外设。下图展示了一个典型的基于AMBA的微控制器架构。

    DMA

    DMA是个很特殊的模块,他既有AHB master端口又有slave端口,一个DMA搬运从memory1中数据到memory2的过程如下流程:

    1. CPU通过DMA的slave端口去检查DMA是否IDLE,若IDLE则对DMA进行配置,主要是配置DMA寄存器中的source addr,destination addr和size;
    2. 随后DMA通过master端口去读取memory1中对应的source addr的数据;
    3. 最后DMA通过master端口去向memory2对应的destination addr去写数据;
    4. 最后一次传输完成会向CPU发送一个中断信号提醒CPU完成了一次传输;注意中断信号是不走总线的,中断信号直连到CPU中的内核中断源

    总线互联架构

    主机这边的地址信号haddr和数据信号hwdata都是广播的,通过仲裁器arbiter给出的hselx来选择对应的从机,而从机这边的数据则是通过decoder来解码给主机这边的。当hselx选中对应的从设备后,就可以开始传输。

    无等待传输时序如下

    无等待传输的时序

    AHB传输时序2

    可以看出主机在第一个时钟周期hclk的上升沿给出地址和控制信号,随后从机会在第二个时钟周期给出响应,主机则会在第三个时钟周期采样到从机的响应。

    当插入等待周期时,可以选择将hready拉低,来扩展数据周期的保持时间,如下图所示:

    AHB Master

    1. 一次完整的发送流程从信号①开始,①中的信号表示AHB master给arbiter的信号,hbusreqx表示向其申请总线,hlockx表示锁定总线;
    2. 在获得arbiter返回的②hgrant信号后表示申请到了总线,这时候可以开始传输;
    3. 发送③中的地址信号,控制信号和写数据信号
    4. 在得到主机的信号后,从机给与的response ④
    5. 若是读操作,在AHB Master在第一拍给出控制信号和地址信号后,在第二拍(若hready = 1)AHB slaver给出hrdata,随后AHB master在第三拍采样得到数据hrdata.
    6. htrans表示传输的类型,分别有IDLE,BUSY,NONSEQ(非连续),SEQ(连续),四种类型;
    7. hburst用于描述突发传输的四种模式,分别是SINGLE(单一传输),INCR(未指定长度的增量突发),WRAP4(4拍回环突发),INCR4(4拍增量突发);burst模式很复杂,有空单独开一章来详细的讲;
    8. hwrite表示读写控制信号,1表示写,0表示读;
    9. hsize表示传输的大小,通常和hburst信号来一起决定burst传输的地址边界;
    10. hport是保护控制信号,不常用;
    11. hready和hresp是从机的传输响应信号,其中hready主要用于扩展信号,当其拉低时可以对数据进行扩展,当其拉高表示一次传输完成,hresp和hready相结合来返回响应,当hready =1 时,hresp会返回OKAY信号表示传输成功完成,其余还有ERROR,RETRY,SPILT三种其他响应类型;

    AHB信号列表

    两个AHB master争夺总线的时序如下图所示:

    AHB Slave

    1. 首先根据hselx来看slave是否被选中;
    2. 被选中后根据②中的控制和地址信号来判断传输master传输的要求;
    3. 若是读请求,则送出读数据③,写请求则接收写数据
    4. 给出传输响应④

    arbiter

    decoder

    参考

    1、作者博文
    KEJI300AMBA总线学习(1)
    lkiller_hustAMBA总线概述
    AMBA总览AMBA – Arm Developer
    AMBA(2、3、4、5)规范AMBA | Specifications – Arm Developer
    AMBA总线—APB总线协议详解​​​​​​​

    展开全文
  • AMBA2.0总线协议,是中文的资料,英语不熟悉的可以看看
  • 摘 要:AMBA总线是目前主流的片上总线。本文给出的双层AMBA总线设计能极大地提高总线带宽,并使系统架构更为灵活。文章详细介绍了此设计的实现,并从两个方面对两种总线方式进行了比较。 关键词:双层AMBA总线;总线...
  • AMBA总线介绍 AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。

    AMBA总线介绍

              AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。  

     总线:系统芯片中各个模块之间需要有接口来连接。总线作为子系统之间共享的通信链路。(因为ARM占据市场比较大,很大做IP设计的公司都会去兼容AMBA  interface。)

    ARM中的总线用于不同部件之间的通信。有两种不同类型的设备连接到总线:

    • ARM处理器:它是总线的主设备,拥有对总线的仲裁权,可以通过同一总线主动发起数据传输请求;
    • 外围器件:是总线的从设备,在总线上是被动的,只能对主设备发出的一个传输请求做出反应。 

    举例: 

    总线协议 

    做一个IP设计。要搞清楚IP的输入输出

    例如,做一个AHB的IP,AHB输入,SPI等为输出。跟AHB做通信的端口是必不可少的。    数据之间传输,需要interface。

     AMBA发展历史

             AMBA 协定的目的是为了要推出 on-chip bus 的规范,一开始 AMBA 1.0 只有 ASB 与 APB,为了节省面积,所以这时候的 bus 协定都是 tri-state 的 bus,而到后来 2.0 的 AHB 为了能更方 便设计者(trisate bus 要花更多精力去注意 timing),因此改用 bus 改用 multiplexor 的架构,并增加了新的特性。 

            AMBA 1.0:ASB和APB

            AMBA 2.0:AHB,ASB和APB

            AMBA 3.0:AMBA Advanced extensible Interface (AXI)(可以用于ARM和FPGA的高速数据交互)

            AMBA 4.0:........

    传输速率速度越来越快。 

    AMBA总线优缺点

     AMBA总线优点:

    • 低成本
    • 方便易用(协议简单合理。按照协议传输数据,不会出错)

    AMBA总线缺点:

    • 会造成性能瓶颈(传输速率有上限)

    AMBA总线体系

    AMBA总线体系包括以下三种总线:

    1. AHB:Advanced High-performance Bus,用于高性能、高时钟工作频率模块。
    2. ASB:Advanced System Bus,用于高性能系统模块。
    3. APB:Advanced Peripheral Bus,用于慢速外设模块。

    典型的AMBA系统:

    一个以 AMBA 架构的 SOC,一般来说包含了

    • AHB(high-performance 的 system bus ): 负责连接例如 ARM 之类的 embedded processor 与 DMA controller,on-chip memory 和其他 interface,或其他需要 high bandwidth 的元件。
    • APB(low-power 的 peripheral bus ):用来连接系统的周边元件,其protocol 相对AHB 来讲较为简单, 与 AHB 之间则透过 Bridge 相连,期望能减少 system bus 的 loading。 

    在这里插入图片描述

             AHB支持多个Master,因此需要Arbiter来仲裁。

            APB是外设总线,主要用于低带宽的片内周边外设之间的连接,如UART等,它的总线结构不想AHB支持多个Master,在APB里面,唯一的Master就是APB桥,因此不需要仲裁。 (外围设备做slave,只能由AHB读

    处理器和其它主设备/从设备都是可以替换的。  

    AHB-APB桥:

            在AHB和APB之间,有AHB-APB桥,这是为了解决高性能器件和片内低带宽外设之家的匹配问题;

    AHB-外侨:

            AHB和片外总线之间,有一个AHB-外侨,这是为了解决片内高性能器件和片外设备之间的带宽不匹配。 

    AMBA协议其他有关问题

    与工艺无关
    没有定义电气特性
    仅在时钟周期级定义时序

    • 提取时序参数依赖于所采用的工艺和工作频率

    例子:DMA搬运memory数据

    DMA bus 帮助CPU搬运数据。CPU做master。DMA可以做master、slave,但是这里做slave

    CPU把搬运数据分派给DMA做。

    base address                         0x3000-0x31000,有1000个空间。有很多register

    offset address(偏移地址)   0x00    0x04    0x08    0x0C    0x10

    最终地址=base address+offset address

    register1(0x00 ):写1,说明DMA要start;写0,代表DMA stop

    register2(0x04 ):告诉CPU,DMA现在是否有空

    register3(0x08 ):告诉DMA从哪里搬移数据

    register4(0x0C ):告诉DMA把数据搬到哪里去。

    register5( 0x10 ):告诉DMA搬多少数据。

    要先把DMA这几个寄存器先配好register3-5,然后看DMA是否有空(register2),有空就start(register1)。

    假设把数据从memory1(0x1000-0x1100,1k)搬到memory2(0x2000-0x2100)

    假设现在ready,启动start

    数据流向:

    ①DMA读memory1里面的数据

    ②DMA向memory2里面写数据总线在某一时刻,只能读或者写。)

    ③搬运完了,DMA要发interrupt给CPU(在DMA某个寄存器写入done的状态,CPU读DMA寄存器的值)

            所有告知CPU的信息,都是通过中断方式。只能由CPU读其他模块的寄存器。把状态填在模块的寄存器里,向CPU发送中断。

    (例如,工作做完了,在寄存器填入done的状态,向CPU发送中断,CPU检查寄存器的状态,然后CPU执行下面的指令。或者没有读到数据,写状态,发中断。发生什么事情,记录在status寄存器中,给CPU发中断。)

    Step0 : CPU检查DMA的状态以确认是否可用 

    while(1)
    {
      Read(0x30004,&status)
        if(status == 0)
           break;
    }
    

    Step1 : CPU设置( source address ) 、( destination address ) 、( size ) 

    Write (0x30008,0x10000)
    Write(0x3000C,0x20000)
    Write(0x30010,0x100)
    

    Step 2:启动DMA 

    Write(0x30000,0x1)

    Step3 :DMA把数据从memory 1传送到memory 2

    Step 4: DMA向CPU发出中断请求
    Step 5 : CPU检查DMA的状态

    Read(0x30004,&status)


    参考:

    《AMBA 3 APB 协议规范 》

    AMBA总线介绍_哔哩哔哩_bilibili

    《Introduction to AMBA Bus System》 工研院 / 系統晶片技術中心工程師 吳欣龍 

    展开全文
  • AXI 是ARM 新推出的新一代AMBA 片上总线,AXI 的一序列新特点满足了高性能、高带宽、高速度的现代SoC 设计的要求。本文介绍了AXI 的新特性,并和旧一代总线标准AHB 性能做了详细的比较,同时给出了AXI 的典型应用。 ...
  • 同时,设计了最常用的AMBA总线的OCPIP接口,进而实现AMBA总线上OCPIP核的即插即用功能,加快SoC系统的设计和验证。  引言  SoC设计的快速发展是以IP核复用为基础的。IP核的复用极大地提高了SoC系统设计的开发...
  • AMBA总线的规范,解密版本,可打印可修改。 ARM研发的AMBA(Advanced Microcontroller Bus Architecture)提供一 种特殊的机制,可将RISC处理器集成在其它IP芯核和外设中,2.0版AMBA标准定义了三组总线:AHB(AMBA高...
  • AMBA总线协议

    2013-09-26 17:41:35
    本资源是对AMBA总线的详细介绍,里面的内容简单易懂,特别适合于初学者
  • AMBA总线概述

    千次阅读 2022-06-07 12:35:19
    AMBA总线简介

    系统芯片各个模块之间需要接口连接(公共资源–高速公路),不可能每个城市两两之间都建公路。AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,作为子系统模块之间共享的的通信链路。

    AMBA总线主要有三种总线(通道):

    AHB:Advanced High-performance Bus,用于高性能、高时钟工作频率模块;

    APB:Advanced Peripheral Bus,用于低速、低功耗外设模块,接口简单;外设模块如uart,spi,timer,i2c

    AXI:Advanced eXtensible Interface,用于高性能,高带宽,低延迟的片内总线,目前最新和性能最好的总线标准。

    总线AXIAHBAPB
    总线宽度8,16,32,64,128,256,512,102432,64,128,2568,16,32
    地址宽度323232
    通道特性读写地址通道,读写数据通道均独立 ,支持读写并行操作读写地址通道共用读写数据通道,不支持读写并行操作读写地址通道共用读写数据通道,不支持读写并行操作
    体系结构多主/从设备,仲裁机制多主/从设备,仲裁机制单主/多从设备,无仲裁机制
    数据协议支持流水/burst传输,支持乱序访问,大小端对齐,非对齐操作支持流水/burst传输,支持乱序访问,大小端对齐,不支持非对齐操作一次读/写传输占两个时钟周期,不支持burst传输
    时序同步同步同步
    互联多路多路无定义

    总线宽度:总线能够一次性传送的二进制数据位数,例如8bit、16bit、32bit、64bit等
    下面是一个典型的AMBA结构
    一个典型的AMBA结构
    AHB组成部分:
    1.主设备master
    发起读写操作,提供地址和控制信号;某一时刻只允许一个主设备使用总线,例如CPU,DMA,DSP
    2.从设备slave
    通过地址映射对读写操作做出响应,对master返回成功、失败和等待状态
    3.仲裁器arbiter
    负责保证总线只有一个master,允许哪一个主设备控制总线,比如CPU和DMA同时发起,仲裁器会选择让CPU先用总线,让DMA等一会
    4.译码器decoder
    通过地址译码来决定选择哪一个从设备

    APB组成部分:
    1.AHB2APB Bridge
    可以锁存总线所有的地址,数据和控制信号
    进行二级译码来产生APB从设备选择信号
    2.APB上所有的其他模块都是APB从设备

    DMA在Soc系统中,通过AHB总线跟CPU协同工作,下面是实现memory到memory的数据传输流程
    在这里插入图片描述
    AHB 信号

    名称来源描述
    HCLK时钟源时钟为所有总线传输提供时基。所有信号时序都和HCLK 的上升沿相关。
    HRESETn复位控制器总线复位信号低有效并用来复位系统和总线。这是唯一的低有效的信号。
    HADDR[31:0]主设备32 位系统地址总线。
    HTRANS[1:0] 传输类型主设备表示当前传输的类型,可以是不连续NONSEQ、连续SEQ、空闲IDLE和忙BUSY。
    HWRITE 传输方向主设备当该信号为高(1)时表示一个写传输,为低(0)的时候表示一个读传输。
    HSIZE[2:0] 传输大小主设备表示传输的大小,典型情况是字节(8 位)、半字(16位)或者是字(32 位)。
    HBURST[2:0] 突发类型主设备表示传输是否组成了突发的一部分。支持四个、八个或者 16 个节拍的突发传输并且突发传输可以是增量或者是回环。SINGLE、INCR、WRAP4、INCR4等
    HPROT[3:0] 保护控制主设备提供总线访问的附加信息并且主要是打算给那些希望执行某种保护级别的模块使用的。这个信号指示当前传输是否为预取指或者数据传输,同时也表示传输是保护模式访问还是用户模式访问。对带存储器管理单元的总线主机而言这些信号也用来指示当前传输是高速缓存的(cache)还是缓冲的(buffer)
    HWDATA[31:0] 写数据总线主设备写数据总线用来在写操作期间从M到S传输数据。建议最小的数据总线宽度为 32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。
    HSELx 从机选择译码器每个 AHB 从机都有自己独立的从机选择信号并且用该信号来表示当前传输是否是打算送给选中的从机。该信号是地址总线的简单组合译码。
    HRDATA[31:0] 读数据总线从设备读数据总线用来在读操作期间从S向M传输数据。建议最小的数据总线宽度为 32 位。然而,在要求高带宽运行时扩展(数据总线)还是很容易的。
    HREADY传输完成从设备S应答M是够读写操作完成,1-传输完成,0-需要延长传输周期。当 HREADY 为高时表示总线上的传输已经完成。在扩展传输时该信号可能会被拉低。注意:总线上的从机要求 HREADY 作为输入输出信号。
    HRESP[1:0]传输响应从设备S应答当前传输状态。提供四种不同的响应:OKEY、ERROR、RETRY(不影响master优先级) 和 SPLIT(给aribter反应,)。

    AHB基本传输:两个阶段,地址周期(AP)和数据周期(DP),而且是先地址后数据周期
    地址周期只有一个周期,数据周期由HREADY决定需要几个周期
    流水线传送

    APB基本传输:唯一主设备是APB的bridge,不需要仲裁一些信号,两个时钟周期传输,完成一次读或写的操作,无需等待周期和回应信号,控制逻辑简单,只有四个控制信号
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    总结:地址线、写信号线、选择线将同写操作时一样保持不变;
    从端需要在ENABLE周期内,返回PRDATA;
    PRDATA将在ENABLE周期的下一个周期被采样

    展开全文
  • AMBA总线介绍[文].pdf

    2021-10-19 01:18:42
    AMBA总线介绍[文].pdf
  • AMBA总线规范_20_cn.pdf

    2019-05-09 10:43:03
    文档结构 第一章 AMBA总线简介 第二章 AMBA信号 第三章 AMBA AHB 第四章 AMBA ASB 第五章 AMBA APB 第六章 AMBA 测试方法
  • AMBA总线规范

    2017-11-24 15:07:24
    AMBA总线规范中文版手册 高级微控制器总线体系(Advanced Microcontroller Bus Architecture AMBA )规范。
  • AMBA总线规范_cn_20.pdf

    2020-02-19 09:35:51
    AMBA总线规范_cn_20中文版
  • AMBA总线规范_cn_20.rar

    2020-12-01 08:42:00
    ARMBA总线规范
  • amba总线协议介绍

    2018-01-26 15:06:48
    amba总线协议介绍,amba总线协议介绍,amba总线协议介绍,amba总线协议介绍,amba总线协议介绍,amba总线协议介绍
  • AMBA总线详解文档

    2018-10-16 09:53:40
    给需要深入了解arm内部架构的朋友,可以看看这份文档,很深入的讲解了总线的原理,这样当你再看CM3/4/7内核手册时,看到内核总线架构图,就明白了他们到底是怎样工作的;
  • AMBA总线协议,最全

    2017-09-18 14:55:17
    描述AMBA通信协议的文档,很全面,感兴趣的可以看看。如果要用到AXI总线的一定要看,其中也有描述ACE协议的部分。
  • AMBA总线规范_中文

    2019-01-07 12:13:24
    AXI ( Advanced eXtensible Interface)是...ARM 公司提出的 AMBA ( Advanced Microcontroller Bus Architecture) 3.0 协议中 最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。 很不错的,分享给大家。
  • AMBA总线介绍

    2022-07-11 15:21:33
    总线作为子系统之间共享的通信链路 优点:低成本,方便易用 缺点:会造成性能颈瓶AMBA:Advanced Microcontroller Bus Architecture。片总线的标准 定义了三种总线:AHB(Advanced High-performance Bus)、ASB...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,104
精华内容 1,641
关键字:

amba总线