1
Out of the Box2
Get Hardware3
Install Software4
Configure HardwareSign in to save your progress. Don't have an account? Create one.

The NXP analog product development boards provides an easy-to-use platform for evaluating NXP products. The boards support a range of analog, mixed-signal and power solutions. They incorporate monolithic integrated circuits (ICs) and system-in-package (SiP) devices that use proven high-volume technologies. NXP products offer longer battery life, a smaller form factor, reduced component counts, lower cost and improved performance in powering state-of-the-art systems.
This guide walks you through the process of setting up and using the FRDM-A-MOTABS2 board.
The FRDM-A-MOTABS2 kit contents include:
Something went wrong! Please try again.
In addition to the kit contents, the following hardware provides further support when using this board:
Something went wrong! Please try again.
Before working with the evaluation board, software will need to be installed. All listed software is available on the FRDM-A-MOTABS2 evaluation board's information page.
Something went wrong! Please try again.
The FRDM-A-MOTABS2 kit includes the following:
Something went wrong! Please try again.
The jumper block on the FRDM‑A-MOTABS2 provides a way to configure the board for use with additional MCUs. Jumper J16 (DOSV) allows you to select between 3.3 V and 5.0 V, depending on the requirement of the MCU being used. Be sure to set jumper J16 to the proper voltage level (for S32K144 and KEAZ128, set DOSV to 5 V).
Something went wrong! Please try again.
See the diagram below for an overview of the FRDM-A-MOTABS2 board.
Figure 1. FRDM-A-MOTABS2 Board.
Something went wrong! Please try again.
S32 Design Studio is a software driver built on an NXP software development kits (SDKs). This section describes how to install S32 Design Studio and use it for application development.
The following procedure explains how to obtain and install the latest version of S32 Design Studio and supported ABS controller models in the guide.
Note: The driver and some package examples target S32 Design Studio 2.2. If the integrated development environment (IDE) is already installed on the system, you may skip the steps in this section.
For S32 Design Studio, the SDK library is distributed with the IDE and does not require manual addition or linking.
Something went wrong! Please try again.
This procedure explains how to obtain the latest version of the software driver and the example projects.
Table 1. Content of the Downloaded ZIP File.
| Folder Name | Folder Content |
|---|---|
| S32DS_Examples | Example project folder for S32 Design Studio 1.2 or newer. |
| ABS_S32K144_BM14 | The example shows how to monitor the status of the ABS controller using the ABS controller software driver. The example covers reading measurements and status information and performing actions such as clearing faults to ensure proper driver operation. |
|
The purpose of this example project is to show how to implement pulse-width modulation (PWM) for the Pump Motor Predriver. This project demonstrates two ways:
|
The example project demonstrates how to work with the wheel speed sensor interface. The example does not cover calculation of the final wheel speed, which requires additional hardware equipment such as a wheel. The example focuses on counting the number of edges within a given time period. |
| Programmer_Guide | This folder contains detailed API documentation for this software driver. |
Something went wrong! Please try again.
The following steps show how to import an example from the downloaded zip file into S32 Design Studio.
ABS_S32K144_BM14 folder, select a project to import as shown in Figure 3, and select "OK"Something went wrong! Please try again.
If you do not use the example projects, the following instructions describe how to create and set up a new project that uses the ABS controller SDK software driver.
To create a project, follow the steps below:
main.c content after creating a new projectThis section describes how to configure an MCU using Processor Expert components, which facilitate the whole setup process by providing a user-friendly graphical user interface (GUI) for configuration of common functions such as clocks, pin muxing and peripherals.
SPI and general-purpose input/output (GPIO) pins used. Select the correct pins in the PinMux component for the used MCU according to the supported MCUs list, as shown in Figure 10. Use one of the example projects as a template for this stepspi_pal). If you use a debug console, add Low-Power Universal Asynchronous Receiver/Transmitter (LPUART) (lpuart) components, as shown in Figure 11Note: You may notice the difference between Processor Expert usage based on logical device driver (LDD) and Processor Expert used as a GUI front-end for the S32 SDK. The former approach generates and modifies the entire software driver code. The latter approach generates only configuration structures. This approach improves safety by maintaining a static software driver and a single-entry point for initial configuration.
clock_manager. There, you can select clock sources, frequencies, prescalers and clock gates for the MCU and its peripheralspi_pal, lpspi and lpuart in dedicated components (see the configuration of the LPSPI component in Figure 13 as an example)Generated_Code folder in the project folder that contains the generated filesThis section describes how to add the ABS controller software driver to the project.
After creating the new project and adding the ABS controller software driver, set it up and associate it with the preconfigured MCU peripherals. Read the Embedded SDK software driver for ABS controller, which describes driver capabilities and the required configuration steps.
abs/abs_model.h accordinglyabs_drv_data_t and pass it to all used functions (the variable stores configuration of MCU peripherals and internal data of the ABS controller software driver)main() or as a global variableABS_GetDefaultUserConfig(), then modifying individual settings as needed; the resulting configuration structure maps internally to the device register array for the selected modelSPI and GPIO interfaces used with the ABS software driver runtime data, which provides the driver core with access to reset and software-controlled chip select via GPIOs and to SPI for communication (this enables extended functions such as PWM and wheel speed sensor (WSS) processing through additional peripherals including FTM, PIT and GPIOs for signals such as PDI, WSOx, VSO_IN and WSAI)ABS_SetupSPI() function optionally to initialize the SPI peripheral with the configuration generated by the Processor Expert component named fsl_lpspiABS_SetupSPI() function passes the configuration structure to the SDK SPI driver initialization function (The ABS_SetupGPIOs() function is not used in S32 SDK)Pins_DRV_Init() function with the configuration structure generated by the PinMux componentAll application code resides in the "Sources" folder in the project directory. You can modify the code in main.c while retaining the original usage-related comments.
Follow the steps below to initialize the code with the ABS controller:
SPI when ABS_SetupSPI() is used earlier. Pass pointers to the generated configuration structures found in .h files in the Generated_Code folder. Figure 18 shows an example of the initialization. The code reuses all previously described steps and assumes that the user has configured clocks, pin muxing, peripherals, generated code, and implemented the ABS SW driver setup function. Refer to the code commentary to understand the implementationSetupABSDriver()), see Figure 19sources/abs/abs.h header file, which contains prototypes for all available functions)ABS_FeedWatchdog() approximately every 50 ms, whether through periodic interrupts or an infinite loop with nested delays (the delay prevents excessive SPI communication overhead and avoids overloading the MCU)Writing the user application follows the same approach as shown in the previous steps. For more complex ABS controller use cases, refer to the example projects included.
Note: The tutorial and all included examples do not cover configuration and initialization of the system basis chip (SBC) on the S32K144 Freedom board as the scope of the software release excludes this functionality. For SBC configuration and initialization, refer to the documentation related to the respective SBC.
To compile a project, select the "Compile" icon in the toolbar, as shown in Figure 20.
The process for downloading an application on the board in S32 Design Studio varies according to the respective MCU board. For further assistance, refer to the S32 Design Studio user guide. To download and debug on the S32K144 MCU board, follow the steps below:
S32K144_SDK_Project_Debug under "GDB PEMicro Interface Debugging"to.elf file of the project, see Figure 22Something went wrong! Please try again.
The driver is static and uses a single-entry point defined by its user configuration structure. You will fill the structure with values according to your device setup. The initialization function receives this configuration directly.
For a more detailed description of the user configuration structure, refer to the programmer's guide.
Something went wrong! Please try again.
The software driver uses low-level MCU peripheral drivers for communication, control and related functions. The software driver functionality depends on these low-level drivers.
The latest software driver is built with the NXP SDK using GNU Compiler Collection (GCC)-6.3. The software driver remains compatible with an older AML-based software driver built using GCC 4.9. To support portability across different SDKs, the analog middleware layer (AML) layer unifies the API for selected low-level drivers.
Reusing existing AML-based low-level drivers accelerates development and provides verified solutions for common tasks.
Figure 24 illustrates the software driver architecture for communication and control.
Something went wrong! Please try again.
Connect with other engineers and get expert advice on designing with the FRDM-A-MOTABS2 on one of our community sites.