AMBA5 AHB 知识提纲

Posted by 程建军 on Tuesday, April 23, 2024

AMBA5-AHB-知识提纲

AMBA5-AHB-知识提纲

AMBA AHB 协议翻译

1 AHB基本知识

1.1 1个主机3个从机的结构框图[点击展开]


    
1.2 主机接口框图[点击展开]


	
1.3 主机信号[点击展开]

输入:
  全局信号:HRESETnHCLK
  传输响应:HREADYHRESP
  读数据:HRDATA
输出:
  地址和控制信号:HADDRHWRITEHSIZE[2:0]HBURSTHPROTHTRANSHMASTLOCK
  写数据:HWDATA
    
1.4 从机接口框图[点击展开]


	
1.5 从机信号[点击展开]

输入:
  全局信号:HRESETnHCLK
  选择信号:HSELx
  地址和控制信号:HADDRHWRITEHSIZE[2:0]HBURSTHPROTHTRANSHMASTLOCK
  写数据信号:HWDATA
输出:
  传输响应:HREADYOUTHRESP
  读数据信号:HRDATA
    
1.6 ahb 的突发属性[点击展开]

普通传输:single
突发传输:
  地址边界不回环的增量突发传输,incr4,incr8,incr16;
  地址边界回环的回环突发传输,wrap4,wrap8,wrap16;
    
1.7 突发传输终止的条件[点击展开]

1. 从机发出拉低HRESP信号发出ERROR响应;
2. 多主机系统中互联组件终止当前传输,将传输权限转交给其他主机。
	
1.8 等待状态中改变传输类型的情况[点击展开]

只能更改一次
1. HTRANS为IDLE的传输;
2. HTRANS为BUSY的传输;
    
1.9 等待状态中改变地址的情况[点击展开]

只能更改一次
1. HTRANS为IDLE的传输;
2. HRESP为ERROR之后;
    
2.0 HPROT的功能[点击展开]

HPROT[0]:指令还是数据访问;
HPROT[1]:用户还是特权访问;
HPROT[2]:不可缓冲还是可以;
HPROT[3]:不可改变还是可以;
HPROT[4]:不可查找还是可以;
HPROT[5]:不可分配还是可以;
HPROT[6]:不可共享还是可以;
    
2.1 三种传输响应[点击展开]

1. 成功完成:HRESP为OKAY,HREADY为LOW。
2. 失败完成
   第一拍:HRESP为ERROR,HREADY为LOW。
   第二拍:HRESP为ERROR,HREADY为HIGH。
3. 延迟传输:HRESP为OKAY,HREADY为HIGH。
    
2.2 独占传输的步骤[点击展开]

1. 对地址A执行独占读取;
2. 根据独占读取的值计算一个新的值,作为独占写入的值;
3. 对地址A执行独占写入;
4. 对同一地址两次独占操作之间不允许插入其他主机的独占写入,否则失败;
    
2.3 独占传输HEXOKAY失败的可能[点击展开]

1. 传输位置不支持独占传输;
2. 独占传输期间有其他独占传输写入成功;
    
2.4 独占传输限制[点击展开]

1. 必须是单一的传输HBURST为[SINGLE、INCR];
2. 不得包含busy传输;
3. 地址必须与HSIZE指示的数据大小对齐;
    
2.5 传输属性[点击展开]

1. HTRANS=00:IDLE
2. HTRANS=01:BUSY
3. HTRANS=10:NONSEQ
4. HTRANS=11:SEQ
    
2.6 多个master的互联方案[点击展开]

1. 单层:
需要mux将某个主机的控制信号和写数据给到对应从机,从机的读数据和响应mux到对应主机。
2. 多层:
可以选用不同的策略,
- 局部从机(几个从机只接受某个主机的访问)
- 多主机同层(几个主机带宽相似,具有同意特性的主机)
- 多从机同层(几个从机带宽相似,且仅由某个主机访问)
- 主机和从机都存在的完整子系统。(某个主从系统用于固定的事务访问)
    

2 AHB基本时序图

2.1 没有等待的读传输[点击展开]


    
2.2 没有等待的写传输[点击展开]


    
2.3 带两个等待周期的读传输[点击展开]


    
2.4 带一个等待周期的写传输[点击展开]


    
2.5 四种传输类型示例[点击展开]


    
2.6 锁定传输[点击展开]


    
2.7 WRAP4 一拍等待字写传输[点击展开]


    
2.8 INCR4 一拍等待字读传输[点击展开]


    
2.9 WRAP8 字读传输[点击展开]


    
2.10 INCR8 字写传输[点击展开]


    
2.11 INCR 半字写和字读传输[点击展开]


    

3 AHB零碎知识点

  1. 只有连续传输HBURST为[INCR、WRAP4-16、INCR4-16]的最后一个周期可以将HTRANS设为BUSY;
  2. 所有传输的第一个周期HTRANS只能是NONSEQ、IDLE。
  3. HBURST为SINGLE的传输之后,只能跟随HTRANS为[IDLE、NONSEQ]的传输;
  4. 只有HTRANS为 NONSEQ和SEQ才能读写数据;
  5. HRESP为ERROR只会在传输的最后两个周期; 第一个周期master接收slave的error响应,第二个周期master终止传输。
  6. 1KB地址边界的限定限制了一次只能访问一个从机。
  7. 从机依靠hready在传输中插入等待周期,
  8. 主机依靠busy传输类型在传输中插入等待周期。
  9. bufferable操作适合对两次操作间隔时间较长的从机访问。
  10. default从机对IDLE/BUSY回应OKAY,对SEQ/NONSEQ回应ERROR。
  11. 输入hready存在的意义是,多从机时,如果上一个从机的事务需要等待,则当前从机的事务也需要等待。 只有之前所有从机的事务都完成,当前从机的事务才能开始。