I used ADRV9375-W/PCBZ + Xilinx ZC706, connected ObsRx to Tx1, then tried to send LTE_DL_30p72_20M_TM3p1_122.88rate.txt waveform file to Tx1 and check the ObsDataPlot in TES.
1) First, I loaded the waveform file with TES, and got TxDataPlot and ObsDataPlot which looks correct;
2) Then, I loaded the waveform file with IronPython, and got ObsDataPlot which doesn't look like it worked.
The IronPython code is as follow, please help me to see what is wrong. Thanks a lot!
#########################################################################################
#Create an Instance of the Class
Link = AdiCommandServerClient.Instance
Mykonos = AdiCommandServerClient.Instance.Mykonos
FpgaMykonos = AdiCommandServerClient.Instance.FpgaMykonos
#Connect to the Zynq Platform
if(Link.hw.Connected == 1):
Connect = 1
else:
Connect = 0
Link.hw.Connect('192.168.1.10', 55555)
############################################################
# check environment #
############################################################
print Link.identify()[:-2]
pllStatus = Link.Mykonos.checkPllsLockStatus()
if not (pllStatus & 0x01):
print 'Error pllStatus = ', hex(pllStatus)
print 'Radio State = ', hex(Link.Mykonos.getRadioState(0))
print 'TX PLL Frequency = ', Link.Mykonos.getRfPllFrequency(Link.Mykonos.PLLNAME.TX_PLL, 0), 'Hz'
print 'RX PLL Frequency = ', Link.Mykonos.getRfPllFrequency(Link.Mykonos.PLLNAME.RX_PLL, 0), 'Hz'
############################################################
# Radio Off #
############################################################
#Link.Mykonos.radioOff()
#print 'Radio State = ', hex(Link.Mykonos.getRadioState(0))
############################################################
# get transimtting data from file #
############################################################
fid = open('LTE_DL_30p72_20M_TM3p1_122.88rate.txt', 'r')
fcontent = fid.read()
fid.close()
tx1Datalist = []
lines = fcontent.split('\n')
for i in range(len(lines)):
iq = lines[i].split('\t')
if len(iq) == 2:
tx1Datalist.append(int(iq[0]))
tx1Datalist.append(int(iq[1]))
tx1Data = Array[Int16](tx1Datalist)
print run_index, '# Samples: ', tx1Data.Length
############################################################
# Start TX data #
############################################################
Link.FpgaMykonos.stopTxData() # blocks until FPGA shuts down Tx data mover
Link.FpgaMykonos.enableTxDataPaths(Link.FpgaMykonos.TX_DATAPATH.DISABLE)
Link.FpgaMykonos.setTxTrigger(Link.FpgaMykonos.TXTRIGGER.IMMEDIATE)
Link.hw.ReceiveTimeout = 0 # debug only, Disable TCPIP timeout
Link.writeRam(Enums.FPGA_CHANNEL.TX1, 0, tx1Data)
Link.FpgaMykonos.setTxTransmitMode(1) # continuous Transmit = 1
Link.FpgaMykonos.setTxTransmitSamples(Link.FpgaMykonos.TXBUFFER.TX1_DM, tx1Data.Length)
print run_index, 'transmit started'
Link.FpgaMykonos.startTxData() # Start FPGA Tx data
Link.FpgaMykonos.enableTxDataPaths(Link.FpgaMykonos.TX_DATAPATH.TX1)
############################################################
# Radio On #
############################################################
#Link.Mykonos.radioOn()
#print 'Radio State = ', hex(Link.Mykonos.getRadioState(0))
#Disconnect from the Zynq Platform
if(Connect == 0):
Link.hw.Disconnect()
########################################################################################
TxDataPlot in Step 1:
ObsDataPlot in Step 1:
ObsDataPlot in Step 2: