OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3669|回复: 0

STM32H7 参考手册 AXI简介

[复制链接]

19

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2017-8-2
在线时间
46 小时
发表于 2020-7-2 17:21:30 | 显示全部楼层 |阅读模式
2  内存和总线架构2.1 系统架构
  如表3和图1所示,AXI总线矩阵,两个AHB总线矩阵和总线桥允许将总线主控器与总线从属器互连。
  表3.总线主站到总线从站的互连
1.png
F1.png
2.1.1总线矩阵
  D1域中的AXI总线矩阵
  D1域多AXI总线矩阵可确保并仲裁从多个主机到多个从机的并发访问。 这允许高速外围设备高效同时运行。
  仲裁使用具有QoS功能的循环算法。
  有关AXI互连的更多信息,请参见第2.2节:AXI互连矩阵(AXIM)。
  D2和D3域中的AHB总线矩阵
  D2和D3域中的AHB总线矩阵可确保并仲裁从多个主机到多个从机的并发访问。 这允许高速外围设备高效同时运行。
  仲裁使用循环算法。
2.1.2 TCM总线
  DTCM和ITCM(数据和指令紧密耦合的RAM)通过专用TCM总线直接连接到Cortex-M7内核。 MDMA控制器可以通过AHBS(特定的CPU从站AHB)访问DTCM和ITCM。 Cortex-M7以CPU时钟速度访问  ITCM,并具有零等待状态。


2.1.3总线到总线桥
  为了允许具有不同类型总线的外围设备一起通信,系统中有许多总线到总线的桥接器。
  D1和D3域中的AHB / APB桥接器允许将APB3和APB4上的外围设备分别连接到AHB3和AHB4。 D2域中的AHB / APB桥允许APB1和APB2上的外围设备连接到AHB1。 这些AHB / APB桥提供了完全同步的接口,这使APB外设可以独立于所连接的AHB的时钟工作。


  AHB / APB桥接器还允许APB1和APB2外设分别连接到DMA1和DMA2外设总线,而无需通过AHB1传输。
  AHB / APB桥通过将8位/ 16位APB数据复制到32位字的三个高字节/高半字,将其转换为32位AHB数据。
  AXI总线矩阵在其从总线接口上结合了AHB / AXI总线桥功能。 在其主接口上的AXI / AHB总线桥在图1中标记为32位。
  Cortex-M7 CPU从其AHBS从属AHB提供AHB / TCM总线(ITCM和DTCM总线)转换,从而允许MDMA控制器访问ITCM和DTCM。

  AXI总线矩阵在其从总线接口上结合了AHB / AXI总线桥功能。 在其主接口上的AXI / AHB总线桥在图1中标记为32位。
  Cortex-M7 CPU从其AHBS从属AHB提供AHB / TCM总线(ITCM和DTCM总线)转换,从而允许MDMA控制器访问ITCM和DTCM。

2.1.4 域间总线
  D2至D1 AHB
  此32位总线将D2域连接到D1域中的AXI总线矩阵。 它允许D2域中的总线主设备访问D1域中的资源(总线从设备),并通过D3域中的D1-to-D3 AHB间接访问。
  D1至D2 AHB
  此32位总线将D1域连接到D2域AHB总线矩阵。 它允许D1域中的总线主设备访问D2域中的资源(总线从设备)。
  D1至D3 AHB
  此32位总线将D1域连接到D3域AHB总线矩阵。 它允许D1域中的总线主设备访问D3域中的资源(总线从设备)。
  D2至D3 AHB
  此32位总线将D2域连接到D3域AHB总线矩阵。 它允许D2域中的总线主设备访问D3域中的资源(总线从设备)。

2.1.5 CPU总线
  Cortex®-M7AXIM总线
  Cortex®-M7CPU使用64位AXIM总线访问所有内存(ITCM和DTCM除外)和AHB3,AHB4,APB3和APB4外设(不包括AHB1,APB1和APB2外设)。
  AXIM总线将CPU连接到D1域中的AXI总线矩阵。
  Cortex®-M7ITCM总线
  Cortex®-M7CPU使用64位ITCM总线从ITCM中提取指令并访问其中的数据。
  Cortex®-M7DTCM总线
  Cortex®-M7CPU使用2x32位DTCM总线来访问DTCM中的数据。 2x32位DTCM总线允许将加载/加载和加载/存储指令对双重发布在DTCM存储器上。 它还可以获取指令。
  Cortex®-M7AHBS总线
  Cortex®-M7CPU使用32位AHBS从总线,以允许MDMA控制器访问ITCM和DTCM。
  Cortex®-M7AHBP总线
  Cortex®-M7CPU使用32位AHBP总线通过D2域中的AHB总线矩阵访问AHB1,AHB2,APB1和APB2外设。

2.1.6总线主控外设
  SDMMC1
  SDMMC1使用连接到AXI总线矩阵的32位总线,通过它可以访问内部AXI SRAM和闪存,以及通过Quad-SPI控制器和FMC访问外部存储器。
  SDMMC2
  SDMMC2使用32位总线,该总线在D2域中连接到AHB总线矩阵。通过系统总线矩阵访问内部AXI SRAM,SRAM1,SRAM2,SRAM3和闪存,以及通过Quad-SPI控制器和FMC访问外部存储器。
  MDMA控制器
  MDMA控制器具有两个总线主控器:连接到AXI总线矩阵的AXI 64位总线和连接到Cortex-M7 AHBS从总线的AHB 32位总线。
  MDMA针对内存之间的DMA数据传输进行了优化,因为它支持链表传输,从而无需CPU干预即可执行链式传输链表。通过系统总线矩阵和Cortex-M7 AHBS从总线,MDMA可以通过Quad-SPI控制器和  FMC访问所有内部和外部存储器。

    DMA1和DMA2控制器
    DMA1和DMA2控制器具有两条32位总线-存储器总线和外围总线,它们在D2域中连接到AHB总线矩阵。
    存储器总线允许在存储器之间进行DMA数据传输。通过系统总线矩阵,存储器总线可以访问除ITCM和DTCM之外的所有内部存储器,以及通过Quad-SPI控制器和FMC访问的外部存储器。
    外设总线允许在两个外设之间,两个存储器之间或一个外设与一个存储器之间进行DMA数据传输。通过系统总线矩阵,外围总线可以访问除ITCM和DTCM之外的所有内部存储器,通过Quad-SPI控制器和FMC的外部存储器以及所有AHB和APB外围设备。
    可直接访问APB1和APB2,而无需通过AHB1。通过APB1和APB2桥接器的直接路径可通过减少AHB1总线上的带宽使用,提高APB和AHB外设的数据处理效率。

BDMA控制器
BDMA控制器使用连接到D3域中AHB总线矩阵的32位总线,在两个外设之间,两个存储器之间或一个外设与一个存储器之间进行DMA数据传输。 BDMA传输仅限于D3域资源。它可以通过D3域中的AHB总线矩阵访问内部SRAM4,备用RAM以及AHB4和APB4外设。
Chrom-Art Accelerator™(DMA2D)
DMA2D图形加速器使用连接到AXI总线矩阵的64位总线。
通过系统总线矩阵,内部AXI SRAM,SRAM1,SRAM2,SRAM3和闪存,以及通过Quad-SPI控制器和FMC的外部存储器。

LCD-TFT控制器(LTDC)
LCD-TFT显示控制器LTDC使用连接到AXI总线矩阵的64位总线,通过它可以访问内部AXI SRAM和Flash存储器,以及通过Quad-SPI控制器和FMC访问外部存储器。
以太网MAC以太网MAC使用32位总线,该总线连接到D2域中的AHB总线矩阵。
通过系统总线矩阵,它可以访问除ITCM和DTCM之外的所有内部存储器,以及通过Quad-SPI控制器和FMC访问的外部存储器。
USBHS1和USBHS2外设
USBHS1和USBHS2外设使用在D2域中连接到AHB总线矩阵的32位总线。通过系统总线矩阵,他们可以访问除ITCM和DTCM之外的所有内部存储器,以及通过Quad-SPI控制器和FMC访问的外部存储器。
时钟到功能块
复位后,将禁用诸如外围设备和某些存储器之类的块的时钟(SRAM,DTCM,ITCM和闪存除外)。要在复位时不使用时钟运行模块,软件必须首先分别通过RCC_AHBxENR或RCC_APBxENR寄存器启用其时钟。


2.2 AXI互连矩阵(AXIM)
2.2.1 AXI简介
AXI(高级可扩展接口)互连基于Arm®CoreLink™NIC-400网络互连。 互连模块具有六个启动器端口或ASIB(AMBA从接口模块),以及七个目标端口或AMIB(AMBA主接口模块)。
ASIB通过AXI开关矩阵连接到AMIB。
每个ASIB都是AXI总线或AHB(高级高性能总线)上的从设备。 同样,每个AMIB都是AXI或AHB总线上的主机。 当ASIB或AMIB连接到AHB时,它将在AHB和AXI协议之间转换。
AXI互连包括GPV(全局编程器视图),其中包含用于配置某些参数(例如,每个ASIB的QoS(服务质量)级别)的寄存器。
对未分配地址空间的任何访问均由默认从站处理,该默认从站会生成返回信号。 这样可以确保此类交易完成,并且不会阻止发行主服务器和ASIB。


2.2.2 AXI互连的主要功能
•D1域中具有六个ASIB和七个AMIB的64位AXI总线交换矩阵
•ASIB中内置了AHB / AXI桥接功能
•多个ASIB与多个AMIB的并发连接
•可编程流量优先级管理(QoS-服务质量)
•可通过GPV配置的软件


2.2.3 AXI互连功能描述
框图
AXI互连如图2所示。
图2. AXI互连

F2.png
ASIB配置
表4总结了ASIB的特征。

表4. ASIB配置

T4.png
AMIB配置
表5总结了AMIB的特性。

表5. AMIB配置

T5.png
1.通过位于AXI互连和连接的从站之间的AXI / AHB桥,可以转换为AHB协议。

服务质量(QoS)Quality of service
当两个ASIB同时尝试访问相同的AMIB时,AXI交换矩阵使用基于优先级的仲裁。每个ASIB都有从0到15的可编程读取通道和写入通道优先级,即QoS,因此值越高,优先级越高。读取通道QoS值在AXI互连-INI x读取QoS寄存器(AXI_INIx_READ_QOS)中进行编程,而写入通道在AXI互连-INI x写入QoS寄存器(AXI_INIx_WRITE_QOS)中进行编程。所有通道的默认QoS值为0(最低优先级)。
如果两个同时发生的事务到达同一AMIB,则优先级较高的事务将在优先级较低的事务之前通过。如果两个事务具有相同的QoS值,则采用最近最少使用(LRU)优先级方案。
QoS值应根据应用程序的等待时间要求进行编程。为ASIB设置较高的优先级可确保由关联的总线主控器发起的事务的延迟较低。这对于实时约束的任务(例如图形处理(LTDC,DMA2D))很有用。向可以多次访问同一从站(例如Cortex-M7 CPU)的主站分配高优先级可能会阻止其他优先级较低的主站对该从站的访问。


全局程序员视图(GPV)Global programmer view
GPV包含用于AXI互连的配置寄存器(请参阅第2.2.4节)。
这些寄存器只能由Cortex-M7 CPU访问。


2.2.4 AXI互连寄存器
AXI互连-外设ID4寄存器(AXI_PERIPH_ID_4)
地址偏移量:0x1FD0
重置值:0x0000 0004


位31:8保留,必须保持复位值。
位7:4 4KCOUNT [3:0]:寄存器文件的大小
0x0:不适用
位3:0 JEP106CON [3:0]:JEP106继续码
0x4:Arm®


AXI互连-外设ID0寄存器(AXI_PERIPH_ID_0)
地址偏移量:0x1FE0
重置值:0x0000 0000


位31:8保留,必须保持复位值。
位7:0 PARTNUM [7:0]:外围部件号位0至7
0x00:部件号= 0x400


AXI互连-外设ID1寄存器(AXI_PERIPH_ID_1)
地址偏移量:0x1FE4
重置值:0x0000 00B4

位31:8保留,必须保持复位值。
位7:4 JEP106ID [3:0]:JEP106身份位0至3
0xB:Arm®JEDEC代码
位3:0 PARTNUM [11:8]:外围部件号位8至11
0x4:部件号= 0x400


AXI互连-外围设备ID2寄存器(AXI_PERIPH_ID_2)
地址偏移量:0x1FE8
重置值:0x0000 002B

位7:4 REVISION [3:0]:外围设备修订版号
0x2:r0p2
Bit 3 JEDEC:JEP106代码标志
0x1:JEDEC分配的代码
位2:0 JEP106ID [6:4]:JEP106标识位4至6
0x3:Arm®JEDEC代码


AXI互连-外围设备ID3寄存器(AXI_PERIPH_ID_3)
地址偏移量:0x1FEC
重置值:0x0000 0000

位31:8保留,必须保持复位值。
位7:4 REV_AND [3:0]:客户版本
0:无
位3:0 CUST_MOD_NUM [3:0]:客户修改
0:无


AXI互连-组件ID1寄存器(AXI_COMP_ID_1)
地址偏移量:0x1FF4
重置值:0x0000 00F0

位31:8保留,必须保持复位值。
位7:4 CLASS [3:0]:组件类
0xF:通用IP组件类
位3:0 PREAMBLE [11:8]:前导位8至11
0x0:通用ID值


AXI互连-组件ID2寄存器(AXI_COMP_ID_2)
地址偏移量:0x1FF8
重置值:0x0000 0005

位31:8保留,必须保持复位值。
位7:0 PREAMBLE [19:12]:前导位12至19
0x05:通用ID值


AXI互连-组件ID3寄存器(AXI_COMP_ID_3)
地址偏移量:0x1FFC
重置值:0x0000 00B1

位31:8保留,必须保持复位值。
7:0位PREAMBLE [27:20]:前导位20至27
0xB1:通用ID值


AXI互连-TARG x总线矩阵发布功能寄存器
(AXI_TARGx_FN_MOD_ISS_BM)
地址偏移量:0x1008 + 0x1000 * x,其中x = 1至7
重置值:0x0000 0000

位31:2保留,必须保持复位值。
位1 WRITE_ISS_OVERRIDE:切换矩阵写发行目标的覆盖
0:正常发行能力
1:将开关矩阵写发布功能设置为1
位0 READ_ISS_OVERRIDE:切换矩阵读取为目标发出的覆盖
0:正常发行能力
1:将开关矩阵读取发布功能设置为1


AXI互连-TARG x总线矩阵功能2寄存器
(AXI_TARGx_FN_MOD2)
地址偏移量:0x1024 + 0x1000 * x,其中x = 1、2和7
重置值:0x0000 0000

位31:1保留,必须保持复位值。
位0 BYPASS_MERGE:禁用节拍打包以匹配输出数据宽度。 未对齐的事务不会重新对齐到输入数据字边界。
0:正常运行
1:禁用包装


AXI互连-TARG x长脉冲功能修改寄存器
(AXI_TARGx_FN_MOD_LB)
地址偏移量:0x102C + 0x1000 * x,其中x = 1和2
重置值:0x0000 0000

位31:1保留,必须保持复位值。
位0 FN_MOD_LB:控制长脉冲串的脉冲串中断
0:在ASIB的输出上无法生成长脉冲
1:在ASIB的输出端可能会产生长脉冲


AXI互连-TARG x发布功能修改寄存器
(AXI_TARGx_FN_MOD)
地址偏移量:0x1108 + 0x1000 * x,其中x = 1、2和7
重置值:0x0000 0000

位31:2保留,必须保持复位值。
位1 WRITE_ISS_OVERRIDE:覆盖AMIB写发布功能
0:正常发行能力
1:强制发布能力为1
位0 READ_ISS_OVERRIDE:覆盖AMIB读取发布功能
0:正常发行能力
1:强制发布能力为1


AXI互连-INI x功能修改2寄存器
AXI_INIx_FN_MOD2)
地址偏移量:0x41024 + 0x1000 * x,其中x = 1和3
重置值:0x0000 0000

位31:1保留,必须保持复位值。
位0 BYPASS_MERGE:除非协议要求,否则禁止升迁者进行交易更改
0:正常运行
1:交易在允许的地方不变地传递


AXI互连-INI x AHB功能修改寄存器
(AXI_INIx_FN_MOD_AHB)
地址偏移量:0x41028 + 0x1000 * x,其中x = 1和3
重置值:0x0000 0000

位31:2保留,必须保持复位值。
位1 WR_INC_OVERRIDE:将所有AHB-Lite读事务转换为一系列单拍AXI
交易。
0:禁止改写
1:启用替代
位0 RD_INC_OVERRIDE:将所有AHB-Lite写交易转换为一系列单拍AXI交易,并且每个AHB-Lite写拍通过AXI缓冲写得到确认
响应。
0:禁止改写
1:启用替代


AXI互连-INI x读取QoS寄存器(AXI_INIx_READ_QOS)
地址偏移量:0x41100 + 0x1000 * x,其中x = 1至76
重置值:0x0000 0000

位31:4保留,必须保持复位值。
位3:0 AR_QOS [3:0]:读取通道QoS设置
0x0:最低优先级
0xF:最高优先级


AXI互连-INI x写入QoS寄存器(AXI_INIx_WRITE_QOS)
地址偏移量:0x41104 + 0x1000 * x,其中x = 1至76
重置值:0x0000 0000

位31:4保留,必须保持复位值。
位3:0 AW_QOS [3:0]:写通道QoS设置
0x0:最低优先级
0xF:最高优先级


AXI互连-INI x发布功能修改寄存器
(AXI_INIx_FN_MOD)
地址偏移量:0x41108 + 0x1000 * x,其中x = 1至76
重置值:0x0000 0000

位31:2保留,必须保持复位值。
位1 WRITE_ISS_OVERRIDE:覆盖ASIB写入发布功能
0:正常发行能力
1:强制发布能力为1
位0 READ_ISS_OVERRIDE:覆盖ASIB读取发布功能
0:正常发行能力
1:强制发布能力为1


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-1 03:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表