This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AFE7700:JESD 回路模式启用

Guru**** 2473270 points
Other Parts Discussed in Thread: LMK04828

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1187712/afe7700-jesd-loopback-mode-enabling

器件型号:AFE7700
主题中讨论的其他器件:LMK04828

你好!

`re 使用204B 子类1、LMFSH 24410用于 TX 和 RX、 12410用于 FB。 器件模式 FDD、专用模式=真。

有一种方法可以启用"模拟中继器"环回模式、使用 jesdLoopbackEn 标志在晚期工具中将 ADC 数据转发到 DAC、但如何正确 切换到 这些模式:

a.串行器/解串器模块内的串行器/解串器接收器数据发送器。

b.发送输入数据到串行器/解串器块外的 RX 输出数据

您能否提供有关如何启用这些模式的 SPI 说明列表?  

它对 SysRef 脉冲是否敏感? 如果是、应该在脉冲之后还是在 SysRef 应用程序之前传递它?  

谢谢、等待您的回答。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Oleksii、

    我们将对此进行研究。

    此致、

    Jim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Jim!

    `ve,我将 Lib 更新为 2.20版,并对配置和脚本正确性有更多的疑问。

    硬件说明:FPGA 连接到 SRX1-4、STX1-4 (所有通道均不反相)、双向1 LVDS 同步

    我的强制目标:全速率2949.12MHz;9.83Gbps 串行器/解串器速度、8b/10b 编码、通道1-4、TDD 模式上的 DAC 和 ADC 数据速率254.76M。

    我的可选目标是 在 DAC 运行期间获得来自 FB 的数据( 如果需要、可以修改电路板并连接 TX/RX 信号)。 `s 可能、优化功耗以使用单个 JESD 内核。

    以下是当前脚本版本:

    setupParams.selectedDut=1
    if boardType in ("EVM","HSC1373"):
    	if setupParams.selectedDut==1:
    		AFE=AFE1
    		device=device1
    		logDumpInst=logDumpInst1
    	else:
    		AFE=AFE0
    		device=device0
    		logDumpInst=logDumpInst0
    else:
    	setupParams.selectedDut=0
    	
    sysParams=AFE.systemParams
    device.hardReadAlways=False
    ##### System Parameters
    sysParams.FRef                  = 245.76#368.64#
    sysParams.Fs                    = 2949.12#56*61.44#3440.64#
    sysParams.pllMuxModes			= 0	
    										#0: 4T4R Mode with PLL0 as Master. PLL 0 for all the LOs.
    										#1: 4T4R Mode with PLL2 as Master. PLL 2 for all the LOs.
    										#2: 4T4R FDD Mode. PLL0 for TX and PLL2 for RX.
    										#3: 2*2T2R FDD Mode: PLL0 AB-TX;PLL3 AB-RX; PLL2 CD TX; PLL4 CD RX
    										#4: 2T2R FDD - TDD Mode: PLL0 AB-TX; PLL3-AB-RX; PLL2 CD
    sysParams.useSpiSysref			= False
    # LO Settings
    sysParams.pllLo					= [3500.01,sysParams.Fs,3501.06,1800.24,3400.0]	#PLL Frequencies for PLLs [0,1,2,3,4]#4899.9825
    sysParams.jesdLoopbackEn		= 0		#Make it 1 to Enable the JESDTX to JESDRX internal loopback
    
    ## In below parameters, first in the array is for first 2T2R1F and second 2T2R1F.
    # JESD and Serdes Parameters
    sysParams.LMFSHdRx                = ["24410","24410"] 
    sysParams.LMFSHdFb                = ["12410","12410"]
    sysParams.LMFSHdTx                = ["24410","24410"] #["24410","24410"]
    sysParams.systemMode              = [2,2]					# 0-Identical, 1-FDD, 2-TDD
    sysParams.dedicatedLaneMode       = [1,1]
    sysParams.jesdProtocol            = 0#1#0				# -0:B; 1:H; 2:C
    sysParams.serdesFirmware		  =r"C:\\Users\\sa\\Documents\\Texas Instruments\\Latte\\lib\\Afe77xxLibraries\\AFE77xxLibraryPG1P1\\resourceFiles\\with_rom.fw.d04a4d.bin" #False#True#""					# If you want to lead any firmware, please speify the path here. Otherwise it will not write any firmware
    sysParams.jesdTxLaneMux			= [0,1,2,3,4,5,6,7]	# RX1,RX2,RX3,RX4,FB1,FB2 # Enter which lanes you want in each location. 
    															# Note that across 2T Mux is not possible in 0.5.
    															# For example, if you want to exchange the first two lines of each 2T, this should be [1,0,2,3,5,4,6,7]
    sysParams.jesdRxLaneMux			= [0,1,4,5,2,3,6,7]	# TX1,TX2,TX3,TX4,NA,NA, NA, NA	# Enter which lanes you want in each location.
    															# Note that across 2R Mux is not possible in 0.5.
    sysParams.serdesTxLanePolarity	= [0,0,0,0,0,0,0,0] 
    sysParams.serdesRxLanePolarity	= [0,0,0,0,0,0,0,0] 										# For example, if you want to exchange the first two lines of each 2R, this should be 
    sysParams.jesdRxRbd				= [15, 15]
    sysParams.jesdScr				= [True,True]		# Does the Same config for JESD TX and RX
    sysParams.jesdK					= [16,16] 
    sysParams.lowIfNcoRx			=	[0,0]
    sysParams.lowIfNcoTx			=	[0,0]
    sysParams.lowIfNcoFb			=	[0,0]
    
    # Decimation and interpolation Parameters
    sysParams.ducFactorTx				= [12, 12]#[14, 14]#[28./3,28./3]#[7, 7]#
    sysParams.ddcFactorRx				= [12, 12]#[14, 14]#
    sysParams.ddcFactorFb				= [12, 12]#[7, 7]#
    sysParams.fbNco						= [3500.01,3500.01]#[4899.9825, 4899.9825]
    
    sysParams.setTxLoFbNcoFreqForTxCalib	= True#False#		# Note that if this is True, the fbNcoValues entered above will be overwritten and fbNCO and LO values will be chosen to the closest supported values.
    sysParams.txIqMcCalibMode=2		# 0 -Single Fb Mode FB AB ; 1 -Single Fb Mode FB CD ; 2- Dual Fb_Mode
    sysParams.customerConfig			= False#True
    
    LMKParams.pllEn			=	True					# If this is True, it takes the onboard oscillator as input to PLL and all clocks are generated from it. If it is False, it takes the external clock input of frequency - lmkParams.inputClk and generates the required clocks through dividers (No LMK PLL will be used).
    LMKParams.lmkFrefClk	=	True
    #LMKParams.inputClk		=	1474.56#1290.24#
    LMKParams.sysrefFreq	=	0.96
    sysParams.bitFileType=0			#0-Regular. 1- Same clock rate to FPGA 2 inputs. 2-8-Lane codes
    '''
    sysParams.jesdTxRxABSyncMux		= 0 
    sysParams.jesdTxRxCDSyncMux		= 0 
    sysParams.jesdTxFBABSyncMux		= 0 
    sysParams.jesdTxFBCDSyncMux		= 0 
    sysParams.jesdRxABSyncMux		= 0 
    sysParams.jesdRxCDSyncMux		= 0 
    sysParams.jesdABLvdsSync		= 1
    sysParams.jesdCDLvdsSync		= 1
    '''
    if simulationMode==False:
    	setupParams.skipFpga=1
    	setupParams.skipLmk=0
    AFE.skipRxConfig=0
    AFE.skipFbConfig=0
    AFE.skipTxConfig=0
    AFE.skipAgc=1
    
    sysParams.enableRxDsaFactoryCal 		= False
    sysParams.enableTxDsaFactoryCal 		= False
    sysParams.enableTxIqmcLolTrackingCorr = False
    sysParams.enableRxIqmcLolTrackingCorr = True
    
    logDumpInst.setFileName("D:\\AFE77xx_config\\configfixSysrefLB.txt")
    logDumpInst.logFormat=0x07
    logDumpInst.rewriteFile=1
    logDumpInst.rewriteFileFormat4=1
    
    device.optimizeWrites=1
    device.rawWriteLogEn=1
    device.rewriteFile=1
    #myfpga.rawWriteLogEn=0
    lmk.rawWriteLogEn=1
    
    AFE.initializeConfig()
    AFE.deviceBringup()
    
    AFE.TOP.overrideTdd(1, 1, 1)
    
    device.rawWriteLogEn=1
    myfpga.rawWriteLogEn=0
    lmk.rawWriteLogEn=0
    
    engine.sampleNo=32768

    现在、DAC 配置为2条链路、每个链路有2条信道。 如果从 FPGA 路由1个差分同步信号、是否应切换到1个链路4通道?

     `ve、对于1个链路4通道、我要将 sysParams.LMFSHdTx 定义为[48410"、"48410"] 同时将 jesdRxLaneMux 恢复为[1、2、3、4、5、6、7、8]。要 期望为 DAC 数据使用 SRX1-4通道、我对吗?  

     

    ADC 方面:

    `ve 我仅连接到 FPGA 的 STX1-4、因此我需要正确映射那里的数据。 `m、我使用专用通道标志将 FB 链路路布置到 STX5、6、并为 SYNC 信号选择未使用的引脚。 是否允许去掉 FB、使 RX 通道保持正常运行?

    在4RX 和2FB 通道之间共享前4个串联通道以处理它们时应采用什么策略(显然涉及 GPIO 控制)、在  这种情况下、必须如何编写脚本?

    谢谢。

    您的快速响应将极大地帮助我们 !

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 、Oleksii、

    我正在处理这个。 我将在星期五之前收到更新。  

    此致、

    Vijay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好! 仍在等待您的更新。

    此致、

    Oleksii Shuko

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="5495" URL"~/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1187712/afe7700-jesd-loopback-mode-enabling/4481971 #4481971"]硬件说明:连接到 SRX1-4、STX1-4的 FPGA (所有通道均不反转)、双向1个 LVDS 同步[/引用]

    我假设您的意思是两个方向各同步1个 LVDS。  

    [引用 userid="5495" URL"~/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1187712/afe7700-jesd-loopback-mode-enabling/4481971 #4481971"]现在、DAC 配置为2个链路、每个链路具有2条信道。 如果从 FPGA 路由1个差分同步信号、是否应切换到1个链路4通道?[/quot]

    不需要。 它可在 Latte 中配置为两个链路(LMFS:24410) 、并具有一个通用差分同步信号。 通过将'SysParams.jesdRxABSyncMux'和'SysParams.jesdRxCDSyncMux'设置为'0'来配置通用同步信号。 从 FPGA 的角度来看、它看起来像是具有双 L 和 M 的单链路、即 LMFS:48410。  

    要使用 SRX1-4 , jesdRxLaneMux 应设置为[0、1、4、5、2、3、6、7]。  

    [`ve userid="5495" URL"~/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1187712/afe7700-jesd-loopback-mode-enabling/4481971 #4481971"]由于我仅连接到 FPGA 的 STX1-4、因此我需要在此处正确映射数据。 `m、我使用专用通道标志将 FB 链路路布置到 STX5、6、并为 SYNC 信号选择未使用的引脚。 是否允许去掉 FB、使 RX 通道保持正常运行?[/引述]

    这样就可以不使用 FB 通道输出数据。 但是、FB 通道用于校正 TX 通道的 LO 泄漏和 IQ 图像。 因此、需要启用这些功能。  

    [引用 userid="5495" URL"~/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1187712/afe7700-jesd-loopback-mode-enabling/4481971 #4481971"]在4RX 和2FB 通道之间共享前4个系列通道以处理它们(显然涉及 GPIO 控制)时,应使用哪种策略?  在这种情况下,脚本必须如何编写?

    在 RX 和 FB 之间共享 JESD 通道 可降低 功率耗散。 在 TDD 运行时使用共享信道模式时、根据使用 GPIO 启用的链、在 JESD 信道上发送4个 RX 数据或2个 FB 数据。 必须将'ysParams.dedicatedLaneMode'设置为[0、0]才能在共享信道模式下进行配置。 由于 FB 仅需要2个通道、 因此在 FB 使能模式下、只有 STX1和 STX3具有有效数据。  

    此致、

    Vijay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、Vijay!

    感谢您的回答、它对我们非常有帮助、并澄清了情况。

    [引用 userid="389758" URL"~/support/rf-microwave-group/rf-microwave/f/rf-microwave-forum/1187712/afe7700-jesd-loopback-mode-enabling/4494484 #4494484">我假设两个方向的每个方向都是1个 LVDS 同步。  [/报价]

    是的、当然可以。 每个方向都有其自己的 SYNC 信号。

    `ve、我也获得了 ADC 和 DAC 的数据。 问题出在 SysRef 信号配置中。 `s 将 LMK 配置为连续 Sysref 发生器、同时在 JESD204B 规范中、由于运行期间的时钟干扰、建议在 INIT 期间根据请求将其用于脉冲突发模式。 我建议在某些应用手册中为功能开发人员描述此行为。  

    在生成的*Custom2.txt 配置文件中,它被写得模糊:

    \\Give Sysref Here.
    
    
    WAIT 0.001
    

    在我们的电路板上、LMK04828配置为 SPI 脉冲发生器、1个用于 SysRef 信号的脉冲序列。 切换到连续 Sysref 模式可解决配置问题。

    感谢您的支持!