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.
Hi Team,
I am using "device.readReg(register address) command to read the register. Is there some GUI where we can read all the register spaces mentioned in "sbau329_AFE77xx_TRM", can you please provide info regardng this?
Also I see that few register maps has common register addresses. How to differentiate the registers between different register map?
Example: 0x2Ch in PLL register map denotes "F[7:0]" and in JESD_SUBCHIP Register Map 0x2Ch is something else. Providing the screenshots from "sbau329_AFE77xx_TRM" for the reference.
Please help me with these queries
Thanks,
Jaswanth
Hi Jaswanth,
There's no way to read-back all registers. If you're trying to export the register writes needed to configure the AFE7700, the EVM control software generates a register programming sequence file when a configuration script is run. This file should be used to configure AFE without using the EVM software. This is explained in SBAU333b_AFE77xx_user_guide.pdf, section 7.3:
Different register pages can have register with same address. Based on which page is enabled, a particular register write goes to that page.
Page enable register addresses are from 10h to 18h in Global register map.
Regards,
Vijay
Hi Vijay,
Thank you for the reply.
Could you please provide an example of how to read a register value (You can take the example I mentioned above)?
Also, I have the following questions:
2. I have executed the latte scripts in the order of setup.py, devInit.py, and Bringup_repeaterMode.py. I saw a few failures in the log. How do I know that the repeater mode is working from this? (Providing the screenshot of the log for your reference)
3. After I have executed the devInit.py, an "Interactive GUI" opened, is there any documentation about the info displayed in that GUI?
Thanks,
Jaswanth
Hi Vijay,
Waiting for your response to the queries posted in the above comment, please provide the info whenever possible
Thanks,
Jaswanth
Hi Jaswanth,
To read register 2Ch from JESD_SUBCHIP register map, first the JESD_SUBCHIP page should be selected. Then the 2Ch register can be read. Page should be unselected if next SPI write could be to a different page. You can execute below register commands in AFE7700EVM software to do this:
device.writeReg(0x15,0x08) # Select JESD_SUBCHIP page log(device.readReg(0x2C)) #Read register 2Ch from JESD_SUBCHIP page device.writeReg(0x15,0x00) # Unselect JESD_SUBCHIP page
For PLL register also page selection should be done the same way. However to access PLL registers, an additional function has to be executed to get PLL page access to SPI. Below commands can be executed in AFE7700EVM software for this:
AFE.TOP.requestPllSpiAccess(1) # Take PLL page access through SPI device.writeReg(0x14,0x08) # Select PLL0 page log(device.readReg(0x2C)) #Read register 2Ch from PLL0 page device.writeReg(0x14,0x00) # Unselect PLL0 page AFE.TOP.requestPllSpiAccess(0) # Relinquish PLL page access through SPI
Note that although individual registers can be accessed this way, it is not needed to do this. For AFE configuration register sequence, the text file saved by EVM software should be used. For any commands that should be run after initial configuration, C functions are given in C_funtions.zip file in application notes of secure folder.
There are a few parameters such as setupParams.selectedDut, AFE1, device1, and logDumpInst1 used in the basicBringup.py script. Can you point us to where can we find what are the configurations used here?
You can ignore this. The code in this 'if' statement doesn't run.
I have executed the latte scripts in the order of setup.py, devInit.py, and Bringup_repeaterMode.py. I saw a few failures in the log. How do I know that the repeater mode is working from this? (Providing the screenshot of the log for your reference)
From the first error in log, "SPI not working", I see that EVM SPI is not functional. This can happen if hardware reset is not done before running the AFE configuration. You can press AFE RESET button (SW1) on EVM to hard rest AFE.
After I have executed the devInit.py, an "Interactive GUI" opened, is there any documentation about the info displayed in that GUI?
We don't support the interactive GUI for AFE7700. Please upgrade to latest version by following the instructions from Latte_Upgrade_Instructions.docx on secure folder (www.ti.com/mysecuresoftware). The interactive GUI is removed in latest version.
Hi Vijay,
Thanks a lot for the help!
I have updated the libs to v2.2 and was able to see the status at the end of brinup_repeatermode.py execution as below for both DAC JESD-RX 0 and DAC JESD-RX 1 link Status:
CS State TX0: 0b00001010 . It is expected to be 0b00001010
FS State TX0: 0b00000101 . It is expected to be 0b00000101
In the script you shared, "sysParams.jesdProtocol" was configured as 0 which is for JESD204B. But I wanted to try the repeater mode in JESD204C. So I changed the "sysParams.jesdProtocol" to 2 and executed the script in the simillar manner I did before asn I saw the status at the end as
CS State TX0: 0b00001010 . It is expected to be 0b00001010
BUF State TX0: 0b00001111 . It is expected to be 0b00001111
is this expected? please confirm
Thanks,
Jaswanth
In the script you shared, "sysParams.jesdProtocol" was configured as 0 which is for JESD204B. But I wanted to try the repeater mode in JESD204C. So I changed the "sysParams.jesdProtocol" to 2 and executed the script in the simillar manner I did before asn I saw the status at the end as
CS State TX0: 0b00001010 . It is expected to be 0b00001010
BUF State TX0: 0b00001111 . It is expected to be 0b00001111
is this expected? please confirm
Yes. As the state read from AFE is same the expected values shown in log, this is expected.
What is the data being transmitted and received in the repeater mode?
The JESD204C interface output data from ADC channels is looped back as JESD204C input data of DAC.
What does CS state, FS state, BUF state mean (I was able to find the description for the fields of this register, but not the meaning of the register)
CS state is current extended multiblock alignment state; FS state is current Initial frame alignment state and BUF state is current elastic buffer (RBD) state. For stable link, these value should be read as expected value shown in log.
The JESD204C interface output data from ADC channels is looped back as JESD204C input data of DAC
Okay, but what is the data ADC is transmitting? (is it any internal PRBS generator that sending the data?)
Also can you please confitm if the lane rate is 9830.4 Mbps for JESD204B and 8110.08 for JESD204C?
Note that although individual registers can be accessed this way, it is not needed to do this. For AFE configuration register sequence, the text file saved by EVM software should be used
What will be name of this file and where will it be available?
For any commands that should be run after initial configuration, C functions are given in C_funtions.zip file in application notes of secure folder.
To use the C functions in the python script, should be generate a shared library file (.so extension) or is there any other we can call these? (if there is a way we can use these functions without creating a ".so" file please provide an example)
Hi Vijayendra Varma Siddamsetty
Just a friendly reminder, can you please reply for my query
Thanks,
Jaswanth
What will be name of this file and where will it be available?
As given in '7.3 Save Register Commands' in EVM user's guide, Register commands to configure AFE77xx is saved in text format every time a bring-up is run. The file is saved in: ...\Documents\Texas Instruments\Latte\lib\configCustom2.txt
To use the C functions in the python script, should be generate a shared library file (.so extension) or is there any other we can call these? (if there is a way we can use these functions without creating a ".so" file please provide an example)
Unfortunately, the C functions cannot be run from Latte Python scripts. These are meant to be run on host processor controlling the AFE in user platform.
Regards,
Vijay
Could you please answer the rest of the queries mentioned in my previous comment as well