首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AMBA总线架构简介

于是乎,我们想到了总线,用一个统一的接口协议,设计出一个符合要求的总线,然后将ARM核和各种外设模块挂载在总线上,这样,命令和数据似乎便可以在CPU和外设之间自由穿梭。...1 AMBA总线 AMBA,英文全称为Advanced Microcontroller Bus Architecture,即高级微控制器总线架构。...AMBA的简易发展历史: AMBA 1.0:ASB总线,APB总线 AMBA 2.0:ASB总线,APB总线,AHB总线 AMBA 3.0:ASB总线,APB总线,AHB总线,AXI总线...AMBA中,APB总线、AHB总线和AXI总线的使用较多,所以进行较为详细的介绍。...AHB总线连接着PCIE、USB、HDMI、ROM等高速接口设备 1.3 AXI总线 AXI(Advanced eXtensible Interface)是一种总线协议,是AMBA(Advanced

50220

AMBA-APB总线介绍

高级外设总线 (APB) 是高级微控制器总线架构 (AMBA) 协议系列的一部分。它定义了一个低成本接口,该接口针对最低功耗和降低的接口复杂性进行了优化。...APB 可能相连的接口: • AMBA 高级高性能总线 (AHB) • AMBA 高级高性能总线精简版 (AHB-Lite) • AMBA 高级可扩展接口 (AXI) • AMBA 高级可扩展接口精简版...APB 版本: • AMBA 2 APB Specification • AMBA 3 APB Protocol Specification v1.0 • AMBA APB Protocol Specification...SETUP: 当需要传输时,总线进入 SETUP 状态,此时相应的选择信号 PSELx 被置位。...• 如果 PREADY 被从器件驱动为高电平,则退出 ACCESS 状态,如果不需要更多传输,则总线返回 IDLE 状态。或者,如果另一个传输紧随其后,则总线直接移动到 SETUP 状态。

1.3K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    AMBA之APB总线学习笔记

    APB、AHB、AXI AMBA(Advanced Micro-controller Bus Architecture)用于芯片内各个部件的互联,包含三种类型总线:APB、AHB以及AXI。...APB桥 APB主机接口,APB桥是AMBA APB中的唯一总线主机,也是AMBA高级总线的从机(master为AXI/AHB),桥接口框图如下所示: ? APB从机接口: ?...三态数据总线的实现 建议以分开的读和写数据总线来实现 AMBA APB,这允许使用一个多路复用总线或者“逻辑或(OR)”总线方案来互联许多 APB 总线上的从机。...如果使用了三态总线那么读和写数据总线可以组合成单根总线,因为读和写数据绝不会同时发生。下图表示了不需要特别考虑的因素如果数据总线是使用三态缓冲来实现。 ?...最后给大家分享一下自己学习APB总线时的参考资料,是源自公众号OpenFPGA的一篇推文:AXI协议详解-AMBA总线协议AHB、APB、AXI对比分析,AHB的笔记还没有整理完,之后再与大家分享。

    3.8K20

    AMBA之AHB总线学习笔记

    AHB同是由ARM提出的总线规范,全称为Advanced High Performance Bus,高级高性能总线(高性能、高速时钟),主要用于高速模块(如CPU、DMA、DSP)之间的连接,作为SoC...的片上系统总线,它包括以下特性: (1)、单个时钟边沿操作 (2)、非三态的实现方式 (3)、支持突发传输 (4)、支持分段传输 (5)、支持多个总线主机master(最多16个) (6)、...仲裁机制: 仲裁机制保证了任意时刻只有一个master可以接入总线,arbiter决定哪个发出接入请求的master可以接入总线,这通过优先级算法实现,AHB规范并没有给出优先级算法,设计者需要根据具体的系统要求定义...一般情况下arbiter不会中断一个burst传输,将总线接入权让给其他master。...HRDATA:读数据总线,将数据从slave读到Master。

    1.7K20

    AMBA总线协议(一)——一文看懂APB总线协议

    0.AMBA总线概括 AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点...系统芯片中各个模块之间需要有接口来连接; 总线作为子系统之间共享的通信链路; 其优点:低成本,方便易用 缺点:容易有性能瓶颈 AMBA总线的发展历史: AMBA 1.0 : ASB, APB AMBA...2.0 : AHB, ASB, APB AMBA 3.0 : AMBA Advanced eXiensibele Interface (AXI) AMBA 4.0 : ......AMBA总线体系包括以下三种总线: AHB:Advanced High-performance Bus,用于高性能、高时钟工作频率模块。...下面给出一个典型的AMBA系统: 以一个SOC系统架构设计为例: 从AHB/ASB总线到APB总线需要通过 桥接器(Bridge) 进行互联。

    2.2K30

    AMBA、AHB、APB、AXI总线介绍及对比

    一、AMBA概述 AMBA (Advanced Microcontroller Bus Architecture) 高级微处理器总线架构 定义了高性能嵌入式微控制器的通信标准,可以将RISC处理器(精简指令集处理器...:高速度、高带宽,管道化互联,单向通道,只需要首地址,读写并行,支持乱序,支持非对齐操作,有效支持初始延迟较高的外设,连线非常多; 几种AMBA总线的性能对比分析: AHB与AXI、APB的区别与联系...因此SoC系统中,均以AXI总线为主总线,通过桥连接AHB总线与APB总线,这样能够增加SoC系统的灵活性,更加合理地把不同特征IP分配到总线上; 三、APB总线 APB是一种优化的,低功耗的,精简接口总线...ASB总线是位于APB总线架构之上的用于高性能的总线协议,它有如下特点: a 突发连续传输 b 单管道数据传输 c 多总线主控制器 五、基于AMBA的片上系统 大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块...虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。

    2.2K11

    AMBA (Advanced Microcontroller Bus Architecture) 高级微控制器总线架构

    AMBA (Advanced Microcontroller Bus Architecture) 高级微控制器总线架构 AMBA 是一组互连协议,用于在 SoC(片上系统)中的各个块或 IP...AMBA 自 1996 年以来不断发展,目前已发展到第五代。APB(Advanced Peripheral Bus)和ASB(Advanced System Bus)是最早的AMBA总线协议。...它支持多个总线主控并支持高带宽操作。典型的 AMBA 系统设计包含 AHB 主机、AHB 从机、AHB 仲裁器和 AHB 解码器。它用于在共享总线上连接需要高带宽的组件,如 DMA、DSP 和内存。...AMBA AHB 支持高带宽和高频设计所需的功能: 1)突发传输 2)拆分交易 3)更宽的数据总线配置(64/128 位) 4)单时钟边沿操作 5)单周期总线主切换 4 AXI AXI 是一种点对点互连协议...,克服了共享总线协议的局限性。

    1.5K10

    Linux PCI和PCIe总线

    ,PCIe规范中引入,比较快 – endpoint,x86主板上内置设备的总线号一般为0,而外挂EP的总线号一般从1开始 Figure 3-1 Type0 Header Figure 3-2 Type1...,所以总线编号是8位。...但对于大型系统而言,这是不够的,所以,引入了域的概念,每个PCI域可以拥有最多256个总线,每个总线上可支持32个设备,所以设备号是5位,而每个设备上最多可有8种功能,所以功能号是3位 – I210一般连接在...pcibios_init x86 BIOS专门提供了针对PCI总线的操作,这些操作里就包括了总线枚举的整个过程,Linux kernel中的宏CONFIG_PCI_BIOS。...在系统加电以后自检时,就会完成对PCI总线的枚举,之后Linux对PCI配置空间的访问都是通过BIOS调用的形式进行,提供有这些功能和服务的BIOS就称之为PCI BIOS 。

    6.1K40

    优秀的 VerilogFPGA开源项目介绍(十七)- AXI

    /specifications AMBA总线是ARM研发的(Advanced Microcontroller Bus Architecture)提供的一种特殊的机制,可以将RISC处理器集成在其他IP芯核和外设中...AMBA总线协议 关于AMBA总线协议AHB、APB、AXI对比分析 查看《AXI协议详解-AMBA总线协议AHB、APB、AXI对比分析》 ❝https://github.com/adki/AMBA_AXI_AHB_APB...❝https://github.com/adki/gen_amba ❝https://github.com/adki/gen_amba_2021 'gen_amba' 是一个生成 AMBA 总线 Verilog-HDL...gen_amba_axi : 用于多主机和多从机的 AMBA AXI 总线生成器 gen_amba_ahb : 用于多主机和多从机的 AMBA AHB 总线生成器 gen_amba_apb:用于 AMBA...AXI 或 AHB 的 AMBA APB 总线桥生成器 AXI4_Interconnect ❝https://github.com/Verdvana/AXI4_Interconnect ❝https:

    5.6K31

    罗玉平: 关于ARM Linux原子操作的底层支持

    来源:Linux阅码场, 罗玉平原创,欢迎投稿原创文章(要求投稿前未在任何平台发表),稿费500元人民币。...投稿邮箱:21cnbao@gmail.com 作者简介: 罗玉平, IT行业工作近20年,先后从事无线通讯,linux平台和firmware开发多年,目前从事ARMv8-A架构和CPU软件的客户支持和培训工作...引子 前文宝华的《宋宝华:关于ARM Linux原子操作的实现》谈到软件如何使用ARM V7之后的LDREX和STREX指令来实现spin lock和atomic 函数,这篇文章接着探讨ARM架构和总线协议如何来支持的...例如, 假如某个SOC不支持外部global exclusivemonitor,软件把MMU disabled的情况下,启动SMP Linux,系统是没法启动起来的,在spinlock处会挂掉。...AMBA 5 [3] 里面增加了对Atomic transactions的支持: AMBA 5 introduces Atomic transactions, which perform more than

    3.3K20

    嵌入式:ARM存储器组织、协处理器及片上总线

    文章目录 ARM存储器组织 ARM存储数据类型和存储格式 ARM的存储器层次简介 存储器管理单元MMU ARM协处理器 ARM片上总线AMBA ARM存储器组织 ARM存储数据类型和存储格式 ARM处理器支持以下...ARM片上总线AMBA IC设计方法从以功能设计为基础转变到了以功能整合为基础。 SoC设计以IP的设计复用和功能组装、整合来完成。...3种总线标准:IBM的CoreConnect、ARM的AMBA(Advanced Microcontroller Bus Architecture)和Silicore的Wishbone。...多总线系统 嵌入式系统总线 ARM片上总线AMBA AMBA是ARM公司公布的总线标准,AMBA定义了3种总线: ASB(Advanced System Bus):是目前ARM常用的系统总线,用于连接高性能系统模块...通过AMBA组成的系统如下图所示: 基于AMBA总线的典型系统 AMBA总线 - S3C44b0X 参考文献: 孟祥莲.嵌入式系统原理及应用教程(第2版)[M].北京:清华大学出版社,2017.

    54520

    Linux 总线、设备、驱动模型的探究

    下面进入今天的话题——总线、设备和驱动模型的探究。 设想一个叫 GITCHAT 的网卡,它需要接在 CPU 的内部总线上,需要地址总线、数据总线和控制总线,以及中断 pin 脚等。 ?...没错,Linux 内核里就是运用了这种设计思想去对设备和驱动进行适配隔离的,只不过在内核里我们不叫做适配层,而取名为总线,意为通过这个总线去把驱动和对应的设备绑定一起,如图: ?...基于这种设计思想,Linux 把设备驱动分为了总线、设备和驱动三个实体,这三个实体在内核里的职责分别如下: ?...最底层是不同板子的板级文件代码,中间层是内核的总线,最上层是对应的驱动,现在描述板级的代码已经和驱动解耦了,这也是 Linux 设备驱动模型最早的实现机制,但随着时代的发展,就像是人类的贪婪促进了社会的进步一样...完美的 Linux 怎么会允许这样的事情存在,于是乎,设备树(DTS)就登向了历史舞台,下一篇内容将探讨设备树的实现原理和用法。 【部分内容整理于宋宝华老师课程】

    6.5K41

    Linux笔记(21)| platform总线驱动分析

    //本文主要参考《野火Linux实战开发指南》 上次跟大家分享了设备模型的一些东西,包括总线、设备、驱动等的一些概念,还有他们之间的联系。...因为在Linux当中,对于I2C、SPI、USB这些常见类型的物理总线来说,Linux内核会自动创建与之相应的驱动总线,因此I2C设备、SPI设备、 USB设备自然是注册挂载在相应的总线上。...它们也就没有相应的物理总线,比如led、rtc时钟、蜂鸣器、按键等等,Linux内核将不会为它们创建相应的驱动总线。...为了使这部分设备的驱动开发也能够遵循设备驱动模型,Linux内核引入了一种虚拟的总线——平台总线(platform bus)。...> #include #include #include #include <linux/fs.h

    2.4K40

    数字ICFPGA设计基础_入门必备“常识”

    2:还需要理解On-Chip-Bus的基本知识与一个数字系统的基本结构,建议学习理解:AMBA总线,含:APB/AHB/AXI。...由于ARM在数字IP领域的领导低位,AMBA总线事实上已经成为数字IC的通用总线结构,必学。 3:现在可以开始做数字IP的设计了,涉及到使用相关EDA tool。...PS:在此有个误区,感觉非得使用linux版本的EDA tool(VCS, DC, Formality, nLint)才能学习,然后耗费大量时间去安装linux版本的EDA软件。...其实windows版本的EDA软件对于学习来说完全够用,在工作后再切换到linux版本,就是tool熟悉的过程,每个tool就是几天的时间。...进阶知识、技能 1:算法方向:信号与系统,数字信号处理(DSP); 2:接口方向:UART/IIC/SPI/DDR等常用接口协议;如有余力,可以看看USB/PCIE/SATA/MIPI; 3:linux

    1K61

    AXI总线详解

    · AMBA总线,熟悉ARM架构的朋友应该都大致了解, AMBA是ARM公司的注册商标。是一种用于片上系统(SoC)设计中功能块的连接和管理的开放标准片上互连规范。...它促进了具有总线结构及多控制器或组件的多核处理器设计开发。自成立以来,AMBA已广为应用,远远超出了微控制器设备领域。...如今,AMBA已广泛用于各种ASIC和SoC部件,包括在现代便携式移动设备中使用的应用处理器。...· 高级可扩展接口AXI(AdvancedeXtensible Interface):是ARM公司AMBA 3.0 和AMBA 4.0 规范的一部分,是并行高性能,同步,高频,多主机,多从机通讯接口,主要设计用于片上通讯...为啥说AXI是AMBA的一部分,看看下面两个图就可以比较清晰的了解。 ? ? 最后,就是所有的知识点都可以在Xilinx官方找到相关文档的说明,这里提供一些,建议大家以官方文档为主,自行进行研究。

    1.1K20

    带你认识一下 ARM Cortex-M 阵营

    Cortex M0+处理器使用 AMBA AHB-Lite 总线、降低为两级流水线,支持部分 Thumb/Thumb-2 指令集。 ? 3....使用 AMBA AHB-Lite 总线、三级流水线,支持部分 Thumb/Thumb-2 指令集。 ? 4....Cortex M3 Cortex-M3[5]处理器是专为高性能、低成本平台开发设计的,包括汽车车身系统、工业控制系统、无线网络、传感器等,使用 3 个 AMBA AHB-Lite 总线 (哈佛总线架构)...Cortex M4 Cortex-M4[6]处理器是一款高效的嵌入式处理器,使用 3 个 AMBA AHB-Lite 总线 (哈佛总线架构),三级流水线,支持 Thumb/Thumb-2 部分指令集,支持...Cotex-M23 使用 Armv8-M baseline 架构,拥有「2 级流水线」,使用 AMBA 5 AHB 总线,支持 Thumb/Thumb-2 部分指令集,支持 4 个优先级等级。

    2.5K10

    19.Linux-USB总线驱动分析

    是因为windows自带了USB总线驱动程序, USB总线驱动程序负责: 识别USB设备,给USB设备找到对应的驱动程序 新接入的USB设备的默认地址(编号)是0,在未分配新编号前,PC主机使用0地址和它通信...然后USB总线驱动程序都会给它分配一个地址(编号) PC机想访问USB总线上某个USB设备时,发出的命令都含有对应的地址(编号) USB是一种主从结构。...一个传输方向下 传输方向都是基于USB主机的立场说的, 比如:鼠标的数据是从鼠标传到PC机, 对应的端点称为"中断输入端点" 其中端点0是设备的默认控制端点, 既能输出也能输入,用于USB设备的识别过程 同样linux...其中usb_bus_type是一个全局变量, 它和我们之前学的platform平台总线相似,属于USB总线, 是Linux中bus的一种....如下图所示,每当创建一个USB设备,或者USB设备驱动时,USB总线都会调用match成员来匹配一次,使USB设备和USB设备驱动联系起来.

    8.6K91
    领券