STREAMDECODER

Hardware:
– ATMega128 auf 16Mhz
– 2×16 Zeichen Display mit HD… Controller
– VLSI 1011 MP3 Decoder IC
– CP2200 Ethernet IC mit MagJack
Ethernet-Controller:
Nachdem anfängliche Versuche mit dem ENC28J60 aufgrund der SPI Anbindung nicht genügend Übertragungsrate lieferten, lag das Projekt fast ein halbes Jahr „auf Eis“. Bis ich Ende 2007 einen Versuch mit dem CP2200 von Silicon Labs startete, auf diesem IC ist (wie auch beim ENC) fast alles Integriert, man benötigt nur noch ein 25MHz Quarz, ein paar Widersände und Kondensatoren und ein MagJack. Die Anbindung an den AVR erfolgt über ein 8bit Interface.
Funktioen im Netzwerk
– Radio hören (beliebige ShoutCast MP3-Streams)
– Homepage zur Konfiguration über den PC
– DHCP (selbstständiges „Holen“ einer IP-Adresse, DNS und Gateway
– DNS um Senderadressen im IPs aufzulösen
– ICMP (Ping) Fuktion (Player antwortet auf Pings)
– Antwort auf ARP Requests
Warum das Projekt gescheitert ist….
Obwohl der Player alle aufgelisteten Funktionen erfüllt (inklusive Stream Wiedergabe), ist das Projekt als gescheitert anzusehen, da beim längeren hören oder hören von Streams mit hoher Serverauslastung es zu Aussetztern in der Wiedergabe kommt.
Dies liegt daran dass im Geflecht des Internet manche Packete auf „Umwege“ geroutet werden und so später ankommen.

Beispiel:
Der Server sendet alle Pakete in richtiger Reihenfolge los: 1, 2, 3, 4, 5, 6, 7, …
Am Empfänger kann jetzt zB durch eine Verzögerung in der Übertragung folgende Reihenfolge zustande kommen: 1, 2, 4, 5, 3, 6, 7, …
Die hier gezeigte Verzögerung des Pakets Nummer 3 würde bereits zu einem hörbaren Aussetzter führen, da jedes Paket um die 1000 Bytes (=8000 bit) an Nutzdaten enthält. 
Bei einem 96kbit/s Stream wäre das rein rechnerisch 0,081…s, auf den ersten Blick sehr wenig, da diese Rechnung nur die „wegefallenen“ Daten berücksichtigt, damit der Stream nach diesem Aussetzter weitergespielt werden kann ist allerdings ein Sync Frame nötig, dieser wird von ShoutCast normalerweise alle 4 Frames gesendet, wodurch dann im „worst Case“ ein wegfall des Streams für 0,32…s zu beklagen ist, woduch auf dem Decoder ein sehr deutlich hörbarer sog Slice (=schlagartiger Anstieg des Analogsignels mit allen dadurch entstehenden Oberschwingungen) enteht, der die Audoqualität mehr mindert wie der eig Wegfall der Daten….

Warum das Internetradio hören auf einem normalen Computer funktioniert….
Obwohl es eigentlich immer zu solchen Verzögerungen der Packete kommt kann man mit dem Computer dennoch frei von Aussetztern Radio hören, weil einfach genug Speicher vorhanden ist, um die Packete wieder in die Richtige Reihenfolge zu bringen, so Speichern fast alle Player 5-30 Sekunden der Streams im RAM des Computer und können so fast alle Schwankungen der Verbindung ausgleichen…