AHB总线问答
情况正常。但是,如果存在从设备在复位的时候不是驱动HREADY 为高的,应该保证复位时选中的那个从设备需要驱动HREADY 为高。
总体:主设备应该在什么时候重建被提前结束的突发传输?有哪些限制它如何重建突发传输?
应用于:AHB
唯一的限制就是主设备应该使用有效的突发传输组合来重建剩下的突发传输。例如:如果一个主设备要进行一次8 拍的突发传输,但是在传输3 拍之后就失去了总线控制权,那么剩下的5 拍传输可以使用1 拍SINGLE 突发传输加一次4 拍的INCR4 传输,或者也可以使用5 拍的未定义长度INCR 突发传输。
为了简单,建议主设备使用INCR 突发传输去完成剩下的传输。
总体:为什么一次突发传输不允许跨域1 kbyte 边界?
应用于:AHB
如果AHB 从设备在突发传输开始的时候采样到HSELx 信号,它就会知道它将在整个突发传输过程中都被选择。同样的,对于在突发传输开始的时候没有被选择的从设备也知道它在下一次突发传输之前都不会被选择到。
1 kbyte 是AHB 从设备在存储器空间分配中可以占据的最小空间。因此,如果一个突发传输跨越了1 kbyte 边界,那么访问可能是开始的时候访问一个从设备而后的传输又转向另一个从设备,而根据上述原因,这是不允许发生的。
选择1 kbyte 边界是因为它对于一个合理的突发传输已经足够大,但是对于那些可以对其到1 kbyte 空间而无需使用太多的可用内存空间的外设来说又太小。
如何将一个AHB 主设备连到一个AHB-lite
应用于:AHB
AHB-lite
由于AHB-lite
全功能AHB 主设备是在锁定传输的地址传输相位之前驱动HLOCK 信号的,并且通常是经由仲裁模块重现返回到全功能主设备以产生HMASTLOCK 信号,这将是和地址传输相位对其的。
下面的Verilog 代码可以用来产生 AHB LOCK ->
always @( negedge HRESETn or posedge HCLK ) begin
end
下面的例子显示了可以在总线上产生的HTRANS 传输顺序:
一个普通的4 拍突发传输跟一个IDLE 传输。
N - S - S - S - I
一个带有BUSY 传输的普通4 拍突发传输。
N - S - B - S - B - S - I
一个4
N - S - S - S - N - S - S - S - I
一个单次传输跟一个4 拍的突发传输。
N - N - S - S - S - I
一个单次传输跟一个IDLE 传输。
N - I
一个带有BUSY 传输的未定义长度突发传输。
N - B - S - B - S - B - I
一个带有BUSY 传输的未定义长度突发传输紧跟着另一个突发传输。
N - B - S - B - S - B - N - S
如何将一个AHB 从设备连到一个AHB-lite
应用于:AHB
只要从设备不产生SPLIT 或者RETRY 响应,那么AHB 从设备和AHB-lite是兼容的,可以之间连接。
如果AHB 从设备需要产生RETRY 响应,那么需要一个Ahb2Ahb 桥接器(在ARM AMBA Design Kit(ADK)中有几个例子)连接AHB 从设备和AHB-lite系统。这个Ahb2Ahb 能够本地支持RETRY 响应,并保持AHB-lite
如果AHB 从设备需要支持SPLIT 响应,那么不仅需要上面支持RETRY 响应用到的Ahb2Ahb 桥接器,还需要一个本地虚拟主设备和一个仲裁器。SPLIT 响应需要仲裁器将总线分配给两一个主设备,所以需要一个虚拟主设备放在本地全功能AHB 总线上去驱动IDLE 传输,只到从设备可以去完成SPLIT 传输。
AHB 和AHB-lite
应用于:AHB
AHB-lite
这样的简化移除了仲裁逻辑所需要的信号,HBUSREQ 信号和HGRANT 信号,并且HRESP 信号只需要1 位,SPLIT 和RETRY 从设备响应只用在对多主设备的支持上。
移除任何仲裁逻辑同时意味着AHB 主设备HLOCK 输出信号需要会发给与地址传输相位对其的HMASTLOCK 信号(通常由AHB 仲裁器完成的功能)。
AMBA 系统镇中复位信号应该维持多少个周期?
应用于:AHB,APB
建议系统上的主设备组件和从设备组件应该在复位请求大于1 或者2 个周期时清除状态。同时建议系统设计者应该维持复位信号至少16 个周期,除非知道有主设备组件或者从设备组件需要更长周期的复位请求。
AHB 怎样处理锁定传输中的SPLIT 响应?
应用于:AHB
如果一个
AHB总线问 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)