AHB-Lite学习笔记(2)AHB-Lite的传输时序等其他信息

(3)数据交易类型

通过组合信号可以得到四种基本的传输类型。

①空闲:(没有任何传输)

              HSTRANS[1:0] == 2’b00;

②取指:(处理器希望执行取指操作,处理器一次性从存储器中取出32位指令信号)

              HSTRANS[1:0] == 2’b10;

              HPROT[0] == 1’b0;

              HSIZE[1:0] == 2’b00;

              HWRITE == 1’b0;

③字节:(处理器希望执行8位数据访问操作,该操作由指令LDRB、LDRBS、STRB等产生)

              HSTRANS[1:0] == 2’b10;

              HPROT[0] == 1’b1;

              HSIZE[1:0] == 2’b00;

//HWRITE信号为高电平对应STRB指令,HWRITE信号为低电平对应LDRB、LDRBS等指令。

④半字:(处理器希望执行16位数据访问操作,该操作由指令LDRH、LDRHS、STRH等产生)

              HSTRANS[1:0] == 2’b10;

              HPROT[0] == 1’b1;

              HSIZE[1:0] == 2’b01;

//HWRITE信号为高电平对应STRH指令,HWRITE信号为低电平对应LDRH、LDRHS等指令。

⑤字节:(处理器希望执行32位数据访问操作,该操作由指令LDR、LDM、POP、STR、STM、PUSH等,或者异常入口的一部分,或者返回所产生)

              HSTRANS[1:0] == 2’b10;

              HPROT[0] == 1’b1;

              HSIZE[1:0] == 2’b10;

//HWRITE信号为高电平对应STR、STM指令,HWRITE信号为低电平对应LDR、LDM等指令。

(4)读/写数据字节通道

//详见《手撕SoC》P65

 

(5)处理器存储器映射属性

Cortex-M0的存储器属性已经由ARMv6-M架构决定了,所以存储器地址空间的使用规则已经固定了。

//详见《手撕SoC》P65

(6)地址译码器

多路复用器为多对一设备,由多个从设备指向一个主设备。

 

地址译码器是一对多设备,由一个主设备指向多个从设备。其输入为地址信号,输出为选择信号。它包含两个功能:

①根据主设备在地址总线上提供的访问地址空间信息,生成选择一个从设备的选择信号HSEL_x,通向各个从设备。

②选择信号也连接到从设备多路选择器,用于在多个从设备当中选择对应的从设备返回信息。

(7)多路选择器实现总线互联

 

AHB-Lite使用多路选择器来实现从设备输出的多路数据信号之间的互联。

每个从设备都有一系列响应信号:HRDATA_x、HRESP_x、HREADYOUT_x。这些信号在输入多路复用选择器之后,通过从地址译码器输入的选择信号来控制输出其中一路给主设备。

(8)AHB-Lite总线时序

不论是写还是读,不论是否有等待状态,传输都分为两个阶段:

①地址访问阶段

地址阶段只持续一个HCLK,表示把之后传输的数据对应的地址信号HADDR和控制信号(HWRITE等)给提前一个HCLK给出。

②数据访问阶段

持续几个HCLK周期,其持续时长和HREADY信号有关系(HREADY信号通过监控先前传输是否完成来判断是否进入等待状态)。

//在AHB-Lite中,引入了流水线传输的机制,就是说现在在进行当前的数据访问阶段的同时,也可以执行下一次传输的地址访问阶段。

//控制读传输和写传输的是HWRITE信号,当它是高电平时说明是写传输,低电平时是读传输。

1)无等待基本读传输

2)无等待基本写传输

3)有等待读传输

//等到HREADY回归高电平之后HRDATA[31:0]才开始读取数据

4)有等待写传输

//等到HREADY回归高电平之后HWDATA[31:0]上的数据才开始写入

(9)实现中需要注意的问题

因为AHB-Lite中使用了流水线的思想,所以必须对某些信号做出一些延迟,以达成传输的顺利:

①由地址译码器到多路选择器的选择信号HSEL,需要一个HCLK的延迟。

②在多路选择器输出的HREADY信号反馈到从设备的HREADYIN之前,需要延迟一个HCLK周期。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: AMBA 3 AHB-Lite是一种总线协议,用于在集成电路中连接不同模块或外设。AMBA(Advanced Microcontroller Bus Architecture)是ARM公司开发的一种标准总线,旨在促进系统级集成的设计。 AHB-Lite是AMBA 3总线规范的一部分,它是ARM公司为嵌入式系统提供的低功耗和高性能的解决方案。AHB-Lite的设计目标是提供一个简化版本的AHB总线,以满足对较小和简单系统的需求。 AHB-Lite总线采用了一种简化的总线传输方法,同时保留了AHB总线的一些重要特性和功能。它支持主从模式,其中一个设备充当主设备,能够发起数据传输请求,而其他设备作为从设备,能够应答主设备的请求。 AHB-Lite总线具有低功耗和低复杂性的特点,可以减少面积和功耗,并提供高性能的数据传输。它支持多个主设备和从设备的连接,并使用分时复用的方式进行数据传输。主设备可以通过读写传输和直接存储器访问(DMA)来实现数据交换。 AHB-Lite总线还支持优先级访问,可根据不同模块的需要分配不同的优先级,以确保高优先级的数据传输能够及时处理。此外,它还支持错误检测和纠正机制,以确保数据传输的可靠性和完整性。 总之,AMBA 3 AHB-Lite是一种低功耗、高性能和简化的总线协议,用于连接不同模块和外设,并提供可靠的数据传输和处理能力。它在嵌入式系统中广泛使用,以满足对小型和简单系统的要求。 ### 回答2: AMBA 3 AHB-Lite是一种轻量级、高性能的总线协议,用于连接处理器、内存和外设等不同设备,提供高效的数据传输和控制信号交互。 AMBA是ARM公司提出的一系列总线标准,AHB-Lite则是其中的一种。AHB-Lite是AMBA总线的一种精简版本,相对于更为复杂的AHB和APB总线,AHB-Lite更加简单、易于实现和集成。 AHB-Lite总线结构包括主设备(如处理器)和从设备(如内存和外设),通过地址线、数据线、控制线和时钟信号等进行通信。主设备通过发起地址传输来读取或写入从设备的数据。AHB-Lite总线采用分片事务的方式,可以高效地支持多个主设备的并行访问。 AHB-Lite总线的特点之一是具有低功耗和低延迟。由于其采用有效的传输机制和轻量级的设计,能够在多个主设备之间快速传输数据,降低功耗消耗和延迟。 此外,AHB-Lite还支持多种访问模式,如单次传输、增量传输和乱序传输等。这些传输模式可以根据不同的应用场景和要求进行选择,提高系统的灵活性和性能。 总之,AMBA 3 AHB-Lite是一种高效、低功耗、低延迟的总线协议,适用于连接不同设备的通信和数据交互,为系统提供了快速、可靠的数据传输和控制机制。 ### 回答3: AMBA是一种应用于ARM处理器的总线架构,其中AMBA 3是第三代的AMBA总线标准。而AHB-Lite则是AMBA 3中的一种总线协议。 AMBA 3 AHB-Lite是一个高性能、低功耗的总线协议,适用于处理器和外围设备之间的通信。它具有如下特点: 1.简单易懂:AHB-Lite协议相对于AMBA 3中的其他总线协议来说,是比较简单的,因此易于理解和实现。这使得开发者可以更容易地集成和实现AHB-Lite接口。 2.低功耗:AHB-Lite设计了一些较低功耗的机制,如低功耗模式和动态功耗缩减技术,以帮助节省能源,并延长设备的待机时间。 3.高性能:尽管AHB-Lite是AMBA总线中较简单的协议,但它仍然提供了较高的性能,可以处理高速数据传输和多个总线事务同时发生的情况。因此,它适用于嵌入式系统中对性能要求较高的场景。 4.灵活可扩展:AHB-Lite具有良好的可扩展性,它支持连接多个处理器和外围设备,并允许通过添加信号进行系统扩展。这使得AHB-Lite适用于各种不同规模和配置的系统。 总之,AMBA 3 AHB-Lite是一种高性能、低功耗、简单易懂且灵活可扩展的总线协议,适用于ARM处理器和外围设备之间高效通信的嵌入式系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值