Connecting EK1HMC7044LP10B to multiple ADRV9009-ZU11EG SOMs

I'm working to use an HMC7044 Dev Board (EK1HMC7044LP10B) to sync multiple ADRV9009-ZU11EG SOMs.

Referencing pyadi-iio (multi-som-adrv9009 branch), I figured I'd start with the adrv9009_som_multi.py example.

Using an Ubuntu host PC, I adjusted the script to open in python3.6.9, and set the IP addresses for master and slave.

However, when I run it, I get the following:

--Connecting to devices
Pulling buffers
Re-initializing JESD links
JESD Link status: DATA (84a30000.axi-jesd204-tx)
JESD Link status: DATA (84a50000.axi-jesd204-rx)
JESD Link status: DATA (84a70000.axi-jesd204-rx)
JESD Link status: DATA (84a30000.axi-jesd204-tx)
JESD Link status: DATA (84a50000.axi-jesd204-rx)
JESD Link status: DATA (84a70000.axi-jesd204-rx)
JESD SYSREF captured: Yes (84a30000.axi-jesd204-tx)
JESD SYSREF captured: Yes (84a50000.axi-jesd204-rx)
JESD SYSREF captured: Yes (84a70000.axi-jesd204-rx)
JESD SYSREF captured: Yes (84a30000.axi-jesd204-tx)
JESD SYSREF captured: Yes (84a50000.axi-jesd204-rx)
JESD SYSREF captured: Yes (84a70000.axi-jesd204-rx)
JESD SYSREF alignment error: Yes (84a30000.axi-jesd204-tx)
JESD SYSREF alignment error: Yes (84a50000.axi-jesd204-rx)
JESD SYSREF alignment error: Yes (84a70000.axi-jesd204-rx)
JESD SYSREF alignment error: No (84a30000.axi-jesd204-tx)
JESD SYSREF alignment error: No (84a50000.axi-jesd204-rx)
JESD SYSREF alignment error: No (84a70000.axi-jesd204-rx)
Traceback (most recent call last):
  File "./test_adrv9009_som_multi.py", line 78, in <module>
    x = multi.rx()
  File "/usr/local/lib/python3.6/dist-packages/pyadi_iio-0.0.5-py3.6.egg/adi/adrv9009_zu11eg_multi.py", line 334, in rx
  File "/usr/local/lib/python3.6/dist-packages/pyadi_iio-0.0.5-py3.6.egg/adi/adrv9009_zu11eg_multi.py", line 138, in __clock_chips_init
AttributeError: 'NoneType' object has no attribute 'reg_write'

So I have some questions:

1.) The failure point is referencing clock_chip_ext.  Does this indicate it can't see the HMC7044 Dev Board?

2.) How does the script communicate with the HMC7044 board?  Should it be connected to the master via USB?

3.) Is there any guidance about how I might integrate this into the system.dtb file?

  • +1
    •  Analog Employees 
    on Mar 13, 2020 8:45 PM 10 months ago

    Added some information about ADRV9009-ZU11EG multi-SOM synchronization here (The page will be updated in the following days)

    Thanks,

    Mihai

  • I have a question on that page.  Should it be R276 instead of R270 that is being replaced with 50 ohms?

  • 0
    •  Analog Employees 
    on Mar 23, 2020 7:08 AM 10 months ago in reply to mstone

    Yes, you are right, it is R276. The instructions are updated now.

    Thanks,

    Mihai

  • I've implemented the hardware changes on the listed page, and copied all files within the zip into the BOOT directories of each SOM.

    Now my results when running the example file are as follows:

    ---------------------------------------------------------------------------------------------

    --Connecting to devices
    Pulling buffers
    JESD Link status: CGS (84a30000.axi-jesd204-tx)
    JESD Link status: DATA (84a50000.axi-jesd204-rx)
    JESD Link status: DATA (84a70000.axi-jesd204-rx)
    JESD Link status: CGS (84a30000.axi-jesd204-tx)
    JESD Link status: DATA (84a50000.axi-jesd204-rx)
    JESD Link status: DATA (84a70000.axi-jesd204-rx)
    JESD SYSREF captured: No (84a30000.axi-jesd204-tx)
    JESD SYSREF captured: No (84a50000.axi-jesd204-rx)
    JESD SYSREF captured: No (84a70000.axi-jesd204-rx)
    JESD SYSREF captured: No (84a30000.axi-jesd204-tx)
    JESD SYSREF captured: No (84a50000.axi-jesd204-rx)
    JESD SYSREF captured: No (84a70000.axi-jesd204-rx)
    JESD SYSREF alignment error: No (84a30000.axi-jesd204-tx)
    JESD SYSREF alignment error: No (84a50000.axi-jesd204-rx)
    JESD SYSREF alignment error: No (84a70000.axi-jesd204-rx)
    JESD SYSREF alignment error: No (84a30000.axi-jesd204-tx)
    JESD SYSREF alignment error: No (84a50000.axi-jesd204-rx)
    JESD SYSREF alignment error: No (84a70000.axi-jesd204-rx)
    OSERROR1
    OSERROR2
    OSERROR1
    OSERROR2
    JESD 84a50000.axi-jesd204-rx:  0 0 0 0
    JESD 84a70000.axi-jesd204-rx:  0 0 0 0
    JESD 84a50000.axi-jesd204-rx:  0 0 0 0
    JESD 84a70000.axi-jesd204-rx:  0 0 0 0
    JESD 84a50000.axi-jesd204-rx:
    JESD 84a70000.axi-jesd204-rx:
    JESD 84a50000.axi-jesd204-rx:
    JESD 84a70000.axi-jesd204-rx:
    JESD 84a50000.axi-jesd204-rx:  No No No No
    JESD 84a70000.axi-jesd204-rx:  No No No No
    JESD 84a50000.axi-jesd204-rx:  No No No No
    JESD 84a70000.axi-jesd204-rx:  No No No No
    Traceback (most recent call last):
      File "./test2_adrv9009_som_multi.py", line 78, in <module>
        x = multi.rx()
      File "/usr/local/lib/python3.6/dist-packages/pyadi_iio-0.0.5-py3.6.egg/adi/adrv9009_zu11eg_multi.py", line 350, in rx
      File "/usr/local/lib/python3.6/dist-packages/pyadi_iio-0.0.5-py3.6.egg/adi/rx_tx.py", line 235, in rx
      File "/usr/local/lib/python3.6/dist-packages/pyadi_iio-0.0.5-py3.6.egg/adi/rx_tx.py", line 164, in __rx_complex
      File "/usr/lib/python2.7/site-packages/iio.py", line 551, in refill
        _buffer_refill(self._buffer)
      File "/usr/lib/python2.7/site-packages/iio.py", line 40, in _checkNegative
        raise OSError(-result, _strerror(-result))
    TimeoutError: [Errno 110] Connection timed out

    ---------------------------------------------------------------------------------------------

    Any new tips?

  • 0
    •  Analog Employees 
    on Mar 24, 2020 3:55 PM 9 months ago in reply to mstone

    Hello,

    Can you share the output of the console  when booting ? 

    Regards,

    Adrian