PDM Interface Format Detection for Zero-Latency Channel Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for processing multi-bit pulse density modulation (PDM) signals in personal audio devices face challenges in detecting datagram boundaries and determining audio channels with zero latency, especially when the transmitter and receiver are powered asynchronously.

Innovation Solution

A system and method that receive a stream of serial PDM data synchronized with rising and falling clock edges, detect invalid states to determine datagram boundaries, and modify the clock to align with these boundaries for zero latency data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If asynchronous power-on between transmitter and receiver is allowed, then device flexibility and power management are improved, but datagram boundary detection and channel determination become uncertain

Engineering Contradiction:
Improvepower management flexibilityVSAvoiddatagram boundary detection accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The receiver autonomously detects invalid states in the PDM data stream to determine datagram boundaries and audio channel assignments without requiring external synchronization signals or manual configuration. The system self-adjusts to the transmitted format by identifying where invalid code combinations occur in the asynchronous stream.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback from detecting invalid states (invalid code combinations in the PDM stream) to dynamically determine the correct sampling edges and datagram boundaries. This feedback mechanism allows the receiver to adapt to asynchronous power-on conditions while maintaining precise data alignment.

Inventive Principle:
Principle #23Feedback

2Loss of time

If deterministic zero-latency processing is implemented, then audio processing speed and responsiveness are improved, but the complexity of detecting datagram boundaries and audio channels increases

Engineering Contradiction:
Improveprocessing latencyVSAvoidformat detection complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent replaces complex mechanical or sequential search methods for boundary detection with a direct invalid-state detection mechanism. By monitoring for invalid code combinations in the PDM stream, the system instantly identifies datagram boundaries without requiring time-consuming scanning or complex state machines.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the detection parameter from searching for valid data patterns to detecting invalid state patterns. This parameter inversion simplifies the detection logic, as invalid states occur at predictable positions (datagram boundaries) and provide unambiguous synchronization points for zero-latency processing.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10770086B2Zero-latency pulse density modulation interface with format detection
Publication Date: 2020.09.08 CIRRUS LOGIC INC
  • US10770086B2 patent drawing
  • US10770086B2 patent drawing
  • US10770086B2 patent drawing

AI summary

A method may include receiving a stream of serial pulse-density modulation (PDM) data representing a first channel of data synchronized with a rising edge of a clock associated with the serial PDM data and a second channel of data synchronized with a falling edge of the clock, wherein each of the first channel of data and the second channel of data include encoded datagrams wherein each encoded datagram comprises more than one digital bit, detecting an invalid state associated with the stream, and responsive to detecting the invalid state, determining boundaries of each encoded datagram of the stream based on where within the stream the invalid state occurred.