This version (27 Apr 2022 08:13) was approved by Antoniu Miclaus.

ADMV8818 - No-OS Driver

Supported Devices

Evaluation Boards


The ADMV8818 is a fully monolithic microwave integrated circuit (MMIC) that features a digitally selectable frequency of operation. The device features four independently controlled high-pass filters (HPFs) and four independently controlled low-pass filters (LPFs) that span the 2 GHz to 18 GHz frequency range. The flexible architecture of the ADMV8818 allows the 3 dB cutoff frequency (f3dB) of the high-pass and low-pass filters to be controlled independently to generate up to 4 GHz of bandwidth. The digital logic control on each filter is 4 bits wide (16 states) and controls the on-chip reactive elements to adjust the f3dB. The typical insertion loss is 9 dB, and the wideband rejection is 35 dB, which is ideally suited for minimizing system harmonics. This tunable filter can be used as a smaller alternative to large switched filter banks and cavity tuned filters, and this device provides a dynamically adjustable solution in advanced communications applications.


  • Test and measurement equipment
  • Military radar, electronic warfare, and electronic countermeasures
  • Satellite communications and space
  • Industrial and medical equipment

Driver Description

The driver contains two parts:

  • The driver for the ADMV8818 part, which may be used, without modifications, with any microcontroller.
  • The Communication Drivers, where the specific communication functions for the desired type of processor and communication protocol have to be implemented. This driver implements the communication with the device and hides the actual details of the communication protocol to the ADI driver.

The Communication Driver has a standard interface, so the ADMV8818 driver can be used exactly as it is provided.

The Communication Drivers must include the SPI transmission methods.

For the SPI method, the ADMV8818 driver calls three functions:

  • spi_init() - initializes the SPI communication peripheral.
  • spi_remove() – frees memory allocated by the SPI communication driver.
  • spi_write_and_read() – conduct information transfer with the device.

Code Documentation

Source code documentation for the driver is automatically generated using the Doxygen tool and it is available at:


resources/tools-software/uc-drivers/admv8818.txt · Last modified: 27 Apr 2022 08:13 by Antoniu Miclaus