AD2428W手册解读之操作与配置(下)
  qrJHiMhufrJ3 2023年11月13日 38 0

5、GPIO远距离

该特性允许在初始编程后在A2B总线上进行GPIO通信,而无需主机干预。主机只需要通过使用虚拟端口初始化GPIO远距离特性即可。GPIO超距离功能具有以下功能:

1、8个并行的1位虚拟端口,由主节点管理。主节点可以在A2B_GPIODDAT寄存器中读取每个虚拟端口的状态。

2、GPIO引脚到虚拟端口0 ~ 7的灵活映射方案。

3、GPIO引脚可以配置为更新A2B_GPIODDAT寄存器内容的输入,也可以配置为反映A2B_GPIODDAT寄存器内容的输出。

            4、当多个虚拟端口映射到一个GPIO输出引脚时,这些值被“OR”在一起。

            5、当多个GPIO输入引脚映射到一个虚拟端口时,即使来自多个节点,这些值也会被“OR”在一起。

5.1、配置

在尝试配置给定引脚的GPIO超远距离功能之前,首先要验证它对GPIO可用,如GPIO引脚配置表所示。

如果引脚可用为GPIO,则通过在GPIO超远距离(A2B_GPIODEN)寄存器中设置适当的使能位来使能GPIO 超远距离。当设置一个位时,对应的GPIO引脚可以通过GPIO远端掩码寄存器(A2B_GPIOD0MSK到A2B_GPIOD7MSK,分别对应GPIO能力引脚IO0到IO7)映射到一个或多个远端虚拟端口。这些寄存器中的位0到7分别对应虚拟端口0到7。如果在其中一个寄存器中设置了一个位,它会将与该寄存器相关联的GPIO引脚映射到相应的虚拟端口。

       如果对给定的GPIO能力引脚使能GPIO超远距离,引脚的方向完全通过GPIO输出使能寄存器(A2B_GPIOOEN)控制,而不是该寄存器和GPIO 超远距离互补GPIO输入使能寄存器(A2B_GPIOIEN)的组合。当在A2B_GPIOOEN寄存器中设置一个位时,相关的GPIO引脚是GPIO在距离上的输出。如果该位在A2B_GPIOOEN寄存器中被清除,则相关的GPIO引脚在距离上是GPIO的输入。在对感兴趣的引脚使用GPIO时,不需要对A2B_GPIOIEN寄存器进行编程。

如果GPIO引脚是一个输入(A2B_GPIOOEN中相关位= 0),本地节点通过距离掩码寄存器更新与GPIO中设置位相关的虚拟端口(A2B_GPIOD0MSK.IOD0MSK通过A2B_GPIOD7MSK.IOD7MSK)。虚拟端口值可以通过远程数据寄存器(A2B_GPIODDAT)在GPIO中读取。

      如果GPIO引脚是一个输出(A2B_GPIOOEN中的相关位 = 1),则映射到该引脚的虚拟端口,由通过距离掩码寄存器的相关GPIO中的设置位决定(A2B_GPIOD0MSK. IOD0MSK通过A2B_GPIOD7MSK.IOD7MSK)加OR来产生GPIO输出值(即A2B_GPIODDAT寄存器中相应位的逻辑OR)。

      注意:A2B_GPIODDAT寄存器是只读的。建议主机总是从主节点读取这个寄存器。

距离反转寄存器(A2B_GPIODINV)允许GPIO引脚输入或输出的反转。当在这个寄存器中设置一个位时,相关的GPIO引脚信号是反向的。如果GPIO引脚是一个虚拟端口的输入(A2B_GPIOOEN中的相关位= 0),反转在引脚从引脚进来的时候应用,如果引脚是一个虚拟端口的输出(A2B_GPIOOEN中的相关位= 1),反转在GPIO引脚出来的时候应用。

如果多个节点正在更新同一个虚拟端口,可以使用A2B_GPIODINV寄存器设置将有线或更改为有线和。例如,要创建一个有多个主动高GPIO位的有线和,GPIO输入和GPIO输出必须是反向的。

5.2、将多个GPIO输入映射到一个虚拟端口

当多个节点有一个GPIO输入映射到同一个虚拟端口时,协议将输入引脚视为有线或进入虚拟端口。当虚拟端口处于低位(不活动)时,设置虚拟端口的任何请求都会导致主节点执行一个命令,更新整个系统中的所有A2B_GPIODDAT寄存器。

当虚拟端口处于高(活动)状态时,任何清除虚拟端口的请求都会导致主节点发出一个特殊命令,通知所有从节点该请求。如果任何一个从节点拒绝请求,主节点看到请求被拒绝,A2B_GPIODDAT寄存器保留它们的值。如果没有一个从节点拒绝请求,那么主节点将看到请求被接受,并使用更新后的A2B_GPIODDAT值。

5.3、GPIO远程编程示例

下面的步骤描述了在距离上使用GPIO的引脚映射情况。

       注意:GPIO编程必须在发现节点之后进行。有关节点发现的更多信息,请参见简单发现流程和附录A:附加发现流程示例小节。

5.3.1、将Master节点DRX1/IO6 Pin映射到Slave 2 ADR1/IO1 Pin:

下面以主节点DRX1/IO6引脚映射到从节点2 ADR1/IO1引脚为例进行说明。

1、将0x04写入主节点A2B_GPIOD6MSK寄存器,将DRX1/IO6引脚映射到虚拟端口2。

2、将0x40写入主节点A2B_GPIODEN寄存器,以在DRX1/IO6引脚上远程访问GPIO。

            3、将0x02写入从节点2 A2B_GPIOOEN寄存器,使ADR1/IO1引脚GPIO输出。

            4、将0x04写入从节点2 A2B_GPIOD1MSK寄存器,将虚拟端口2映射到ADR1/IO1引脚。

            5、将0x02写入从节点2 A2B_GPIODEN寄存器,使ADR1/IO1引脚上的GPIO通过远程访问。

5.3.2、将Slave 1 DTX1/IO4 Pin映射到Master Node ADR1/IO1 Pin:

下面以从1 DTX1/IO4引脚映射到主节点ADR1/IO1引脚为例进行说明。

             1、将0x10写入从节点1 A2B_GPIOD4MSK寄存器,将DTX1/IO4引脚映射到总线GPIO端口4。

             2、将0x10写入从节点1 A2B_GPIODEN寄存器,使DTX1/IO4引脚上的GPIO通过远程访问。

             3、将0x02写入主节点A2B_GPIOOEN寄存器,使ADR1/IO1引脚的GPIO输出生效。

             4、将0x10写入主节点A2B_GPIOD1MSK寄存器,将总线GPIO端口4映射到ADR1/IO1引脚。

             5、将0x02写入主节点A2B_GPIODEN寄存器,使ADR1/IO1引脚上的GPIO通过远程访问。

5.3.3、将从0到2上的ADR1/IO1引脚映射到主节点ADR1/IO1引脚

下面介绍如何将从0到2上的ADR1/IO1引脚映射到主节点ADR1/IO1引脚。

             1、对于从节点2、1和0,将0x01写入A2B_GPIOD1MSK寄存器,将每个从节点的ADR1/IO1引脚映射到总线GPIO端口0。

             2、对于从节点2、1和0,将0x02写入A2B_GPIODEN寄存器,以在每个从节点的ad1/IO1引脚上远程访问GPIO。

             3、将0x02写入主节点A2B_GPIOOEN寄存器,使ADR1/IO1引脚的GPIO输出生效。

             4、将0x01写入主节点A2B_GPIOD1MSK寄存器,将总线GPIO端口0映射到ADR1/IO1引脚。

             5、将0x02写入主节点A2B_GPIODEN寄存器,使ADR1/IO1引脚上的GPIO通过远程访问。

6、收发器标识

       每个A2B收发器都有一个供应商ID寄存器(A2B_VENDOR),一个产品ID寄存器(A2B_PRODUCT)和一个版本ID寄存器(A2B_VERSION),以指示主机系统中存在哪些A2B收发器。每个A2B收发器厂商被分配一个唯一的厂商ID(模拟设备A2B收发器使用0xAD作为厂商ID)。A2B_PRODUCT和A2B_VERSION寄存器由芯片供应商分配,以唯一标识芯片并表明A2B互操作性。收发模块的产品ID分别为0x26 (AD2426W)、0x27 (AD2427W)、0x28 (AD2428W)。

每个A2B收发器也有一个A2B_CAPABILITY寄存器,以识别可用的控制接口,以及I2C接口的存在(A2B_CAPABILITY.I2CAVAIL = 1)。

6.1、在EEPROM中自动配置系统信息

      在A2B系统中,如果从模块包含一个配置内存(I2C EEPROM),其组织和内容如附录C:模块ID和模块配置内存中描述的那样,则可以确定每个A2B节点的供应商和特定的产品ID来进行自动配置。当主机事先不知道确切的系统配置时,使用自动配置进行发现。从节点的特定配置命令也可以通过可选配置块存储在配置内存中。

7、待机模式

待机状态下,A2B总线上没有上行流量。只有一个最小的(19位)SCF存在以保持所有从节点同步,并且没有SRF。头计数错误和CRC错误被忽略,数据槽被禁用。在待机模式下,GPIO设置保持不变。

       在正常模式下,主机可以写主收发器A2B_DATCTL寄存器以进入备用模式,但是直到新的结构应用到系统中,写才生效。主机执行如下操作:

1、 在主收发器中设置A2B_DATCTL.A2B_DATCTL位生成一个0x80的广播会将所有发现的从节点的A2B_DATCTL.STANDBY为设置为0x80。将0x80写入A2B_DATCTL寄存器确保数据槽被禁用。

2、在主收发器上设置A2B_CONTROL.NEWSTRCT位来应用新的结构。

应用新的结构后,系统切换到备用模式。通过将0x00写入主节点中的A2B_DATCTL寄存器,主机可以将系统移回正常模式。该指令在所有的从节点中向A2B_DATCTL寄存器生成0x00的广播写操作。当系统回到正常模式时,主节点向主机提供备用完成中断(A2B_INTTYPE = 0xFE)。

8、总线监视器的支持

总线监控模式使收发器充当被动的汽车音频总线监视器,也称为嗅探器。A2B测试设备采用该模式。只有主机处理器才能允许A2B总线段上的总线监视器监控同步数据内容。要允许这种同步数据监控,主机必须设置A2B_DATCTL。主收发信端ENDSNIFF位。此配置触发A2B总线广播信息到附加的总线监视器设备。

总线监视器行为图显示了插入在A2B网络中从0和1之间的总线监视器节点。

  AD2428W手册解读之操作与配置(下)_音频

总线监控行为示意图

       总线监视器在系统中是被动的,它不响应总线同步控制帧(scf)或向总线贡献任何数据。当B端收发器失效时,它只使用a端收发器。当处于总线监控模式时,收发器将自己同步到SCF,并可以窥探SCF控制写入,以配置其总线接口以匹配被监控的下游节点。A2B总线监控收发器使用其I2S/TDM端口将A2B总线流量传输到协议分析电路。

总线监控节点的行为如下:

1、B端(下游)收发器被禁用。

2、A端(上游)收发器只使能接收(不使能发送)。

3、禁用SRF生成功能。

4、数据宽度为32位时,配置I2S/TDM接口:

1)、下游SCFs通过DTX0引脚传输。

2)、上游SCFs通过DTX1引脚传输。

3)、如果A2B总线主机被编程为启用该特性,数据槽位位只能从DTXn引脚流出:

a)、下游槽在DTX0管脚上流出。

b)、上游槽在DTX1管脚上流出。

c)、如果A2B总线上的数据槽比可用的I2S/TDM通道多,则可编程偏移量决定在I2S/TDM通道上监控哪些数据槽。

注意:当总线监视器接收器被禁用时,必须使用外部开关来控制在总线监视器模式下发送到收发器a端的LVDS流量。

在发现和初始化后连接到A2B总线的总线监视器可能会错过广播,因此对同步数据槽的监控被禁用。首选的方法是在初始化和发现之前连接总线监视器。另外,对于必须看到数据插槽但在发现后附加的总线监视器的完全支持,主机可以对A2B_DATCTL寄存器执行常规写操作,以生成启用数据插槽嗅闻广播。总线监控节点微控制器必须设置A2B_BMMCFG。BMMEN位使能总线监控模式,当连接和分离A2B总线时,可以进一步配置总线监控收发器:

1、A2B_BMMCFG.BMMNDSC位决定总线监视器是在系统发现和初始化之前还是之后连接。当清除(= 0)时,监视器连接在A2B发现之前,因此发现序列自动设置总线计时属性。当设置(= 1)时,总线计时属性必须由总线监控节点微控制器使用本地I2C寄存器写入来设置。

2、A2B_BMMCFG.BMMRXEN位用于在总线监视器连接时保持LVDS a端收发器输入静态。它还用于在不物理分离总线监视器节点的情况下重新启动总线监视器锁序列。

除了在A2B_BMMCFG寄存器中配置和启用总线监控模式外,总线监控模式的使用还会影响以下A2B寄存器中位的含义和设置:

1、I2S全局配置寄存器(A2B_I2SGCFG):

1)、A2B_I2SGCFG.INV,A2B_I2SGCFG.EARLY和A2B_I2SGCFG.ALT位必须被编程以匹配协议分析器的接口。

2)、A2B_I2SGCFG.TDMSS位的32位TDM槽位大小必须编程为0。

3)、A2B_I2SGCFG.TDMMODE位必须设置为匹配协议分析器的功能:

a)、TDM2允许监控SCF和SRF帧。

b)、TDM4允许同时监控SCF和SRF帧,以及最多两个上游和两个下游数据槽.

c)、TDM8允许并行监控SCF和SRF帧,以及同时多达6个上游和下游数据槽。

d)、TDM16允许并行监控SCF和SRF帧,以及同时多达14个上游和14个下游数据槽。

e)、TDM32允许并行监控SCF和SRF帧,以及同时多达30个上游和下游数据槽。

2、I2S配置寄存器(A2B_I2SCFG):

1)、设置A2B_I2SCFG.TX0EN位允许DTX0引脚上的下行数据输出。

2)、设置A2B_I2SCFG.TX1EN位允许在DTX1引脚上输出上游数据。

3)、设置A2B_I2SCFG.TXBCLKINV位匹配协议分析器的接口。

4)、A2B_I2SCFG.TX2PINTL,A2B_I2SCFG.RXBCLKINV,A2B_I2SCFG.RX0EN位必须被编程为0。

3、本地上游槽偏移寄存器(A2B_UPOFFSET):确定从A2B总线接收的上游数据槽和作为I2S/TDM通道驱动到DTX1引脚的上游数据槽之间的数据槽的偏移量。如果插槽的数量超过所选TDM格式中可用的传输通道的数量,则在监控更高或更低索引插槽之间的寄存器程序。

4、本地下行槽偏移寄存器(A2B_DNOFFSET):确定从A2B总线接收的下行数据槽和作为I2S/TDM通道驱动到DTX0引脚的下行数据槽之间的数据槽的偏移量。如果插槽的数量超过所选TDM格式中可用的传输通道的数量,则在监控更高或更低索引插槽之间的寄存器程序。

8.1、I2S/TDM信道格式

待机状态下,A2B总线上没有上行流量。只有一个最小的(19位)SCF存在以保持所有从节点同步,并且没有SRF。头计数错误和CRC错误被忽略,数据槽被禁用。在待机模式下,GPIO设置保持不变。

下面举例说明总线监控模式下I2S/TDM的输出格式。

DTX0引脚在前两个32位I2S/TDM传输信道传输下行帧状态位,随后传输下行控制帧信息。进一步的I2S/TDM通道,如果可用和允许,携带下游同步数据。A2B_DNOFFSET寄存器提供下游数据槽和DTX0上产生的数据槽之间的偏移量。

DTX1引脚在前两个32位的I2S/TDM传输信道中传输上游帧状态位,然后传输上游响应帧信息。进一步的I2S/TDM通道,如果可用和允许,携带上游同步数据。A2B_DNOFFSET寄存器提供上游数据槽和DTX1上产生的数据槽之间的偏移量。

在发现和初始化期间,主机在主收发器中编写数据槽格式寄存器(A2B_SLOTFMT),主收发器自动将该信息广播给从端。附加的总线监控器可以监听此控制消息并派生插槽大小设置(最大32位)。

数据总是以MSB对齐的方式传输。

校验位不包含在I2S/TDM通道中,但是A2B_ERRMGMT寄存器可以用来指示数据LSB中的数据槽错误,数据LSB下面的数据槽错误,或者在数据通道之后的额外错误通道中。

TDM16下游示例(DTX0引脚)寄存器图显示了A2B_I2SGCFG.TDMMODE = TDM16在DTX0引脚上产生的用于监控的下游数据。

  AD2428W手册解读之操作与配置(下)_音频_02

TDM16下游示例(DTX0 Pin)寄存器

TDM16上游示例(DTX1引脚)寄存器图显示了A2B_I2SGCFG.TDMMODE = TDM16在DTX1引脚上监控产生的上游数据。

  AD2428W手册解读之操作与配置(下)_音频_03

TDM16上游示例(DTX1 Pin)寄存器

8.2、启动顺序

所需的启动序列取决于总线监视器节点是在A2B系统发现和初始化之前还是之后连接到总线,这由A2B_BMMCFG.BMMNDSC位控制:

8.2.1、设备发现之前

当A2B_BMMCFG.BMMNDSC= 0时,执行如下操作:

1、确保探测的总线段不是DC偏置的(在直接上游节点上A2B_SWCTL.ENSW = 0)。

2、物理地将总线监视器连接到总线段(探测点)。

3、通过I2C设置A2B_BMMCFG.BMMEN = 1,A2B_BMMCFG.BMMRXEN = 1。

4、在A2B_I2SGCFG、A2B_I2SCFG、A2B_I2SRATE、A2B_SYNCOFFSET和A2B_ERRMGMT寄存器中通过I2C配置I2S/TDM传输设置,以匹配所需的时间和格式特征。

5、主机将总线电源应用到被探测的总线段,然后在主收发器中写入A2B_DISCVRY寄存器,从而开始发现下一个直连节点。

6、总线监控节点锁定锁相环后,I2S/TDM接口开始发送。总线监视器节点上的IRQ引脚升高,表示该节点发现了锁。此事件应在下一个直连节点开始响应之前发生。

7、对被探测总线段下一列从节点上的A2B_UPMASK0(通过A2B_UPMASK3)和A2B_DNMASK3(通过A2B_DNMASK3)寄存器A2B_BCDNSLOTS、A2B_LDNSLOTS、A2B_LUPSLOTS、A2B_DNSLOTS、A2B_UPSLOTS、A2B_SLOTFMTA2B_DATCTL)的写操作在总线监控节点中被镜像,在总线监控节点中它们可以通过I2C接口本地访问。总线上新数据结构的应用程序(当主机设置A2B_CONTROL。主收发器中的NEWSTRCT位)也应用于总线监控节点。

8、DTX[1:0]引脚不传输数据槽内容,除非总线监视器看到主机设置A2B_DATCTL产生的广播写操作。主收发信端ENDSNIFF位。

8.2.2、设备发现之后

当A2B_BMMCFG.BMMNDSC = 1时,发生的事件顺序如下:

1、被探测总线段的下游从节点已经被DC偏置并被发现。

2、通过I2C设置A2B_BMMCFG.BMMEN = A2B_BMMCFG.BMMNDSC = 1。

3、物理地将总线监视器连接到总线段(探测点)。

4、通过I2C设置A2B_BMMCFG.BMMRXEN = 1,在总线监视器收发器正确锁定到SCFs后,IRQ引脚升高。

5、通I2C设置 A2B_RESPCYCS的初始值为0x20,A2B_RESPCYCS的适当值由SRF计时确定并自动更新。

6、通过A2B_I2SGCFG、A2B_I2SCFG、A2B_I2SRATE、A2B_SYNCOFFSET和A2B_ERRMGMT寄存器中的I2C接口配置I2S/TDM传输设置,以匹配所需的时间和格式特征。

7、如果只需要监视控制帧和响应帧,则可以跳过此步骤。如果需要监视数据槽(并且主机允许访问它们),可以通过I2C接口配置A2B_DNSLOTS、A2B_UPSLOTS、A2B_SLOTFMT和A2B_DATCTL寄存器。这些寄存器的正确值可以来自在发现和初始化期间嗅验相同总线段后存储在内存中的值。如果数值完全未知,那么软件可以尝试不同的值来找到合适的设置。

1)、A2B_DNSLOTS寄存器表示下一个直列下行从机在A端收发电路的下行数据槽数。

2)、A2B_UPSLOTS表示下一个直列下行从属机a端收发电路的上游数据槽数。

3)、A2B_SLOTFMT寄存器表示数据槽格式。

4)、A2B_DATCTL.DNS和A2B_DATCTL.UPS位必须与下行从节点提交的值相匹配。DTX0和DTX1引脚如果不设置I2S/TDM通道数据槽位,则不传输I2S/TDM通道数据槽位。

8、DTX[1:0]引脚不传输数据槽内容,除非总线监视器看到主机设置主收发信端A2B_DATCTLENDSNIFF位产生的广播写操作。

9、优化电磁兼容性能

在A2B收发器系统设计中,EMC性能至关重要。收发器具有几个可编程特性,可用于优化EMC性能:

1、扩展时钟。

2、可编程LVDS传输电平.

3、只有数据和只有电源的总线操作

9.1、扩频时钟

扩展频谱时钟可用于减少PCB上的窄带排放。默认情况下,收发器上禁用扩频时钟,但写入A2B_PLLCTL寄存器可以在发现期间启用扩频时钟。A2B_PLLCTL寄存器包含为收发器内部的时钟启用扩频时钟的设置。

如果为内部时钟启用扩展频谱时钟支持,也可以为I2S接口和编程的CLKOUT接口启用扩展频谱时钟。为内部时钟、CLKOUT和I2S接口启用扩展频谱时钟可以在特定节点上减少几个dB的窄带发射。

注意:当在时钟输出上启用扩频时钟时,该时钟上的TIE抖动会增加。

如果使用扩频时钟的A2B网络,所有节点的深度和频率必须相同。按以下顺序设置节点:

1、发现所有从设备。

2、通过广播写入每个节点的A2B_PLLCTL寄存器,为所有节点(包括主节点)配置扩展频谱。

对于具有扩频的单个节点(包括AD2421/AD2422/AD2425型号的系统),顺序如下:

1、发送所有节点。

2、为每个从属服务器配置扩展频谱(通过设置A2B_PLLCTL寄存器),每次一个。

1)、A2B_PLLCTL.SSDEPTH位仅限设置0x00。

2)、相邻节点必须具有相同的A2B_PLLCTL.SSFREQ设置。

注意:当系统中的所有节点都启用了扩频时,广播写入A2B_PLLCTL寄存器是强制性的。设置A2B_NODEADR.BRCST位,用A2B_BUS_ADDR向A2B_PLLCTL寄存器发起写操作。广播写操作影响所有节点。它首先发生在主节点,然后在下一个SCF期间发生在从节点。扩频序列规划必须遵循单节点原则。A2B_PLLCTL.SSDEPTH位仅限于为扩频时钟的顺序编程设置0x0,以及在启用了扩频时钟的单个节点的系统中。无论是否启动扩展时钟,A2B_PLLCTL.SSMODE位可选择“仅协议”或“I2S+协议”。

9.2、可编程LVDST传输电平

LVDS发射器可以设置为高、中、低电平发送信号。更高的传输电平产生更强的抗干扰能力,而更低的传输电平可以减少连接A2B总线节点的双绞线的排放。

LVDS传输电平可以通过调整A2B_TXACTL (A端)或A2B_TXBCTL (B端)寄存器中的设置来改变。如果需要一个非默认的传输级别,在设置A2B_SWCTL.ENSW位之前(在发现过程中),必须在每个节点上写入A2B_TXxCTL。为了使TXxLEVEL设置生效,必须设置A2B_TXACTL.TXAOVREN使能位。

9.3、只有数据和只有电源的总线操作

A2B总线可以在不关闭PMOS开关的情况下工作,向下游发送直流偏置。这需要设置A2B_CONTROL.SWBYP位而不是发现期间的A2B_SWCTL.ENSW位。相反,A2B_SWCTL.DISNXT位允许在没有数据的情况下向下游发送直流偏置。这个设置应该与设置A2B_SWCTL.ENSW的写操作和发现设备同时进行。这些模式主要用于调试目的。

10、交叉或直通布线

直通线缆可以通过交换B端连接器的DC耦合器来实现。对于支持直通电缆的硬件,发现时需要设置A2B_CONTROL.XCVRBINV位,以保证正常操作。在设置A2B_SWCTL.ENSW位之前需要完成用直通电缆连接每个从站。

重要:确保A2B_CONTROL.XCVRBINV位不会在执行其他操作,如写入A2B_CONTROL.NEWSTRCT位时被覆盖。(应用一种新的结构)。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

qrJHiMhufrJ3