http://blog.163.com/huanhuan_hdu/blog/static/1352981182011625916845/跨域
仲裁:主设备能够在一个突发传输中解除HLOCK信号吗?缓存
应用于:AHB性能
AHB规范中要求全部在地址传输相位内的控制(除了HADDR和HTRANS)在突发传输周期中保持稳定。spa
尽管HLOCK信号不是一个地址传输相位内的信号,可是它却直接控制HMASTLOCK信号,而该信号是在地址传输相位的。设计
因此HLOCK信号必须在整个突发传输周期中维持为高,而且只能在最后一个地址传输相位以后改变,HMASTLOCK信号随之改变。blog
仲裁:主设备能够在被分配到总线而有不须要使用总线的时候进行一个不是IDLE的传输吗?接口
应用于:AHB内存
是的。主设备能够在被分配到总线而有不须要使用总线的时候进行一个不是IDLE的传输。可是请注意,在这种状况下任然建议主设备继续维持请求信号,以便仲裁器不会在传输过程当中将总线使用权分配给另外一个优先级更低的主设备。同步
仲裁:若是一个主设备当前被默认分配到了总线使用权,那么它在开始一个非IDLE传输以前须要维持HBUSREQ多少个周期?it
应用于:AHB
不须要。主设备能够当即开始一次非IDLE传输。
仲裁:HLOCK信号和HMASTLOCK信号之间有什么关系?
应用于:AHB
在每一个传输周期中的地址传输相位开始的时候,仲裁器都会对将要驱动地址信号线的主设备的HLOCK信号采样,若是HLOCK信号在此时有效那么仲裁器就会拉高HMASTLOCK并维持整个传输周期中的地址传输相位阶段。
仲裁:HGRANT信号能够在什么什么改变?
应用于:AHB
HGRANT信号能够在任意周期改变,并有多是一下几种状况:
HGRANT信号有效,而后在当前传输周期完成以前移除。这是有可能的而且是容许的,由于HGRANT信号只在HREADY信号为高的时候被主设备采样。
主设备能够不须要申请而获得总线使用权。
以上两点意味着主设备可能在申请总线的同时得到总线使用权。这发生在在主设备在同一个周期申请总线并同时被仲裁器分配总线使用权。
仲裁:为何HADDR信号有时候是仲裁器的输入信号?
应用于:AHB
地址总线,HADDR,本是不须要做为仲裁器的输入信号的,可是在有些设计中却能够用于帮助仲裁器决定改变总线使用权的恰当时机。例如,仲裁器能够设计成当突发传输到达4字边界的时候改变总线使用权。
仲裁器能够设计成老是容许突发传输完成吗?
应用于:AHB
应用于:AMBA AHB
从设备给出SPLIT,RETRY 或ERROR 响应总会引发突发传输提早结束,而这是不受仲裁器控制的,所以(仲裁器)必须予以支持。
未定义长度的INCR 突发传输的结束点并不能预测到,因此尚未有效的方法设计仲裁器以保证在将总线授予另外一个主设备时突发传输已经结束。
定长的INCRx 和WRAPx突发传输可以计数它们传输的节拍,因此仲裁器能够容许他们传输结束。可是因为AHB仲裁的同步时序,因此没有办法避免在突发传输第一次传输发起以后就当即结束突发传输的可能性。
仲 裁器只有经过对HBURST 信号的采样才知道一个定长的突发传输正在进行。可是HBURST 信号第一次能够被采样到的店是在突发传输第一节拍的第一个时钟周期以后,而在那时,仲裁器极可能已经决定将总线授予另外一个主设备并相应要改变HGRANT 信号。在这种状况下,只有一条从HBURST 到HGRANT 的组合路径可以帮助及时检测到突发传输以免提早结束,可是组合路径在AHB 总线中是不容许的。
主设备应该在一个锁定传输中何时拉高是释放HLOCK 信号?
应用于:AHB
在一个锁定传输中,HLOCK 信号必须至少在地址传输相位以前一个周期拉高。这样才能保证仲裁器在地址传输相位开始的时候,采样到的HLOCK 信号为高。
主设备应该在锁定传输中最后一次传输的地址传输相位发起以后释放HLOCK 信号。
主设备应该在何时释放HBUSREQ 信号?
应用于:AHB
对于一个未定义长度的突发传输(INCR),主设备必须保持HBUSREQ 信号为高一直到突发传输中的最后一次传输的地址传输相位发起以后。这将意味着若是倒数第二次传输是一个零等待状态,那么主设备可能会在未定义长度突发传输以后还被授予总线都多一次额外的传输。
对于定长突发传输,主设备能够在第一次得到总线发起传输以后就释放HBUSREQ 信号。只因此能够这样作是由于仲裁器可以对突发传输中的传输节拍计数并保持主设备一直被授予总线知道突发传输的结束。
可是,仲裁器并无强制要求必须容许突发传输的结束。因此,若是仲裁器在突发传输结束以前就改变了HGRANT 信号,那么主设备必须再次拉高HBUSREQ 信号。
仲裁器在一次锁定传输以后何时会将总线授予另外一个主设备?
应用于:AHB
仲裁器总会授予主设备在锁定传输周期以后一个额外的传输,因此主设备可以保证在锁定传输周期以后HMASTLOCK 信号为低的时候执行一次传输。而这恰巧又是在锁定传输的最后一次传输的数据相位上。
此 时,仲裁器能够将改变HGRANT 信号授予另外一个主设备,可是若是在最后一次锁定传输的数据相位上收到一个RETRY 响应,那么仲裁器将会继续驱动HGRANT 信号以确保那个执行锁定传输的主设备继续得到总线;若是在最后一次锁定传输的数据相位上收到一个SPLIT 响应,那么仲裁器将会将总线授予一个虚拟的主设备。
整体:对于一个容许断电或者时钟中止的从设备,须要什么样的系统支持?
应用于:AHB
若是系统视图访问一个断电的或者时钟中止的从设备,你必须确保此次访问可以唤醒电源供电或恢复时钟,或者配置AHB 译码器全部这种类型的访问重定向到一个虚拟从设备,这样以免系统访问一个无效的从设备时永远等停在那里。
这种方式的重定向须要确保随机IDLE 地址的访问将会有HREADY 为高,HRESP=OKAY 的默认响应,可是对于真正的访问(NONSEQ 或者SEQ)将会有ERROR 响应。
整体:何时能够发生突发传输提早结束?
应用于:AHB
突发传输提早结束或是由于仲裁器在突发传输过程当中改变HGRANT 信号,或是由于从设备在任一传输节拍中给出非OKAY 响应。注意虽然主设备不能决定一个定长的突发传输直到主设备被仲裁器或者从设备提示要这样作。
全部的AHB 主设备,从设备和仲裁器都必须设计成支持突发传输提早结束。
整体:HTRANS 信号能够在HREADY 为低时改变吗?
应用于:AHB
通常来讲,AHB 主设备不该该在HREADY 信号为低的时候改变控制信号,可是在如下状况,容许改变HTRANS 信号:
HTRANS = IDLE
AHB 主设备在执行一个内部操做而且没有发起一次总线传输。可是在AHB 等待状态下(HREADY 为低),主设备可能会决定须要一次总线传输而后在下一个周期将HTRANS 改成NONSEQ。
HTRANS = BUSY
HTRANS 在此时正是给予主设备必定时间以完成其内部操做,而这多是与HREADY 信号无关的(例如,AHB 中的等待状态)。所以HTRANS 信号能够在下一个周期改变为任意合法的值,如,在突发传输须要继续时改成SEQ,在突发传输结束时改成IDLE,在须要发起一个单独的传输时改成 NONSEQ。
HRESP = SPLIT/RETRY
正如AHB 规范中所述,主设备必须在双周期响应SPLIT和RETRY的第二个周期保持HTRANS为IDLE,因此HTRANS 会在第二个周期中从第一个周期中的值改变为IDLE。
HRESP = ERROR
主 设备容许在回应ERROR 响应时改变HTRANS 信号,就像回应SPLIT/RETRY响应同样,而且取消当前突发传输中的后续传输(即便HTRANS当前表示的是定长突发传输)。在这种状况 下,HTRANS 信号在第响应的二个周期改变为IDLE。或者主设备也能够容许继续当前传输。
整体:BUSY 传输能够发生在突发传输以后吗?
应用于:AHB
BUSY 传输只能发生在不定长突发传输(INCR)的结束。
BUSY 传输不能发生在定长突发传输(SINGLE,INCR4,WAP4,INCR8,WAP8,INCR16,WAP16)的结束。
整体:主设备能够在传输等待中改变地址和控制信号吗?
应用于:AHB
能够的。若是地址和控制信号表示的是一个IDLE 传输,那么主设备能够在HREADY 为低的时候将传输改成一个真正的传输(NONSEQ)。
可是若是主设备当前正表示一个真正的传输(NONSEQ或者SEQ),那么主设备不能在传输等待中取消此次传输,除非主设备接收到SPLIT。RETRY或者ERROR 响应。
整体:AHB 主设备能够直接连到AHB 从设备吗?
应用于:AHB
任何不支持SPLIT 响应的从设备均可以直接连到AHB 主设备上。若是从设备确实有使用SPLIT 响应,那么一个简化版的中采起仍是须要的。
若是一个AHB 主设备直接连到AHB 从设备,那么必须确保从设备在复位的时候维持HREADY 信号为高,而且从设备选择信号HSEL 永远维持为高。
整体:全部的从设备都必须支持BUSY 传输类型吗?
应用于:AHB
是的。全部从设备都必须支持BUSY 传输类型以确保它可以与任何主设备兼容。
整体:地址必须对齐吗?即便是IDLE 传输?
应用于:AHB
是的。地址应高根据传输宽度(HSIZE)对齐,即便是IDLE 传输。这会避免在仿真的时候,总线监视器发出的警告。
整体:在AHB 系统中能够支持多少个主设备?
应用于:AHB
AHB 规范中提供了最多16 个主设备,然而,这还包括一个虚拟主设备,即真正的总线主设备最多以后15 个。习惯上总线主机号0 被分配给虚拟总线主机。
整体:AHB到APB的桥接器如何处理不是32-bits 的访问?
应用于:AHB,APB
桥接器应该简单的将整个32-bit 的数据都传输过去。可是请注意,当进行小于32-bit的数据传输时,确保外设正处在APB 数据总线上的正确比特位上。
整体:HREADY 信号是从设备的输入信号仍是输出信号?
应用于:AHB
AHB 从设备必须将HREADY 信号既做为输入信号又做为输出信号。
从设备须要输出HREADY 信号以便可以扩展传输中的数据传输相位。
从设备同时须要将HREADY 信号做为一个输入信号,以便可以判断上一次选择的从设备在何时完成它的最后一次传输,以及当前从设备的数据传输相位即将开始。
每个AHB 从设备都应该有一个HREADY 输出信号(习惯上命名为HREADYOUT)链接到从设备—主设备多路器上多路器的输出信号就是全局HREADY 信号,它将链接到AHB 系统上的全部主设备而且同时做为HREADY 输入信号反馈输入到全部的从设备。
整体:默认从设备真的须要吗?
应用于:AHB
若是整个4G byte空间都被定义使用到了,那么默认从设备是不须要的。可是,若是在整个存储地址空间分配上存在未定义的区域,那么确保在访问不存在的地址空间时AHB 系统不会发生死锁是很重要的。默认主设备的功能是很是简单的,而且同时在译码器中就实现了。
整体:虚拟主设备真的须要吗?
应用于:AHB
任何存在支持SPLIT 响应的从设备的AHB 系统都是须要有虚拟主设备的。应为若是全部其它主设备都接收到了SPLIT 响应,那么系统会将总线使用权分配给虚拟主设备。
虚拟主设备中不须要什么逻辑,它的实现只须要简单的将其输入信号链接到地址/控制多路器的虚拟主机位置。虚拟主机须要驱动HTRANS 为IDLE,HLOCK 为低,全部其它主设备输出信号驱动为合法状态。
整体:主设备在扩展的传输中能够改变HADDR 吗?
应用于:AHB
如 果主设备表示它想进行NOSEQ,SEQ 或者BUSY 传输,那么它就不容许在扩展的传输中(当HREADY 为低时)改变地址总线上的值,除非它接收到了ERROR,RETRY 或者SPLIT 响应。若是主设备表示它想进行一个IDLE 传输,那么它能够改变地址信号。
整体:有规定须要HPROT,HSIZE 和HWRITE 信号在突发传输中须要保持恒定吗?
应用于:AHB
是的,控制信号必须在整个突发传输中都要保持恒定。
整体:规范里面建议只有16个等待状态,若是须要16个以上的等待周期该怎么作?
应用于:AHB
对于一些从设备而言,16个以上的等待周期是能够接受的。例如,一个串行的ROM,它只在系统商店初始化的时候会被访问时会插入大量的等待状态,可是在系统完成上电初始化以后,它并不影响系统性能和延时的计算。
对于另外一些从设备,存在多项选择。SPLIT 或者RETRY 响应能够用于表示从设备暂时还不能执行数据传输请求,或者从设备被访问时,给出一个中断响应,或者在查询一个状态寄存器以后能访问。这两种状况都表示从设备不可以在可接受的等待周期中给出应答。
整体:不一样的突发传输用在什么地方?
应用于:AHB
一般,主设备在高速缓存行填充的时候使用回环突发传输,主设备先是想获取他想要的数据,而后完成突发传输把剩余的数据取出药用于高速缓存行填充。增量突发传输主要用在像DMA控制器一类的主设备,须要填充一个可能不是地址边界对齐的存储器的缓冲区。
整体:对于从设备而言,应该为HREADY 和HRESP 信号什么样的默认状态?
应用于:AHB
建议HREADY 的默认状态为高,而且HRESP 为OKAY 状态。这样的组合可以保证从设备即便是在低功耗模式下也能对IDLE 传输给出正确的响应。
整体:虚拟总线主设备和默认总线主设备之间有什么区别?
应用于:AHB
默认总线主设备是指系统中没有主设备在申请总线的时候,总线被分配给的那个主设备。一般状况下,最有可能申请总线的主设备就是默认总线主设备。
虚 拟主设备是指只进行IDLE 传输的主设备。系统须要虚拟主设备是以便仲裁器可以保证可以将总线分配给一个不进行任何实际传输的主设备。仲裁器在如下两种状况下须要这样作:在一个锁定 传输中获得一个SPLIT 响应;在全部其余主设备都已经获得SPLIT 响应的状况下,又获得一个SPLIT 响应。
整体:HPROT 信号默认应该是什么值?
应用于:AHB
许多主设备不能产生准确的保护信息,那么对于这些主设备,HPROT 信号默认应该表示为:Non-cacheable, Non-bufferable, Privileged, Data Accesses,也就是HPROT[3:0] = 4'b0011。
整体:AHB 信号在复位时是什么状态?
应用于:AHB
AHB 规范中指出在复位时,总线信号应该是一个肯定的有效的值。简单的理解就是信号应该是逻辑‘0’或‘1’,而不是高阻态Hi-Z。实际应该是什么样的有效的值要取决于设计者。HTRANS 信号是惟一一个在复位时肯定的信号,它将强制为IDLE。
同时,HREADY 信号在复位时保持高电平也很重要。若是全部的系统从设备在复位时驱动HREADY 信号为高,这将保证这是状况正常。可是,若是存在从设备在复位的时候不是驱动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 主设备将会永久的得到总线。全功能AHB 主设备HBUSREQ 输出信号保留不接,HGRANT 输入信号直接接到逻辑‘1’(1'b1)。
因为AHB-lite 不支持SPLIT 和RETRY 响应,AHB-lite HRESP 信号只有1 位,因此全功能AHB 主设备HRESP[1:0] 输入信号应该将HRESP[1] 接到逻辑‘0’(1'b0)。
全功能AHB 主设备是在锁定传输的地址传输相位以前驱动HLOCK 信号的,而且一般是经由仲裁模块重现返回到全功能主设备以产生HMASTLOCK 信号,这将是和地址传输相位对其的。
下面的Verilog 代码能够用来产生 AHB LOCK -> AHB-lite 的HMASTLOCK 信号返回时序功能。
always @( negedge HRESETn or posedge HCLK ) begin
if ( !HRESETn )
HMASTLOCK <= 1'b0;
else begin
if ( HREADY )
HMASTLOCK <= HLOCK;
end
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 系统端的HREADY 为低(1'b0)。
若是AHB 从设备须要支持SPLIT 响应,那么不只须要上面支持RETRY 响应用到的Ahb2Ahb 桥接器,还须要一个本地虚拟主设备和一个仲裁器。SPLIT 响应须要仲裁器将总线分配给两一个主设备,因此须要一个虚拟主设备放在本地全功能AHB 总线上去驱动IDLE 传输,只到从设备能够去完成SPLIT 传输。
AHB 和AHB-lite 有什么区别?
应用于:AHB
AHB-lite 是全功能的AMBA 2 AHB 规范的一个简化版本,只支持一个主设备。
这样的简化移除了仲裁逻辑所须要的信号,HBUSREQ 信号和HGRANT 信号,而且HRESP 信号只须要1 位,SPLIT 和RETRY 从设备响应只用在对多主设备的支持上。
移除任何仲裁逻辑同时意味着AHB 主设备HLOCK 输出信号须要会发给与地址传输相位对其的HMASTLOCK 信号(一般由AHB 仲裁器完成的功能)。
AMBA 系统镇中复位信号应该维持多少个周期?
应用于:AHB,APB
建议系统上的主设备组件和从设备组件应该在复位请求大于1 或者2 个周期时清除状态。同时建议系统设计者应该维持复位信号至少16 个周期,除非知道有主设备组件或者从设备组件须要更长周期的复位请求。
AHB 怎样处理锁定传输中的SPLIT 响应?
应用于:AHB
若是一个传输中受到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:全部的从设备都应该支持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 在设计上是尽量的有简单的接口。拥有这样简单的设计使得在链接一个新的APB 设备的时候更加简单,而且在分析计算系统性能的时候更简单。
虽然不少APB 设备是低速设备,像是UART,它们一般经过控制寄存器访问的。一般设备驱动程序首先会访问状态寄存器肯定它是否空闲,而后才会去去访问数据寄存器。这样的两个操做均可以不须要附加的等待状态,所以外设能够做为一个APB 设备而被访问。
若是确是须要等待状态的外设,能够设计成AHB 从设备,在不多数状况下,若是设计须要包括不少这样的外设,那么可使用第二级AHB 总线以减轻主系统总线的负荷。
(完)