博客
关于我
AMBA标准总线接口
阅读量:215 次
发布时间:2019-02-28

本文共 1389 字,大约阅读时间需要 4 分钟。

AMBA总线架构概述

AMBA(Advanced Multi-Bus Architecture)是一种高级处理器总线架构,旨在满足高性能SoC设计中多样化速率需求的通信标准。其主要分为三种总线:AHB、高级高性能总线;APB、高级外围总线;AXI、高级可拓展接口。

AHB高性能总线

AHB主要面向高效率、高频宽度和快速系统模块设计。它能够连接微处理器、芯片上或芯片外的内存模块和DMA等高效率模块。

AHB接口组成

  • Master:负责发起读写操作,提供地址和控制信号,同一时间只允许一个Master激活。
  • Slave:在指定地址范围内响应读写操作,并向Master反馈成功、失败或等待状态。
  • Arbiter:负责确保总线上仅有一个Master工作,仲裁协议可根据应用定制。
  • Decoder:解码地址并向各Slave提供片选信号,AHB需配备一个仲裁器和一个中央解码器。

AHB多总/从设备架构

Master的地址和数据由Arbiter进行仲裁,发送至Slave。Decoder负责将Slave的数据发送回相应的Master。

AHB基本信号

  • HADDR:32位系统地址总线。
  • HTRANS:表示传输状态(NONSEQ、SEQ、IDLE、BUSY)。
  • HWRITE:传输方向(1-写,0-读)。
  • HSIZE:传输单元大小。
  • HBURST:传输burst类型(SINGLE、INCR、WRAP4、INCR4)。
  • HWDATA:写数据总线。
  • HREADY:表示读写操作完成状态。
  • HRESP:Slave对当前传输状态的应答(OKAY、ERROR、RETRY、SPLIT)。
  • HRDATA:读数据总线。

AHB传输基本流程

  • 地址周期(AP):仅需一个周期。
  • 数据周期(DP):由HREADY信号决定,可能需要多个周期。
  • 流水线传输:先地址周期,再数据周期。

等待传输状态

HREADY信号需保持高电平才能读写数据。

APB高级外围总线

APB主要用于低带宽的外设,如UART、I2C。其架构不同于AHB的多主设备架构,APB总线的唯一主设备是APB桥,与AXI或其他总线相连,因此无需仲裁请求/授予信号。

APB特性

  • 两阶段时序协议。
  • 读写操作需两个时钟周期完成。
  • 不需要等待周期和回应信号,控制逻辑简单。
  • 只需四个控制信号:PSELx、PENABLE、PADDR、PWRITE。

APB状态机

系统初始化为IDLE状态,无传输操作。当有传输需求时,PSELx和PENABLE信号同时激活,系统进入SETUP状态。PCLK下一个上沿后,系统进入ENABLE状态。在ENABLE状态下,地址信号和写信号保持不变,传输完成。若无新传输需求,系统进入IDLE状态。若有连续传输需求,系统自动进入SETUP状态。

写操作

写操作伴随地址线、写数据线、写信号线和选择线的变化。写操作的第一个周期为SETUP周期,随后进入ENABLE周期。在ENABLE周期结束后,本次写操作完成。PENABLE在写操作完成后与PSEL同时拉低,除非有连续传输需求。地址信号和写信号在传输完成后保持不变,直到下一次传输。

读操作

读操作的地址线、写信号线和选择线与写操作时相同。在ENABLE周期内,Slave需通过PRDATA信号向Master返回读数据。PRDATA信号在ENABLE周期的下一个周期被采样。

转载地址:http://zjpi.baihongyu.com/

你可能感兴趣的文章
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
Orleans框架------基于Actor模型生成分布式Id
查看>>
SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
查看>>
ORM sqlachemy学习
查看>>
Ormlite数据库
查看>>
orm总结
查看>>
ORM框架 和 面向对象编程
查看>>
OS X Yosemite中VMware Fusion实验环境的虚拟机文件位置备忘
查看>>
os.environ 没有设置环境变量
查看>>
os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
查看>>
os.removexattr 的 Python 文档——‘*‘(星号)参数是什么意思?
查看>>
os.system 在 Python 中不起作用
查看>>
OS2ATC2017:阿里研究员林昊畅谈操作系统创新与挑战
查看>>
OSCACHE介绍
查看>>
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
查看>>
OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
查看>>
SQL--mysql索引
查看>>
OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
查看>>