AHB总线实现了简单的基于burst的传输,数据总线带宽可配置32-1024bit。可以实现简单的fixed pipeline在address/control phase和
data phase之间。
典型的AHB的slave包括:internal memory device,external memory interfaces,high bandwidth peripheral。
AHB必须是对齐传输,word,addr[1:0]为0,half-word,addr[0]为0。包括wrap burst传输,也必须是对齐的。
AHB-Lite协议是整个AHB协议的子集,只支持一个总线主设备,不需要总线仲裁器及相应的总线请求/授权协议,
不支持Retry和Split响应。
AHB-Lite的典型应用结构是一个AHB-Lite master,一些AHB-Lite slaves。slave由APB总线实现,HSEL信号由一个
address decoder产生。从slave到master的rdata,response由一个slave-to-master multiplexor通过选址
送给master。
AHB中的transfer由两部分组成,Address phase,Data phase。
slave可以通过信号HREADY来延长data phase,但是不能延长address phase。
在master比较繁忙时,可以通过busy transfer,表示burst还在继续,相当于多延时一个address cycle。
AHB信号大致可以分为五类:
Global signals:HCLK,HRESETn;
Master signals:HADDR,32bit的地址线。
HBURST,3bitde burst长度和类型。支持长度为4/8/16的INCR/WRAP类型的burst。
未定义长度的INCR类型的burst。和Single burst两种新类型。
HMASTLOCK,表示一个locked的transfer,主要用在一个存在多个master访问的slave原语操
作中。因为AHB并不存在乱序操作,所以单一master时,并没用。arm建议,lock transfer之后