Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 16

Notice: Pre-Release Documentation
This document is part of a prerelease and is currently a work in progress. Some content may be incomplete, subject to change, or marked as TBD. We are actively updating this documentation and will continue to provide the most accurate and up-to-date information as development progresses. Thank you for your understanding!

Introduction

This document describes how Audio Weaver has been integrated on the Qualcomm Snapdragon SOC using low-level APIs. It bypasses Audio Reach and provides significant performance improvements. This document should be used in conjunction with the generic description of the Audio Weaver architecture described in Audio-Weaver--Architecture. The overall design is flexible enough to handle all automotive use cases and configurations. You should be able to fully engineer your automotive audio system using Audio Weaver without having to write custom Hexagon code (Unless, of course, you want to write your own custom modules that execute on the Hexagon).

The platform specific code needed to wrap Audio Weaver is referred to as the Board Support Package (BSP). We will use the term BSP throughout this document to describe this code. The BSP code is based on Qualcomm low-level AudioLite APIs. This is a low-level software layer which provides an RTOS, TDM port I/O, and basic system features.

The document covers integrations on the Gen4 SA8255 and the Gen5 SA8397 / SA8797 “Nordy” chipsets. The integrations are very similar and when they diverge, we will separately document each integration.

Platform Features

  • Graphical development

  • Multicore support - distribute audio processing across all Hexagon DSPs and the Arm.

  • Unified signal flow showing an overall view of all cores and threads

  • Integrated profiling

  • Highly optimized including HVX support on Gen5 chipsets

  • Access to IP

    • Over 500 Audio Weaver modules

    • Qualcomm voice IP

    • Custom module API

    • 3rd party ecosystem

  • Real-time audio features

    • TDM serial port configuration via Audio Weaver modules

    • Independent TDM ports automatically synchronize to within 1 sample

    • ALSA I/O configuration via Audio Weaver modules

    • Low latency - as low as 0.5 msec digital-in to digital-out using a 0.25 msec block size

    • Early audio within 1.5 seconds

    • Resynchronizes automatically after CPU overrun

  • Software integration

    • BSP configurable via a text initialization file

    • Run-time control via TinyMix APIs

    • Text based control API with integrated data type, range, and array bounds checking

    • Subsystem Restart (SSR) feature reboots DSPs and restarts the Audio Service if there is a critical run-time failure

    • Asynchronous event handling

  • Integrated full-featured Matlab API for scripting and regression testing

  • Supports all automotive use cases with concurrent operation

  • TFLM and ONNX support

  • Fully documented

  • Online training available

Comparison with Audio Reach

Audio Reach

Audio Weaver

Developed for power constrained mobile products. Single use case.

Developed for high-performance automotive audio. Multiple concurrent use cases.

Variable processing load.

Constant / deterministic real-time load

Must keep cores loaded < 70%

Can load cores to 90%

Separate AMS framework needed for low latency support. End-to-end digital latency of 3 x block size.

Native low-latency support. End-to-end digital latency of 2 x block size.

TDM ports aligned within 12 samples

TDM ports aligned within 1 sample

SysMon does not provide actionable information to fully load the system.

Easy to understand profiling. Per module, per thread, and per core. Show average and peak CPU load.

Only supports Hexagon DSPs; no Arm.

Supports all cores including Arm.

QXDM is a poor fit for real-time debugging.

Includes integrated visual debugging tools and legacy QXDM.

Numerous side effects. Many features can only be supported by Qualcomm.

Architecture is fully documented and information is publicly available.

  • No labels