AHB-Lite学习笔记(1)AHB-Lite的介绍和信号配置

因为打算学一学怎么搭一个基于Cortex M系列内核的SoC,所以开始学习AHB-Lite协议。

(1)概念

AHB-Lite是AHB总线的子集,只支持一个主设备。

//多个主设备需要在主从通信中考虑到主从仲裁的问题

//现在AXI已经在慢慢替代AHB总线协议了

AHB-Lite由三总线组成:数据总线、地址总线、控制信号。

其中:

①数据总线用于交换数据信息。

②地址总线用于选择一个外设,或者一个外设中的某个寄存器。

③控制信号用于同步和识别trade off。

(2)AHB-Lite信号

//信号命名规则:

①H:以H开头代表AHB总线定义的信号,以区别系统设计时的其他信号。

②n:低电平有效。

③x:针对某一个master或者slave的信号,如HBUSREQx1代表Master1的bus request信号。

Master接口信号:

Slave接口信号:

其中:

1)全局信号(Global Signals)

①HRESETn:全局复位信号,低电平有效。

②HCLK:全局时钟信号,一般是上升沿用于采样。

2)地址和控制信号(Address and Control)

①HADDR[31:0]:32位的地址信号

②HWRITE:写操作使能信号,高电平有效。

③HSIZE[2:0]:指定传输的大小,通常为8位(字节)、16位(半字)、32位(字)等。

④HBURST[2:0]:表示传输是single传输还是burst传输中的一拍。

//burst传输支持的固定长度为4、8、16,burst可以是递增型,也可以是回卷型

HPROT[3:0]:保护控制信号,需要Slave带有保护功能。

HTRANS[1:0]:指示当前传输的传输类型,分为IDLE、BUSY、NONSEQUENTIAL、SEQUENTIAL四种类型。

HMASTLOCK:高电平时,表示当前传输是一个锁定序列的一部分,它与地址总线和控制信号有着相同的时序。

3)数据信号

①HWDATA[31:0]:32位写数据信号。

HRDATA[31:0]:读数据信号,在读操作期间把数据从总线Slave设备读取到总线Mater设备,建议宽度为32位以上,扩展挺方便的。

4)传输响应信号(Transfer Response)

①HREADY/HREADYOUT:用于表示总线上是否传输已完成,高电平有效。

//HREADY信号在Slave端是inout信号,或者在设计的时候单独引出一条HREADYOUT信号

②HRESP:The Transfer Response(传输响应)提供传输状态的附加信息。

//如果是AHB总线的话,总共有四种响应(2位):OK、ERROR、RETRY和SPLIT。而AHB-Lite只有两种响应(1位):低电平反应传输正常,高电平反应传输异常

5)译码器信号(Select)

HSELx:选择信号,这个信号表示了Master当前传输选择的Slave。

//每个Slave都有他自己的选择信号HSELx,如HSEL_S1, HSEL_S2, HSEL_Memory等等

//HSELx信号是地址总线的组合逻辑译码

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值