C/C++教程

【AHB协议解读 2】信号描述(Signal Descriptions)

本文主要是介绍【AHB协议解读 2】信号描述(Signal Descriptions),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

2.1 全局信号

HCLK和HRESETn(低有效)

2.2 Master信号

  1. HADDR[31:0]:总线地址信号
  2. HBURST[2:0]:buest type(突发类型)表明了传输类型是single类型还是突发组成的一部分。固定长度的bursts支持4/8/16 beats。burst还可以是递增或者循环类型,未指明长度的递增突发类型也是协议支持的。
  3. HMASTLOCK:表明当前传输是锁定的
  4. HPROT[3:0]:表明传输是通过操作码还是通过数据访问,以及传输访问是特权模式还是用户模式;对具有内存管理单元的master,这些信号还可以表明当前访问是cacheable还是bufferable。
  5. HSIZE[2:0]:表明一笔transfer的大小,典型大小有byte/halfword/word。协议支持的最大size为1024bits。
  6. HTRANS[1:0]:表明当前传输的传输类型,四种类型分别为 IDLE / BUSY / NONSEQUENTIAL / SEQUENTIAL
  7. HWDATA[31:0]:从master到slave的写数据,协议建议最小位宽为32,然而也可以扩展位宽以实现更高的带宽
  8. HWRITE:表明了传输的方向,高电平表示写操作,低电平表示读操作。该信号和地址信号在同一个沿采样,不同的是该信号需要在一个burst传输中保持恒定不变。
    在这里插入图片描述

2.3 Slave信号

  1. HRDATA[31:0]:在读操作阶段,读数据先从被选中的slave传输到多路复用器,再由多路复用器传输到master。和HWDATA一样,位宽可以从32扩展以增加带宽。
  2. HREADYOUT:表明总线上的传输结束,当该信号被驱动成低电平时,表明当前传输需要延缓完成。
  3. HRESP:传输响应,再穿过多路复用器后,为master提供一个额外信号以表明传输的状态。若为低电平,则表明传输状态为OKAY,若为高电平则表明传输状态为ERROR
    在这里插入图片描述

2.4 Decoder信号

HSELx:每个AHB-lite的slave都有独属的HSELx选择信号,这个信号表明当前传输将发生于选中的slave上。当slave最初被选中时,它必须在响应当前的传输之前先检查HREADY的状态,以确保上一笔传输已经完成。
在这里插入图片描述

2.5 Multiplexor信号

HRDATA[31:0]:读数据总线,通过decoder进行选择
HREADY:高电平指示master和所有slave当前的传输已经完成。
HRESP:传输响应信号,通过decoder进行选择
在这里插入图片描述

这篇关于【AHB协议解读 2】信号描述(Signal Descriptions)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!