AHB-读写传输

1. 基本传输

一次传输由两个阶段组成:

  • 地址阶段:持续一个HCLK周期,除非由之前的总线传输扩展(被delay)。
  • 数据阶段:可能需要多个HCLK周期,使用HREADY信号控制完成传输所需的时钟周期数。

HWRITE控制数据传输的方向,因此:

  • HWRITE为高时,表示写传输,master在写数据总线HWDATA[31:0]上传播数据。
  • HWRITE为低时,执行读传输,slave必须在读数据总线HRDATA[31:0]上生成数据。

最简单的传输是没有等待状态的传输,传输由一个地址周期和一个数据周期组成。 图3-1显示了一个简单的读传输,图3-2显示了一个简单的写传输。

在没有等待状态的简单传输中:

  1. master在HCLK的上升沿之后将地址和控制信号驱动到总线上。
  2. slave然后在下一个HCLK的上升沿上采样地址和控制信息。
  3. slave采样了地址和控制之后,可以开始驱动响应的HREADYOUT响应,这个响应在HCLK的第三个上升沿上由master采样。

这个简单示例演示了传输的地址阶段和数据阶段是如何在不同的时钟周期中发生的。任何传输的地址阶段发生在前一个传输的数据阶段期间,地址和数据的这种重叠是总线流水线特性的基础,并且能够在仍然为slave提供足够的时间来响应传输的同时,实现高性能操作。

slave可以在任何传输中插入等待状态以允许额外的完成时间。每个slave都有一个HREADYOUT信号,它在传输的数据阶段期间驱动此信号。互连负责组合所有slave的HREADYOUT信号,生成一个用于控制整体进度的单个HREADY信号。

图3-3显示了一个带有两个周期等待状态的读传输。

图3-4显示了一个带有一个周期等待状态的写传输。

 

注意 对于写操作,master在整个扩展周期中必须保持数据稳定。对于读传输,slave在传输即将完成之前不必提供有效数据。

当以这种方式扩展传输时,它有一个副作用,即会扩展下一个传输的地址阶段。 图3-5显示了三个到不相关地址A、B和C的传输,其中地址C的地址阶段被扩展。 

在图3-5中:

  • 到地址A和C的传输是零等待状态。
  • 到地址B的传输是一个等待状态。
  • 地址B的数据阶段的扩展传输的影响是地址C的地址阶段的传输也扩展。

2. 传输类型

传输可以分为四种类型,由HTRANS[1:0]控制。表3-1列出了这些类型。

HTRANS[1:0]类型描述
00IDLE表示不需要数据传输。当master不想执行数据传输时,使用IDLE传输。建议master使用IDLE传输来终止锁定传输。slave必须始终对IDLE传输提供零等待状态的OKAY响应,并且传输必须被slave忽略。
01BUSY

BUSY传输类型允许master在突发传输中间插入空闲周期。此传输类型表明master正在继续进行突发传输,但下一个传输不能立即进行。

当master使用BUSY传输类型时,地址和控制信号必须反映突发中的下一个传输。

只有未定义长度的突发可以有一个BUSY传输作为突发的最后一个周期。

slave必须始终对BUSY传输提供零等待状态的OKAY响应,并且传输必须被slave忽略。

10NONSEQ

表示单个传输或突发传输的第一个传输。

地址和控制信号与先前的传输无关。

总线上的单个传输被视为长度为一的突发,因此传输类型是NONSEQUENTIAL(非顺序)。

11SEQ

突发中剩余的传输是SEQUENTIAL(顺序的),地址与先前的传输相关。

控制信息与先前的传输相同。

地址等于先前传输的地址加上传输大小(以字节为单位),传输大小由HSIZE[2:0]信号指示。在回环突发的情况下,传输的地址在地址边界处回环。

图3-6 显示了NONSEQ、BUSY和SEQ传输类型的例子。

在图3-6中:

  • T0-T1:以一个NONSEQ传输开始的4拍读操作。
  • T1-T2:master无法执行第二拍,因此插入一个BUSY传输来延迟第二拍的开始。slave为第一拍提供读数据。
  • T2-T3:master现在准备好开始第二拍,因此发出SEQ传输信号。master忽略slave在读取数据总线上提供的任何数据。
  • T3-T4:master执行第三拍。slave为第二拍提供读数据。
  • T4-T5:master执行最后一拍。slave无法完成传输,并使用HREADYOUT插入一个周期的等待状态。
  • T5-T6:slave为第三拍提供读数据。
  • T6-T7:slave为最后一拍提供读数据。

3. 锁定传输

如果master需要锁定访问,则还必须断言HMASTLOCK信号。此信号向任一slave指示当前传输序列是不可分割的,因此必须在处理任何其他传输之前进行处理。

通常使用锁定传输来维护信号量的完整性,确保在微处理器SWP指令的读阶段和写阶段之间,slave 不执行其他操作。

图3-7显示了微处理器SWP指令下的HMASTLOCK信号。

注意 在锁定传输之后,建议master插入一个IDLE传输。

大多数slave不需要实现HMASTLOCK,因为它们只能按照接收到的顺序执行传输。可以被多个master访问的slave,例如,多端口存储器控制器(MPMC)必须实现HMASTLOCK信号。

允许master在锁定传输序列的开始、中间或结束时对IDLE传输断言HMASTLOCK。在锁定传输序列的开始或结束时使用锁定IDLE传输是允许的,但不推荐,因为这种行为可能会对系统的仲裁产生不利影响。

也允许,但不推荐,master对多个IDLE传输断言HMASTLOCK,然后取消断言HMASTLOCK而不执行非IDLE传输。这种行为可能会对系统的仲裁产生不利影响。

要求锁定序列中的所有传输都必须是到同一个slave地址区域。

4. 传输大小

HSIZE[2:0] 表示数据传输的大小。表3-2列出了可能的传输大小。

HSIZE[2]HSIZE[1]HSIZE[0](bits)描述
0008字节
00116半字
01032
01164双字
1001284字线
1012568字线
110512
1111024

注释 由HSIZE设置的传输大小必须小于或等于数据总线的宽度。例如,在32位数据总线上,HSIZE只能使用值0b000,0b001,0b010。

结合使用HSIZE和HBURST,确定包装突发的地址边界。

HSIZE信号与地址总线的时序完全相同,但在突发传输期间它们必须保持不变。

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值