kdwwolf的个人空间 https://blog.eetop.cn/1557617 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

AHB与APB 协议小解与对比

热度 1已有 4969 次阅读| 2019-11-25 21:41 |个人分类:基础知识|系统分类:芯片设计| AMBA

     AHBAPB协议是我接触最早的两个协议了。一直以来,我始终认为APB协议是是AHB协议的简化版,因为就信号和单个周期的读写而言他们实在是太像了。

一、AHB 1.1 基本传输 1.1.1 写传输

 SEQ \* ARABIC 1  AHB基本写传输

 SEQ \* ARABIC 2  AHB延迟写传输

       上图图一和图二是最简单的两种写传输,传输可简单分为两个周期,地址周期和数据周期,地址周期为一个时钟周期,数据周期可为多个时钟周期,取决去HREADY信号。由上图可以看出,地址和写信号都只有一个时钟周期,其实包括选择信号,传输类型信号都只有一个时钟周期,而数据在第二个周期才有效,因此需要将控制信号打拍。

1.1.2 读传输

 SEQ \* ARABIC 3  AHB基本读传输

 SEQ \* ARABIC 4  AHB延迟读传输

       AHB的读传输和写传输时序是一样的,都是有地址周期和数据周期,都是在最后一拍,HREADY信号有效是取数据,唯一的就是在地址周期是,HWRITE信号为低。

1.2 趣点解析 1.2.1 控制信号打拍

       因为AHB协议的控制信号只有一个时钟周期,但数据确实在第二个乃至很多个周期时才传输过来,因此需要把地址和控制信号打拍。方式如下:

 

always @(posedge HCLK or negedge HRESETn)

   begin

     if(~HRESETn)

            addr <= {32{1'b0}};

     else if(HREADY)

            addr <= HADDR;

   end

 

       这种写法能有效地解决在数据有效时,保持控制信号。

       此外,在多个AHB slave中,选择slave数据的mux中,HSEL信号也要做如此处理。

1.2.2 HRAEDY信号

       AHBREADY信号有很多,外设有HREADYOUT信号,表明外设ok,而系统也有HAREDY信号,表明总线是否准备好。如果正在传输进行时,那么总线的HREADY完全取决与此时正在操作的外设的HREADYOUT信号,也就是说,从HREADYOUT HREADY之间的选择和转换必须全部是组合逻辑才能保证AHB的正常时序。

二、APB 2.1基本传输 2.1.1 写传输

 SEQ \* ARABIC 5  APB 基本写传输

 SEQ \* ARABIC 6 APB 延迟写传输

       相比AHB的基本写传输而言,APB多了一个PENABLE信号,他们的其它基本信号也很像,但是对APB而言,控制信号一直存在,在整个数据传输周期内一直存在。这一点就很有意思,也就是不需要对控制信号进行打拍,只需要在PREADYPENABLE信号有效时,将数据写入。

2.1.2 读传输

 SEQ \* ARABIC 7 APB基本读传输

 SEQ \* ARABIC 8 APB读延迟传输

       读传输的基本时序与写传输一致,只是PWRITE拉低表示读,PWDATA变成了PRDATA

2.2 趣点解析 2.2.1 控制信号的处理

       APB的控制信号处理很有意思了,你不需要打拍,你只需要在PEANBLEPREADY信号同时有效时,将数据写入或者读出。一般外设的PREADY信号直接置高。而PEANABLE信号与PREADY信号并没有关系,从上图可以看出,第二个周期PEANBLE信号直接拉高了。

2.2.2 数据的读写

       当一个外设不会拉低PREAD信号时,那么在外设内部的APB接口,何时读写寄存器都可以,可以在第一拍就把数据写入,也就是在在PEANBLE为低时,写入数据,但读数据一定要满足响应时序。设计没有标准写法,满足所需情况即可。

三、简单对比

参数

AHB

APB

读写速度

AHB一直读时,可以认为是一个周期完成读写

APB一直读,则为两个周期完成读写

控制信号

一个周期有效

读写周期内有效

适用范围

高速场景

低速场景

 

四、疑问

1HREADYOUT的作用,AHBSRAM之间读写需要多少个周期?

2、在CPU系统中,如果一个外设坏了,HREADYOUT0时,此时CPU是否会死掉,会一直等?

1

点赞

刚表态过的朋友 (1 人)

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 13

    粉丝
  • 15

    好友
  • 12

    获赞
  • 1

    评论
  • 3136

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-23 16:47 , Processed in 0.026353 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部