Hallo,
momentan denke ich über ein Projekt "Stand alone Internet Radio" nach.
Inspiriert vom aktuellen Elektorartikel. (natürlich mal wieder nichts
ausführlich erklärt) Für den Anfang soll erst einmal ne normal
MP3-Player - Funktion umgesetzt werden und danach dann die Webanbindung.
Ich will dafür aber keinen ARM oder AVR32 (besitze kein JTAGICE)
verwenden. Das System soll aus folgenden Komponenten bestehen:
ATMega2560 (84 I/O-Pins; 256kB Flash; 8KB - RAM)
MP3-Decoder VS1053 (AAC/MP3/Ogg Vorbis) [SPI]
SRAM 64k8 (bzw. 128kx8 und oberste Adresse = GND) [xMEM]
SD-Card [SPI]
LAN-Controller [SPI]
Graphik - Display [RS232]
LAN-Controller ENC28j60 [SPI]
4 Eingabetaster (Hardwareentprellung) [PORT-PIN]
Nun habe ich erst einmal folgende Überlegung getroffen:
MP3-Bitrate maximal 192kB/s (MP3-Player)
Stream-Bitrate maximal 128kB/s
--> alle 62,5µs muss an den Decoder geschrieben werden.
Die Daten aus den RAM(Puffer) lesen dauert maximal 1-2µs.
Somit habe ich ca. 60µs Zeit den UDP-Stack zu verarbeiten und die
Nutzdaten (Audiodaten) in den Puffer zu schreiben.
(An das Display wird nur zu Beginn die Menü-Struktur stehen und der
Sendername. Im Fehlerfall wird Meldung ausgegeben, ansonsten keine
Kommunikation im Stream-Betrieb)
Wie seht ihr dass, ist dies zu schaffen? Ich würde auch viele
Zeitkritische Elemente als Inline-Assembler schreiben. Denn ganz ohne C
wird es wohl nicht gehen.