Post Go back to editing

iio lib command line for daq2 design (AD9172-dac-emz) with zcu102 (rev 1.1)

I am unable to use the hdmi driver on the ZCU102 (Rev1.2) using the reference design daq2 on zcu102 (2021-02-23-ADI-Kuiper.img). Hence, I am trying to use iio command line tools running on zcu102 via serial (COM4) teraterm. Here the iio_info returns with 4 devices in the first line of the output). However, I see only three devices listed subsequently (device0: ams, device1: hmc7044 and device2: axi-ad9172-hpc). I have some questions about this:

Q1. Is there a missing 4th device not listed in this?
======= Start - iio command line log ===============
root@analog:~# iio_info | grep device
IIO context has 4 devices:
        iio:device0: ams
                1 device-specific attributes found:
                No trigger on this device
        iio:device1: hmc7044
                7 device-specific attributes found:
                No trigger on this device
        iio:device2: axi-ad9172-hpc (buffer capable)
                No trigger on this device
                2 device-specific attributes found:
                No trigger on this device
======= End - iio command line log ===============

Q2: Can device0: ams be used to program registers on the zcu board using the iio_reg ? Where is the register map for ams device? I am specifically trying to program the dac_data_sel register. What is the command for this?

======= Start - iio command line log ===============
root@analog:~# iio_reg ams 0x0
Unable to read register: No such file or directory
======= End - iio command line log ===============

Q3: IIO vs ACE: What decides whether the DAC board SPI registers for HMC7044 and AD9172 ICs are programmed via the ACE sofware running on my laptop through the micro USB connection or the via commnand line on the serial terminal running on the ZCU102 board through the FMC interface.

Parents
  • A bit confused here since daq2 does not have an AD9172. Which boot files are you using (from what SD card subfolder)? There is also no Rev 1.2 ZCU102, as the newest is Rev 1.1.

    1. If you are using zynqmp-zcu102-rev10-ad9172-fmc-ebz-mode4 you should only have 3.

    2. To my knowledge no, but you will have to ask Xilinx as they maintain that driver. Are you trying to access registers of the FPGA or the AD9172? If it's the AD9172 you can use iio_reg with that device. Where is dac_data_sel register documented?

    3. You will have to ask this question in the ACE support forum.

    -Travis

  • Sorry, my typo. I meant ZCU102  rev 1.1.

    For the image I used the sub-folder zynqmp-zcu102-rev10-ad9172-fmc-ebz-mode4. I have a ad9174-fmc-ebz board. I was told that the 9172 image may be used for this.

    The dac_data_sel register is something I saw in the hdl code on github. I am assuming that this is the register that controls the select lines for the mux shown inside the Tx JESD TPL module in the block diagram on https://wiki.analog.com/resources/eval/user-guides/ad-dac-fmc-ebz?s[]=ad9174. What is the method to control this mux between selecting a tone vs prbs ?

    What is the link for the ACE support forum?

  • Here is an update: I am able to connect the keyboard/mouse via the OTG-USB adapter. I found this link on the Xilinx web-site that explained some jumper position changes that were necessary to have the keyboard/mouse work properly. .

    I am also able to see the display on the display port - I had been trying one of the two hdmi ports until now. Also, I found a display that has a native display port input.
    Additionally, reg write/read is also working via the driver described at
    See the log below
    root@analog:/sys/bus/iio/devices/iio:device2# cat out_voltage0_i_scale
    0.699707031
    root@analog:/sys/bus/iio/devices/iio:device2# echo 0.75 > out_voltage0_i_scale
    root@analog:/sys/bus/iio/devices/iio:device2# cat out_voltage0_i_scale
    0.750000000
    With all this, I am still unable to see any signal coming out of the DAC or see green lights on the ACE sw for the JESD link status. Is there a list of minimum regs that I need to write to configure the ref design so that the DAC shows some output for mode 4?
  • The easiest way to control the DAC is to use IIO-Scope which is designed to control IIO drivers through libiio. In IIO-Scope you can directly control the FPGA's DDS and send data through DMA which feed the AD9172. IIO-Scope: https://wiki.analog.com/resources/tools-software/linux-software/iio_oscilloscope?s%5B%5D=iio&s%5B%5D=oscilloscope

    This can be run from a PC or on the board itself.

    Any ACE questions should be pointed to the ACE forum.

    -Travis

  • Thanks, Travis for the super-fast response. Can you please point me to some tutorial on how to connect the board to the laptop for installing/running iio_oscillscope?

  • That link above will provide links to the IIO-Scope installers.

    Here is a page about configurating networking on the board: https://wiki.analog.com/resources/tools-software/linux-software/network-config

    -Travis

  • Thanks, Travis. Will try this and let you know how it goes. I appreciate your quick response.

  • Hi Travis, I followed the network-config instructions for configuring the board-to-laptop networking. They are detailed and excellent in terms of foreseeing potential errors. Also I have installed the ADI IIO Oscilloscope app on my windows laptop. When I launch IIO Scope, it detected the board on the network and connected to the board. Can you please point me to the set of instructions of what to do beyond this point? I am assuming that there is a set of reg writes that program the board and enable the JESD link. As of now, I don't see the JESD link green lights on the ACE app connected to the ADI9172-fmc-ebz board. Thanks.

  • Can you please point me to the set of instructions of what to do beyond this point? I am assuming that there is a set of reg writes that program the board and enable the JESD link. As of now, I don't see the JESD link green lights on the ACE app connected to the ADI9172-fmc-ebz board. Thanks.

    You do not use register writes to control the JESD interface. The drivers will take care of it for you. You can check the status with this tool on the board: https://wiki.analog.com/resources/tools-software/linux-software/jesd_status

    As of now, I don't see the JESD link green lights on the ACE app connected to the ADI9172-fmc-ebz board

    Again, any questions about ACE should be directed to their forum.

    -Travis

  • Ok, thanks, Travis. I wish the ACE team would be as prompt as you! I will resubmit my question from three days ago to them.

    Anyway, if I may ask for one last clarification, the iio scope tool control registers on the fpga as well as those on the DAC IC (9174) and the clock IC (7044) ? In other words, I may not need the ACE tool to work at all? Once the SD card image is loaded on the FPGA and the iio oscilloscope launched on the pc and connected to the board via the ethernet the reference design on the fpga should start sending data in mode 4 to the dac ? I don't need to touch any enable or start register to see signal coming out of the DAC?

    Thanks again, for your patience. I appreciate that the ADI documentation is vast ... its just difficult at times to locate the appropriate information. So all your help in sending the various useful links is extremely helpful.

  • No, you should not need ACE.

    When the board boots it will bring up the AD9172 and will default to using the internal FPGA DDSs as a data source for the DAC. However, the signal is likely at a very low amplitude. Go into IIO-Scope and set the DDS to a known frequency and increase the amplitude to better visualize it on external instrumentation.

    -Travis

  • Hi Travis, thank you very much for your patient help. I can now see a tone coming out of the ADI9174 board and I can control the amplitude as well as the frequency of the tone from the iio_scope app running on my pc connected to the zcu102 board via the ethernet. The jesd_status shows the following on the serial terminal:

    (DEVICES) Found 1 JESD204 Link Layer peripherals----------------------------kx
    ||                                                                            ||
    ||(0): axi-jesd204-tx/84a90000.axi-jesd204-tx  [*]                            ||
    xm----------------------------------------------------------------------------jx
    xl(STATUS)--------------------------------------------------------------------kx
    ||Link is                 enabled                                             ||
    ||Link Status             DATA                                                ||
    ||Measured Link Clock     184.338                                             ||
    ||Reported Link Clock     184.320                                             ||
    ||Lane rate               7372.800                                            ||
    ||Lane rate / 40          184.320                                             ||
    ||LMFC rate               11.520                                              ||
    ||SYSREF captured         Yes                                                 ||
    ||SYSREF alignment error  No                                                  ||
    ||SYNC~                   deasserted                                          ||
    xm----------------------------------------------------------------------------jx
    x                                                                              x
    x                                                                              x
    x                                                                              x
    x                                                                              x
    xYou can also use 'q' to quit and 'a' or 'd' to move between devices!          x
    xF1axi-jesd204-tx/84a90000.axi-jesd204-txF9Quit                                x
    m----------------------------------------------q

    Thanks again!

Reply
  • Hi Travis, thank you very much for your patient help. I can now see a tone coming out of the ADI9174 board and I can control the amplitude as well as the frequency of the tone from the iio_scope app running on my pc connected to the zcu102 board via the ethernet. The jesd_status shows the following on the serial terminal:

    (DEVICES) Found 1 JESD204 Link Layer peripherals----------------------------kx
    ||                                                                            ||
    ||(0): axi-jesd204-tx/84a90000.axi-jesd204-tx  [*]                            ||
    xm----------------------------------------------------------------------------jx
    xl(STATUS)--------------------------------------------------------------------kx
    ||Link is                 enabled                                             ||
    ||Link Status             DATA                                                ||
    ||Measured Link Clock     184.338                                             ||
    ||Reported Link Clock     184.320                                             ||
    ||Lane rate               7372.800                                            ||
    ||Lane rate / 40          184.320                                             ||
    ||LMFC rate               11.520                                              ||
    ||SYSREF captured         Yes                                                 ||
    ||SYSREF alignment error  No                                                  ||
    ||SYNC~                   deasserted                                          ||
    xm----------------------------------------------------------------------------jx
    x                                                                              x
    x                                                                              x
    x                                                                              x
    x                                                                              x
    xYou can also use 'q' to quit and 'a' or 'd' to move between devices!          x
    xF1axi-jesd204-tx/84a90000.axi-jesd204-txF9Quit                                x
    m----------------------------------------------q

    Thanks again!

Children
No Data