AHB/APB简介

简介: <div class="bct fc05 fc11 nbw-blog ztag"><div><h1>AHB</h1> <div></div> <div> <div> <div style="WIDTH: 200px;"><a hidefocus target="_blank" rel="nofollow" href="http://baike.baidu.com/picview/1

AHB

  
AHB总线互联结构图

随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SOC设计中得到了广泛应用。在基于IP复用的SoC(System on Chip的缩写,称为系统级芯片,也有称片上系统)设计中,片上总线设计是最关键的问题。为此,业界出现了很多片上总线标准。其中,由ARM公司推出的AMBA片上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。

AHB简介

AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持 字节、半字和字的传输。AHB 系统由主模块、从模块和基础结构

  AHB

(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、 译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。其互连结构如图1所示。针对Soc设计中IP复用问题提出了一种新的解决办法.传统的方法是将特定功能模块的非标准接口标准化为AHB主/从设备接口,本文提出了一种新的基于ARM的Soc通用平台设计 寄存器 总线标准接口,这种设计使整个系统的结构清晰,增强系统的通用性与系统中功能模块的可移植性.

编辑本段APB简介

APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个 时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个 控制信号
1)系统初始化为IDLE状态,此时没有传输操作,也没有选中任何从模块。2)当有传输要进行时,PSELx=1,PENABLE=0,系统进入SETUP状态,并只会在SETUP 状态停留一个周期。当PCLK的下一个上升沿时到来时,系统进入ENABLE 状态。
3)系统进入ENABLE状态时,维持之前在SETUP 状态的PADDR、PSEL、PWRITE不变,并将PENABLE置为1。传输也只会在ENABLE状态维持一个周期,在经过SETUP与ENABLE状态之后就已完成。之后如果没有传输要进行,就进入IDLE状态等待;如果有连续的传输,则进入SETUP状态。

编辑本段AMBA片上总线

AMBA 2.0规范包括四个部分:AHB、ASB、APB和Test Methodology。AHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。

  AHB的仿真波形

编辑本段基于AMBA的片上系统

大多数挂在总线上的模块(包括处理器)只是单一属性的功能模块:主模块或者从模块。主模块是向从模块发出读写操作的模块,如CPU,DSP等;从模块是接受命令并做出反应的模块,如片上的RAM,AHB/APB 桥等。另外,还有一些模块同时具有两种属性,例如 直接存储器存取(DMA)在被 编程时是从模块,

  AHB

但在系统读传输数据时必须是主模块。如果总线上存在多个主模块,就需要仲裁器来决定如何控制各种主模块对总线的访问。虽然仲裁规范是AMBA总线规范中的一部分,但具体使用的算法由RTL设计工程师决定,其中两个最常用的算法是固定优先级算法和循环制算法。AHB总线上最多可以有16个主模块和任意多个从模块,如果主模块数目大于16,则需再加一层结构(具体参阅ARM公司推出的Multi-layer AHB规范)。APB 桥既是 APB总线上唯一的主模块,也是AHB 系统总线上的从模块。其主要功能是锁存来自AHB 系统总线的地址、数据和 控制信号,并提供二级译码以产生APB外围设备的选择信号,从而实现AHB协议到APB协议的转换。
相关文章
GPIO简介
本文所述IO(Input/Output PAD)主要是指集成在CMOS芯片中的连接模块,其负责芯片引脚的外部信号与芯片内部的数字/模拟模块的交互,它是一颗完整芯片设计中不可或缺的组成部分。 文章首先根据IO的使用类型,介绍了IO的分类;紧接着重点介绍了GPIO的输入/输出功能和模式...
GPIO简介
|
5月前
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
285 0
|
5月前
stm32f407探索者开发板(十五)——NVIC中断优先级管理
stm32f407探索者开发板(十五)——NVIC中断优先级管理
217 0
|
6月前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
587 1
|
5月前
|
监控
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
stm32f407探索者开发板(十八)——串口通信实验讲解(USART_RX_STA流程图详解)
337 0
|
7月前
|
存储 芯片 异构计算
|
7月前
|
数据采集 存储 传感器
STM32 ADC基础知识讲解
STM32 ADC基础知识讲解
141 0
|
存储 传感器
STM32速成笔记(七)—ADC
本文介绍了ADC的概念,用途,针对STM32的ADC做出了详细介绍,给出了配置步骤,配置程序。通过一个简单的小项目展示了ADC的配置和使用方法。此外,还针对如何利用定时器触发AD转换,如何采集交流信号,如何计算交流信号有效值进行了介绍,并给出了程序设计。
281 0
STM32速成笔记(七)—ADC
|
SoC
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
513 0
深入理解AMBA总线(七)AHB设计要点和AHB2APB同步桥设计前言
|
存储 内存技术
STM32F0单片机快速入门八 聊聊 Coolie DMA
STM32F0单片机快速入门八 聊聊 Coolie DMA