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 devicesPulling buffersRe-initializing JESD linksJESD 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_initAttributeError: '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?
Added some information about ADRV9009-ZU11EG multi-SOM synchronization here (The page will be updated in the following days)
Thanks,
Mihai
This problem has been solved.
The header connections here:
Were misconnected. P26 was plugged in as a mirror-image of what it should have been.
The proper connection was obvious after a reboot, when…
I have a question on that page. Should it be R276 instead of R270 that is being replaced with 50 ohms?
Yes, you are right, it is R276. The instructions are updated now.
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 devicesPulling buffersJESD 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)OSERROR1OSERROR2OSERROR1OSERROR2JESD 84a50000.axi-jesd204-rx: 0 0 0 0JESD 84a70000.axi-jesd204-rx: 0 0 0 0JESD 84a50000.axi-jesd204-rx: 0 0 0 0JESD 84a70000.axi-jesd204-rx: 0 0 0 0JESD 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 NoJESD 84a70000.axi-jesd204-rx: No No No NoJESD 84a50000.axi-jesd204-rx: No No No NoJESD 84a70000.axi-jesd204-rx: No No No NoTraceback (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?
Hello,
Can you share the output of the console when booting ?
Regards,
Adrian