This patch allows a UHD application to power-down the GPSDO on an E320 radio by specifying the "enable_gps" arg at MPM connection time. Previously, the arg was only supported when the MPM daemon is launched at radio power-on. When used, the power-state of the GPSDO is only changed for the current MPM session - it will be restored to default upon session deinit.
It's useful for a UHD application to control the GPSDO power state, because the GPSDO seems to induce phase noise when using an external clock. Now an application using clock_source=external can also specify enable_gps=0 at the same time, when phase noise performance is important.
As a separate commit, this PR also updates the e3xx doc to mention this phase noise consideration. The same language is already present in the N320 docs, and is alluded to as a "known issue" in the B200 docs. It was not previously mentioned for the E3xx series.
Related Issue
For more information and plots, see internal support emails exchanged with Wan Liu titled "PLL phase perturbations using any external clock with E320".
Which devices/areas does this affect?
E320 only
Testing Done
I've confirmed the flag now works at connection-time when connecting to an E320 radio. I've also confirmed using this flag to disable the GPSDO fixes the additive phase noise issue. Finally, I've confirmed the GPSDO reverts back to its default power state when the MPM session ends.
Checklist
[X] I have read the CONTRIBUTING document.
[X] My code follows the code style of this project. See CODING.md.
[X] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes, and all previous tests pass.
[ ] I have checked all compat numbers if they need updating (FPGA compat,
MPM compat, noc_shell, specific RFNoC block, ...)
@michael-west This is the PR related to the E320 related to the escalation that we discussed where the GPSDO and external clock ref path seem to interfere with each other.
Pull Request Details
Description
This patch allows a UHD application to power-down the GPSDO on an E320 radio by specifying the "enable_gps" arg at MPM connection time. Previously, the arg was only supported when the MPM daemon is launched at radio power-on. When used, the power-state of the GPSDO is only changed for the current MPM session - it will be restored to default upon session deinit.
It's useful for a UHD application to control the GPSDO power state, because the GPSDO seems to induce phase noise when using an external clock. Now an application using clock_source=external can also specify enable_gps=0 at the same time, when phase noise performance is important.
As a separate commit, this PR also updates the e3xx doc to mention this phase noise consideration. The same language is already present in the N320 docs, and is alluded to as a "known issue" in the B200 docs. It was not previously mentioned for the E3xx series.
Related Issue
For more information and plots, see internal support emails exchanged with Wan Liu titled "PLL phase perturbations using any external clock with E320".
Which devices/areas does this affect?
E320 only
Testing Done
I've confirmed the flag now works at connection-time when connecting to an E320 radio. I've also confirmed using this flag to disable the GPSDO fixes the additive phase noise issue. Finally, I've confirmed the GPSDO reverts back to its default power state when the MPM session ends.
Checklist