请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:AFE7950EVM 您好!
为了进行测试、我使用内部 JESD 环回操作 AFE7950EVM。 在测试过程中、我们注意到第一个奈奎斯特区域的性能比第二个奈奎斯特区域差。 下面是设置脚本、我很好奇我是否出错或缺少应该设置的参数。 为便于参考、我将以~0dBm 进入 ADC、并在第一个奈奎斯特区域(位于1000 MHz 和1400 MHz 之间)中获得大约-50dBm 的输出。 在第二奈奎斯特区域中运行时、可获得约-40dBm 的输出(介于1600 MHz 和2000 MHz 之间)。 当前设置是一个信号发生器、该信号发生器连接到 AFE7950EVM 上的端口 RXA_IN、端口 TXA_OUT 连接到频谱分析仪。 感谢所有的帮助!
############## 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 ddcVal = 6 Fadc = 2949.12 dacSpeedUp = 3 ducVal = ddcVal* dacSpeedUp fNCO1 = 1200 fNCO2 = 1800 firstNyquist = True if(firstNyquist) : fNCO = fNCO1 else : fNCO = fNCO2 LMFS = "44210" setupParams.skipFpga = 1 # setup FPGA (TSW14J56) using HSDC Pro ############## Top Level ############## sysParams.FRef = 491.52 sysParams.FadcRx = Fadc sysParams.FadcFb = Fadc sysParams.Fdac = Fadc*dacSpeedUp sysParams.externalClockRx=False sysParams.externalClockTx=False ############## Digital Chain ############## if(firstNyquist) : sysParams.ncoFreqMode = "1KHz" #FCW else : sysParams.ncoFreqMode = "FCW" sysParams.RRFMode = 5 ##### RX ##### sysParams.numRxNco = 1 sysParams.ddcFactorRx = [ddcVal,ddcVal,ddcVal,ddcVal] #DDC decimation factor for RX A, B, C and D sysParams.rxNco0 = [[fNCO,fNCO], #Band0, Band1 for RXA [fNCO,fNCO], #Band0, Band1 for RXB [fNCO,fNCO], #Band0, Band1 for RXC [fNCO,fNCO]] #Band0, Band1 for RXD ##### FB ##### sysParams.fbEnable = [True,True] sysParams.ddcFactorFb = [ddcVal,ddcVal] #DDC decimation factor for FB 1 and 2 sysParams.fbNco0 = [fNCO,fNCO] #Band0 for FB1 and FB2 ##### TX ##### sysParams.numTxNco = 1 sysParams.ducFactorTx = [ducVal,ducVal,ducVal,ducVal] #DUC interpolation factor for TX A, B, C and D sysParams.txNco0 = [[fNCO,fNCO], #Band0, Band1 for TXA [fNCO,fNCO], #Band0, Band1 for TXB [fNCO,fNCO], #Band0, Band1 for TXC [fNCO,fNCO]] #Band0, Band1 for TXD sysParams.enableDacInterleavedMode = False ############## 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= [2,2] # 0 - 8b/10b encoding; 2 - 64b/66b encoding sysParams.LMFSHdRx = [LMFS,LMFS,LMFS,LMFS] # 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 = [False,False,False,False] sysParams.fbJesdTxScr = [False,False] sysParams.rxJesdTxK = [1,1,1,1] sysParams.fbJesdTxK = [1,1] 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= [2,2] sysParams.LMFSHdTx = [LMFS,LMFS,LMFS,LMFS] 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 = [28,28] sysParams.jesdRxScr = [False,False,False,False] sysParams.jesdRxK = [1,1,1,1] ###sysParams.enableDacInterleavedMode = True ##### JESD Common ##### sysParams.jesdABLvdsSync= True sysParams.jesdCDLvdsSync= False sysParams.serdesFirmware = True sysParams.jesdLoopbackEn = True ############## 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 = 184.32 # 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