AD-APARDSPOE-SL no-OS Example Project

See projects/apardspoe (doxygen) for the Doxygen documentation.

Supported Evaluation Boards

Overview

The AD-APARDSPOE-SL is a Single Pair Ethernet (SPoE) power sourcing carrier board that stacks onto an AD-APARD32690-SL host. It carries an ADIN1110 low power 10BASE-T1L MAC/PHY, giving that MAX32690 host a T1L Ethernet link that can also deliver power to a downstream node over the same pair.

The examples in this project require two AD-APARD32690-SL boards daisy-chained over a 10BASE-T1L link:

  1. APARDSPOE node - an AD-APARD32690-SL with the AD-APARDSPOE-SL stacked on top. This is the board these examples run on.

  2. APARDPFWD node - a second AD-APARD32690-SL with an AD-APARDPFWD-SL stacked on top instead, acting as the downstream/forwarding peer on the T1L link (see the apardpfwd project).

This project demonstrates the AD-APARDSPOE-SL together with the ADIN1110 driver and the no-OS LWIP glue: a TCP command server is started over the T1L link, and a second example additionally reads RGBC (red, green, blue, clear) values from a TCS34725 color light-to-digital converter attached over I2C, exposing the readings through the same TCP command channel.

Applications

  • Single Pair Ethernet (10BASE-T1L) power and data over one cable pair

  • Sensor-to-cloud edge nodes over long cable runs

  • Industrial process and factory automation

  • Building automation

Hardware Specifications

Power Supply Requirements

The AD-APARD32690-SL host board is powered over its USB-C connector. The AD-APARDSPOE-SL and AD-APARDPFWD-SL shields draw their logic supply from the stacking connector and do not require a separate external supply for the examples in this project.

On-board Connectors

Connector

Function

J1

Stacking connector to the AD-APARD32690-SL host board

T1L

Single Pair Ethernet (10BASE-T1L) terminal block

The AD-APARDPFWD-SL forwarding shield stacks on the second, downstream AD-APARD32690-SL board and is connected to the APARDSPOE node's T1L terminal block over a twisted pair cable; its output port must be enabled in software on that downstream board before frames are forwarded (see the apardpfwd project).

No-OS Supported Examples

This project is organized around the no-OS variant based build flow. Selecting a variant at build time (--variant <name>) chooses which application is compiled. The platform main() is a thin dispatcher that calls example_main(), provided by the selected example. Shared initialization data is defined in src/common, and platform-specific macros and extra init parameters are in src/platform.

APARD Communication Example

Selected by default (apard_communication_example). This example enables the AD-APARDPFWD-SL output port, initializes the ADIN1110 over SPI, and starts a TCP server on the T1L link (default settings: static IP 192.168.97.60, port 10000). Any bytes received from a connected client are echoed back.

Color Sensor Example

Selected with --variant color_sensor_example. In addition to the ADIN1110 TCP server, this example initializes a TCS34725 color sensor over I2C and periodically reads RGBC values. Connected TCP clients may send text commands (terminated with \n or \r) to the same port; the parser lives in color_sensor_example.c. The only supported command is:

  • COLOR_READ - replies with R:<r> G:<g> B:<b> C:<c>.

Unrecognized commands receive ERR:UNKNOWN_CMD, and a failed sensor read replies with ERR:READ_FAILED.

No-OS Supported Platforms

Maxim

Used Hardware

Connections

Stack the AD-APARDSPOE-SL onto one AD-APARD32690-SL (this is the node this project's firmware runs on), and stack the AD-APARDPFWD-SL onto a second, separate AD-APARD32690-SL. No manual wiring is required for either stacking connection. Then daisy-chain the two boards by connecting the AD-APARDSPOE-SL's T1L terminal block to the AD-APARDPFWD-SL's T1L terminal block with a twisted pair cable. For the color_sensor_example variant, additionally wire the TCS34725 breakout to the APARDSPOE node's AD-APARD32690-SL I2C1 header:

TCS34725

AD-APARD32690-SL

VIN

3V3

GND

GND

SDA

I2C1 SDA

SCL

I2C1 SCL

The serial console is available on the UART connected through the on-board debug adapter, at 115200 baud, 8N1.

Build Command

The Maxim platform uses the CMake/Ninja build system via the no_os_build.py helper script. Available variants: apard_communication_example, color_sensor_example. Available boards: ad-apard32690-sl.

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

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

cd no-OS

# build the apard_communication_example example on the ad-apard32690-sl board
python tools/scripts/no_os_build.py build \
   --project apardspoe --variant apard_communication_example --board ad-apard32690-sl

# build the color_sensor_example example
python tools/scripts/no_os_build.py build \
   --project apardspoe --variant color_sensor_example --board ad-apard32690-sl

# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
   --project apardspoe --variant apard_communication_example --board ad-apard32690-sl \
   --probe openocd --flash