AHB协议详细介绍/时序/信号名

AHB学习总结

总线概述

作者:阿锋聊数字

AMBA的AHB总线是一个高性能总线,它可以包括masters, interconnects 和 slaves 。

它主要支持:

  1. 突发传输
  2. 单时钟边沿操作
  3. 非三态的
  4. 数据位宽可配置,64, 128, 256, 512, 和 1024 bits

多数的AHB Slave设备包括,memory设备、外部memory接口和高性能外设。如果你想连接低速设备,可以考虑使用低速总线,例如APB总线。

AHB总线还支持多Master的设计,你可以使用interconnect组件连接多个主,interconnect组件提供了仲裁器和路由机制。

​ 下图举例了一个一主三从的互联结构,图中未展示所有信号。

在这里插入图片描述

Master

在这里插入图片描述

Slave

在这里插入图片描述

信号描述

传输

基本传输

带读写等待的传输,下图中master 发起的

### AHB协议中的Burst传输时序详解 #### Burst传输概述 在高级高性能总线(AHB)协议中,为了提高数据传输效率并减少地址更新次数,引入了突发(Burst)传输机制。这种模式允许一次请求多个连续的数据项,在单次事务处理过程中完成多字节传送。 对于`INCR4`类型的突发操作而言,意味着每次访问都会自动增加偏移量直到达到四个位置为止[^4]。具体来说: - **初始阶段**:Master设备发起一个带有起始地址和长度参数的读取或写入命令给Slave端; - **后续周期**:随后几个拍数里无需再次提供新地址信息,因为内部逻辑会自动生成下一个目标单元的位置; - **结束条件**:当完成了预定数量(本例为四)的数据交换之后,则认为整个序列已经完毕。 #### 时序特性说明 ##### HTRANS控制信号 在整个过程期间,`HTRANS`用于定义当前正在进行的操作类型——即非序列(`NONSEQ`)还是爆发的一部分(`SEQ`)。对于首次存取动作标记为`BUSY`或者`IDLE`转至`NONSEQ`;而对于紧接着发生的其余三次迭代则设置成`SEQ`来表明它们属于同一个批量作业之内[^3]。 ##### 响应反馈机制 每当Slave接收到任何来自Master的有效请求后都必须给出回应。这里涉及到两个重要标志位: - `HREADY`: 表明本次循环是否已被拉伸延长,若置高表示正常进度未受影响; - `HRESP[1:0]`: 描述此次交互的结果状况,比如成功与否等具体情况。 此外值得注意的是,由于AHB设计上不允许中途撤销已经开始的任务,因此即使遇到异常情况也需坚持执行到底并向对方报告最终状态。 ```plaintext | Cycle | HADDR | HWRITE | HSIZE | HBURST | HPROT | HTRANS | HRDATA/WTDATA | |-------|----------|--------|-------|--------|-------|------------|---------------| | 1 | Addr_0 | Write? | Size | INCR4 | Prot | NONSEQ | Data_0 | | 2 | (Addr_0+1)| Write? | Same | Same | Same | SEQ | Data_1 | | 3 | (Addr_0+2)| Write? | Same | Same | Same | SEQ | Data_2 | | 4 | (Addr_0+3)| Write? | Same | Same | Same | SEQ | Data_3 | ``` 此表格展示了在一个典型的`INCR4`突发写入场景下的主要控制线变化趋势。其中每一列代表不同种类的关键信号,而各行对应各个时间点上的实际值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值