I'm interested in whether it would be possible to use the ADALM-PLUTO time-of-arrival localization. This requires a very stable clock. I wonder whether it will be possible to feed in an external reference clock? In the revision-B schematics, it looks like there is no connector or jumper to switch from the built-in 40MHz oscillator to an external clock.
Also, if I do feed the clock from an external source (even if this involves removing the 40MHz oscillator), how difficult will it be to switch from 40MHz to 10Mhz? I see that the AD9363 does support 10MHz clocks, but will it is reasonably easy to configure the firmware for this clock frequency?
Thanks, Sivan Toledo, Tel-Aviv University
I have discover this post and want to use an external 10MHz clock.
could you explain what I need to do to "updating the device tree to tell the Linux driver you are using something different than 40MHz".
changing the clock, I don't have to change any in the FPGA design?
Can you do a cat /sys/kernel/debug/clk_summary?
Then also the AD936x is very sensitive to the external clock source. Square wave inputs don't work well, and also the Vpp must be inside the specs.
I'd like to use external 10MHz reference clock.I have made the changes according post:
I have rebuild Pluto with changed zynq-pluto-sdr.dtsi (clock-frequency = <10000000>;)
and update it successfully.
I am running modified ad9361-iiostream.c from examples to output 1GHz SW When external reference is 10MHz I see about 678MHz SW on spectrum.But when I external frequency is 40MHz there is exactly 1GHz SW.
What could be wrong?Do I need to make another changes in sources.
Please see here:
u-boot-xlnx/zynq-common.h at 4bdff59a9144319da69d87b0a57ca27d276d2b72 · analogdevicesinc/u-boot-xlnx · GitHub
Pluto reads the calibration value from the SPI uboot environment. And patches the device tree on boot.
You can avoid this behavior by setting ad936x_skip_ext_refclk uboot env variable.
Thanks for rapid answer, Michael.
I have used square wave, may be this was a problem.
I have assembled oscillator back now.
I'll remove it and try sine now.
cat /sys/kernel/debug/clk_summary did not work for me.
See teraterm output below:
cat: can't open '/sys/kernel/debug/clk_summary': No such file or directory
bdi hid pm_qos suspend_stats
ci_hdrc.0 ieee80211 ras usb
clk iio regmap wakeup_sources
fault_around_bytes memblock regulator zynq_rst
gpio pinctrl sleep_time