版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、zynq学习 Xilinx All ProgrammableZynq-7000 SoC 设计指南主 讲:何宾Email: LOGOXilinx大学计划课程大学计划课程2AMBA协议是ARM公司制定的用于SOC内IP互联的规范 AMBA协议规范主要内容 AMBA规范概述、规范概述、AMBA APB规范、规范、AMBA AHB规范和规范和AMBA AXI4规范。本章除了详细介绍规范。本章除了详细介绍APB和和AHB规范外,还详细规范外,还详细介绍了介绍了AMBA AXI4规范,规范,AXI4规范是规范是ARM和和Xilinx共同制定的,共同制定的,最新一代的用于最新一代的用于SOC内内IP互连的规
2、范。互连的规范。3 高级微控制器总线结构(Advanced Microcontroller Bus Architecture, AMBA) AMBA协议规范 -AMBA规范导论 AMBA规范定义了片上通信的标准,用于设计高性能嵌入式微控制器。它被ARM公司和众多的厂商所支持。 AMBA协议规范 -AMBA规范导论4应用领域 AMBA用于片上系统(用于片上系统(System-on- a-chip, SoC)的)的片上总线片上总线。自从自从AMBA出现后,其应用领域早已超出了微控制器设备,现在出现后,其应用领域早已超出了微控制器设备,现在被广泛的应用于各种范围的被广泛的应用于各种范围的ASIC和和
3、SOC器件,包括用于便携设备器件,包括用于便携设备的应用处理器。的应用处理器。功能介绍 AMBA协议是一个开放标准的,片上互联规范,用于协议是一个开放标准的,片上互联规范,用于SoC内功内功能模块的连接和管理。它便于第一时间开发带有大量控制器和外设能模块的连接和管理。它便于第一时间开发带有大量控制器和外设的多处理器设计。的多处理器设计。5l 高级系统总线(高级系统总线(Advanced System Bus,ASB)l 高级外设总线(高级外设总线(Advanced Peripheral Bus,APB)AMBA协议规范-AMBA V1.06ARM增加了AMBA高性能总线(AMBA High-p
4、erformance Bus, AHB),它是一个单个时钟沿的协议。l 高级高性能总线(高级高性能总线(Advanced High-performance Bus ,AHB)。l 高级系统总线(高级系统总线(Advanced System Bus ,ASB)l 高级外设总线(高级外设总线(Advanced Peripheral Bus,APB) AMBA协议规范-AMBA V2.07在2003年,ARM推出了第三个版本,AMBA3l 高级可扩展接口高级可扩展接口(Advanced eXtensible Interface,AXI3或或AXI v1.0)(用于更高性能的互连)(用于更高性能的互连
5、)l 高级高性能总线简化(高级高性能总线简化(Advanced High-performance Bus Lite,AHB-Lite v1.0)。l 高级外设总线(高级外设总线(Advanced Peripheral Bus,APB v1.0)。l 高级跟踪总线高级跟踪总线(Advanced Trace Bus,ATB v1.0)(用于(用于CoreSight片上调试和跟踪解决方案)片上调试和跟踪解决方案)AMBA协议规范-AMBA v3.08 AXI4协议 2009年,年,Xilinx 同同 ARM 密切合作,共同为基于密切合作,共同为基于 FPGA 的高的高性能系统和设计定义了性能系统和设
6、计定义了 AXI4 规范。并且在其新一代可编程门阵规范。并且在其新一代可编程门阵列芯片上采用了高级可扩展接口。列芯片上采用了高级可扩展接口。AMBA协议规范-AMBA V4.09l AXI一致性扩展(一致性扩展(AXI Coherency Extensions,ACE)。l AXI一致性扩展简化(一致性扩展简化(AXI Coherency Extensions Lite ,ACE-Lite)。l 高级可扩展接口高级可扩展接口4(Advanced eXtensible Interface 4 ,AXI4)。l 高级可扩展接口高级可扩展接口4简化(简化(Advanced eXtensible In
7、terface 4 Lite , AXI4-Lite)。AMBA规范(版本4)定义了的总线/接口AMBA协议规范-AMBA V4.010l 高级可扩展接口高级可扩展接口4流(流(Advanced eXtensible Interface 4 Stream ,AXI4-Stream v1.0)。l 高级跟踪总线(高级跟踪总线(Advanced Trace Bus ,ATB v1.1)。l 高级外设总线(高级外设总线(Advanced Peripheral Bus ,APB v2.0)。AMBA规范(版本4)定义了的总线/接口AMBA协议规范-AMBA V4.011l 适合于高带宽和低延迟设计。适
8、合于高带宽和低延迟设计。l 在不使用复杂的桥接方式下,允许更高频率的操作。在不使用复杂的桥接方式下,允许更高频率的操作。l 满足普遍情况下的元件接口要求。满足普遍情况下的元件接口要求。l 适用于高初始访问延迟的存储器控制器。适用于高初始访问延迟的存储器控制器。l 为互联结构的实现提供了灵活性。为互联结构的实现提供了灵活性。l 与已有的与已有的AHB和和APB接口向下兼容。接口向下兼容。最新一代的AMBA4接口的目标AMBA协议规范-AMBA V4.012l APB属于属于AMBA 3协议系列,它提供了一个低功耗的接口,协议系列,它提供了一个低功耗的接口,并降低了接口的复杂性。并降低了接口的复杂
9、性。l APB接口用在低带宽和不需要高性能总线的外围设备上。接口用在低带宽和不需要高性能总线的外围设备上。l APB是非流水线结构,所有的信号仅与时钟上升沿相关,这是非流水线结构,所有的信号仅与时钟上升沿相关,这样就可以简化样就可以简化APB 外围设备的设计流程,每个传输至少消耗外围设备的设计流程,每个传输至少消耗两个周期。两个周期。l APB可以与可以与AMBA高级高性能总线和高级高性能总线和AMBA 高级可扩展接口高级可扩展接口连接。连接。-AMBA APB规范13 APB写传输包括两种类型:写传输包括两种类型:l无等待状态写传输无等待状态写传输l有等待状态写传输有等待状态写传输 AMBA
10、 APB协议规范-AMBA APB写传输14 一个基本的无等待状态的写传输 地址、写入数据、写入信号和选择信号都在时钟上升沿后改变。地址、写入数据、写入信号和选择信号都在时钟上升沿后改变。AMBA APB写传输-无等待写传输15l T1:写传输开始于地址:写传输开始于地址PADDR,写数据,写数据PWDATA,写信号,写信号PWRITE和选择信号和选择信号PSEL,在,在PSCLK的上升沿寄存。这称为的上升沿寄存。这称为写传输的建立周期。写传输的建立周期。l T2:使能信号:使能信号PENABLE和准备信号和准备信号PREADY,在,在PSCLK的的上升沿寄存。上升沿寄存。u当确认时,当确认时
11、,PENABLE表示传输访问周期的开始。表示传输访问周期的开始。u当确认时,当确认时,PREADY表示在表示在PCLK的下一个上升沿从设备可以完成的下一个上升沿从设备可以完成传输。传输。AMBA APB写传输-无等待写传输16l 地址地址PADDR,写数据,写数据PWDATA和控制信号保持有限,直到和控制信号保持有限,直到在在T3完成传输,结束访问周期。完成传输,结束访问周期。l 在传输结束后,使能信号在传输结束后,使能信号PENABLE变成无效。选择信号变成无效。选择信号PSEL也变成无效,除非相同的外设立即开始下一个传输。也变成无效,除非相同的外设立即开始下一个传输。AMBA APB写传输
12、-无等待写传输17AMBA APB写传输-有等待写传输18有等待状态写传输,下面信号保持不变:l 地址:地址:PADDRl 写信号:写信号:PWRITEl 选择信号:选择信号:PSELl 使能信号:使能信号:PENABLEl 写数据:写数据:PWDATA.l 写选通:写选通:PSTRBl 保护类型:保护类型:PPROTAMBA APB写传输-有等待写传输19 在访问周期,当在访问周期,当PENABLE为高,可以通过拉低为高,可以通过拉低PREADY来扩展传输。来扩展传输。 当当PENABLE为低的时候,为低的时候,PREADY可以为任何值。可以为任何值。确保外围器件有固定的两个周期来使确保外围
13、器件有固定的两个周期来使PREADY为高。为高。注意:推荐地址和写信号在传输结束后不要立即更改,保持当注意:推荐地址和写信号在传输结束后不要立即更改,保持当前状态直到下一个传输,这样可以降低功耗。前状态直到下一个传输,这样可以降低功耗。AMBA APB写传输-有等待写传输20读传输包括以下两种类型l 无等待状态读传输无等待状态读传输l 有等待状态读传输有等待状态读传输AMBA APB协议规范-AMBA APB读传输21在读传输结束以前,从设备必须提供数据。在读传输结束以前,从设备必须提供数据。AMBA APB读传输-无等待读传输22 在有等待读传输中,使用在有等待读传输中,使用PREADY信号
14、来添加两个周期。也可信号来添加两个周期。也可以添加多个周期。在传输过程中也可以添加多个周期。如果在访以添加多个周期。在传输过程中也可以添加多个周期。如果在访问周期内拉低问周期内拉低PREADY信号,则扩展读传输。信号,则扩展读传输。AMBA APB读传输-有等待读传输23协议保证在额外的扩展周期时,下面的信号保持不变l 地址:地址:PADDR。l 写信号:写信号:PWRITE。l 选择信号:选择信号:PSEL。l 使能信号:使能信号:PENABLE。l 保护类型:保护类型:PPROT。AMBA APB读传输-有等待读传输24 PSLVERR 可以用来指示可以用来指示APB传输错误条件。在读和写
15、交易中,可以发传输错误条件。在读和写交易中,可以发生错误条件。生错误条件。 在一个在一个APB传输中,在最后一个周期内,传输中,在最后一个周期内,PSEL、PENABLE和和PREADY都是高时,都是高时,PSLVERR才认为是有效的。才认为是有效的。AMBA APB协议规范-AMBA APB错误响应25接收到一个错误的交易,可能改变外设的状态(这是由外设指定的)。l当一个写交易接收到一个错误时,并不意味着外设内的寄存器当一个写交易接收到一个错误时,并不意味着外设内的寄存器没有更新。没有更新。l读交易接收到一个错误时,能返回无效的数据。读交易接收到一个错误时,能返回无效的数据。u对于一个读错误
16、,并不要求外设将数据总线驱动为对于一个读错误,并不要求外设将数据总线驱动为0 0。 AMBA APB协议规范-AMBA APB错误响应26AMBA APB错误响应-写传输失败的例子27AMBA APB错误响应-读传输失败的例子28从AXI到APB 一个一个APB错误被映射回错误被映射回RRRSP/BRESP=SLVERR,这可以通,这可以通过将过将PSLVERR映射到映射到RRESP1信号(用于读)和信号(用于读)和BRESP1(用(用于写)信号来实现。于写)信号来实现。从AHB到APB 对于读和写,对于读和写,PSLVERR被映射回被映射回HRESP=SLVERR,这可以,这可以通过将通过将
17、PSLVERR映射到映射到AHB信号信号HRESP0信号来实现。信号来实现。AMBA APB错误响应-PSLVERR映射(桥接时)29APB总线操作状态图AMBA APB协议规范-操作状态30IDLE 这是默认的这是默认的APB状态。状态。SETUP 当传输被请求时,总线进入当传输被请求时,总线进入SETUP状态,选择信号状态,选择信号PSELx,被被置位。总线仅在置位。总线仅在SETUP 状态停留一个时钟周期,并在下一个时状态停留一个时钟周期,并在下一个时钟周期进入钟周期进入ACCESS状态状态AMBA APB协议规范-操作状态31ACCESS 使能信号使能信号PENABLE, 在在ACCE
18、SS状态中置位。在传输从状态中置位。在传输从SETUP状态到状态到ACCESS状态转变的过程中状态转变的过程中address, write, select和和write data信号必须保持不变。从信号必须保持不变。从ACCESS状态退出,由从器件的状态退出,由从器件的PREADY信号控制:信号控制:u 如果如果PREADY PREADY 为低,保持为低,保持ACCESSACCESS状态。状态。u 如果如果PREADY PREADY 为高,则退出为高,则退出ACCESSACCESS状态,如果此时没有其它传输请求,状态,如果此时没有其它传输请求,总线返回总线返回IDLEIDLE状态,否则进入状态
19、,否则进入SETUPSETUP状态状态AMBA APB协议规范-操作状态32信号信号来源来源描述描述PCLK时钟源时钟源时钟时钟 PRESETn系统总线系统总线复位。复位。APB复位信号低有效。该信号一般直接与系复位信号低有效。该信号一般直接与系统总线复位信号相连。统总线复位信号相连。PADDRAPB桥桥地址总线。最大可达地址总线。最大可达32位,由外设总线桥单元驱动。位,由外设总线桥单元驱动。PPROTAPB桥桥保护类型。这个信号表示交易普通的、剥夺的或者保护类型。这个信号表示交易普通的、剥夺的或者安全保护级别,以及这个交易是数据访问或者指令安全保护级别,以及这个交易是数据访问或者指令访问。
20、访问。PSELxAPB 桥桥选择信号。选择信号。APB桥单元产生到每个外设从设备的信桥单元产生到每个外设从设备的信号。该信号表示从设备被选中,要求一个数据传输。号。该信号表示从设备被选中,要求一个数据传输。每个从设备都有一个每个从设备都有一个PSELx信号。信号。 AMBA APB协议规范-AMBA3 APB信号及描述33信号信号来源来源描述描述PENABLEAPB桥桥使能信号。这个信号表示使能信号。这个信号表示APB传输的第二个和随后的周期。传输的第二个和随后的周期。PWRITEAPB 桥桥方向。该信号为高时,表示方向。该信号为高时,表示APB写访问;当该信号为低时,写访问;当该信号为低时,
21、表示表示APB读访问。读访问。 PWDATAAPB 桥桥写数据。当写数据。当PWRITE为高时,在写周期内,外设总线桥单为高时,在写周期内,外设总线桥单元驱动写数据总线。元驱动写数据总线。PSTRBAPB桥桥写选通,这个信号表示在写传输时,更新哪个字节通道。写选通,这个信号表示在写传输时,更新哪个字节通道。每每8个比特位有一个写选通信号。因此,个比特位有一个写选通信号。因此,PSTRBn对应于对应于PWDATA(8n+7):(8n)。在读传输时,写选通不是活动的。在读传输时,写选通不是活动的。PREADY从接口从接口准备好准备好。从从设备使用设备使用该信号来扩展该信号来扩展APB传输。传输。P
22、RDATA从接口从接口读取的数据。读取的数据。当当PWRITE位低,在读周期,所选择的从设位低,在读周期,所选择的从设备驱动这个总线。这个总线最多个备驱动这个总线。这个总线最多个32位宽度。位宽度。PSLVERR从接口从接口这个信号表示传输失败。这个信号表示传输失败。APB外设不要求外设不要求PSLVERR引脚。引脚。对已经存在和新对已经存在和新APB外设设计。当外设不包含这个引脚时,外设设计。当外设不包含这个引脚时,到到APB桥的合适的数据拉低。桥的合适的数据拉低。AMBA协议规范-AMBA3 APB信号及描述34 AHB是新一代的是新一代的AMBA总线,目的用于解决高性总线,目的用于解决高
23、性能可同步的设计要求。能可同步的设计要求。AHB是一个新级别的总线,高是一个新级别的总线,高于于APB,用于实现高性能、高时钟频率系统的特征要,用于实现高性能、高时钟频率系统的特征要求求.AMBA协议规范-AMBA AHB规范AMBA协议规范-AMBA AHB规范这些要求包括:这些要求包括:l猝发传输猝发传输.l分裂交易分裂交易.l单周期总线主设备交接单周期总线主设备交接.l单时钟沿操作单时钟沿操作.l无三态实现无三态实现.l更宽的数据总线配置(更宽的数据总线配置(64/128比特)比特).3536高性能ARM处理器高性能片上RAM高带宽存储器接口DMA总线主设备AHB到APB桥桥一个典型的A
24、HB系统AMBA AHB规范-AMBA AHB结构37典型的典型的,一个基于一个基于AMBA的微控制器包括的微控制器包括:l高性能系统背板总线,能够支持外部存储器的带宽,高性能系统背板总线,能够支持外部存储器的带宽,在这个总线上存在在这个总线上存在CPU和其它和其它DMA设备。设备。l加上一个较窄的加上一个较窄的APB总线,在上面有较低带宽的外设。总线,在上面有较低带宽的外设。一个典型AMBA系统中包括AHB和APB总线结构AMBA AHB规范-AMBA AHB结构38AMBA高级高性能总线高级高性能总线AHBAMBA高级外设总线高级外设总线APBl 高性能高性能l 流水线操作流水线操作l 猝
25、发传输猝发传输l 多个总线主设备多个总线主设备l 分裂交易分裂交易l 低功耗低功耗l 锁存的地址和控制锁存的地址和控制l 简单的接口简单的接口l 适合很多外设适合很多外设 AHB和和APB总线的特性比较总线的特性比较AMBA AHB规范-AMBA AHB结构39 基于中心多路复用互联机制,设计AMBA AHB总线协议l使用这个机制,所有总线主设备驱动地址和控制信号,用于指示使用这个机制,所有总线主设备驱动地址和控制信号,用于指示它们所希望执行的传输和仲裁器,用于决定哪个主设备将其地址和它们所希望执行的传输和仲裁器,用于决定哪个主设备将其地址和控制信号布线到所有的从设备。控制信号布线到所有的从设
26、备。l一个中心译码器要求控制读数据和响应信号的切换,用于从从设一个中心译码器要求控制读数据和响应信号的切换,用于从从设备中选择合适的到传输的信号备中选择合适的到传输的信号。AMBA AHB结构-AMBA AHB总线互连40l 在一个在一个AMBA AHB传输开始前,必须授权总线主设传输开始前,必须授权总线主设备访问总线。备访问总线。l 通过主设备对到仲裁器请求信号的确认,启动这个通过主设备对到仲裁器请求信号的确认,启动这个过程。过程。l 然后,指示授权主设备将要使用总线。然后,指示授权主设备将要使用总线。AMBA AHB规范-AMBA AHB操作41通过驱动地址和控制信号,一个授权的总线主设备
27、启动AMBA AHB传输。 这个信号提供了地址、方向和传输宽度的信息,以及指示传这个信号提供了地址、方向和传输宽度的信息,以及指示传输是否构成猝发的一部分。允许两种不同的猝发传输:输是否构成猝发的一部分。允许两种不同的猝发传输:u 增量猝发,在地址边界不回卷。增量猝发,在地址边界不回卷。u 回卷猝发,在一个特殊的地址边界回卷回卷猝发,在一个特殊的地址边界回卷。AMBA AHB规范-AMBA AHB操作42写数据总线用于将数据从主设备移动到从设备。读数据总线用于将数据从从设备移动到主设备。每个传输由下面构成:l一个地址和控制周期一个地址和控制周期l一个或多个数据周期一个或多个数据周期AMBA A
28、HB规范-AMBA AHB操作43 不能扩展地址,因此在这个期间,所有的从设备不能扩展地址,因此在这个期间,所有的从设备必须采样地址。必须采样地址。 然而,可以使用然而,可以使用HREADY信号,以允许扩展数据。信号,以允许扩展数据。当为低时,允许插入等待状态到传输中,允许额外的当为低时,允许插入等待状态到传输中,允许额外的时间用于从设备提供或者采样数据。时间用于从设备提供或者采样数据。AMBA AHB规范-AMBA AHB操作44在传输中,从设备使用响应信号在传输中,从设备使用响应信号HRESP1:0显示状态:显示状态:lOKAY用于指示传输正在正常的处理,当用于指示传输正在正常的处理,当H
29、READY信号变高时,表示传输成功地结束。信号变高时,表示传输成功地结束。lERROR 指示发生传输错误,传输不是成功的。指示发生传输错误,传输不是成功的。lRATRY和和SPLIT 指示传输不能被立即完成,但是总线主设备应该继续尝试传输。指示传输不能被立即完成,但是总线主设备应该继续尝试传输。AMBA AHB协议规范-AMBA AHB操作45一个一个AHB传输有两个不同的部分组成传输有两个不同的部分组成:l地址周期地址周期u 持续一个单周期。持续一个单周期。l数据周期数据周期u 可能要求几个周期。通过使用可能要求几个周期。通过使用READY信号实现。信号实现。AMBA AHB协议规范-AMB
30、A AHB操作46地址周期数据周期 简单传输(无等待状态)AMBA AHB协议规范-AMBA AHB操作47l 在在HCLK的上升沿,主设备驱动总线上地址和控制信号。的上升沿,主设备驱动总线上地址和控制信号。l 在下一个时钟上升沿,从设备采样地址和控制信息。在下一个时钟上升沿,从设备采样地址和控制信息。l 当从设备采样地址和控制后,它开始驱动合理的响应,在当从设备采样地址和控制后,它开始驱动合理的响应,在第三个时钟上升沿,总线主设备采样这个响应。第三个时钟上升沿,总线主设备采样这个响应。AMBA AHB协议规范-AMBA AHB操作在一个没有等待状态的简单传输中: 这个简单的例子,说明了在不同
31、的时钟周期,如何产生地址和这个简单的例子,说明了在不同的时钟周期,如何产生地址和数据周期。数据周期。48 实际上,任何传输的地址周期可以发生在前一个传输的数据实际上,任何传输的地址周期可以发生在前一个传输的数据周期。周期。 这个重叠的地址和数据是基本的总线流水线的属性,允许更这个重叠的地址和数据是基本的总线流水线的属性,允许更高性能的操作,同时为一个从设备提供了充足的时间,用于对一高性能的操作,同时为一个从设备提供了充足的时间,用于对一个传输的响应。个传输的响应。AMBA AHB协议规范-AMBA AHB操作49地址周期数据周期带有等待状态的传输l 对于写操作,在扩展周期内,总线主设备应该保持
32、总线稳定。对于写操作,在扩展周期内,总线主设备应该保持总线稳定。l 对于读传输,从设备不必提供有效数据,直到传输将要完成。对于读传输,从设备不必提供有效数据,直到传输将要完成。AMBA AHB协议规范-AMBA AHB操作50 当传输以这种方式扩展时,在随后传输的地址周期中有副作用。当传输以这种方式扩展时,在随后传输的地址周期中有副作用。下图说明了传输了三个无关的地址下图说明了传输了三个无关的地址A,B&C。 多个传输AMBA协议规范-AMBA AHB操作51l 传输地址传输地址A和和C,都是零等待状态。,都是零等待状态。l 传输地址传输地址B是一个等待周期。是一个等待周期。l 扩展传
33、输的数据周期到地址扩展传输的数据周期到地址B,影响传输的扩展地址周期,影响传输的扩展地址周期到地址到地址C。在图中:AMBA AHB协议规范-AMBA AHB操作52HTRANS1:0类型类型描述描述00IDLE表示没有数据传输的要求。空闲传输类型在总线主机被表示没有数据传输的要求。空闲传输类型在总线主机被授授权权总线,但并不希望执行一个数据传输时使用总线,但并不希望执行一个数据传输时使用空闲传空闲传输输。从机必须总是提供一个零等待状态。从机必须总是提供一个零等待状态OKAY 来响应空来响应空闲传输并且该传输应该被闲传输并且该传输应该被从设备从设备忽略。忽略。01BUSY忙传输类型忙传输类型
34、允许总线主允许总线主 机在机在猝发猝发传传 输中插入输中插入 空闲空闲 周周 期。这种传输类型表示总线主期。这种传输类型表示总线主设备设备正在连续执行一个正在连续执行一个猝猝发传输,但是下一次传输不能立即发生。当一个主发传输,但是下一次传输不能立即发生。当一个主设备设备使用忙传输类型时地址和控制信号必须反映使用忙传输类型时地址和控制信号必须反映猝猝发中的下发中的下一次一次传传输。输。这种传输应该被从这种传输应该被从设备设备忽略。忽略。与与从从设备设备响应空闲传输一响应空闲传输一样样,从从设备设备总是提供一个零等待状态总是提供一个零等待状态OKAY响应。响应。每个传输由HTRANS1:0信号表示
35、。AMBA AHB协议规范-AMBA AHB传输类型53HTRANS1:0类型类型描述描述10NONSEQ表示一次表示一次猝猝发的第一个传输或者一个单一传输。地址发的第一个传输或者一个单一传输。地址与与控制信号和前一次传输无关。控制信号和前一次传输无关。总线上的单一传输被总线上的单一传输被看作看作一个一个猝发。猝发。因此因此,传输类型传输类型是是不不连续的。连续的。11SEQ在一个猝在一个猝发中剩下的传输是连续传输并且地址是和前发中剩下的传输是连续传输并且地址是和前一次传输有关的。控制信息和前一次传输一次传输有关的。控制信息和前一次传输时一样的时一样的。地址等于前一次传输的地址加上传输大小(字
36、节)。地址等于前一次传输的地址加上传输大小(字节)。在在回卷猝回卷猝发的情况下发的情况下,传输地址在地址边界处回传输地址在地址边界处回卷卷,回回卷卷值等于传输大小乘以传输的次数(值等于传输大小乘以传输的次数(4、8 或者或者 16 其中之一)。其中之一)。AMBA AHB协议规范-AMBA AHB传输类型54不同传输类型例子AMBA AHB协议规范-AMBA AHB传输类型55l 第一个传输是一次猝发的开始所以传输类型为非连续传输;第一个传输是一次猝发的开始所以传输类型为非连续传输;l 主设备不能立刻执行猝发的第二次传输,所以主设备使用了忙主设备不能立刻执行猝发的第二次传输,所以主设备使用了忙
37、传输来延时下一次传输的开始。在这个例子中主设备在它准备传输来延时下一次传输的开始。在这个例子中主设备在它准备开始下一次猝发传输之前,仅要求一个忙周期,下一次传输完开始下一次猝发传输之前,仅要求一个忙周期,下一次传输完成不带有等待状态;成不带有等待状态;l 主设备立刻执行猝发的第三次传输,但是此时从设备不能完成主设备立刻执行猝发的第三次传输,但是此时从设备不能完成传输,并用传输,并用HREADY来插入一个等待状态;来插入一个等待状态;l 猝发的最后一个传输以无等待状态完成。猝发的最后一个传输以无等待状态完成。AMBA AHB协议规范-AMBA AHB传输类型56 AMBA AHB协议定义了协议定
38、义了4、8和和16拍猝发,也有未拍猝发,也有未定长度的猝发和信号传输。协议支持递增和回卷。定长度的猝发和信号传输。协议支持递增和回卷。AMBA AHB协议规范-AMBA AHB猝发操作57递增猝发 访问连续地址,并且猝发中每次传输地址仅是前一次地址的一访问连续地址,并且猝发中每次传输地址仅是前一次地址的一个递增;个递增;回卷猝发 如果传输的起始地址并未和猝发(如果传输的起始地址并未和猝发(x拍)中字节总数对齐,那拍)中字节总数对齐,那么猝发传输地址将在达到边界处回卷。例如,一个四拍回卷猝发么猝发传输地址将在达到边界处回卷。例如,一个四拍回卷猝发的字(的字(4字节)访问将在字节)访问将在16字节
39、边界回卷。字节边界回卷。 因此,如果传输的起始地址是因此,如果传输的起始地址是 0 x34,那么它将包含四个到地,那么它将包含四个到地址址0 x34、0 x38、0 x3C 和和 0 x30。AMBA AHB猝发操作-猝发操作类型58HBURST2:0类型类型描述描述000SINGLE单一传输单一传输001INCR未指定长度的未指定长度的递增猝递增猝发发010WRAP44拍回卷猝拍回卷猝发发011INCR44拍递增猝拍递增猝发发100WRAP88拍回卷猝拍回卷猝发发101INCR88拍递增猝拍递增猝发发110WRAP1616拍回卷猝拍回卷猝发发111INCR1616拍递拍递增增猝猝发发通过使用
40、 HBURST2:0,提供猝发信息AMBA AHB猝发操作-猝发操作类型 8 8种可能的类型种可能的类型591KB的地址边界 猝发不能超过该边界。因此重要的是主设备不要尝试发起一猝发不能超过该边界。因此重要的是主设备不要尝试发起一个将要超过这个边界的定长递增猝发。个将要超过这个边界的定长递增猝发。 可以接受:可以接受:使用只有一个猝发长度的,未指定长度的递增猝使用只有一个猝发长度的,未指定长度的递增猝发,来执行单个传输。发,来执行单个传输。 递增猝发可以是任何长度递增猝发可以是任何长度,但是其上限由地址不能超过,但是其上限由地址不能超过 1KB 边界这个事实所限制。边界这个事实所限制。AMBA
41、 AHB猝发操作-猝发操作大小60注:注: 猝发大小表示猝发的节拍数量,并不是一次猝发传输的实际猝发大小表示猝发的节拍数量,并不是一次猝发传输的实际字节个数。一次猝发传输的数据总量可以用节拍数乘以每拍数据的字节个数。一次猝发传输的数据总量可以用节拍数乘以每拍数据的字节数来计算,每拍字节数由字节数来计算,每拍字节数由 HSIZE2:0指示。指示。 所有猝发传输必须将地址边界和传输大小对齐。所有猝发传输必须将地址边界和传输大小对齐。u 字传输必须对齐到字地址边界(也字传输必须对齐到字地址边界(也 就是就是 A1 A1:0 = 000 = 00)u半字传输必须对齐到半字地址边界(也就是半字传输必须对
42、齐到半字地址边界(也就是 A0 = 0 A0 = 0)。)。AMBA AHB猝发操作-猝发操作大小61l 从设备能够通过监控从设备能够通过监控 HTRANS信号决定一个猝发何时提前信号决定一个猝发何时提前终止,并且确保在猝发开始之后每次传输有连续或者忙的终止,并且确保在猝发开始之后每次传输有连续或者忙的标记。标记。l 如果产生一个非连续或者空闲传输,那么这表明已经开始如果产生一个非连续或者空闲传输,那么这表明已经开始一个新的猝发。因此,一定已经终止了前一次猝发。一个新的猝发。因此,一定已经终止了前一次猝发。 当不允许完成一个猝发的特定情况下,对任一从设当不允许完成一个猝发的特定情况下,对任一从
43、设备设计而言,如果猝发提前停止,那么利用猝发信息能备设计而言,如果猝发提前停止,那么利用猝发信息能够采取正确的动作显得很重要。够采取正确的动作显得很重要。AMBA AHB猝发操作-猝发早期停止62如果总线主设备因为失去对总线的占有而不能完成如果总线主设备因为失去对总线的占有而不能完成一次突发,那么它必须在下一次获取访问总线时正确一次突发,那么它必须在下一次获取访问总线时正确地重建猝发。地重建猝发。例如: 如果一个主设备仅完成了一个四拍猝发中的一拍,那么,它如果一个主设备仅完成了一个四拍猝发中的一拍,那么,它必须用一个未定长度猝发来执行剩下的三拍猝发必须用一个未定长度猝发来执行剩下的三拍猝发。A
44、MBA AHB猝发操作-猝发早期停止63 4拍回卷猝发AMBA AHB协议规范-AMBA AHB猝发操作64作为一次四拍字猝发传输,地址将会在作为一次四拍字猝发传输,地址将会在16字节边字节边界回卷。因此,传输到地址界回卷。因此,传输到地址0 x3C之后接之后接 下来传输的地下来传输的地址是址是 0 x30。AMBA AHB协议规范-AMBA AHB猝发操作65四拍递增猝发AMBA AHB协议规范-AMBA AHB猝发操作66 上图表示了(回卷猝发)和递增量猝发的唯一不同,上图表示了(回卷猝发)和递增量猝发的唯一不同,地址连续通过地址连续通过1616个字节边界。个字节边界。AMBA AHB协议
45、规范-AMBA AHB猝发操作678拍回卷猝发AMBA AHB协议规范-AMBA AHB猝发操作68上图给出了上图给出了8拍字猝发传输的图。地址将在拍字猝发传输的图。地址将在 32 字节字节边界处回卷。因此,地址边界处回卷。因此,地址0 x3C之后的地址是之后的地址是 0 x20。AMBA AHB协议规范-AMBA AHB猝发操作698拍递增猝发AMBA AHB协议规范-AMBA AHB猝发操作70 上图中的猝发使用半字传输,所以地址每次增加上图中的猝发使用半字传输,所以地址每次增加 2 个字节,并且猝发在递增。因此,地址连续增加,通个字节,并且猝发在递增。因此,地址连续增加,通过了过了16字
46、节边界。字节边界。AMBA协议规范-AMBA AHB猝发操作71 未定义长度猝发AMBA AHB协议规范-AMBA AHB猝发操作72l 上图表示未定义长度的增量突发。表示两个猝发:上图表示未定义长度的增量突发。表示两个猝发:u在地址在地址 0 x20处,开始传输两个半字。半字传输地址增加为处,开始传输两个半字。半字传输地址增加为 2。u在地址在地址 0 x5C 处开始三个字传输。字传输地址增加为处开始三个字传输。字传输地址增加为 4。AMBA AHB协议规范-AMBA AHB猝发操作73控制信号和地址总线有严格一致的时序 传输类型和猝发类型一样,每次传输都会有一组控制信号,传输类型和猝发类型
47、一样,每次传输都会有一组控制信号,用于提供传输的附加信息。这些。然而,在一次猝发传输过程中用于提供传输的附加信息。这些。然而,在一次猝发传输过程中它们必须保持不变。它们必须保持不变。AMBA AHB协议规范-AMBA AHB传输控制信号74传输方向 当当 HWRITE为高时,该信号表示一个写传输。并且,主设备为高时,该信号表示一个写传输。并且,主设备将数据广播到写数据总线将数据广播到写数据总线HWDATA31:0上。当该信号为低时,上。当该信号为低时,将会执行一个读传输。并且,从设备必须产生数据到读数据总线将会执行一个读传输。并且,从设备必须产生数据到读数据总线HRDATA31:0。传输大小
48、HSIZE2:0用于表示传输的大小。传输大小被用来和用于表示传输的大小。传输大小被用来和 HBURST2:0信号一起,决定回卷突发的地址边界。信号一起,决定回卷突发的地址边界。AMBA协议规范-AMBA AHB传输控制信号75传输大小编码传输大小编码HSIZE2HSIZE1HSIZE0大小大小描述描述0008 位位字节字节00116 位位半字半字01032 位位字字01164 位位-100128 位位4 字线字线101256 位位8 字线字线110512 位位-1111024 位位-AMBA AHB协议规范-AMBA AHB传输控制信号76保护控制 保护控制信号保护控制信号HPROT3:0,提
49、供总线访问的附加信息,提供总线访问的附加信息,并且最初是给那些希望执行某种保护级别的模块使用的。并且最初是给那些希望执行某种保护级别的模块使用的。u 一次预取指或者数据访问;一次预取指或者数据访问;u特权模式访问或者用户模式访问;特权模式访问或者用户模式访问;AMBA AHB协议规范-AMBA AHB传输控制信号77 对于带有存储器管理单元的总线主设备来说这些信对于带有存储器管理单元的总线主设备来说这些信号也表示当前访问是带高速缓存的还是带缓冲的。并不号也表示当前访问是带高速缓存的还是带缓冲的。并不是所有总线主设备都能产生正确的保护信息。因此,是所有总线主设备都能产生正确的保护信息。因此,建建
50、议从设备在没有严格必要的情况下不要使用议从设备在没有严格必要的情况下不要使用HPROT信号。信号。AMBA AHB协议规范-AMBA AHB传输控制信号78保护信号编码保护信号编码HPROT3高速缓存高速缓存HPROT2带缓冲的带缓冲的HPROT1特权模式特权模式HPROT0数据数据/预取指预取指描述描述-0预取指预取指-1数据访问数据访问-0-用户模式访问用户模式访问-1-特权模式访问特权模式访问-0-无缓冲无缓冲-1-带缓冲带缓冲0-无高速缓存无高速缓存1-带高速缓存带高速缓存AMBA AHB协议规范-AMBA AHB传输控制信号79一个典型地址译码系统和从设备选择信号:AMBA AHB协
51、议规范-AMBA AHB地址译码80对于每个总线上的从设备来说,使用一个中央地址译码器提供选择信号HSELx。 选择信号是高位地址信号的组合译码,并且建议使用简单的译选择信号是高位地址信号的组合译码,并且建议使用简单的译码方案以避免复杂译码逻辑和确保高速操作。码方案以避免复杂译码逻辑和确保高速操作。从设备只能在 HREADY 信号为高时采样地址和控制信号以及 HSELx。 HSELx为高时,表示当前传输已经完成。在特定的情况下,为高时,表示当前传输已经完成。在特定的情况下,有可能在有可能在HREADY为低时采样为低时采样HSELx,但是将会在当前传输完成,但是将会在当前传输完成后,变更被选中的
52、从设备。后,变更被选中的从设备。AMBA AHB协议规范-AMBA AHB地址译码81能够分配给单个从设备的最小地址空间是 1KB。 所有总线主设备必须被设计为不能执行超过所有总线主设备必须被设计为不能执行超过1KB地址边界的地址边界的递增传输,因此确保了一个猝发绝不会超过地址译码的边界。递增传输,因此确保了一个猝发绝不会超过地址译码的边界。AMBA AHB协议规范-AMBA AHB地址译码82在系统设计中,如果有包含一个存储器映射并未完全填满存储空间的情况时,应该设置一个额外的默认从设备,以在访问任何不存在的地址空间时提供响应。 如果一个非连续或者连续传输试图访问一个不存在的地址空如果一个非
53、连续或者连续传输试图访问一个不存在的地址空间时,这个默认从设备应该提供一个间时,这个默认从设备应该提供一个 ERROR 响应。空闲或者忙响应。空闲或者忙传输访问不存在的空间(默认从设备)时,应该给出一个零等待传输访问不存在的空间(默认从设备)时,应该给出一个零等待状态的状态的 OKAY 响应。典型的,默认从设备的功能将以作为中央地响应。典型的,默认从设备的功能将以作为中央地址译码器的一部分来实现。址译码器的一部分来实现。AMBA AHB协议规范-AMBA AHB地址译码83只要从设备被访问,那它必须提供一个表示传输状只要从设备被访问,那它必须提供一个表示传输状态的响应。态的响应。HREADY信
54、号被用来扩展传输并且和响应信号被用来扩展传输并且和响应信号信号 HRESP1:0相结合,以提供传输状态。相结合,以提供传输状态。注: 在主设备发起传输后,由从设备决定如何进行传输。在主设备发起传输后,由从设备决定如何进行传输。AMBA AHB规范中没有做出总线主设备在传输已经开始后取消传输的规规范中没有做出总线主设备在传输已经开始后取消传输的规定。定。AMBA AHB协议规范-AMBA AHB从设备传输响应84从设备能够用许多种方式来完成传输。它能:从设备能够用许多种方式来完成传输。它能:l立刻完成传输。立刻完成传输。l插入一个或者多个等待状态以允许有时间来完成传。插入一个或者多个等待状态以允
55、许有时间来完成传。l发出一个错误信号来表示传输失败。发出一个错误信号来表示传输失败。l延时传输的完成,但是允许主设备和从设备放弃总线,把总线延时传输的完成,但是允许主设备和从设备放弃总线,把总线留给其他传输使用。留给其他传输使用。AMBA AHB协议规范-AMBA AHB从设备传输响应85HREADY信号用来扩展一次信号用来扩展一次AHB传输的数据周期。传输的数据周期。当当HREADY信号为低时,表示传输信号为低时,表示传输 将被扩展;而当其将被扩展;而当其为高时,表示传输完成。为高时,表示传输完成。 注意注意:每个从设备必须有一个预先确定的在从设备放弃总线每个从设备必须有一个预先确定的在从设
56、备放弃总线之前插入的最大等待状态数目,以便能够计算访问总线的延时。之前插入的最大等待状态数目,以便能够计算访问总线的延时。建议但不强制规定,从设备不要插入多于建议但不强制规定,从设备不要插入多于 16 16 个等待状态,以阻个等待状态,以阻止任何单个访问将总线锁定较长的时钟周期。止任何单个访问将总线锁定较长的时钟周期。AMBA AHB从设备传输响应-传输响应86HREADY信号 典型的,从设备将会用该信号,在传输中插入适当数量的等待典型的,从设备将会用该信号,在传输中插入适当数量的等待状态。而传输在状态。而传输在HREADYHREADY为高时,完成并且给出为高时,完成并且给出 OKAY OKA
57、Y 响应,表示响应,表示传输成功完成。传输成功完成。 ERROR信号 从设备用该响应来表示某种形式的错误条件和相关的传输。从设备用该响应来表示某种形式的错误条件和相关的传输。典型的,这被用作保护错误,例如:试图写一个只读的存储空间。典型的,这被用作保护错误,例如:试图写一个只读的存储空间。AMBA AHB从设备传输响应-传输响应87SPLIT和 RETRY响应组合 允许从设备延长传输完成的时间,但是释放总线给其他主设允许从设备延长传输完成的时间,但是释放总线给其他主设备使用。这些响应组合通常仅由有高访问延时的从设备请求,并备使用。这些响应组合通常仅由有高访问延时的从设备请求,并且从设备能够利用
58、这些响应编码来确保其他主设备在长时间内不且从设备能够利用这些响应编码来确保其他主设备在长时间内不被阻止访问总线。被阻止访问总线。AMBA AHB从设备传输响应-传输响应88 当从设备需要插入一定数量的等待状态先于决定将要给出当从设备需要插入一定数量的等待状态先于决定将要给出何种响应时,从机必须将响应驱何种响应时,从机必须将响应驱 动为动为OKAY。关于关于SPLIT和和RETRY的完整描述参见分块和重试。的完整描述参见分块和重试。 HRESP1:0的编码、传输响应信号和每个响应的描述参见的编码、传输响应信号和每个响应的描述参见下表。下表。AMBA AHB从设备传输响应-传输响应89响应编码响应
59、编码HRESP1 HRESP0 响应响应描述描述00OKAY当当HREADY为高时,表示传输已经成功完为高时,表示传输已经成功完成。成。OKAY响应也被用来插入任意一个附加响应也被用来插入任意一个附加周期,当周期,当HREADY 为低时,优先给出其他为低时,优先给出其他三种响应之一。三种响应之一。01ERROR该响应表示发生了一个错误。错误条件应该该响应表示发生了一个错误。错误条件应该发信号给总线主设备,以便让主设备知道传发信号给总线主设备,以便让主设备知道传输失败。一个错误条件需要双周期响应。输失败。一个错误条件需要双周期响应。AMBA AHB从设备传输响应-传输响应AMBA AHB从设备传
60、输响应-传输响应9010RETRY重试信号表示传输并未完成。因此,总线主重试信号表示传输并未完成。因此,总线主设备应该尝试重新传输。主设备应该继续重设备应该尝试重新传输。主设备应该继续重试传输直到完成为止。试传输直到完成为止。要求双周期的重试响应。要求双周期的重试响应。11SPLIT传输并未成功完成。总线主设备必须在下一传输并未成功完成。总线主设备必须在下一次被授权访问总线时重试传输。当传输能够次被授权访问总线时重试传输。当传输能够完成时,从设备将请求代替主设备访问总线。完成时,从设备将请求代替主设备访问总线。要求双周期的要求双周期的 SPLIT 响应。响应。91在单个周期内,仅可以给出OKAY响应。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北第二师范学院《企业形象设计》2021-2022学年第一学期期末试卷
- 2024家庭装修合同范本
- 2024城市公路护栏施工合同
- 湖北大学知行学院《会计职业道德》2023-2024学年第一学期期末试卷
- 《奥运游中国模板》课件
- 外伤性胰腺癌护理查房
- 二年级下册语文必背内容(古诗、课文、日积月累)
- 国家自然科学基金条例培训2024
- 2024居间合同的法律规定
- 《泪器病及治疗》课件
- 三年级语文上册第八单元集体备课+教材解读+解学设计课件
- 部编版二年级语文(上册)课内阅读专项训练题(含答案)
- 电动剪刀式升降车安全培训
- IEC60335-1-2020中文版-家用和类似用途电器的安全第1部分:通用要求(中文翻译稿)
- 妇幼健康状况分析报告
- 有机物脱水反应的规律及类型
- 骨科患者的护理评估课件
- 六年级上册数学课件-7.1 百分数的认识 ︳青岛版 (共17张PPT)
- 云教版七年级上册劳技第一章第二节衣服的洗涤与熨烫课件
- 足球竞赛规则裁判法(共56张PPT)
- 监理平行检查记录表格模板
评论
0/150
提交评论