2.4-AHB(总线互连,slave回应信号)

资料来源

(1) amba bus spec翻译.pdf

4.总线互连

4.1互连

(1) 互连组件提供master和slave的连接;

(2) 单master系统只需要译码器和复用器;多master系统需要仲裁arbitration和不同master到合适的slave间的信号路由;

4.2地址译码

(1) 地址译码器为总线上的slave提供选通信号HSELx,选通信号是高位地址信号的组合逻辑译码器;

(2) slave必须在HREADY为高电平时采样HSELx,地址和控制信号;

(3) 一个slave最少可以分配1KB地址空间,并且地址区域的开始和结束必须在1KB边界上,也就是对齐;(如此设计,以便于在增量传输时,不跨越1KB地址边界,可能访问到其他slave的地址范围)

4.2.1默认slave

(1) 如果系统设计内存映射没完全满,即部分地址没有给slave占用,必须实现额外的默认slave,当访问不存在的地址空间时做出回应; 如果非连续或者连续传输尝试在不存在的地址上,默认slave需要提供ERROR回应或者OKAY回应;

4.2.2多个slave选择(???)
4.2.3读数据和回应复用器

(1) master向所有slave驱动地址和控制信号,并使用译码器选择合适的slave,来自选中的slave的任何回应数据通过读数据复用器传给master;

5.slave回应信号

5.1slave传输回应

(1) master开始一次传输后,slave控制传输的进度,master启动传输后不能取消;slave必须提供回应,通过HREADY信号反映传输是否完成,也必须+ 告诉传输的状态,传输状态由HRESP信号提供;

(2) HRESP为0时,回复OKAY,表明传输已经成功完成或者slave需要额外的时钟周期来完成请求; HREADYOUT信号表明传输挂起等待还是完成;

(3) HRESP为1时,传输发生错误,需要发给master让其知道传输不成功;对于出错的情况,需要由两个周期的ERROR回应,并且HREADYOUT在第二个周期有效;

(4) slave完成传输有三种方式:(a)立即完成传输; (b)发生错误表明传输失败(需要两个时钟周期); (c) 插入一个或多个等待状态以有足够的时间完成传输;

5.1.1传输完成

(1) HREADYOUT为1且HRESP为0时,传输完成;

5.1.2传输挂起

(1) HREADYOUT为0,且HRESP为0时,表示slave在传输的数据阶段插入等待状态;

(2) 建议slave不要插入超过16个延迟状态来防止一次访问占用总线很多个时钟周期;

5.1.3错误回应

(1) ERROR回应需要两个周期;第一个时钟周期,HREADYOUT为0,HRESP为1; 第二个时钟周期,HREADYOUT为1,HRESP为1;

(2) 两个周期的错误回应提供充足的时间让master取消接下来的访问,并在下次传输开始前将HTRANS驱动为IDLE; 如果slave需要多于两个周期的错误回应,额外的等待状态可以在传输开始时插入;

注1:T1-T2,slave插入等待状态并回应OKAY;

注2:T2-T3,slave给出ERROR回应,这是错误回应的第一个周期;

注3:T3-T4,slave给出ERROR回应,这是错误回应的第二个周期;此时,master将HTRANS设置为IDLE,取消了地址B的预定事务;

注4:T4-T5,slave回应OKAY;

注5:如果slave提供给ERROR回应,master则取消突发传输的剩余部分;但是,这不是强制要求,可以接受master继续传输余下部分;

 

 

 

posted on 2022-03-23 22:37  知北游。。  阅读(668)  评论(0编辑  收藏  举报

导航