ad9912: mention lower f_ref, loop filter phase noise performance#2500
ad9912: mention lower f_ref, loop filter phase noise performance#2500Spaqin wants to merge 1 commit into
Conversation
| Note that when bypassing the PLL the red front panel LED may remain on. | ||
|
|
||
| .. note:: For lower than default f_ref, onboard loop filter is not optimal | ||
| and may require hardware changes for better phase noise performance. |
There was a problem hiding this comment.
Is it "for better phase noise performance" or "for staying within specs at all"?
7177204 to
2104f8c
Compare
| :param pll_en: PLL enable bit, set to 0 to bypass PLL (default: 1). | ||
| Note that when bypassing the PLL the red front panel LED may remain on. | ||
|
|
||
| .. note:: For lower than default f_ref, onboard loop filter is not optimal |
There was a problem hiding this comment.
Is it the case for all frequencies lower than the default? What is the tolerance?
There was a problem hiding this comment.
And now that's something I couldn't get a straightforward answer to after much deliberation with @MorganTL, thus slightly vague wording.
The loop filter parameters on the 9912 Urukul board were chosen for a multiplier of 10, so 100MHz sysclk. Technically, for any different frequency it should be considered; and technically then it's not really designed for 125MHz we provide to the DDS either, but we consider it okay. From what I learned, using different sysclk than designed changes the phase margin and bandwidth. While phase margin is defined that it must be bigger than 45-50 degrees to keep the PLL stable (and for that extreme example of 10MHz mentioned earlier it is), but and there seems to be no exact guidelines on determining bandwidth, which determines output noise. Whole system performance depends on the quality of the provided clock, and whether adjusting the loop filter is necessary also depends on the use cases.
In such case maybe it would be better to just refer the user to the datasheet of AD9912.
architeuthidae
left a comment
There was a problem hiding this comment.
This is basically the same thing as solving the merge conflict, but for the record, I was putting f_ref and clk_div into double backticks.
ARTIQ Pull Request
Description of Changes
As discussed in #2489, documenting the consequences of using low
f_refand needing to make hardware changes to the loop filter for better performance.Type of Changes
Steps (Choose relevant, delete irrelevant before submitting)
All Pull Requests
Code Changes
Documentation Changes
cd doc/manual/; make html) to ensure no errors.Git Logistics
git rebase --interactive). Merge/squash/fixup commits that just fix or amend previous commits. Remove unintended changes & cleanup. See tutorial.git show). Format:Licensing
See copyright & licensing for more info.
ARTIQ files that do not contain a license header are copyrighted by M-Labs Limited and are licensed under LGPLv3+.