您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > AMBA-AHB-APB总线协议总结
AHB总线一、从应答a)从可以完成操作有i.立即完成传输ii.插入一个或多个等待状态iii.Error信号表示传输失败iv.延迟传输的完成,允许主和从暂时释放总线b)当HREADY为高且响应OKEY,表示此次传输完成。c)SPLIT和RETRY响应相组合,允许从延迟传输的完成,并释放总线给其他主。该组合响应主要用于具有较大存取延迟的从。d)当S在未能正确的选择ERROR、RETRY或SPLIT时,可以插入HREADY(拉低)与OKAY信号,但是等待状态最多只可使用16个周期。e)只有OKEY响应可以在单个周期完成,完成其他3个响应至少需要2个周期。在第二个周期HREADY驱动为HIGH,同时HRESP仍然保持为ERROR、RETRY或SPLIT。两个周期保证了主有足够的时间取消地址和并驱动HTRANS到IDLE状态,在下一次传输开始前。在第二次RETRY时HREADY变为HIGH,同时HTRANS变为IDLE,结束当前传输,下一次将重新传输地址A。f)SPLIT和RETRY不同之处在于仲裁分配的方式。RETRY仲裁将应用正常的仲裁策略,因此具有最高优先权的主将获得总线。SPLIT仲裁器会调整做分段传送M的优先权,所以即使该M的优先权比较低,还是可以早得到总线使用权来完成数据的传送。S的数据准备好时,必须告知仲裁器,让相关M完成其要求。二、仲裁机制a)主需要持续发出HBUSREQ直到获得GRANGT,对于不定长burst需要持续发出HBUSREQ。在HGRANT有效后的下一个时钟上升沿可以地址和控制信号放到总线上。对于需要等待的情况,可以在HGRANT有效后将HREADY拉低,表示需要等待。b)当在两个主间进行总线移交时,需要在前一个主的倒数第二个地址被采样后(T5沿仲裁器采样到倒数第二个地址),同时切换HGRANT(T6沿主接受到grant信号),移交总线。ThearbiterchangestheHGRANTxsignalswhenthepenultimate(onebeforelast)addresshasbeensampled.ThenewHGRANTxinformationwillthenbesampledatthesamepointasthelastaddressoftheburstissampled.三、SPLIT传输当M和主采样到到SPLIT或RETRY响应后(T3沿),M必须立刻完成一个IDLE传输,同时仲裁器将该M的grant信号置为无效。以便另外一个M可以获得总线使用权。SPLIT和RETRY必须至少持续两个周期,当M发出IDLE时,仲裁器将会再次对M进行总线请求仲裁。对于RETRY响应使用的是正常的仲裁算法。对于SPLIT仲裁器将会屏蔽当前M的总线请求。split应答是由于S当前不能全部准备好M所请求的全部数据,从而给出该应答信号,从而使得仲裁器屏蔽掉该M的总线请求,使其不能获取总线,以给S留出准备数据的时间。当S准备好数据之后,它将通过HSPLITx信号通知仲裁器取消前面对该M的请求屏蔽,使其能够重新请求总线,完成传送过程。SPLIT操作需要S和仲裁器都提供硬件上的支持,实现起来有一定的复杂度。当M收到SPLIT或RETRY响应信号时,必须先进入IDLE状态并且重新要求bus使用权,一新的M会在IDLE周期结束前由仲裁器决定出来。M在收到SPLIT或RETRY信号后立刻进入IDLE状态。四、主从模块输入信号考虑建立和保持时间,如Tisrdy和Tihrdy。输出信号考虑validtime和保持时间,如Tovtr和Tohtr。APB总线一、APB简介在APB总线中,唯一的M为APBbridge,其它一些低速和低功率的外围皆为S。APB总线是AHB或者ASB系统总线的扩展,便于外设链接到系统总线上。AHB和APB之间有一条桥来链接。从状态机看,APB对每一笔数据的传送,均需花2个周期的时间。二、读写操作1.写操作在T1时,有限状态机进入预设的IDLE状态;在T2时,数据地址、读写控制信号和写入的数据会在频率正沿触发时,开始作写的数据传递准备,这个周期也就是刚才所提及的SETUP状态。译码电路在此状态会根据数据地址去译码出所要写入的APBS,此时所对应到S的PSEL信号将由0变1;在T3时,有限状态机会进入ENABLE状态,PENABLE信号在此状态会被设成1;在T4频率正沿触发时,PENABLE信号将由1变0,而PSEL信号在若没有其它数据的写入动作时,也将由1变0。为了减少功率的消耗,APB的数据地址和读写控制信号在下一笔数据传递前,将不会作任何改变。2.读操作在T3后,也就是在进入ENABLE周期后,APB从必须要将M所要读取的数据准备好,以便M可以在ENABLE周期末被T4正时钟沿触发时正确的将数据读取。三、APB桥和APB从1.APB桥PB桥为AHB的一个从设备,但它在APB中是唯一的主设备,而APB中其它低速和低功率消耗的外围皆为APB桥的从设备。APB桥将系统总线传送转换成APB方式的传送,它具备一些这些功能:锁存地址,在传送过程中保持地址有效。锁存读写控制信号。对锁存的地址进行译码并产生选择信号PSELx,在传送过程中只有一个选择信号可以被激活。写操作时:负责将AHB送来的数据送上APB总线。读操作时:负责将APB的数据送上AHB系统总线。产生一时序选通信号PENABLE来作为数据传递时的启动信号。2.APB从在PENABLE上升沿,且PSEL为高时锁存数据PSELx,PADDR和PWRITE信号的组合可以决定哪个寄存器会被写操作更新。在读操作的时候,数据可以PWRITE在=0,PSELx和PENABLE=1的时候被送到总线上,而PADDR用于决定哪个寄存器会被读。在C1上升沿处从采样数据或将数据送到总线,在C2上升沿时M采样数据。四、AHBTOAPB1.读传输在频率很高的情况下,在ENABLECYCLE中可能数据不能够直接映射到AHB总线,需要在APB桥中在T4的时候打一下锁住,并在T5的时候才被AHB主采样。虽然需要多一个等待周期(一共2个),但是由于频率提升了因此总的性能也提升了。批量读操作(非高频),每一组数据都只需要一个等待周期。在T2沿APB桥采样地址addr1,并送到APB总线,在T3沿PENABLE上升沿发送数据到总线,在T4沿M采样数据,同时APB桥采样Addr2。2.写传输APB总线上的单块数据写操作不需要等待周期。APB桥的责任是对地址和数据进行采样,并在写操作的过程中保持它们的值。当批量写操作的时候,第一块数据不需要等待周期,由于APB数据传输需要2个周期,因此之后的数据都需要一个等待周期。APB桥中需要有2个地址寄存器,当处理一个数据块写操作时,可以寄存下一个数据块的地址。3.读写交互传输如果写操作之后跟随着读操作,那么需要3个等待周期来完成读操作(写读各需要2个周期)。通常的情况下,不会有读操作之后紧跟着写操作的发生,因为两者之间CPU会进行指令读取。AXI总线
本文标题:AMBA-AHB-APB总线协议总结
链接地址:https://www.777doc.com/doc-4758045 .html