MCUXpresso SDK Documentation

sai_edma_ping_pong_buffer_half_interrupt

sai_edma_ping_pong_buffer_half_interrupt#

Overview#

The sai_edma_ping_pong_buffer_half_interrupt example shows how to use sai driver with EDMA half interrupt feature to implement ping pong buffer case:

In this example, one sai instance playbacks the audio data stored in flash/SRAM using EDMA channel.

Supported Boards#

EVKB-IMXRT1050
Hardware requirements
  • Mini/micro USB cable

  • EVKB-IMXRT1050 board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on EVKB-IMXRT1050 board (J12).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
MIMXRT1060-EVKB
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1060-EVKB board

  • Personal Computer

  • Headphone(OMTP standard)

  • CS42448 Audio board(Not necessary if use on board codec)

Board settings

For Audio board: 1.Insert AUDIO board into J23 if on board codec is not used 2.Uninstall J41 For on board codec: 2.Make sure J41 is installed

Prepare the Demo

Note: As the EVKBMIMXRT1060 support two codecs, a default on board WM8960 codec and another codec CS42448 on audio board, so to support both of the codecs, the example provide options to switch between the two codecs,

  • DEMO_CODEC_WM8960, set to 1 if wm8960 used

  • DEMO_CODEC_CS42448, set to 1 if cs42448 used Please do not set above macros to 1 together, as the demo support one codec only.

  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board. Steps for WM8960:

  4. Insert the headphones into the headphone jack on MIMXRT1060-EVKB board (J34). Steps for CS42448:

  5. Insert the headphones into the headphone jack J6 on the audio board.

  6. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
MIMXRT1170-EVKB
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1170-EVKB board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

Ensure the resistors mounted below: R2001,R2002,R2003,R2004,R2005,R2006 and R2007.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on MIMXRT1170-EVKB board (J101).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000Hz sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
MIMXRT1060-EVKC
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1060-EVKC board

  • Personal Computer

  • Headphone(OMTP standard)

  • CS42448 Audio board(Not necessary if use on board codec)

Board settings

For Audio board: 1.Insert AUDIO board into J23 if on board codec is not used

Prepare the Demo

Note: As the EVKCMIMXRT1060 support two codecs, a default on board WM8962 codec and another codec CS42448 on audio board, so to support both of the codecs, the example provide options to switch between the two codecs,

  • DEMO_CODEC_WM8962, set to 1 if wm8962 used

  • DEMO_CODEC_CS42448, set to 1 if cs42448 used Please do not set above macros to 1 together, as the demo support one codec only.

  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board. Steps for WM8962:

  4. Insert the headphones into the headphone jack on MIMXRT1060-EVKC board (J101). Steps for CS42448:

  5. Insert the headphones into the headphone jack J6 on the audio board.

  6. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
FRDM-IMXRT1152
Hardware requirements
  • Type-C USB cable

  • FRDM-IMXRT1152 board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

Remove R183, R131, R151, R177, R124.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on FRDM-IMXRT1152 board (J30).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000Hz sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
EVK-MIMXRT1010
Hardware requirements
  • Mini/micro USB cable

  • EVK-MIMXRT1010 board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on EVK-MIMXRT1010 board (J12).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 215HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
EVK-MIMXRT1015
Hardware requirements
  • Mini/micro USB cable

  • EVK-MIMXRT1015 board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on EVK-MIMXRT1015 board (J11).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
MIMXRT1040-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1040-EVK board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on MIMXRT1040-EVK board (J34).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000HZ sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
EVK-MIMXRT1064
Hardware requirements
  • Mini/micro USB cable

  • EVK-MIMXRT1064 board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on EVK-MIMXRT1064 board (J12).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000Hz sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
MIMXRT1160-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1160-EVK board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on MIMXRT1160-EVK board (J33).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Note: This demo outputs 1000Hz sine wave audio signal. When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!
MIMXRT1180-EVK
Hardware requirements
  • Mini/micro USB cable

  • MIMXRT1180-EVK board

  • Personal Computer

  • Headphone(OMTP standard)

Board settings

No special settings are required.

Prepare the Demo
  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Insert the headphones into the headphone jack on MIMXRT1180-EVK board (J101).

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

When the demo runs successfully, you can hear the tone and the log would be seen on the OpenSDA terminal like:

SAI EDMA Ping Pong Buffer Half Interrupt example started!
SAI EDMA Ping Pong Buffer Half Interrupt example finished!