Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Staging/adf5611 dev #2411

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Staging/adf5611 dev #2411

wants to merge 5 commits into from

Conversation

Jude-Osems
Copy link
Collaborator

@Jude-Osems Jude-Osems commented Jan 10, 2025

The ADF5611and ADF5612 allows implementation of fractional-N or Integer N phase-locked loop (PLL) frequency synthesizers when used with an external loop filter and an external reference source. The wideband microwave voltage controlled oscillator (VCO) design permits frequency operation from 7300 MHz to 14600 MHz for ADF5611 and from 7300 MHz to 8500 MHz for ADF5612 at a single radio frequency (RF) output. A series of frequency dividers with a differential frequency output allows operation from 57 MHz to 14600MHz for ADF5611, while ADF5612 is limited to 57MHz to 8500MHz. Analog and digital power supplies for the PLL circuitry range from 3.15 V to 3.45 V, and the VCO supplies are between 4.75 V and 5.25 V. Both ADF5611 and ADF5612 has an integrated VCO with a fundamental frequency of 3650 MHz to 7300 MHz. These frequencies are internally doubled and routed to the RFOUT pin. An additional differential output allows the doubled VCO frequency to be divided by 1, 2, 4, 8, 16, 32, 64, or 128, allowing the user to generate RF output frequencies as low as 57 MHz. A simple 3 or 4 wire serial port interface (SPI) provides control of all on-chip registers. To conserve power, this divider block can be disabled when not needed through the SPI interface. Likewise, the output power for both the single- ended output and the differential output are programmable. Their integrated phase detector (PD) and delta-sigma (Δ-Σ) modulator, capable of operating at up to 100 MHz, permit wide loop bandwidths and fast frequency tuning with a typical spurious level of −100 dBc. With phase noise levels from −115 dBc/Hz at 7.3 GHz to −109 dBc/Hz at 14.6 GHz and −112 dBc/Hz at 8.5 GHz RFOUT respectively, both synthesizers are equipped to minimize blocker effects, and to improve receiver sensitivity and transmitter spectral purity. The low phase noise floor eliminates any contribution to modulator and mixer noise floor in transmitter applications.

Pull Request Description

This new driver is developed for control of ADF5611 and ADF5612 frequency generation products which will be released in January of 2025, and also has built-in IIO support. The features developed are categorized as follows:

  • Set rfout frequency.
  • Charge pump current settings.
  • Dedicated RF output divider block settings.
  • Reference divider.

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)

PR Checklist

  • I have followed the Coding style guidelines
  • I have performed a self-review of the changes
  • I have commented my code, at least hard-to-understand parts
  • I have build all projects affected by the changes in this PR
  • I have tested in hardware affected projects, at the relevant boards
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe etc), if applies

Copy link
Contributor

@amiclaus amiclaus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some small initial comments on my side.

drivers/frequency/adf5611/adf5611.c Outdated Show resolved Hide resolved
drivers/frequency/adf5611/adf5611.c Show resolved Hide resolved
drivers/frequency/adf5611/adf5611.c Show resolved Hide resolved
drivers/frequency/adf5611/adf5611.c Outdated Show resolved Hide resolved
drivers/frequency/adf5611/adf5611.h Outdated Show resolved Hide resolved
drivers/frequency/adf5611/iio_adf5611.c Outdated Show resolved Hide resolved
drivers/frequency/adf5611/iio_adf5611.h Outdated Show resolved Hide resolved
projects/adf5611/Makefile Outdated Show resolved Hide resolved
projects/adf5611/build.json Outdated Show resolved Hide resolved
projects/adf5611/src.mk Outdated Show resolved Hide resolved
@Jude-Osems Jude-Osems force-pushed the staging/adf5611-dev branch 2 times, most recently from 5264871 to f886589 Compare January 16, 2025 13:07
@Jude-Osems
Copy link
Collaborator Author

@amiclaus All initial changes have been made. Thanks.

projects/adf5611/Makefile Outdated Show resolved Hide resolved
Copy link
Contributor

@buha buha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are the changes that i could think of, maybe there are a few more needed but the compiler will guide you

you should perform a rebase on main branch once #2412 is merged, hopefully today

projects/adf5611/build.json Outdated Show resolved Hide resolved
projects/adf5611/build.json Outdated Show resolved Hide resolved
projects/adf5611/src.mk Outdated Show resolved Hide resolved
projects/adf5611/src/examples/examples_src.mk Outdated Show resolved Hide resolved
projects/adf5611/src/platform/platform_includes.h Outdated Show resolved Hide resolved
projects/adf5611/Makefile Outdated Show resolved Hide resolved
projects/adf5611/Makefile Show resolved Hide resolved
projects/adf5611/README.rst Outdated Show resolved Hide resolved
projects/adf5611/README.rst Outdated Show resolved Hide resolved
projects/adf5611/README.rst Outdated Show resolved Hide resolved
projects/adf5611/README.rst Outdated Show resolved Hide resolved
projects/adf5611/README.rst Outdated Show resolved Hide resolved
@Jude-Osems
Copy link
Collaborator Author

@buha All changes have been made to date. Thanks.

Copy link
Contributor

@buha buha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good but you need to rebase it on main

"Signed-off-by: Jude Osemene <jude.osemene@analog.com>"
"Signed-off-by: Jude Osemene <jude.osemene@analog.com>"
"Signed-off-by: Jude Osemene <jude.osemene@analog.com>"
Add initial project files for both basic and IIO examples for ADF5611
"Signed-off-by: Jude Osemene <jude.osemene@analog.com>"
Add README.rst documentation file for project alongside other documentation related files.
"Signed-off-by: Jude Osemene <jude.osemene@analog.com>"
@Jude-Osems
Copy link
Collaborator Author

looks good but you need to rebase it on main

Done, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants