于是乎,我们想到了总线,用一个统一的接口协议,设计出一个符合要求的总线,然后将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. 【SpringMVC】 Controller接收深度复杂对象封装不到的问题

    首先来看数据结构的定义: 一个Form对象,然后里面有一个排版日期对象的List集合 排班集合的每个元素中又有一个String集合 在前端的Post请求中可以看到这个String集合是传递了的 但是D ...

  2. 苹果系统Mac升级后之前的网络软件不可用——Mac系统维护——Mac系统升级后软件报错——mac系统升级后导致软件兼容报错

    ========================================== 博士同学最近联系我,说是自己的mac系统升级后之前可以用的网络软件不可用使用了,由于平时工作需要,这个网络软件如果 ...

  3. blender-点线面操作

  4. MFC制作带界面的DLL库

    ## MFC如何创建一个带界面的DLL(动态链接库) 1.创建项目 打开VS,文件->新建->项目: 点击确定之后弹出来的界面,点击下一步->选择"使用共享MFC DLL的 ...

  5. 【全】CSS动画大全之按钮【a】

    效果预览 代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

  6. Elsa V3学习之Hello Word

    前面文章介绍了Elsa的基础节点内容,接下来我们来开始实践一下. 启动项目 启动源码目录src\bundles中的Elsa.ServerAndStudio.Web的项目.这个项目包含Elsa Serv ...

  7. JavaScript设计模式样例二十 —— 中介者模式

    中介者模式(Mediator Pattern) 定义:用来降低多个对象和类之间的通信复杂性.目的:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独 ...

  8. JAVA——水仙花数问题

    2024/07/12 1.问题 2.错误解法 3.错误分析 4.正确解法 5.其他:关于Java中幂函数的用法 6.参考 1.问题 2.错误解法 import java.util.Scanner; p ...

  9. Tesla 开发者 API 指南:BLE 密钥 – 身份验证和车辆命令

    注意:本工具只能运行于 mac 或者 linux, win下不支持. 1. 克隆项目到本地 https://github.com/teslamotors/vehicle-command.git 2. ...

  10. java_html笔记

    颜色 color 字体大小 1. 数值+单位 2. 关键字 - px - em 字体(可以写多个,但 不是全都生效 只生效存在的 如果全都不存在 则使用默认字体) font-family:" ...