ADGM3121 no-OS Example Project

See projects/eval-adgm3121 (doxygen) for the Doxygen documentation.

Supported Evaluation Boards

Overview

The ADGM3121 is a MEMS-based SP4T (single-pole, four-throw) switch that supports both SPI and parallel GPIO control modes. The device provides four independent switches (SW1-SW4) that can be individually controlled via either a 16-bit SPI interface or direct GPIO pin inputs.

The ADGM3121 features an internal error detection mechanism, SPI daisy chain support, and a configurable PIN/SPI mode select pin. Typical switching time is 200 us and the device requires a 45 ms power-up time.

Applications

  • RF signal routing and switching

  • Automated test equipment (ATE)

  • Software-defined radio

  • Instrumentation and measurement

Hardware Specifications

Power Supply Requirements

The ADGM3121 eval device has to be supplied with 3.3V voltage on VDD pin.

Pin Description

Please see the following table for the pin assignments for the interface connector.

Pin

Name

Description

1

SCLK

Serial Clock (SPI)

2

~CS

Chip Select (SPI), Active Low

3

SDI

Serial Data Input (SPI)

4

SDO

Serial Data Output (SPI)

5

PIN/SPI

Mode Select (Low = Parallel, High = SPI)

6

IN1

Parallel Control Input for SW1 (GPIO)

7

IN2

Parallel Control Input for SW2 (GPIO)

8

IN3

Parallel Control Input for SW3 (GPIO)

9

IN4

Parallel Control Input for SW4 (GPIO)

10

GND

Ground

11

VDD

Power Supply, +3.3V

No-OS Supported Examples

The initialization data used in the examples is taken out from: Project Common Data Path

The macros used in Common Data are defined in platform specific files found in: Project Platform Configuration Path

Basic example

This is an interactive example which initializes the ADGM3121 in GPIO parallel mode and provides a serial console menu to control the four switches. The user can toggle individual switches, enable or disable all switches, and read the current switch status. Commands are entered via the serial interface.

This example is built by selecting the basic variant (see the Build Command section below).

No-OS Supported Platforms

Maxim Platform

Used hardware

Connections:

ADGM3121 Pin Number

Mnemonic

Function

MAX32655 Pin Number

1

SCLK

Serial Clock (SPI)

P0_7 (SPI1 SCLK)

2

~CS

Chip Select (SPI), Active Low

P0_11 (SPI1 CS1)

3

SDI

Serial Data Input (SPI)

P0_5 (SPI1 MOSI)

4

SDO

Serial Data Output (SPI)

P0_6 (SPI1 MISO)

5

PIN/SPI

Mode Select (Low = Parallel, High = SPI)

P0_19

6

IN1

Parallel Control Input for SW1

P1_6

7

IN2

Parallel Control Input for SW2

P1_7

8

IN3

Parallel Control Input for SW3

P1_8

9

IN4

Parallel Control Input for SW4

P1_9

10

GND

Ground

GND

11

VDD

Power Supply, +3.3V

3V3

Build Command

For toolchain setup and prerequisites, see the Maxim CMake build guide.

Available variants: basic. Available boards: max32655fthr. Replace --variant / --board accordingly.

export MAXIM_LIBRARIES=</path/to/MaximSDK/Libraries>
# Windows (PowerShell): $env:MAXIM_LIBRARIES = "C:\MaximSDK\Libraries"

cd no-OS

# build the project (basic example on the max32655fthr board)
python tools/scripts/no_os_build.py build \
   --project eval-adgm3121 --variant basic --board max32655fthr

# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
   --project eval-adgm3121 --variant basic --board max32655fthr \
   --probe openocd --flash