(8.D.2.7) Target Tuning Interface Test Procedure
One of the primary difficulties of creating an audio product is the design and tuning stage, where frequent changes to the layout and its internal parameters are necessary to meet the system requirements. The Tuning Interface design feature allows for this data, in the form of tuning commands, to be communicated to and from any application with awareness of AWE Core tuning protocols.
Most often, the application that communicates with the target running AWE Core is the AWE Server, which is a component of the PC-based Audio Weaver Designer. When used with AWE Server and Audio Weaver Designer, the tuning interface allows for live tuning of audio system variables by sending set and query commands to the layout on the target. This allows for running automated tests and performing profiling on the target device.
The tuning interface is one of the most important parts of the Audio Weaver integration. While there are many ways to connect a target device to PC-based Audio Weaver Server, it is important for system integrators to verify that the tuning interface is properly implemented, stable, and fast.
Required Modules
The tuning interface test procedure requires a certain subset of modules be present on the embedded target to execute. These are:
Biquad Loading
Scaler V2
Periodic Source
Null Sink
Type Conversion
Stability test
The Stability test aims to test your target system’s stability in handling tuning messages under high CPU load from audio processing.
Create a dummy design with Audio Weaver similar to Figure 1. Correctly configure the input/output of the design as the target system requires. If a passthrough design is already available, that may be used as well.
Figure 1: Dummy Design with Cycle BurnerAdd “Sine Smoothed Gen” and “Sink Display” modules to the design. Leave the Sink window open to increase data exchange while it runs.
Add a “Cycle Burner” module to the design. Set numCyclesPerBlock to 1000 and run the design on the target.
Gradually increase numCyclesPerClock while monitoring through the AWE Server. Stop once the CPU load reaches at least 75% (Figure 2).
Allow AWE Designer to continue running the design for at least 1 hour.
There should be no crashes or server disconnections during the stability test. If any occur, debugging is needed to address the issue.
Speed Test:
The Speed test aims to verify system responsiveness of the tuning commands. It tests the read/write speed for different vector sizes to simulate what an actual running system may encounter, depending on the design and the number of inspector windows opened. Slow response from target can result in a communication timeout and can impact tuning capability.
This test only applies to AWECore and AWECoreOS systems.
Launch Audio Weaver and connect AWE Server to the target device.
In Audio Weaver Designer, navigate to Tools → Tuning Interface Test.
Change “Number of Biquads to load” to 1000. Click “Start Test”. Note: a standard 2-channel in, 2-channel out design with 768 block size at 48khz sampling rate will be loaded to the target during the test. Layout I/O check in the target application, if any, needs to be disabled before the test to prevent an assertion error.
Monitor the CPU load in the AWE Server window during the run. Adjust “Number of Biquads to load” to reach at least 75% CPU load in the AWE Server window.
Test results may vary depending on the interface used for tuning. TCP/IP is the recommended interface if the target platform supports it. TCP/IP normally offers sufficient bandwidth for the tuning traffic (Figure 3). AWECoreOS also provides APIs to directly enable the TCP/IP interface for easy integration (Figure 4). Other interfaces are also supported such as USB HID and Serial UART but the interface bandwidth may differ. When UART is used, the baud rate should be at least 115200 (Figure 5).
If the test result on the target platform is slower with the corresponding interface than what is shown above, it should be investigated. Please reach out to the DSP Concepts support team for assistance if needed.