您好!
目前、我使用 AFE7950EVM 和 TSW14J56采集卡来评估 ADC。 我已经按照用户指南中提到的 HSDC pro 和 Latte 脚本步骤。 在日志窗口中、显示两个板之间建立了链路(通过 LED D2和 D4闪烁状态确认了这一点)。 但是、从 HSDC pro DAC 选项卡发送音调并从 ADC 选项卡捕获相同的音调时、不会显示任何内容。 除此之外、我无法在频谱分析仪上观察到这种音调。
为什么输出电平这么低?
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.
您好!
目前、我使用 AFE7950EVM 和 TSW14J56采集卡来评估 ADC。 我已经按照用户指南中提到的 HSDC pro 和 Latte 脚本步骤。 在日志窗口中、显示两个板之间建立了链路(通过 LED D2和 D4闪烁状态确认了这一点)。 但是、从 HSDC pro DAC 选项卡发送音调并从 ADC 选项卡捕获相同的音调时、不会显示任何内容。 除此之外、我无法在频谱分析仪上观察到这种音调。
为什么输出电平这么低?
尊敬的 Akash:
您能否确认 Rx 输入的输入音调接近 Latte 脚本中设置的 NCO 频率、通常出于测试目的、我将信号发生器设置为 NCO+20MHz? 对于默认脚本、RxA 通道将 NCO 设置为5.4GHz、因此您可以发送5.42GHz 信号并在 HSDC Pro 中捕获音调。 如果您使用的是默认脚本、则可以执行的测试操作是将 TxA 输出环回到 RxA 输入并捕获 DAC 音调。
此外、在 Rx 通道的 HSDC Pro 中、您应该将窗口设置为复数 FFT。

此致、
David Chaparro
尊敬的 Akash:
您可以将两个值编程到 NCO 3500和2600中的原因是、当您将 Tx 或 Rx 编程为在双频模式下运行时。 在此模式下、每个通道将有两个 DUC、并且可以为两个 DUC 设置 NCO。 您正在显示的脚本设置为单频带模式、因此未使用第二个值2600、并且 NCO 设置为3.5GHz。 有关 Tx 侧这方面的更多信息、请参阅第8.3.3节。
我说输入频率应接近 NCO 频率的原因是、对于您显示的配置、Rx 配置为245.76MHz 的 IBW、因此当 NCO 设置为3.5GHz 时、输入频率应在3.5GHz +/- 122.88MHz 范围内。 出于测试目的、我通常将输入频率设置为 NCO + 20MHz。
此致、
David Chaparro
尊敬的 Akash:
以下脚本可用作双频模式的参考。 请注意、在 HSDC Pro 中、您应选择 Dual Band ini 文件28810。
############## Read me ##############
#In HSDC Pro DAC tab, Select AFE79xx_2x2TX_44210; Data Rate = 491.52M
#In HSDC Pro ADC tab, Select AFE79xx_2x2RX_44210; Data Rate = 491.52M ---> To capture 4 RX channels
sysParams=AFE.systemParams
sysParams.__init__();sysParams.chipVersion=chipVersion
setupParams.skipFpga = 1 # setup FPGA (TSW14J56) using HSDC Pro
############## Top Level ##############
sysParams.FRef = 491.52
sysParams.FadcRx = 2949.12
sysParams.FadcFb = 2949.12
sysParams.Fdac = 2949.12*4
sysParams.externalClockRx=False
sysParams.externalClockTx=False
############## Digital Chain ##############
##### RX #####
sysParams.ddcFactorRx = [24,24,24,24] #DDC decimation factor for RX A, B, C and D
sysParams.rxNco0 = [[9500,9520], #Band0, Band1 for RXA
[9500,9520], #Band0, Band1 for RXB
[9500,9520], #Band0, Band1 for RXC
[9500,9520]] #Band0, Band1 for RXD
sysParams.numBandsRx = [1]*4 # 0 for single, 1 for dual
##### FB #####
sysParams.fbEnable = [False,False]
sysParams.ddcFactorFb = [6,6] #DDC decimation factor for FB 1 and 2
sysParams.fbNco0 = [9500,9500] #Band0 for FB1 and FB2
##### TX #####
sysParams.ducFactorTx = [96,96,96,96] #DUC interpolation factor for TX A, B, C and D
sysParams.txNco0 = [[9500,9520], #Band0, Band1 for TXA
[9500,9520], #Band0, Band1 for TXB
[9500,9520], #Band0, Band1 for TXC
[9500,9520]] #Band0, Band1 for TXD
sysParams.numBandsTx = [1]*4 # 0 for single, 1 for dual
############## JESD ##############
##### ADC-JESD #####
sysParams.jesdSystemMode= [3,3]
#SystemMode 0: 2R1F-FDD ; rx1-rx2-fb -fb
#SystemMode 1: 1R1F-FDD ; rx -rx -fb -fb
#SystemMode 2: 2R-FDD ; rx1-rx1-rx2-rx2
#SystemMode 3: 1R ; rx -rx -rx -rx
#SystemMode 4: 1F ; fb -fb- fb -fb
#SystemMode 5: 1R1F-TDD ; rx/fb-rx/fb-rx/fb-rx/fb
sysParams.jesdTxProtocol= [0,0] # 0 - 8b/10b encoding; 2 - 64b/66b encoding
sysParams.LMFSHdRx = ["28810","28810","28810","28810"]
# The 2nd and 4th are valid only for jesdSystemMode values in (0,2).
# For other modes, select 4 converter modes for 1st and 3rd.
sysParams.LMFSHdFb = ["22210","22210"]
sysParams.rxJesdTxScr = [True,True,True,True]
sysParams.fbJesdTxScr = [True,True]
sysParams.rxJesdTxK = [16,16,16,16]
sysParams.fbJesdTxK = [16,16]
sysParams.jesdTxLaneMux = [0,1,2,3,4,5,6,7] # Enter which lanes you want in each location.
# 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]]
##### DAC-JESD #####
sysParams.jesdRxProtocol= [0,0]
sysParams.LMFSHdTx = ["28810","28810","28810","28810"]
sysParams.jesdRxLaneMux = [0,1,2,3,4,5,6,7] # Enter which lanes you want in each location.
# For example, if you want to exchange the first two lines of each 2R
# this should be [[1,0,2,3],[5,4,6,7]]
sysParams.jesdRxRbd = [4, 4]
sysParams.jesdRxScr = [True,True,True,True]
sysParams.jesdRxK = [16,16,16,16]
##### JESD Common #####
sysParams.jesdABLvdsSync= True
sysParams.jesdCDLvdsSync= True
sysParams.syncLoopBack = True #JESD Sync signal is connected to FPGA
############## GPIO ##############
sysParams.gpioMapping = {
'H8': 'ADC_SYNC0',
'H7': 'ADC_SYNC1',
'N8': 'ADC_SYNC2',
'N7': 'ADC_SYNC3',
'H9': 'DAC_SYNC0',
'G9': 'DAC_SYNC1',
'N9': 'DAC_SYNC2',
'P9': 'DAC_SYNC3',
'P14': 'GLOBAL_PDN',
'K14': 'FBABTDD',
'R6': 'FBCDTDD',
'H15': ['TXATDD','TXBTDD'],
'V5': ['TXCTDD','TXDTDD'],
'E7': ['RXATDD','RXBTDD'],
'R15': ['RXCTDD','RXDTDD']}
############## LMK Params ##############
lmkParams.pllEn = True
lmkParams.inputClk = 983.04 # Valid only when lmkParams.pllEn = False
lmkParams.lmkFrefClk = True
setupParams.fpgaRefClk = 245.76 # Should be equal to LaneRate/40 for TSW14J56
############## Logging ##############
logDumpInst.setFileName(ASTERIX_DIR+DEVICES_DIR+r"\Afe79xxPg1.txt")
logDumpInst.logFormat=0x0 #Modify to 0x1 to save register scequence to log file. Script takes more time to execute.
logDumpInst.rewriteFile=1
logDumpInst.rewriteFileFormat4=1
device.optimizeWrites=0
device.rawWriteLogEn=1
device.delay_time = 0
#-------------------------------------------------------------------------------------------------#
AFE.deviceBringup()
AFE.TOP.overrideTdd(15,3,15) # bit-wise; 4R,2F,4T
此致、
David Chaparro