打印
[应用相关]

AMBA总线协议AHB、APB(转载)

[复制链接]
1138|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
guanjiaer|  楼主 | 2018-11-13 12:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、什么是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的一种替代方案。

沙发
guanjiaer|  楼主 | 2018-11-13 12:57 | 只看该作者
二、AHB
AHB总线的强大之处在于它可以将微控制器(CPU)、高带宽的片上RAM、高带宽的外部存储器接口、DMA总线master、各种拥有AHB接口的控制器等等连接起来构成一个独立的完整的SOC系统,不仅如此,还可以通过AHB-APB桥来连接APB总线系统。AHB可以成为一个完整独立的SOC芯片的骨架。
下图是一个典型的AHB系统总线的结构示意图

使用特权

评论回复
板凳
guanjiaer|  楼主 | 2018-11-13 12:57 | 只看该作者
三、APB
主要应用在低带宽的外设上,如UART、 I2C,它的架构不像AHB总线是多主设备的架构,APB总线的唯一主设备是APB桥(与AXI或APB相连),因此不需要仲裁一些Request/grant信号。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状态。

使用特权

评论回复
地板
xiaoqizi| | 2018-11-15 12:55 | 只看该作者
我还真么关系过这两种总线

使用特权

评论回复
5
wakayi| | 2018-11-15 13:32 | 只看该作者
我印象中好像就是性能的高低

使用特权

评论回复
6
guanjiaer|  楼主 | 2018-11-15 14:12 | 只看该作者
wakayi 发表于 2018-11-15 13:32
我印象中好像就是性能的高低

其实也是这样

使用特权

评论回复
7
mintspring| | 2018-11-15 20:30 | 只看该作者
这些总线的操作,搞晕人。

使用特权

评论回复
8
wakayi| | 2018-11-21 15:33 | 只看该作者

哈哈哈 英雄所见略同啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

4116

帖子

2

粉丝