Skip to content

Streamer audio Ethernet multicast/multiroom 48 KHz/24 bits sans compression

Streamer audio Ethernet multicast/multiroom 48 KHz/24 bits sans compression

Streamer audio Ethernet multicast/multiroom 48 KHz/24 bits sans compression

Project description

๐Ÿš€ WIZnet W5500-based DIY HIFI Audio over Ethernet Streaming System: Low-Latency, High-Quality Multicast Solution

1. Project Overview: Key Features and Technology Summary

This project aims to implement a professional-grade, losslessly compressed audio streaming solution in a wired Ethernet environment using low-cost hardware.

Lossless Audio Streaming: Transmits 48 kHz / 24-bit stereo lossless audio via UDP multicast.

Ultra-Low Latency Performance: Achieves an end-to-end latency of only 57 ms due to the W5500's hardware UDP stack.

Diverse I/O Support: Supports both Analog (WM8783 ADC) and SPDIF/TOSLINK (WM8804 digital transceiver) inputs, with the receiver featuring a WM8521 DAC for analog output.

Real-time Remote Control: An Android App (Kotlin) sends JSON commands to enable real-time adjustment of Volume, Balance, and a 3-band Parametric EQ (TDA7418).

Open Source Commitment: The VHDL, Assembler, and Kotlin source codes are released under the GPL license, making customization and learning straightforward.

1. Project Overview: Key Features and Technology Summary

2. The Role of W5500: The Core Engine for Low-Latency Multicast โœจ

The W5500 Wiznet module is the critical component that allows this system to achieve professional network audio performance using only a low-cost MCU and CPLD. The W5500's hardware stack provides decisive advantages in performance, efficiency, and simplicity.

2. The Role of W5500: The Core Engine for Low-Latency Multicast โœจ

2.1. Key Advantages of Choosing W5500

Requirement

Advantage Provided by W5500

Low Latency & Reliability

Hardware UDP Stack minimizes the load on the PIC MCU, achieving a total latency of 57 ms.

Multicast/IGMP Implementation

Features Multicast filtering per socket and IGMP auto-management. This easily enables a "Multi-Room" configuration that is compatible with network switches.

Bandwidth Overhead

The system requires only approx 2.304Mbps for uncompressed audio, leaving ample headroom on the 100 Mbps Full-Duplex link for scaling up to dozens of receivers.

Simplified Interface

High-speed 4-wire SPI interface, single 3.3 V power supply, and integrated PHY reduce board space and simplify the design.

2.2. Ultra-High-Speed SPI Communication via W5500

The W5500 enables high-speed data transfer by communicating with an SPI Master implemented within the CPLD, bypassing the limitations of the PIC MCU.

  • SPI Speed: The SPI communication between the CPLD and the W5500 operates at the system clock speed of 49.152 MHz, or 49.152 Mbps.
  • Data Throughput:
    • Transmitter: Transferring the 48-bit audio data (2 x 24-bit) to the W5500's FIFO takes only 970 ns.
    • Receiver: Retrieving the 48-bit audio data from the W5500's receive FIFO and preparing it for the DAC takes just 966 ns.

3. Hardware and Firmware Technology Stack Breakdown ๐Ÿ› ๏ธ

3. Hardware and Firmware Technology Stack Breakdown ๐Ÿ› ๏ธ

Block

Key Components/
Technology

Role

Audio Input

WM8783 ADC, WM8804 Digital TransceiverConverts multi-format inputs to 24-bit IยฒS output.

Clock/I/O

CPLD MAX II (VHDL)

Uses a single 49.152 MHz clock to minimize jitter. Aligns IยฒS frames and arbitrates high-speed SPI communication with the W55005555.

Network

WIZnet W5500 + PIC18F26K22 (Assembler)Handles hardware UDP/IGMP processing, and 100 Mbps low-jitter stream transmission. The PIC manages the packet buffer using an interrupt routine triggered every $20.83 \mu s$.

Output/Control

TDA7418 Audio ProcessorProvides digital mixing for 3-band Parametric EQ, Volume, and Balance (controlled via IยฒC).

App Layer

Android (Kotlin)Uses JSON/UDP to control multiple receiver groups.

4. Industrial Value and Broad Applications ๐ŸŒ

This W5500-based solution delivers high industrial value by utilizing the chip's hardware AoIP capabilities to fill the "price-technology gap" between expensive commercial solutions and traditional analog PA systems.

4. Industrial Value and Broad Applications ๐ŸŒ

4.1. The Significance of the Project (Value Proposition) โœจ

Value Point

Impact of the W5500-based System

Studio-Grade Lossless, Low-Latency AoIP

End-to-end latency is only 57 ms for $48\text{ kHz}/24\text{-bit}$ uncompressed streaming, eliminating the need for expensive DSPs or quality-degrading compression.

W5500 Hardware UDP/IGMP Offload

The W5500 offloads IGMP group joining/leaving and UDP checksums. This allows the 8-bit MCU + CPLD combination to reliably service dozens of receivers, significantly reducing the high SoC and licensing costs associated with commercial Dante/AES67 equipment.

100% Utilization of Existing Ethernet Infrastructure

It relies solely on standard Ethernet equipment (Cat5e, Fiber-media converters, PoE switches), eliminating the cost of 'snake cables' and analog wiring in large-scale installations.

Remote and Group Control

The Android app uses JSON packets for real-time remote adjustment of Volume, Balance, and 3-band Parametric EQ, allowing zone-specific sound tuning without on-site visits.

GPL Open Source for Scalability

The open source nature enables OEMs/SIs to easily add custom features like AES67/RTP compatibility, encryption, or PoE-Plus power management.

4.2. Industry-Specific Application Scenarios ๐Ÿข

The low-latency multicast AoIP technology is immediately applicable across various industrial sectors.

Industry/Sector

Application Method

Achieved Benefits

Public/Enterprise PA / Emergency Broadcast

Implemented as a multi-zone announcement/alert system in schools, hospitals, and factories. Integrates with existing IP IoT devices like CCTV and access control.

Reduces emergency response time by integrating network audio with existing sensor systems, enabling automated voice alerts upon video analytics events.

Smart Manufacturing & Logistics Warehouses

Multicasts production line alerts, work instructions, and AGV path guidance audio.

Reduces CAPEX on wiring in smart factories where equipment is frequently rearranged and facilitates noise regulation compliance via zone-specific volume control.

Live Events & A/V Rental

Replaces analog multicore cables between the stage and console with a 'Virtual LAN' (1 GbE) to configure 8x8 stageboxes.Achieves studio-grade audio quality without noise or loss over long-distance ($>100\text{ m}$) cables, while reducing setup and teardown time.

Campus/Complex Facilities

Links classrooms, libraries, and gyms into a unified AoIP network for broadcasting, real-time interpretation, and audio sharing for online conferences.

Scales up to hundreds of terminals without traffic congestion, provided IGMP Snooping is enabled on the switches.

4.3. Market Impact and Value Summary ๐Ÿ“ˆ

The W5500-based solution drives innovation by reducing costs and expanding service capabilities.

CAPEX Reduction: Replaces dedicated audio wiring, multicore cables, and analog distribution amps with generic Ethernet switches.

Service Innovation: Enables high-value add-ons like software-defined audio zones, automation (Video analytics $\rightarrow$ voice alert), and real-time translation/AI voice synthesis.

"Affordable yet Studio-Grade, Simple yet Massively Scalable." The W5500's hardware UDP/IGMP capability allows the same circuit and firmware to address everything from public PA to live stageboxes. This fills the market gap between high-cost commercial solutions and traditional analog PA, proving its high potential for product commercialization in the global SI market.

 

์ด๋”๋„ท ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ/๋ฉ€ํ‹ฐ๋ฃธ ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆฌ๋จธ (48 KHz/24 bits, ๋น„์••์ถ•)

1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š”: WIZnet W5500 ๊ธฐ๋ฐ˜ DIY Hi-Fi ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์‹œ์Šคํ…œ

์ด ํ”„๋กœ์ ํŠธ๋Š” ์ €๋ ดํ•œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ ์„  ์ด๋”๋„ท ํ™˜๊ฒฝ์—์„œ ์ „๋ฌธ๊ฐ€ ์ˆ˜์ค€์˜ ๋ฌด์†์‹ค ์˜ค๋””์˜ค ์ŠคํŠธ๋ฆฌ๋ฐ ์†”๋ฃจ์…˜์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ์ˆ : UDP ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•œ 48 kHz / 24-bit ์Šคํ…Œ๋ ˆ์˜ค ๋ฌด์†์‹ค ์˜ค๋””์˜ค ์ „์†ก

ํ•ต์‹ฌ ์„ฑ๋Šฅ: W5500์˜ ํ•˜๋“œ์›จ์–ด UDP ์Šคํƒ์„ ํ†ตํ•ด 57 ms์˜ ์ดˆ์ €์ง€์—ฐ(Ultra-Low Latency) ์„ฑ๋Šฅ ๋‹ฌ์„ฑ

์ž…/์ถœ๋ ฅ ์ง€์›: ์•„๋‚ ๋กœ๊ทธ ์ž…๋ ฅ(WM8783 ADC) ๋ฐ ๋””์ง€ํ„ธ ์ž…๋ ฅ(SPDIF/TOSLINK - WM8804), ์ˆ˜์‹ ๊ธฐ์—๋Š” ์•„๋‚ ๋กœ๊ทธ ์ถœ๋ ฅ(WM8521 DAC) ๊ธฐ๋Šฅ ํƒ‘์žฌ

์›๊ฒฉ ์ œ์–ด: ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ(Kotlin)์„ ํ†ตํ•ด **๋ณผ๋ฅจ, ๋ฐธ๋Ÿฐ์Šค, 3๋ฐด๋“œ ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ EQ(TDA7418)**๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์กฐ์ •ํ•˜๋Š” ๊ธฐ๋Šฅ ์ œ๊ณต

์˜คํ”ˆ ์†Œ์Šค: VHDL, ์–ด์…ˆ๋ธ”๋Ÿฌ, Kotlin ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ GPL ๋ผ์ด์„ ์Šค๋กœ ๊ณต๊ฐœ๋จ

2. W5500์˜ ์—ญํ• : ์ €์ง€์—ฐ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ์˜ ํ•ต์‹ฌ ์—”์ง„

WIZnet W5500 ๋ชจ๋“ˆ์€ ์ €๋ ดํ•œ MCU์™€ CPLD๋งŒ์œผ๋กœ ์ „๋ฌธ ๋„คํŠธ์›Œํฌ ์˜ค๋””์˜ค ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ•ต์‹ฌ ๋ถ€ํ’ˆ์ž…๋‹ˆ๋‹ค.

์š”๊ตฌ ์‚ฌํ•ญ

W5500์ด ์ œ๊ณตํ•˜๋Š” ์ด์ 

์ €์ง€์—ฐ ๋ฐ ์‹ ๋ขฐ์„ฑ

ํ•˜๋“œ์›จ์–ด UDP ์Šคํƒ์„ ํ†ตํ•ด PIC MCU์˜ ๋ถ€ํ•˜๋ฅผ ์ตœ์†Œํ™”ํ•˜์—ฌ ์ด ์ง€์—ฐ ์‹œ๊ฐ„ 57 ms ๋‹ฌ์„ฑ

๋ฉ€ํ‹ฐ์บ์ŠคํŠธ/IGMP ๊ตฌํ˜„

์†Œ์ผ“๋ณ„ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ ํ•„ํ„ฐ๋ง ๋ฐ IGMP ์ž๋™ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์œผ๋กœ ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜์™€ ํ˜ธํ™˜๋˜๋Š” "๋ฉ€ํ‹ฐ๋ฃธ" ํ™˜๊ฒฝ์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„

๋Œ€์—ญํญ ํšจ์œจ์„ฑ

๋น„์••์ถ• ์˜ค๋””์˜ค์— ์•ฝ 2.304 Mbps๋งŒ ์š”๊ตฌ๋˜์–ด 100 Mbps ์ „์ด์ค‘(Full-Duplex) ๋งํฌ์—์„œ ์ˆ˜์‹ญ ๋Œ€์˜ ์ˆ˜์‹ ๊ธฐ๊นŒ์ง€ ํ™•์žฅ ๊ฐ€๋Šฅ

์ธํ„ฐํŽ˜์ด์Šค ๋‹จ์ˆœํ™”

๊ณ ์† 4์„  SPI ์ธํ„ฐํŽ˜์ด์Šค, ๋‹จ์ผ 3.3V ์ „์›, ํ†ตํ•ฉ PHY๋กœ ๋ณด๋“œ ๊ณต๊ฐ„ ์ถ•์†Œ ๋ฐ ์„ค๊ณ„ ๊ฐ„์†Œํ™”

3. ํ•˜๋“œ์›จ์–ด ๋ฐ ํŽŒ์›จ์–ด ๊ธฐ์ˆ  ์Šคํƒ ๋ถ„์„

๋ธ”๋ก

์ฃผ์š” ์ปดํฌ๋„ŒํŠธ/๊ธฐ์ˆ 

์—ญํ• 

์˜ค๋””์˜ค ์ž…๋ ฅ

WM8783 ADC, WM8804 ๋””์ง€ํ„ธ ํŠธ๋žœ์‹œ๋ฒ„๋‹ค์ค‘ ํฌ๋งท ์ž…๋ ฅ์„ 24-bit IยฒS ์ถœ๋ ฅ์œผ๋กœ ๋ณ€ํ™˜

ํด๋Ÿญ/I/O

CPLD MAX II (VHDL)

49.152 MHz ๋‹จ์ผ ํด๋Ÿญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง€ํ„ฐ(Jitter) ์ตœ์†Œํ™” ๋ฐ W5500๊ณผ์˜ ๊ณ ์† SPI ํ†ต์‹  ์ค‘์žฌ

๋„คํŠธ์›Œํฌ

WIZnet W5500 + PIC18F26K22 (์–ด์…ˆ๋ธ”๋Ÿฌ)ํ•˜๋“œ์›จ์–ด UDP/IGMP ์ฒ˜๋ฆฌ ๋ฐ ์ €์ง€์—ฐ ์ŠคํŠธ๋ฆผ ์ „์†ก ๋‹ด๋‹น. PIC๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฃจํ‹ด์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ท ๋ฒ„ํผ ๊ด€๋ฆฌ

์ถœ๋ ฅ/์ œ์–ด

TDA7418 ์˜ค๋””์˜ค ํ”„๋กœ์„ธ์„œIยฒC๋ฅผ ํ†ตํ•ด 3๋ฐด๋“œ ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ EQ, ๋ณผ๋ฅจ, ๋ฐธ๋Ÿฐ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” ๋””์ง€ํ„ธ ๋ฏน์‹ฑ ์ œ๊ณต

์•ฑ ๊ณ„์ธต

์•ˆ๋“œ๋กœ์ด๋“œ (Kotlin)

JSON/UDP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์ค‘ ์ˆ˜์‹ ๊ธฐ ๊ทธ๋ฃน ์ œ์–ด

 

4. ์‚ฐ์—…์  ๊ฐ€์น˜ ๋ฐ ๊ด‘๋ฒ”์œ„ํ•œ ์‘์šฉ ๋ถ„์•ผ

์ด W5500 ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์€ ๊ณ ๊ฐ€์˜ ์ƒ์šฉ AoIP ์†”๋ฃจ์…˜๊ณผ ๊ธฐ์กด ์•„๋‚ ๋กœ๊ทธ PA ์‹œ์Šคํ…œ ๊ฐ„์˜ "๊ฐ€๊ฒฉ-๊ธฐ์ˆ  ๊ฒฉ์ฐจ"๋ฅผ ํ•ด์†Œํ•˜์—ฌ ๋†’์€ ์‚ฐ์—…์  ๊ฐ€์น˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ŠคํŠœ๋””์˜ค๊ธ‰ ๋ฌด์†์‹ค, ์ €์ง€์—ฐ AoIP: 48kHz/24bit ๋น„์••์ถ• ์ŠคํŠธ๋ฆฌ๋ฐ์— ๋Œ€ํ•ด 57 ms์˜ ์ง€์—ฐ ์‹œ๊ฐ„๋งŒ์„ ์ œ๊ณตํ•˜์—ฌ ๊ณ ๊ฐ€ DSP๋‚˜ ํ’ˆ์งˆ ์ €ํ•˜ ์••์ถ•์ด ํ•„์š” ์—†์Œ.

W5500 ํ•˜๋“œ์›จ์–ด ์˜คํ”„๋กœ๋“œ: W5500์ด IGMP/UDP ์ฒดํฌ์„ฌ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ €๋ ดํ•œ 8-bit MCU์™€ CPLD ์กฐํ•ฉ์œผ๋กœ๋„ ์ƒ์šฉ Dante/AES67 ์žฅ๋น„ ๋Œ€๋น„ ๋น„์šฉ์„ ํฌ๊ฒŒ ์ ˆ๊ฐํ•˜๋ฉฐ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต.

์ฃผ์š” ์‘์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค:

๊ณต๊ณต/๊ธฐ์—… PA / ๋น„์ƒ ๋ฐฉ์†ก: ๊ธฐ์กด IP IoT ์žฅ์น˜์™€ ํ†ตํ•ฉ๋˜์–ด ํ•™๊ต, ๋ณ‘์›, ๊ณต์žฅ ๋“ฑ์—์„œ ๋‹ค์ค‘ ๊ตฌ์—ญ ์•ˆ๋‚ด ๋ฐ ๊ฒฝ๋ณด ์‹œ์Šคํ…œ์œผ๋กœ ์‚ฌ์šฉ.

์Šค๋งˆํŠธ ์ œ์กฐ ๋ฐ ๋ฌผ๋ฅ˜ ์ฐฝ๊ณ : ์ƒ์‚ฐ ๋ผ์ธ ๊ฒฝ๋ณด, ์ž‘์—… ์ง€์นจ ๋“ฑ์„ ๋ฉ€ํ‹ฐ์บ์ŠคํŠธํ•˜์—ฌ ๋ฐฐ์„  ๋น„์šฉ ์ ˆ๊ฐ ๋ฐ ๊ตฌ์—ญ๋ณ„ ๋ณผ๋ฅจ ์ œ์–ด๋ฅผ ํ†ตํ•œ ์†Œ์Œ ๊ทœ์ œ ์ค€์ˆ˜.

๋ผ์ด๋ธŒ ์ด๋ฒคํŠธ A/V: ๋ฌด๋Œ€์™€ ์ฝ˜์†” ๊ฐ„์˜ ์•„๋‚ ๋กœ๊ทธ ๋ฉ€ํ‹ฐ์ฝ”์–ด ์ผ€์ด๋ธ”์„ ๋Œ€์ฒดํ•˜์—ฌ ์žฅ๊ฑฐ๋ฆฌ์—์„œ๋„ ๋…ธ์ด์ฆˆ ์—†๋Š” ์ŠคํŠœ๋””์˜ค๊ธ‰ ์˜ค๋””์˜ค ํ’ˆ์งˆ ๋‹ฌ์„ฑ.

"์ €๋ ดํ•˜๋ฉด์„œ๋„ ์ŠคํŠœ๋””์˜ค๊ธ‰ ํ’ˆ์งˆ, ๋‹จ์ˆœํ•˜๋ฉด์„œ๋„ ๋Œ€๊ทœ๋ชจ ํ™•์žฅ ๊ฐ€๋Šฅ." W5500์˜ ํ•˜๋“œ์›จ์–ด UDP/IGMP ๊ธฐ๋Šฅ์€ ์ด ์†”๋ฃจ์…˜์„ ๊ณต๊ณต PA๋ถ€ํ„ฐ ๋ผ์ด๋ธŒ ๋ฌด๋Œ€ ๋ฐ•์Šค๊นŒ์ง€ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

 

Comments

Comments