Streamer audio Ethernet multicast/multiroom 48 KHz/24 bits sans compression
Streamer audio Ethernet multicast/multiroom 48 KHz/24 bits sans compression
0
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.

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.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 ๐ ๏ธ

Block | Key Components/ | Role |
|---|---|---|
Audio Input | WM8783 ADC, WM8804 Digital Transceiver | Converts 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 Processor | Provides 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.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๋ถํฐ ๋ผ์ด๋ธ ๋ฌด๋ ๋ฐ์ค๊น์ง ๊ด๋ฒ์ํ๊ฒ ์ ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.