AMBA总线概述

一、概述

高级微控制器总线体系(AMBA)规范定义了在设计高性能嵌入式微控制器时的一种片上通信标准。

AMBA2.0标准定义了3种不同的总线:

l 高级高性能总线(AHB)

l 高级系统总线(ASB)

l 高级外设总线(APB)

一般的系统会选择AHB/ASB+APB的总线架构,图1是一个典型的AMBA系统

图 1 典型AMBA系统

AMBA AHB用于高性能、高时钟频率的系统模块;AMBA APB则用于低功耗外设。

1、AHB信号列表


信号名


来源


描述


HCLK


时钟源


总线时钟,其他总线信号参考对齐于HCLK上升沿


HRESETn


复位控制器


总线复位信号,低有效


HADDR[31:0]


主机


AHB地址总线


HTRANS[1:0]


主机


表示传输类型,有空闲、非连续、连续、忙


HWRITE


主机


高电平表示写,低电平表示读


HSIZE[2:0]


主机


传输大小,典型情况有字节(8bit)、半字(16bit)、字(32bit),最大到1024bit


HBURST[2:0]


主机


表示传输是否组成突发


HPROT[3:0]


主机


提供总线访问的附加信息,给那些支持保护级别的模块用


HWDATA[31:0]


主机


写数据总线,主机向从机写入的数据


HSELx


译码器


每个AHB从机有自己的独立选择信号,表示选择对应从机;由地址总线简单译码得到。


HRDATA[31:0]


从机


读数据总线,从机向主机返回读的数据


HREADY


从机


为高表示总线传输完成,拉低用来扩展传输周期


HRESP[1:0]


从机


传输响应,为传输状态提供附加信息。有OKEY,ERROR,RETRY,SPLIT


HBUSREQx


主机


主机x向仲裁器发起一次主机请求


HLOCKx


主机


主机请求锁定对总线的访问,在此信号为低前,其他主机无法获得总线访问。


HGRANTx


仲裁器


表示对对应的主机授予总线访问权限。


HMASTER[3:0]


仲裁器


表明那个主机正在进行传输。


HMASTLOCK


仲裁器


表明当前主机正在进行锁定传输


HSPLITx[15:0]


从机


支持分块传输的从机,分块总线上每一位对应一个总线主机。

2、APB信号列表


信号名


描述


PCLK


总线时钟,其他总线信号参考对齐于PCLK上升沿


PRESETn


总线复位信号,低有效


PSEL


来自AHB2APB桥的2级译码信号,选中相应外设,表示对应外设即将发生一次传输。


PENABLE


PENABLE表示一次APB传输的第二个时钟周期


PWRITE


读写控制线,高为写,低为读


PRDATA


从机返回的读的内容。->


PWDATA


主机向从机的写入的内容


PADDR


APB地址总线

二、APB总线

1、状态图

用图2所示状态图可以表示APB总线传输过程中的状态转换关系。

图 2 APB传输状态图

状态说明:

IDLE :空闲状态,总线大部分时间处于此状态。

SETUP :对应外设的psel信号被断言,表明对应外设即将有传输要求,总线进入SETUP状态。总线在SETUP状态保持一个周期,并总是在下一个时钟上升沿进入ENABLE状态。

ENABLE :penable信号被断言,地址、写、选择信号在SETUP进入ENABLE过程中保持不变。ENABLE状态持续一个周期,如果之后没有进一步的传输要求,总线返回到IDLE。如果紧跟另一个传输,则进入SETUP状态,进行第2次传输。

2、写传输

图3表明了一个写传输的过程:

图 3 APB写传输

如图3所示,一次传输过程中,psel保持两个周期不变,且在此期间,paddr、pwrite也保持不变,penable在psel有效的第2个周期有效。为了降低功耗,地址信号和写信号将在传输后不再改变,直到发生下一次传输。协议仅要求使能信号有个规则的跳变,背靠背传输情况下,选择和写信号可能有小跳变。

写逻辑推荐写法:

 1 assign wr = psel & pwrite & (penable);
 2 always @(posedge pclk or negege present)
 3 begin
 4     if(!presetn)
 5     begin
 6         REG_A <= 32’h0;
 7     end
 8     else if(wr & paddr = REG_A_ID)
 9     begin
10         REG_A <= pwdata;
11     End
12 end

3、读传输

图4是一个读传输时序图:

图 4 APB读传输

读传输时各信号的时序和写时一样,在读传输中,从机必须在ENABLE周期提供数据,数据在ENABLE末尾的时钟上升沿被采样。

读逻辑推荐写法:

 1 assign rd = psel & (~pwrite) & (~penable) ;
 2 always @(*)
 3 begin
 4     if(rd)            //setup
 5     begin
 6         case(paddr)
 7         REG_A_ID    : prdatanxt = REG_A;
 8         REG_B_ID    : prdatanxt = REG_B;
 9         ……
10         default        : prdatanxt = 32’h0;
11         endcase
12     end
13     else
14     begin
15         prdatanxt = 32’h0;
16     end
17 end
18 always @(posedge pclk or negege present)
19 begin
20     if(!presetn)
21     begin
22         prdata <= 32’h0;
23     end
24     else    begin
25         prdata <=prdatanxt;
26     End
27 end

三 、AHB总线

从上面可以看出,APB总线非常简单,用于一些简单的外设连接非常方便,AHB则要复杂的多。下面简单的对其进行介绍,详细的请参看ARM官方文档。

1、总线互联

AHB使用多路器进行总线互联,总线信号全部为单向传输,相比其他的三态总线,能运作在更高的频率,并且有利于综合实现。图 5为AHB总线互联架构:

图 5 AHB总线互联架构

2、基本传输

AHB传输包含两个不同的部分:

l 地址相位,持续单个周期

l 数据相位,可能需要多个周期,可通过HREADY实现(会影响下一个传输的地址相位。)

图 6-1、6-2、6-3为一个AHB总线传输基本时序图:

图 6-1 AHB传输时序1

图 6-2 AHB传输时序2

图6-3 AHB传输时序3

图6-3中,地址A和地址C的传输为零等待传输,地址B的传输插入了一个等待周期,这个等待周期扩展了地址B传输的数据相位,同时影响了地址C传输的地址相位。

时间: 2024-10-08 20:26:09

AMBA总线概述的相关文章

AMBA总线分析

一.AMBA总线标准 1. AMBA 全称"Advanced Microprocessor Bus Architectur",是ARM公司提出的一种开放性的SOC总线标准,现已经广泛应用于RISC的内核上上. 2. AMBA定义了一种多总线系统(multilevel busing system),包括系统总线和等级稍低的外设总线. AMBA支持32位.64位.128位的数据总线,和32位的地址总线,同时支持byte和half-word设计. 3. AMBA总线标准定义了三组总线:AHB

AMBA总线协议AHB、APB

一.什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus).ASB (Advanced System Bus).APB (Advanced Peripheral Bus).AHB用于高性能.高时钟频率的系统结构,典型的应用如ARM核与系统内部的高速RAM.NAND FLASH.DMA.Bridge的连接.APB用于连接外部设备,对性能要求不高,而考虑低功耗问题.ASB是AHB的一种替代

AMBA总线介绍

The Advanced Microcontroller Bus Architecture (AMBA) specification defines an on- chip communications standard for designing high-performance embedded microcontrollers. 高级微控制器总线结构Advanced Microcontroller Bus Architecture(AMBA)定义了高性能嵌入式微控制器的通信标准. l  A

【知识强化】第六章 总线 6.1 总线概述

那么我们从这一章开始将进入到第六章总线的学习,其实在之前的章节当中我们已经多多少少接触过一点总线,也提到过它的一些概念,但是我们当时只是稍微地提了一下,并没有具体地展开来讲.那么我们第六章呢就来具体地分析一下总线它的一些知识点.那么第六章相较于前面所有的章节都是比较简单的一章,因为它的内容非常少,知识点呢也很少. 我们来看一下,考纲当中对于总线这一章,它提了四块内容.第一个呢就是总线的概述. 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/11490170

CAN总线概述

基本概念 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议.在汽车产业中,出于对安全性.舒适性.方便性.低公害.低成本的要求,各种各样的电子控制系统被开发了出来.由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加.为适应"减少线束的数量"."通过多个LAN,进行大量数据的高速通信"的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通

总线概述及常见总线(转)

一. 总线概念 所谓总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道.总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,可以将计算机系统内的多种设备连接到总线上.如果是某两个设备或设备之间专用的信号连线,就不能称之为总线.系统总线架构图如下所示: 微机中的总线分为数据总线.地址总线和控制总线3类.不同型号的CPU芯片,其数据总线.地址总线和控制总线的条数可能不同. 数据总线DB用来传送数据信息,是双向的.CPU既可通过DB从内存或输入设备读入数

[转]AMBA、AHB、APB、ASB总线简介

[转]http://www.cnblogs.com/zhaozhong1989/articles/3092140.html 1.前言 随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大.数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用.在基于IP复用的SoC设计中,片上总线设计是最关键的问题.为此,业界出现了很多片上总线标准.其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构.

PCIe体系结构概述

0.PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器 PXI规范是CompactPCI规范的扩展 PCI Express的接口根据总线位宽不同而有所差异,包括X1.X4.X8以及X16.较短的PCI Express卡可以插入较长的PCI Express插槽中使用. 第I篇 PCI体系结构概述 第1章 PCI总线的基本知识 PCI Express总线简称为PCIe总线,PCI-to-PCI桥简称为PCI桥,PCI Express-t

17、I2C总线和CAT24WCxx存储器

1.I2C串行总线概述 I2C总线是PHLIPS公司推出的一种串行总线,是具备多主机系统所需的总线裁决和高低速器件同步功能的高性能串行总线.I2C总线只有两根双向信号线.一根是数据线SDA,另一根是时钟线SCL. 2.I2C总线通过上拉电阻接正电源.当总线空闲时,两根线均为高电平.连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线“与”关系. 3.每个接到I2C总线上的器件都有唯一的地址.主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发