AHB总线协议整理
2017-08-11 22:57
375 查看
这位博注总结的很好啊,
http://blog.163.com/qixin_william/blog/static/240217035201491133626819/
http://blog.163.com/qixin_william/blog/static/240217035201491425318830/
拿过来分析下
T1时刻之后,master将第一拍地址和控制信号打入总线,因为是一个新的burst的开始,所以transfer的类型是NONSEQ的。 T2上升沿,slave采集到master发出的控制信号。
控制信号包括(haddr,htans,hburst)。 slave就是基于这一控制信号,考虑是否在下个周期(T2时刻后的周期,把自己的data放上供给master读取)
NONSEQ是single模式和burst模式第一拍的必要条件。
这里的hburst发出为INCR模式,即为次数不限的递增burst传输。地址根据每拍数据的大小递增,可以传输任意次数。唯一的限制是地址不能超过1K边界.
由于master不能在第二个周期里处理第二拍,T2时刻后,所以master使用BUSY transfer来为自己延长一个周期的时间。注意,虽然是延长了一个周期,但是master需要给出第二个transfer的地址和控制信号。在T3时刻Slave的控制信号htrans busy被slave抓到。
在T3的上升沿,实际上第一个tranfer(读或者写)完成。
这里实际上完成了一次握手,master说我下个周期会很busy,发不出来数据,slave你就不要采了
对于无效的周期,实际上和busy一同发出的busy信号也没什么意义了(反正下个周期也不会在完成tranfer了)。
slave在T3时刻采集到了master发来的BUSY transfer,知道master需要等待一拍,所以,slave会忽略这个BUSY transfer。
也就是说,T4时候,总线上 的数据信号是无效的。T4这个时刻只是为了获取下一周期的控制信号
虽然master在busy的周期数据是无效的,但是控制还必须有效,这样的话实际上控制信号只是在准备通知slave下一周期,我是否还是无效的,如果有效,我的地址是啥。
在等待了一个周期之后,T5时刻完成第二个transfer。一切正常
在第五个周期里,slave很忙,将HREADY信号拉低,告诉master需要等待一个周期。然后再T6时刻,master 感受到slave的不ready,就会保持字的状态。
。。。。。。。
列表内容最后在T8时刻完成最后个transfer。
需要注意的 虽然slave会忽略掉BUSY transfer,但是master也需要给出下一拍的地址可控制信号。
这里没反应出来的是hresp信号,这一信号包含ok,error,retry, split,正常情况下,都会是ok状态
http://blog.163.com/qixin_william/blog/static/240217035201491133626819/
http://blog.163.com/qixin_william/blog/static/240217035201491425318830/
拿过来分析下
T1时刻之后,master将第一拍地址和控制信号打入总线,因为是一个新的burst的开始,所以transfer的类型是NONSEQ的。 T2上升沿,slave采集到master发出的控制信号。
控制信号包括(haddr,htans,hburst)。 slave就是基于这一控制信号,考虑是否在下个周期(T2时刻后的周期,把自己的data放上供给master读取)
NONSEQ是single模式和burst模式第一拍的必要条件。
这里的hburst发出为INCR模式,即为次数不限的递增burst传输。地址根据每拍数据的大小递增,可以传输任意次数。唯一的限制是地址不能超过1K边界.
由于master不能在第二个周期里处理第二拍,T2时刻后,所以master使用BUSY transfer来为自己延长一个周期的时间。注意,虽然是延长了一个周期,但是master需要给出第二个transfer的地址和控制信号。在T3时刻Slave的控制信号htrans busy被slave抓到。
在T3的上升沿,实际上第一个tranfer(读或者写)完成。
这里实际上完成了一次握手,master说我下个周期会很busy,发不出来数据,slave你就不要采了
对于无效的周期,实际上和busy一同发出的busy信号也没什么意义了(反正下个周期也不会在完成tranfer了)。
slave在T3时刻采集到了master发来的BUSY transfer,知道master需要等待一拍,所以,slave会忽略这个BUSY transfer。
也就是说,T4时候,总线上 的数据信号是无效的。T4这个时刻只是为了获取下一周期的控制信号
虽然master在busy的周期数据是无效的,但是控制还必须有效,这样的话实际上控制信号只是在准备通知slave下一周期,我是否还是无效的,如果有效,我的地址是啥。
在等待了一个周期之后,T5时刻完成第二个transfer。一切正常
在第五个周期里,slave很忙,将HREADY信号拉低,告诉master需要等待一个周期。然后再T6时刻,master 感受到slave的不ready,就会保持字的状态。
。。。。。。。
列表内容最后在T8时刻完成最后个transfer。
需要注意的 虽然slave会忽略掉BUSY transfer,但是master也需要给出下一拍的地址可控制信号。
这里没反应出来的是hresp信号,这一信号包含ok,error,retry, split,正常情况下,都会是ok状态
相关文章推荐
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AHB总线协议
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AMBA总线协议AHB、APB、AXI对比分析
- AHB总线协议
- AMBA总线协议AHB、APB、AXI对比分析
- 工业协议之1:数字可寻址照明协议-DALI总线的个人整理