ARM中的总线

ARM中的总线用于不同部件之间的通信。有两种不同类型的设备连接到总线:ARM处理器,它是总线的主设备,拥有对总线的仲裁权,可以通过同一总线主动发起数据传输请求;外围器件,是总线的从设备,在总线上是被动的,只能对主设备发出的一个传输请求做出反应。

ARM的总线结构称为AMBA(高级微控制总线结构),是ARM推出的开放式总线结构,是目前流行的一种工业标准偏上结构。AMBA2.0规范包含四个部分:AHB、ASB、APB和Test Methodology,主要应用的是AHB、APB。

AHB主要用于高性能模块如CPU、DMA和DSP等之间的连接,作为SoC的偏上总线系统,它包括以下一些特性:

Single-Clock edge operation

Non-Tristate implementation

Burst transfers

Split transaction(分段传输)

Multiple bus master

可配置32位~128位总线宽度;支持字节、半字和字的传输。AHB系统Master、Slave和Infrastructure三部分组成。整个AHB上的传输都是由Master发出,由Slave负责回应。而Infrastructure由7部分组成:Arbiter、Master-To-Slave Multiplexer、Slave-To-Master Multiplexer、Decoder、Dummy Slave、Dummy Master。

由于AHB支持多个Master,因此需要Arbiter来仲裁;Decoder负责地址译码;Dummy Slave是虚拟Slave;Dummy Master是虚拟Master。

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

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

另详细可参考:

《Introduction to AMBA Bus System》

《ARM amba总线介绍》http://blog.chinaunix.net/u2/60011/showart_1071564.html

ARM中的总线

时间: 2024-10-05 16:18:26

ARM中的总线的相关文章

ARM中13个必知知识点详解

ARM处理器的优点相信不用多说,大家都了解,其非常适合在嵌入式学习初期使用,在开始使用ARM进行实际操作之前,还是希望大家能够了解一些其使用过程中一些注意事项.接下来我们就一起来看看ARM中有哪些需要注意的事项吧. MAM使用注意事项 当改变MAM定时值时,必须先通过向MAMCR写入0来关闭MAM,然后将新值写入MAMTIM.最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM.对于低于20MHz的系统时钟,MAMTIM设定为001.对于20MHz到40MHz之间的系统时钟,建议将Fla

ARM 中必须明白的几个概念

文章具体介绍了关于ARM的22个常用概念. 1.ARM中一些常见英文缩写解释 MSB:最高有效位: LSB:最低有效位: AHB:先进的高性能总线: VPB:连接片内外设功能的VLSI外设总线: EMC:外部存储器控制器: MAM:存储器加速模块: VIC:向量中断控制器: SPI:全双工串行接口: CAN:控制器局域网,一种串行通讯协议: PWM:脉宽调制器: ETM:嵌入式跟踪宏: CPSR:当前程序状态寄存器: SPSR:程序保护状态寄存器: 2.MAM 使用注意事项: 答:当改变 MAM

ARM中的寻址方式

ARM处理器支持9中不同的寻址方式. 1.移位寄存器寻址: 有5种移位方式: LSL:逻辑左移.最低位用0补充,且移出的最后一位存放在cpsr中的C位中. LSR:逻辑右移.最高位用0补充,且移出的最后一位存放在cpsr中的C位中. ASR:算术右移.最高位用符号位补充,且移出的最后一位存放在cpsr中的C位中. ROR:循环右移(不涉及到CPSR中的C位的循环右移).且移出的最后一位存放在cpsr中的C位. RRX:扩展循环右移(带有C位的右移).只循环右移一位,且最高位用cpsr中的C位补充

ARM中的看门狗程序

在ARM中,有一个硬件部分叫WATCH DOG.这个硬件,一直在做一件事情:就是,从某一数值,一直数,各一段时间减一,隔一段时间减一,直到减到0的时候将会触发重启或者中断.而有时候,为了预防死机,我们在操作系统跑起来的时候会有一个特定的程序来做一件事情:减到特定是值的时候数值将会重新置到100.这样,看门狗将会循环往复做一件事情:一直数数,而不会死机. 这个程序叫做守护程序:又叫做喂狗程序. 看门狗的逻辑运算图如下: 今天,有看门狗来写了一个程序:隔一段时间来触发一个中断,每次中断来的时候,将会

OR1200处理器中Wishbone总线接口模块WB_BIU介绍

以下内容摘自<步步惊芯--软核处理器内部设计分析>一书 WB_BIU模块是OR1200处理器与外部Wishbone总线连接的接口模块,15.1节给出了WB_BIU模块的对外连接关系,并指出WB_BIU模块的三个作用.因为OR1200处理器支持Wishbone B3版本,所以在15.2节介绍了Wishbone B3版本中的寄存反馈总线周期,重点说明了其中的周期类型识别地址标签CTI_O/CTI_I.突发类型扩展地址标签BTE_O/BTE_I的作用. 15.1 WB_BIU模块的对外连接关系 通过

ARM中的中断

在ARM中,事件发生将会触发中断,然而,中断并不会直接触发CPU,而是在由一个GIC,中断控制器来管理: 其中,中断分为?Supports three interrupt types: Private Peripheral Interrupt (PPI)一个中断源对应一个CPUSoftware Generated Interrupt (SGI)     CPU对应CPUShared Peripheral Interrupt (SPI)    一个中断源对应多个CPU 今天的例子是用SGI中断来实

如何将已部署在ASM的资源迁移到ARM中

使用过Azure的读者都知道,Azure向客户提供了两个管理portal,一个是ASM,一个是ARM,虽然Azure官方没有宣布说淘汰ASM,两个portal可能会在很长的一段时间共存,但是考虑到ARM提供了更多的功能,只有很少部分工作才会用到powershell完成,所以笔者建议以后大家尽量使用ARM,但是对于哪些已经使用ASM作为生产环境的用户想迁移到ARM中,应该怎么办,今天笔者就像大家介绍一下如何将云资源从ASM迁移到ARM中!!! 首先介绍一下现在迁移可以使用的一些服务与工具 1.平台

ARM中的异常和中断

ARM中有5种异常模式,有7种中断源.这7种中断源中有些中断是我们希望发生的,但有些中断是我们不希望发生的. 我们希望发生的中断: 软中断:属于svc模式,通过SWI指令便可以产生软中断,进入到svc模式. irq中断:属于irq模式,当产生普通的外部中断时,处理器便进入到IRQ模式. fiq中断:属于fiq模式,当产生高优先级外部中断时,处理器便进入到FIQ模式. 我们不希望发生的中断: 复位:属于svc模式,当系统上电时便会产生复位中断,系统进入到svc模式.复位中断不需要中断返回. 取指中

ARM中MMU地址转换理解

首先,我们要分清ARM CPU上的三个地址:虚拟地址(VA,Virtual Address).变换后的虚拟地址(MVA,Modified Virtual Address).物理地址(PA,Physical Address) 启动MMU后,CPU核对外发出虚拟地址VA,VA被转换为MVA供MMU使用,在这里MVA被转换为PA:最后通过PA读写实际设备 MMU的作用就是负责虚拟地址(virtual address)转化成物理地址(physical address). 32位的CPU的虚拟地址空间达到