博客
关于我
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/

你可能感兴趣的文章
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测机制
查看>>
Netty核心模块组件
查看>>
Netty框架内的宝藏:ByteBuf
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—3.Reactor线程模型三
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—5.Pipeline和Handler二
查看>>
Netty源码—6.ByteBuf原理一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>