首页 > 其他分享 >AMBA AHB2APB Bridge

AMBA AHB2APB Bridge

时间:2023-06-17 20:11:37浏览次数:46  
标签:AHB Bridge AHB2APB 三态 总线 传输 从机 APB AMBA



  • APB到AHB的传输主要包括:读传输、写传输、背靠背传输。

1. 读传输

  • 单个读传输
    • 波形如下,在T1,将地址送到AHB总线上,在T2上升沿采样到HADDR地址信号,组合逻辑判断是APB的某个从机的地址范围,在T2时刻将HADDR赋值给PADDR,并组合逻辑产生APB某个从机对应的片选信号PSEL。
    • 这篇博客中有介绍:APB的数据传输需要两个时钟周期,当PSEL信号被拉高后,进入SETUP阶段,下一周期将PENABLE信号拉高,进入ACCESS阶段。
    • ACCESS阶段,将被读的数据送到APB总线上,并送到AHB总线上,即PRDATA = HRDATA = Data1。
      • 在系统时钟频率(APB and AHB)要求比较高时,PRDATA位宽如果比较大,那么可能一个APB的时钟周期传送不过去,(例如对于高时钟频率来说,图中PDATA灰色部分占整个周期大部分),那么就需要在T4插入额外的等待时间,以供AHB获取正确的数据。
    • 需要注意,由于APB传输数据需要两个时钟周期,所以AHB的HREADY信号需要在第一个时钟周期拉低,为从机插入等待状态。
  • 突发读传输
    • 波形如下,可以很明显的看出APB总线一个数据的传输需要两个周期,AHB的HREADY信号也要相应的拉低。

2. 写传输

  • 单个写传输
    • AHB传输是流水线,但是APB并不是流水线机制,所以需要将HADDR缓存下来,和HWDATA一起给到APB总线上。所以下面波形图中可以看到T3时刻APB才接收到Data1和Addr1.
    • T3时刻,根据PADDR和组合逻辑,将APB的某个从机的片选信号拉高,APB的写传输也需要两个周期的传输,在第二个周期PENABLE被拉高后,数据才被写入从机中。
  • 突发写传输
    • 观察下面波形,可以看到APB桥需要有两个额外的地址寄存器,例如:对于T5周期来说,PADDR需要保存addr2和addr3。

3. 背靠背传输

  • 背靠背传输是指写传输之后跟着读传输,之后是写传输再之后是读传输。
  • 观察下面波形
    • T1-T2期间,HREADY信号被拉高是因为1之前还有一笔传输的完成,才可以进行1这笔传输。T2-T3拉高,表示数据已经传输给从机(AHB2APB Bridge)。
    • 只有在时钟上升沿采到的HREADY信号为高,才可以更新HADDR和HWDATA。
    • 在T3时刻,数据1和地址1才传送给PDATA和PADDR,需要两个周期,将数据写入从机中。
    • 在T5,已经完成了写传输之后,开始读传输,地址2从APB额外的地址寄存器中读出,消耗两个周期读出从机的数据DATA2。在T6将HREADY信号拉高,在T7采到HREADY信号为高,可以开始新的地址和数据的传输。
    • T8时刻数据3和地址3才准备好,此时才开始写传输,所以读操作需要3个等待时间。
    • T10完成了数据3的写,地址4从APB额外的地址寄存器中读出,消耗两个周期读出从机的数据DATA4。

4. 三态数据总线的实现

  • 三态:0,1,高阻态;一般的门电路输出只会有逻辑1或者0,可能会有个疑惑学习verilog时,还有x态和z态,但x和z是针对仿真设置的,实际电路x不定态一定会以0/1的形式表现。
  • 使用三态门可以得到除0和1之外的高阻态,实际电路并不可能直接将某根线断开,所以是使用三态门给出一个高阻状态的输出。
  • 总线与三态
    • 总线空闲,即其它器件都以高阻态形式连接在总线上;当主机要发起通信时,会驱动总线,发出地址和数据,其它以高阻态形式连接在总线上的器件片选SEL信号拉高后,开始传输,传输完成后,将总线让出,再次变成高阻态。
    • 三态可以有效避免总线上的设备发生冲突。
  • 对于APB总线,可以分别使用读写数据总线实现,但是如果使用三态总线,那么读写数据总线可以合并成一根,因为APB的读写也不会同时发生。合并后的三态总线如下波形图。

标签:AHB,Bridge,AHB2APB,三态,总线,传输,从机,APB,AMBA
From: https://www.cnblogs.com/qianbinbin/p/17488156.html

相关文章

  • AMBA2 关于APB
    参考https://zhuanlan.zhihu.com/p/419750074https://zhuanlan.zhihu.com/p/623829190注:波形图片来自于AMBA2APBProtocolSPEC.1.APB的用处APB不支持流水线设计,不支持突发传输。APB和AHB一样,有数据总线和地址总线,读写使用PWRITE和HWRITE控制,不能同时读写数据。......
  • 【大数据】大数据 Hadoop 管理工具 Apache Ambari(HDP)
    目录一、概述二、Ambari与HDP关系三、Ambari与Clouderamanager的对比1)开源性2)支持的发行版3)用户界面4)功能和扩展性5)社区支持和生态系统四、ApacheAmbari术语五、ApacheAmbari核心组件介绍六、ApacheAmbari架构1)Ambari-agent内部架构2)Ambari-server内部架构3)Ambari......
  • AMBA4 AXI-Lite
    参考https://zhuanlan.zhihu.com/p/49834243关于AXI-Lite相较于AXI4,有何不同突发传输的长度固定为1.数据位宽固定为32位或者64位,也不支持在指定位宽通道上传输更小位宽的数据。所有的访问都是不可修改的(Non-modifiable),即不支持原子操作;不可缓冲的(Non-Bufferable),即不......
  • AMBA4 AXI - 原子操作的锁定访问 & 独占访问
    参考https://www.cnblogs.com/pu1se/p/16707862.htmlhttps://blog.csdn.net/zmfmfking/article/details/1200814881.锁访问这篇博客中有介绍原子操作,主要使用LOCK信号,锁住一笔传输,拒绝其它传输的干扰,只有这笔传输完成之后释放Lock信号,才可以进行其它笔传输。在M0想......
  • JSBridge
    JSBridge是JavaScript和Native相互通信的一种方案。它的实现流程一般如下:在Native端开启一个Webview,并让其加载一个HTML页面。HTML页面中通过JavaScript调用Native端提供的接口,例如获取设备信息、选择图片等。在Native端,为Webview设置一个JavaScript......
  • AMBA4 AXI 多主机多传输
    参考https://zhuanlan.zhihu.com/p/1491123121.多主机AXI架构单个主机的特性描述见这篇博客.2.不同主机间的事务独立如何实现多主机间事务独立(1)各主机保证自己的ID与其它主机不同。协议并没有在主机之间设立消息共享机制,也就是各个主机都不知道其它主机使......
  • AMBA4 AXI 单主机多传输
    参考https://zhuanlan.zhihu.com/p/1490712601.超前传输(outstandingtransaction)这篇博客中提到,考虑写数字通道有缓存,所以可以在从机返回写回复信号之前,开启下一次的传输。超前传输就是在当前传输完成前,可以开始发起下一次的传输。如果多个事务可以并行处理,那么可以提......
  • 第8章 桥接模式(Bridge Pattern)
    桥接模式(BridgePattern)——.NET设计模式系列之九Terrylee,2006年2月概述在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridg......
  • liunx Samba共享
    一,Samba共享服务的匿名访问注意:systemctlstopfirewalld#关闭防火墙systemctldisablefirewalld#开机不启用火墙setenforce0#关闭SELinux>1、如果不关闭防火墙和SEliunx则需要将smb服务添加白名单[root@liunx04nfsfile]#firewall-......
  • AMBA4 AXI 相关理解(一)
    参考https://zhuanlan.zhihu.com/p/166419540https://zhuanlan.zhihu.com/p/447663561.AXI总线的三个分类AXI4:地址映射控制,大块数据读写。如DDR、BRAM数据搬移等。AXI-Lite:简单低吞吐量,如外设模块的配置,状态寄存器的读写。AXI-Stream:面向高速数据流传输,不涉及内存地......