As stated in previous article ,I wrote python drivers for several popular signal generator modules. Among them, ADF4351 can output frequencies ranging from 35 MHz to 4400 MHz, very suitable for SDR-related application.
Block diagram of ADF4351 is shown below
Fortunately now we have USB-SPI converter,with which we can copy existing Python driver for ADF4351 onto PC and use debug mode provided by PyCharm to trace the code. It is much easier to develop a device driver this way.
Design and Features
- Besides what was stated in previous article, there are some special features for ADF4351:
- Alternative USB-SPI converters:
- We can use FT232H with Bridges package as USB-SPI converter.
- Also, FX2LP with this firmware can be used as USB-SPI converter,even faster.
- Just use Cypress USB Control Center to flash adf4xxx_usb_fw_2_0.iic onto FX2LP
- Pin connection between FX2LP and ADF4351 (source)
- Registers value comparision:
- We can compare two sets of register values, showing all register fields or just the mis-matched ones. This is very useful during device driver development.
- Find integer dividers solution for a particular frequency:
Test Results
Functional tests:
- Tested as in this notebook
Frequency Dancing (Sweeping)
- Tested with this notebook:
Control ADF4351 with PC + FT232H (USB-SPI converter)
Control ADF4351 with PC + FX2LP (USB-SPI converter)
- Also, we can upload the driver to an ESP32 and control ADF4351 from there.
Control ADF4351 with ESP32+MicroPython
Modulations
沒有留言:
張貼留言