AHB总线问答
下面的Verilog 代码可以用来产生 AHB LOCK ->
传输中受到SPLIT 响应,那么仲裁器就会夺回被SPLIT 的主设备的总线使用权并该主设备将不会再参与仲裁,直到从设备表示传输可以完成。如果一次访问是锁定的,那么该次访问就不能被其它主设备的访问所打断。
AHB 系统在处理这两种需求同时发生的情况只有一条途径,那就是将总线分配给“虚拟主设备”。虚拟主设备只进行IDLE 传输,这在锁定传输中式允许的,如果将总线分配给其它任何主设备都将违背锁定传输协议,如果仲裁器忽略SPLIT 相同将违背SPLIT 协议,所以虚拟主设备是唯一的选择。
虚拟主设备同时用在所有主设备都收到SPLIT 响应的情况下(虚拟主设备不能接受SPLIT 响应)。
建议支持split 的从设备的设计者能确保从设备监听HMASTLOCK 输入信号,以便在锁定传输中不返回SPLIT 响应,应为那样也是无济于事的。
SPLIT/RETRY:SPLIT 和RETRY 响应可以在突发传输中的任何时候给出吗?
应用于:AHB
是的,从设备可以在突发传输中的任何一次传输给出SPLIT,RETRY,ERROR 响应。从设备被没有限制只能在第一次传输给出这些响应。
SPLIT/RETRY:从设备可以在给出SPLIT 响应的同一个周期拉高HSPLITx 信号吗?
应用于:AHB
不可以。规范中要求HSPLITx 信号只能在给出SPLIT 响应之后被拉高。
SPLIT/RETRY:从设备可以同时使用SPLIT 和RETRY 响应吗?
应用于:AHB
通常,从设备并不同时使用SPLIT 和RETRY 响应。对于那些可能同时被多个不同的主设备访问的从设备都应该使用SPLIT 响应。RETRY 响应主要用在只被一个主设备访问的外设中。
SPLIT/RETRY:所有的主设备都应该支持SPLIT 和RETRY 吗?
应用于:AHB
是的。所有主设备都必须支持SPLIT 和RETRY 响应,以确保它们能够和任何的从设备兼容。主设备处理SPLIT 和RETRY 响应的方式都是一样的。
注意:如果系统是基于AHB-lite的,SPLIT 和RETRY 响应都是不支持的。AHB-lite
SPLIT/RETRY:所有的从设备都应该支持SPLIT 和RETRY 吗?
应用于:AHB
不是的。从设备只需要支持它需要使用的响应类型。例如:一个简单的片上存储器模块可以在仅仅一个等待状态后就能够响应所有的传输,那么它就不需要SPLIT 和RETRY 响应。
SPLIT/RETRY:在SPLIT 响应或RETRY 响应之后的IDLE 传输中,应该在总线上给出什么地址?
应用于:AHB
其实在这个传输周期中,总线上是什么地址信号并没有什么影响。被选择的不应该有任何行为,并且必须给出零等待的OKAY 响应。
在许多情况下,主设备保持地址信号不变将会更简单,地址信号保持主设备想要进行的下一次传输的地址不变,并只在下一次传输返回那个因为SPLIT 或是RETRY 响应而必须重新进行的传输的地址上。
在一些设计上,主设备可能是在IDLE 传输周期中返回到那个需要重传的地址上,这个当然也是完全可以接受的。
SPLIT/RETRY:SPLIT 和RETRY 响应有什么不同?
应用于:AHB
SPLIT 和RETRY 响应都被从设备在需要很多周期才能完成传输时使用的。这些响应允许数据传输表现出完成,以避免总线停顿,但是这也同时表示传输应该在下一次获得总线的时候重新尝试上一次传输。
它们两者的不同在于:SPLIT 响应告诉仲裁器可以将总线使用优先级交给所有其他主设备直到SPLIT 传输可以结束(实际上是忽略该主设备以后所有的传输请求直到发出SPLIT 的那个从设备表示它可以完成SPLIT 传输),而RETRY 响应仅仅告诉仲裁器将总线使用权交给最高优先级的主设备。
SPLIT 响应比RETRY 响应实现起来更复杂,但是它的优势在于允许最有效的使用总线带宽。
主设备在SPLIT 和RETRY 响应上相同的行为,主设备应该放弃下一次传输并重新尝试当前访问失败的访问。
SPLIT/RETRY:当AHB 主设备在在突发传输中间接收到从设备的RETRY 响应时,应该在HTRANS 上使用什么信号?
应用于:AHB
传输无论在何时重新发起的时候,它必须设置HTRANS 为NONSEQ,并且需要根据需求调整HBURST 信息(通常值表示INCR)。
SPLIT/RETRY:主设备可能会在SPLIT 响应之后永远失去总线吗?
应用于:AHB
是的。所以从设备必须不能在给出SPLIT 响应的同一个周期拉该HSPLIT 的相应位,这样的话主设备会永远失去总线。
总体:AHB 转APB 桥如何处理不是32-bit 的访问?
应用于:AHB、APB
桥接器只应该简单的传输完整的32-bit 的数据。需要注意如果向APB 从设备进行少于32-bit 的数据传输,确保设备在APB 总线上正确的位置很重要。
总体:为什么在APB 上没有等待信号?
应用于:APB
APB 在设计上是尽可能的有简单的接口。拥有这样简单的设计
AHB总线问 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)