于是乎,我们想到了总线,用一个统一的接口协议,设计出一个符合要求的总线,然后将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总线的使用较多,所以进行较为详细的介绍。

1.1 APB总线

1、特点

  • 低速总线,低功耗。
  • 接口简单。
  • 在桥接器中锁存地址信号和控制信号。
  • 适用于多种外设,例如Timer,UART等。
  • 上升沿触发。

2、组成

  • ahb_to_apb(桥接器),可以锁存所有的地址、数据和控制信号,进行二级译码来产生APB从设备选择信号。

  • APB总线上的所有其它模块都是APB从设备。

APB1总线:

(1)定时器TIM2到TIM7;

(2)RTC;

(3)WDT看门狗;

(4)SPI2 、SPI3;

(5)USART2、USART3;

(6)UART4、UART5;

(7)I2C1,I2C2;

(8)USB./CAN共享的512字节SRAM;

(9)bXCAN1、bXCAN2;

(10)后备寄存器BKP;

(11)电源控制PWR;

(12)DAC

APB2总线:

(1)USART1;

(2)高级控制定时器TIM1和TIM8;

(3)模数转换器ADC1、ADC2、ADC3;

(4)SPI1;

(5)外部中断EXTI;

(6)复用IO,AFIO;

(7)通用IO:GPIOA~G;

1.2 AHB总线

1、特点

  • 高速总线,高性能。
  • 可支持多个总线主设备(最多16个)。
  • 支持burst传输。
  • 总线带宽:8、16、32、64、128bits。
  • 上升沿触发。

2、组成

  • AHB主设备(master)。
  • AHB从设备(slave)。
  • AHB仲裁器(arbiter)。
  • AHB译码器(decoder)。

AHB总线连接着PCIE、USB、HDMI、ROM等高速接口设备

1.3 AXI总线

AXI(Advanced eXtensible Interface)是一种总线协议,是AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。

AXI总线连接嵌入式处理器、片内RAM、DMA主机、ISP、CODEC等高速设备

AMBA总线架构简介的更多相关文章

  1. AMBA总线基础知识简介

    AMBA:Advanced Microcontroller Bus Architecture,是ARMA公司的片内互联总线协议. 1995 - AMBA1.0 APB外设总线及ASB系统总线发布. 1 ...

  2. AMBA总线介绍

    The Advanced Microcontroller Bus Architecture (AMBA) specification defines an on- chip communication ...

  3. AMBA总线协议AHB、APB

    一.什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus).ASB (Advanced ...

  4. AMBA总线协议AHB、APB、AXI对比分析【转】

    转自:https://blog.csdn.net/ivy_reny/article/details/56274412 一.AMBA概述    AMBA (Advanced Microcontrolle ...

  5. Cortex-M0(+)内核的处理器架构简介

    Cortex-M0(+)内核的处理器架构简介 2015年03月02日 16:51:12 阅读数:3158 系统架构 Cortex-M0处理器具有32位系统总线接口,以及32位地址线,即有4GB的地址空 ...

  6. LoadRunner系统架构简介

    1.LoadRunner系统架构简介 LoadRunner是通过创建虚拟用户来代替真实实际用户来操作客户端软件比如Internet Explorer,来向IIS.Apache等Web服务器发送HTTP ...

  7. crtmpserver的架构简介

    crtmpserver的架构简介 一.层 Layers . 机器层 Machine layer . 操作系统层 Operating System Layer   This layer is compo ...

  8. cavium octeon 处理器启动总线Bootbus 简介

    cavium octeon 处理器启动总线Bootbus 简介: 韩大卫@吉林师范大学 Boot-bus(启动总线)是cavium octeon处理器的一种用于启动系统的硬件. CPU通过boot b ...

  9. Extjs6官方文档译文——应用架构简介(MVC,MVVM)

    应用架构简介 Extjs 同时提供对于MVC和MVVM应用架构的支持.这两个架构方式共享某些概念,而且都旨在沿着逻辑层面划分应用程序代码.每种方法在选择如何划分应用组件上都有其各自的优势. 本指南的目 ...

  10. FC总线技术简介

    FC是由美国标准化委员会(ANSI)的X3T11小组于1988年提出的高速串行传输总线,解决了并行总线SCSI遇到的技术瓶颈,并在同一大的协议平台框架下可以映射更多FC-4上层协议.FC具备通道和网络 ...

随机推荐

  1. 【Uni-App】page.json 配置项一栏笔记

    官方文档 https://uniapp.dcloud.io/collocation/pages 一些配置项是全局的,也可以在页面对象中设置 { "pages": [ //pages ...

  2. Cannot lower pallas_call on platform: cuda

    Jax框架JAX-Triton不可用: 参考地址: MLIR translation rule for primitive 'pallas_call' not found for platform c ...

  3. 国产显卡如何正确打开 —— Windows平台下使用驱动精灵为国产显卡更新驱动(兆芯平台)

    买了一个国产的电脑,全国产,CPU慢些也就忍了,软件兼容性差.稳定性差也忍了,大不了就用来上网看电影嘛,关键问题是这个国产显卡放电影居然有些卡,播放电影的时候存在明显的卡顿感,这简直是把国产电脑在我脑 ...

  4. 向日葵的平替:一款个人开发的远程工具——fastnat

    相关资料: https://www.cnblogs.com/thinkingmore/p/14317505.html https://www.cnblogs.com/thinkingmore/p/15 ...

  5. 使用ChatGPT时的信息安全问题

    ChatGPT由于其在对话方面的AI性能的卓越表现已经远远超越了同类的产品,因此赢得了国际科研领域的极大重视,并且也得到了广大用户的支持,但是在人们尽情使用的时候往往忘记了关于ChatGPT的信息安全 ...

  6. 机器学习经典教材《模式识别与机器学习》,Pattern Recognition and Machine Learning,PRML官方开放免费下载

    微软剑桥研究院实验室主任Christopher Bishop的经典著作<模式识别与机器学习>,Pattern Recognition and Machine Learning,简称PRML ...

  7. 获取客户端真实IP备忘

    出于安全考虑,近期在处理一个记录用户真实IP的需求.本来以为很简单,后来发现没有本来以为的简单.这里主要备忘下,如果服务器处于端口回流(hairpin NAT),keepalived,nginx之后, ...

  8. 开源的 P2P 跨平台传文件应用「GitHub 热点速览」

    就在上周,发完那篇文章之后不久,我就有幸获得了 GitHub Models 服务公测的访问权限,所以就体验了一下 Playground 聊天功能. 起初,我以为这是"微软菩萨"降临 ...

  9. 我们常用的地铁卡/银行卡,竟然运行着一个 Java 虚拟机

    我们日常使用 NFC 卡可以用来刷地铁,进出门禁,但是你有没有想过, 当我们使用一个 NFC 的 IC 卡刷卡进入地铁的时候,此时系统是如何知道我这个卡上有多少充值余额的? 这个薄薄的 NFC 卡到底 ...

  10. navicat远程连接报错

    mysql,2003 can't connect to mysql server on 10038 我们连接远程服务器的mysql,如果出现问题,很大问题会出在服务器的端口和授权问题 # 首先我们通过 ...