AMBA标准
AMBA标准定义了三种不同的总线
- 高级高性能总线(AHB);
- 高级系统总线(ASB);-----用的比较少
- 高级外设总线(APB)。
基于AMBA的典型微控制器:

典型的AMBA AHB系统设计包含以下成分:
AHB主机、AHB从机、AHB仲裁器、AHB译码器
典型的AMBA APB系统设计包含APB桥和APB从机
AHB基本传输过程:
- address phase
address phase传送的是address和control single
- data phase
data phase则是read/write data和response single。如果transfer在data phase时无法在1个clock cycle内完成,slave可用HREADY信号为低来延长transfer。
- HTRANS[1:0]为传输类型,分IDLE, BUSY, NONSEQ, SEQ。其中NONSEQ表示单次传输或者连续传输的开始,SEQ表示连续传输。
- HBURST[2:0]为burst type,分为SINGLE、INCR、WRAP4、INCR4、WRAP8、INCR8、WRAP16和INCR16八种。其中INCR类的burst,每一次transfer address必定是上一次transfer的address加上transfer size;WRAP类的burst,会将跨越地址边界的transfer address绕回地址边界起点。
- HSIZE为transfer size, 支持八种大小,8 bits、16bits、32bits……1024bits。
- HRESP是在transfer结束时表示的状态,分为OKAY、ERROR、RETRY和SPLIT四种。其中ERROR的原因譬如说企图写入只读的memory空间,或者读写根本不存在的memory空间(例如对于32为的读写,地址的最低位为1)。
APB规范以下列标题来描述:
- 状态图

- IDLE:外设总线的默认状态
- SETUP:当有传输要求时总线转移到SETUP状态,这时对应的选择信号PSELx拉高。总线仅在SETUP状态保持一个周期并将总是在下一个时钟的上升沿移动到 ENABLE状态
- ENABLE:使能信号PENABLE在ENABLE状态中被断言。地址、写和选择信号都是从SETUP到ENABLE状态的转变过程中保持稳定。
ENABLE状态也仅持续一个周期并且在这个状态之后如果没有进一步的传输要求总线将返回IDLE状态。另外,如果紧跟着另一个传输那么总线移动到SETUP状态。
- 写传输

- 读传输

AMBA标准的更多相关文章
- AMBA简介
AMBA AMBA(Advanced Microcontroller Bus Architecture)先进的微控制器总线架构是一个免费.开放的标准,用于SoC内部功能模块之间的互连和管理.对成功设计 ...
- zedboard如何从PL端控制DDR读写(二)——AXI总线
虽然Xilinx已经将和AXI时序有关的细节都封装起来,给出了官方IP和向导生成自定义IP,用户只需要关注自己的逻辑实现,但是还是有必要简单了解一下AXI的时序,毕竟咱是做硬件设计的. AXI(Ad ...
- AXI总线
AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture) ...
- AXI总线介绍
原帖地址:https://wenku.baidu.com/view/7c424c17e3bd960590c69ec3d5bbfd0a7956d5b9.html 1.AXI简介 AXI(Advanc ...
- AXI总线(转)
AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture) ...
- 基于ARM的SoC设计入门[转]
原文:基于ARM的SoC设计入门 我们跳过所有对ARM介绍性的描述,直接进入工程师们最关心的问题.要设计一个基于ARM的SoC,我们首先要了解一个基于ARM的SoC的结构.图1是一个典型的SoC的结构 ...
- AMBA
基于IP复用的设计方法在SOC设计中得到了广泛的应用,设计过程中,片上总线的设计师最关键的问题. AMBA是由ARM公司退出的片上总线,是一种流行的工业标准片上结构. AMBA规范主要包括了AHB(A ...
- AMBA总线介绍
The Advanced Microcontroller Bus Architecture (AMBA) specification defines an on- chip communication ...
- AMBA总线协议AHB、APB、AXI对比分析【转】
转自:https://blog.csdn.net/ivy_reny/article/details/56274412 一.AMBA概述 AMBA (Advanced Microcontrolle ...
随机推荐
- window 搭建python环境
Unofficial Windows Binaries for Python Extension Packages 其中包含大量Windows下的python的module 包含大但不仅限于pip: ...
- IOCP模型总结(总结回想)
IOCP旧代码重提.近期一直在玩其它方面的东东.时不时回想一下,收益多多. IOCP(I/O Completion Port,I/O完毕port)是性能最好的一种I/O模型.它是应用程序使用线程池处理 ...
- 用ElasticSearch,LogStash,Kibana搭建实时日志收集系统
用ElasticSearch,LogStash,Kibana搭建实时日志收集系统 介绍 这套系统,logstash负责收集处理日志文件内容存储到elasticsearch搜索引擎数据库中.kibana ...
- POJ 3050 枚举+dfs+set判重
思路: 枚举+搜一下+判个重 ==AC //By SiriusRen #include <set> #include <cstdio> using namespace std; ...
- 51Nod 迷宫问题(最短路+权值)(模板)
你来到一个迷宫前.该迷宫由若干个房间组成,每个房间都有一个得分,第一次进入这个房间,你就可以得到这个分数.还有若干双向道路连结这些房间,你沿着这些道路从一个房间走到另外一个房间需要一些时间.游戏规定了 ...
- Gym 100952 G. The jar of divisors
http://codeforces.com/gym/100952/problem/G G. The jar of divisors time limit per test 2 seconds memo ...
- Highcharts柱形范围图使用示例
功能需求:统计三种不同的状态在一天的时间段里面所占的范围 第一步:引入highcharts.js和highcharts-more.js文件 引入文件文件源码:下载https://img.hcharts ...
- 运行 CMD 时,參数加引號常见问题
在调用 CMD 时.如脚本中用 WScript.Shell 调用. 假设參数中有包括空格的长路径名时,必需要加引號才干正确被识别. 是的,大家都知道要加引號.但怎么加却easy被误解.这个问题,不时地 ...
- JavaScript 实现表格单列按字母排序
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
- BZOJ3262: 陌上花开(三维偏序,CDQ分治)
Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),用三个整数表示. 现在要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量. 定义一朵花A比另一朵花B要美 ...