...
- ECUs spread across a network have different clocks (CPU, network, audio,...)
- Clock drift, oscillators accuracy (1/day => 10 us/sec => for 44.1KHz one sample loss each 2 sec)
- Solution run SW on synchronized time
- how to synchronize time ?
- asynchronous resampling needed as the speakers DAC always need to be synchronous to their own clock
- PTP
- PTP does not solve jitter problem => how to compensate jitter ? => increase buffer size => increase latency
- Clock recovery. Or how to generate a clock when all we get from ptp is sporadic info about delay status + or -
- real-time accuracy vs latency
- TNS = Sync + Latency + Reliability, ... (SRP Stream Reservation Protocol)
- What if we cannot synchronize the time ?
- Mixing of different streaming sources (can't follow multiple clocks)
- Asynchronous resampling => latency
- Synchronous resampling (format conversion only for already synchronized clocks)
- AVB : Routing only => cable connection for a continuous audio stream => No control, no start, no pause, no skip,...
- AVB Software
- Kernel module (Steve => RENESAS_RCH3M3M3NE3_EAVB_AVBStreaming_UME_v2.00 page 5)
- (RENESAS_RCH3M3M3NE3_EAVB_LauncherApplication_ANE_v2.00 page 10)
- ALSA to AVB (RENESAS_RCH3M3M3NE3_EAVB_MSE_UME_v2.00 page 4)
- Existing open source AVB linux integrations (HW dependent topic)
References
Clock drift | clock drift : Interaction of systems running on different clocks | |
---|---|---|
Clock recovery | PLL vs synchronization (ramping) | |
Resampling | signal processing and resampling | |
Avnu | low-latency, time-synchronized, highly reliable synchronized networked devices Avnu = AVB + TNS AVB = AV + PTP | |
PTP | Precision Time Protocol | |
Automotive AVB | Focus on subset of standards (features) | |
802.1 TNS | Time Sensitive Networking | |
AVB on linux | Existing open source integrations |
Brainstorming
Use cases
1) external Amplifier, controlled by Android only (cross ECU interface used by headunit only)
2) interact of an Android Audio ECU with the rest of the audio system other ECUs (e.g. remote control - e.g. non Android system)
3) interact with the Audio System from a server
...