AHB总线的应用框图/接口信号/基础传输

接口/总线/驱动

1143人已加入

描述

AHB概述

AHB总线(AdvancedHigh-performanceBus)是AMBA(AdvancedMicrocontrollerBusArchitecture)片上总线体系的一部分。在SOC芯片中,AHB总线主要应用于对性能要求较高的组件之间互联,如用于CPU和片内高速RAM、DMA之间互联。

图1AHB协议演进

如图1所示,AHB协议在AMBA2中提出。随着AMBA协议族的演进加入了AHB_Lite,AHB5Lite。本文从AHB2入手对AHB协议进行介绍,再对比AHBLite,AHB5Lite同AHB2之间的差异。

AHB应用框图

AHB总线

图2AHB总线应用框图

继续借用上篇介绍APB接口时使用的应用框图。如图2所示,AHB总线主要用于高性能ARM核,高带宽片上RAM,DMA,高带宽Memory接口,APB桥之间的互联。

AHB总线结构

AHB总线

图3AHB总线结构

AHB总线由AHBMaster,AHBSlave,基础组件等3类组件组成。其中基础组件包含:Arbiter,Decoder。AHB总线为多Master总线和APB总线的单Master有着显著的不同。为了解决多总线访问外设问题引入Arbiter进行仲裁,Decoder则负责Slave之间的地址译码。

AHB总线接口信号

AHB总线信号如表1所示

AHB总线

表1AHB接口信号(1)

AHB总线

AHB总线

表1AHB接口信号(2)

表中红色字体的信号为AHB总线不同版本之间存在差异的地方。总结如下:

HPROT位宽不同:AHB5Lite为7bit,AHB2和AHBLite为4bit。

HRESP位宽不同:AHB2Response类型分为Okay,Error,Retry,Split四种类型,需要2bit指示。AHBLite/AHB5Lite则将其简化为Okay,Error两种类型。1bit位宽即可指示。

总线拓扑结构不同:AHB2通过Arbiter实现多Master的访问。而AHBLite、AHB5Lite则删除Arbiter仅定义了单Master访问的情形,总线结构如下图所示。

AHB总线

图3AHBLite总线结构

为了解决AHBLite、AHB5Lite多Master应用情形,在AMBA3中,引入Multilayer概念进行多Master扩展。扩展方式如下图所示:

AHB总线

图4AHBLiteMultiLayer总线结构

对MultiLayer感兴趣的同学,可以查阅文末参考资料中的第3个资料。

AHB基础传输

AHB总线

图5AHB基础读传输

AHB传输分为两个阶段:地址阶段,数据阶段。图5为典型的零等待读传输。地址阶段Master向SalveA发读访问,SlaveA在数据阶段返回Data(A)。注意图中细节,在SlaveA数据阶段时,Master同时还发起了SlaveB的写访问。这种Pipeline方式的访问行为就是AHB性能高于APB的原因。

AHB总线

图6AHB基础写传输

图6为零等待写传输,在地址阶段向SlaveA发起写访问,在数据阶段发送写数据。

后记

AHB总线为了提升其性能,相对于APB总线引入了Pipeline的传输模式。这样AHB总线在同频率同数据位宽的情形下,理论性能是可以是APB性能的两倍。AHB总线协议相较APB总线协议复杂很多,本文仅做入门介绍,感兴趣的同学可以查阅本文结尾的参考资料进行深入了解。
责任编辑人:CC

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分