Evaluating the MAX20362
See projects/max20362 (doxygen) for the Doxygen documentation.
Supported Evaluation Boards
Overview
This project is a comprehensive test framework and validation suite for the MAX20362 no-OS driver. It executes an extensive series of automated tests covering all major driver functionalities including communication validation, register access, voltage/current control, LDO operations, DVS configuration, and interrupt handling. The test suite provides detailed pass/fail reporting with register-level diagnostics to ensure the driver operates correctly with the hardware.
The test framework includes: * 9 comprehensive test functions covering all driver features * 750+ lines of test code with extensive validation * Automated register read-back verification for all settings * Detailed error reporting with register dumps on failures * Comprehensive status monitoring throughout test execution
Hardware Specifications
Power Supply Requirements
The MAX20362 evaluation kit can be powered directly from a host PC's USB port, which supplies 5V to the board's BAT input. Alternatively, an external power supply can be connected to the BAT and GND test points.
Hardware Bringup
For reference, follow the Quick Start Procedure section of the evaluation kit's user guide. The setup requires the MAX20362EVKIT# and a MAXPICO2PMB# adapter board for I2C communication with the host.
No-OS Build Setup
Please see: https://wiki.analog.com/resources/no-os/build
Build System Overview
The MAX20362 project uses the standard no-OS build system with the following structure:
Core Build Files:
Makefile: Main makefile that includes the generic no-OS build systemsrc.mk: Project-specific source file definitions including the MAX20362 driverbuilds.json: Build configuration for CI/CD systems
Source Organization:
Platform abstraction layer (I2C, UART, GPIO, Timer, IRQ, DMA drivers)
no-OS framework APIs and utilities (FIFO, List, Memory allocation, Mutex)
Application code (common data structures, platform main, example code)
Build Outputs:
max20362.elf: Executable ELF filemax20362.hex: Intel HEX file for flashing
No-OS Supported Examples
The initialization data used in the examples is based on the platform-specific default configurations.
Basic Example (Comprehensive Test Suite)
This example is a comprehensive test suite that initializes the MAX20362 and validates all major driver functionalities through automated testing. The test suite includes:
Communication and Device Identification Tests:
test_communication(): Verifies I2C communication and reads device Chip ID (expected: 0x00)
test_register_access(): Performs write-read-verify sequence on writable registers
Power Supply Control Tests:
test_buck_boost_voltage(): Tests buck-boost voltage setting from 1.5V to 5.5V with range validation
test_ldo_voltage(): Tests LDO voltage setting from 0.9V to 4.0V with range validation and clamping
test_input_current_limit(): Validates input current limit setting from 5mA to 50mA
Functional Feature Tests:
test_buck_boost_enable(): Verifies buck-boost enable/disable functionality
test_ldo_enable(): Verifies LDO enable/disable functionality
test_cap_voltage(): Tests capacitor voltage setting with different step size configurations
Advanced Feature Tests:
test_dvs_configuration(): Tests Dynamic Voltage Scaling mode configuration (I2C and Round-Robin)
test_interrupt_handling(): Tests interrupt status reading, masking, and clearing functionality
test_register_protection(): Tests register lock/unlock functionality for configuration protection
System Integration Tests:
test_power_sequencing(): Comprehensive power-up sequence test with voltage and status monitoring
Each test provides detailed diagnostic output including register values, expected vs. actual results, and comprehensive error reporting. The test suite concludes with a summary showing the total number of tests passed and failed.
Example test output:
========================================
TEST: Basic Communication
========================================
[PASS] Chip ID Verification - Chip ID: 0x00 (expected 0x00)
========================================
TEST: Register Read/Write Operations
========================================
[PASS] Write/Read Verification - Wrote 0x0A, Read 0x0A
[PASS] Update Bits Verification - Masked update result: 0x05
...
========================================
TEST SUMMARY
========================================
Tests Passed: 28
Tests Failed: 0
Total Tests: 28
RESULT: ALL TESTS PASSED
========================================
Building the Project
In order to build the basic example make sure you are using this command:
cd no-OS
python tools/scripts/no_os_build.py build \
--project max20362 --variant basic --board max32690evkit
No-OS Supported Platforms
Maxim Platform
Used hardware
Connections:
The MAX20362EVKIT connects to the MAX32625PICO board, which then connects to the MAX32690EVKit.
MAX20362 EVKIT Connector |
Function |
MAX32690 EVKIT Pin |
|---|---|---|
J38 (PMOD) Pin 10 |
Ground |
GND |
J38 (PMOD) Pin 4 |
Serial Data Line |
P2_7 (I2C2_SDA) |
J38 (PMOD) Pin 3 |
Serial Clock Line |
P2_8 (I2C2_SCL) |
Build Command
cd no-OS
# to delete current build
python tools/scripts/no_os_build.py build \
--project max20362 --variant basic --board max32690evkit --clean
# to build the project for running basic example
python tools/scripts/no_os_build.py build \
--project max20362 --variant basic --board max32690evkit
# to flash the code
python tools/scripts/no_os_build.py build \
--project max20362 --variant basic --board max32690evkit --flash --probe opencd