目录
AMBA:Advanced Microcontroller Bus Architecture
AHB:Advanced High-performance Bus
APB:Advanced Peripheral Bus
下面放一张讲座的PPT资料,展示AMBA家族的发展历程(截止2019)。
可以看到,目前最新的为AHB5与APB4,我之前接触到的是AHB2,APB2,其实新版本的内容与老版本整体读写流程都没有变,主要多了辅助信号,以及一些特殊操作需要的信号,因此只要掌握某个版本的可以吗不要纠结哪个版本。下面分别就协议本身罗列一下加深记忆(目前还没有机会接触到协议代码,姑且看看时序图哈哈)。
1.AHB2 to AHB5
AHB5的协议文件编号ARM IHI 0033B.b (ID102715)。
原来AHB APB ASB都在一个pdf里,现在都单独一个pdf...([1]ARM官网)
基本的读写传输信号没有变,haddr,hwrite,hsize,hburst,htrans,hport,hwdata---7,hrdata,hresp,hready--3。hmastlock标识锁定总线,原来是hlock。
a)原来的hport位宽由[3:0]变成[6:0],变成扩展内存类型Extended_Memory_Types property,并且需要相关设备与接口支持。
b)增加了关于安全传输Secure_Transfers的信号 hnonsec,是地址阶段的信号,与haddr有相同的约束。其有效意味着Non-secure transfer。
c)增加了独立传输Exclusive_Transfers的信号,hexcl:master to slave,有效表示这是一次独立传输,与haddr有相同的约束;hexokey :slave to master的回复信号,与hresp有相同的约束。另外与hmaster [m:0]信号用来标识主机。(咱也不知道这是用到什么场景下的)
d)去掉了AHB2中的arbiter信号hbusreqx,hlock,hgrantx,AHB5中没有定义arbiter,指向了另一个文件Multi-layer AHB Technical Overview (ARM DVI 0045),这里面也没有仲裁信号的定义。
e)取消了split传输,对应的信号hsplit[15:0]。
版本更新摘要
2.APB2 to APB4
APB4的协议文件编号ARM IHI 0024C (ID041610)。
这个文件名称AMBA® APB Protocol Version: 2.0,但注意是在最上面那张图里对应的是APB4。
添加的信号写得很清楚(不要动手写了哈哈)