APB总线

AMBA AHB用于高性能、高时钟频率的系统模块;AMBA APB则用于低功耗外设

一般的系统会选择AHB/ASB+APB的总线架构,下图是一个典型的AMBA系统 :

用下图所示状态图可以表示APB总线传输过程中的状态转换关系:

状态说明:

 

IDLE :空闲状态,总线大部分时间处于此状态;

SETUP :对应外设的psel信号被断言,表明对应外设即将有传输要求,总线进入SETUP状态。总线在SETUP状态保持一个周期,并总是在下一个时钟上升沿进入ENABLE状态;

ENABLE :penable信号被断言,地址、写、选择信号在SETUP进入ENABLE过程中保持不变。ENABLE状态持续一个周期,如果之后没有进一步的传输要求,总线返回到IDLE。如果紧跟另一个传输,则进入SETUP状态,进行第2次传输;

写传输 

P代表APB总线定义的信号,主要包括PCLK、PADDR、PWRITE、PWDATA、PSEL、PENABLE等;

PWRITE=1表示写传输; 

如图所示,一次传输过程中,psel保持两个周期不变,且在此期间,paddr、pwrite也保持不变,penable在psel有效的第2个周期有效。为了降低功耗,地址信号和写信号将在传输后不再改变,直到发生下一次传输。协议仅要求使能信号有个规则的跳变,背靠背传输情况下,选择和写信号可能有小跳变。

写逻辑推荐写法:

assign wr = psel & pwrite & (penable);
always @(posedge pclk or negege present)
begin
    if(!presetn)
    begin
        REG_A <= 32’h0;
    end
    else if(wr & paddr = REG_A_ID)
    begin
        REG_A <= pwdata;
    End
end

读传输 

PWRITE=0表示读传输; 

读传输时各信号的时序和写时一样,在读传输中,从机必须在ENABLE周期提供数据,数据在ENABLE末尾的时钟上升沿被采样;

assign rd = psel & (~pwrite) & (~penable) ;
always @(*)
begin
    if(rd)            //setup 
    begin
        case(paddr)
        REG_A_ID    : prdatanxt = REG_A;
        REG_B_ID    : prdatanxt = REG_B;
        ……
        default        : prdatanxt = 32’h0;
        endcase
    end
    else
    begin
        prdatanxt = 32’h0;
    end
end
always @(posedge pclk or negege present)
begin
    if(!presetn)
    begin
        prdata <= 32’h0;
    end
    else    begin
        prdata <=prdatanxt;
    End
end

 

在AMBA APB总线中实现背靠背传输机制,首先需要理解APB的工作流程。APB总线设计用于连接低功耗、低带宽的外设,它通过使用两个地址寄存器来准备连续的传输,从而减少等待状态。具体来说,第一个传输可以在没有等待状态的情况下立即完成,而后续传输则可能需要等待状态,因为地址和数据的转换需要时间。 参考资源链接:[AMBA总线规范解读:背靠背传输与ISO15693协议](https://wenku.youkuaiyun.com/doc/7wj9mdhprz?spm=1055.2569.3001.10343) 背靠背传输的实现涉及到对APB协议的深入理解,尤其是在读写操作连续进行时,如何有效地管理等待状态和地址寄存器以提高效率。在实际设计中,必须确保当前传输的同时,下一个传输的地址和控制信号已经被准备好了。这可以通过提前加载地址寄存器来实现,从而减少在传输过程中插入等待周期的需求。 此外,背靠背传输的性能影响主要体现在减少传输间隔,降低响应时间,以及提高数据吞吐量。然而,这种传输机制需要精心设计的硬件支持,如地址寄存器、状态机和控制逻辑,以确保在不同操作之间无缝切换。 对于想要深入了解AMBA APB总线背靠背传输机制的读者,我推荐阅读《AMBA总线规范解读:背靠背传输与ISO15693协议》。该资源详细解释了APB背靠背传输工作原理,并且在ISO15693协议的上下文中进行了探讨。通过阅读这本书,你可以获得关于如何设计和实现更高效AMBA APB总线系统的深刻见解,以及如何在你的设计中应用这些知识。 参考资源链接:[AMBA总线规范解读:背靠背传输与ISO15693协议](https://wenku.youkuaiyun.com/doc/7wj9mdhprz?spm=1055.2569.3001.10343)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值