Ich bin grade dabei, ein Web Radio zu planen, also das ich Audio Streams empfangen und hören kann. Das ganze befindet sich eher noch so in der Konzept Phase. Bislang habe ich immer nur Systeme ähnlich wie das auf der Arthernut veröffentlichte gesehen. Also mit einem AVR, einem Ethernet Baustein und einem VS1003 o.ä. Nun habe ich grade mit großem Interesse die Projektbeschreibung von Andreas über seinen MP3/AAC Player gelesen. Meine Idee wäre, anstatt dem AT91SAM7S256 den AT91SAM7S256 mit Ethernet Interface zu verwenden. Und dann entsprechend anstatt die Audiodaten von der SD Karte zu lesen, aus dem Audio Stream zu nehmen. Was ahltet ihr von dem Vorhaben? Wäre das so möglich? Als Endziel möchte ich das Ganze gerne so erweitern, dass ich z.B. den MP3 Stream abspeichern kann. Gruß Norbert
Halloo Norbert, ich habe soetwas auch schon geplant gehabt. "Meine Idee wäre, anstatt dem AT91SAM7S256 den AT91SAM7S256 mit Ethernet Interface zu verwenden." Ich vermute, du meinst den AT91SAM7X256, oder? Dieser benötigt allerdings noch einen externen Treiber für den Anschluss. Ich hatte damals den Eindruck, mit dem ENC28j60 besser bedient zu sein, der hat alles intern. Mein Entwurf umfasste: AT91SAM7S256, ENC28j60, SD-Card, TLV320AIC23B und ein zusätzliches EEPROM. Einen Prototypen habe ich hier liegen, es funktioniert auch alles soweit (SD-Card und EEPROM noch nicht gelötet), er kann Pakete verschicken, Audio aufnehmen und auch abspielen. Leider habe ich aber nicht ausreichend Zeit finden können, ein "gute" Implementierung des TCP/IP-Stacks ausfindig zu machen oder selber zu schreiben. Hier könnte man von diversen Funktionen des ENC28j60 gebrauch machen. Unter Umständen ist der Zwischenspeicher des ARMs etwas klein für Ethernet-Streaming. in die 64kByte passen ja nicht allzuviel Daten rein, zumal auch noch einiges an Programmcode und Lookup-Tabellen rein muss. Schöne Grüße, Clemens
Den Stream nur abzuspeichern dürfte kein Problem sein, wenn aber gleichzeitig empfangen und abgespielt werden soll wird's etwas komplizierter, weil die Abspielgeschwindigkeit mit der Geschwindigkeit der ankommenden Daten synchronisiert werden muss. Damit das vernünftig funktioniert ist wohl eine größere Menge RAM notwendig - und das ist sowieso schon ziemlich knapp. Aber es ist nicht völlig unrealistisch und könnte einen Versuch wert sein. Wenn es dir ernst mit der Sache ist, schreib erst mal einen Prototypen auf dem PC, damit sollte sich die Machbarkeit gut abschätzen lassen.
Zum Thema Speicher: Webradio höre ich unter Linux oft mit dem MPlayer bei 32kB Cache@128kBit/s. So mal ganz blöd gerechnet würde ich sagen: 32 1024 8 / 128000 = 2,048s sollte doch an sich genug sein?
Wenn ich mal ein bischen träumen darf: Falls sich hier genügend Leute finden würden die zusammen eine einfache Hardware entwickeln würden, die nur aus: AT91SAM7S256, ENC28j60, SD-Card und TLV320AIC23B bestehen würde, könnte man damit schon eine Menge machen. Vorallem wenn man vielleicht noch ein Display hinzufügt: - Internet-Radio vielleicht mit einer Aufnahmefunktion, die MP3-Dateien könnten dann vie Ethernet auf den Computer gelangen. - Podcasts Man könnte seinen Lieblingspodcast in der Küche hören - RSS-Feeds Je nach Display wäre das Lesen von RSS-Feeds mehr oder weniger angenehm. Bei einem guten Display könnten irgendwann vielleicht sogar mal Bilder angezeigt werden. - Wecker Falls das Teil in der Nähe des Betts steht, könnte man sich mit Musik wecken lassen die auf der SD-Karte gespeichert ist. Die aktuelle Zeit kann es sich auch übers Internet besorgen - eMail-Posteingang Zum eMails lesen und schreiben vielleicht ein bischen unpraktisch. Aber vielleicht könnte oben rechts im Display immer ein Icon auftauschen wenn eine neue Mail gekommen ist. - Wetter Auch solche Daten könnte es sich aus dem Internet holen. - Ethernet-Lautsprecher Mit einem kleinen Tool auf seinem PC könnte man das WebRadio auch als Computerlautsprecher im Wohnzimmer verwenden. Es wäre natürlich toll, wenn man die ganzen Einstellungen auch bequem von jedem Computer im Lokalen Netzwerk via Browser machen könnte.
Hi! Ich bin auch grad dabei sowas zu machen. Ausgegangen bin ich erstmal von Ulrich Radigs Webserver mit nem ATMeaga32. Die Software hab ich inzwischen soweit abgeändert, dass ich MP3-Streams aus dem Internet ziehen kann. Jetzt bin ich grade dabei ein 512k SRAM dranzuklatschen. Wenn das funzt fehlt nur noch der MP3 Decoder und ein schönes user interface. Wenn Interesse besteht, kann ich ja mal meinen Code etc. posten Janik
Hallo zusammen, hier ist noch einer der gerade an sowas bastelt :) Ist für ein FH-Projekt und soll mal Shoutcast-Streams über Netz abspielen. Habe meinen eigenen TCP-Stack soweit fertig, dass ich von nem eingerichteten Icecast Testserver den Stream rüberkrieg. Arbeite derzeit mit nem Mega32, wird jedoch ein Mega64 werden, zum einen wegen dem SRAM Speicherinterface, zum anderen soll die Weboberfläche zum Konfigurieren des Players auch in den Flash. Fehlt jetzt noch der MP3-Dekoder und das SRAM, dann werd ich sehen, wie es wirklich klappt mit dem Streamen. Wenn das Projekt fertig und abgenommen ist, werd ich es auch hier veröffentlichen wenn Interesse besteht. Schöne Grüße, Thomas
@Thomas SIeht ja so aus, als ob wir ziemlich gleich weit währen... Wie hast du vor deinen Speicher anzusteuern? Irgendeinen seriellen SRAM? Was macht das Mega64 Speicherinterface? Ich hab hier einen ganz normalen SRAM mit paralleler ansteuerung liegen. Wollte den Speicher mittels 8-bit Zähler und die restlichen Adressleitungen über Schieberegister ansteuern. Daten dann parallel auslesen. Was hälst du davon? Benutzt du einen "echten" TCP-Stack? Was für übertragungsraten kriegst du?
Habt ihr Euch schonmal Tremor angesehen? http://wiki.xiph.org/index.php/Tremor Ist ein FixedPoint-Vorbis-Decoder (für z.B. Icecast) mit Optimierungen für z.B. ARM. Grüße, Freakazoid
Tremor ist sehr viel anspruchsvoller als der Helix MP3/AAC-Decoder was CPU und RAM betrifft. Wenn es auf einem SAM7 überhaupt läuft, dann wird es SEHR knapp. @Janik, Thomas: hier geht es speziell um ARM-basierte Projekte, siehe 1. Post. Bitte verlagert die Diskussion in einen anderen Thread.
@Janik Habe auch vor, den parallelen SRAM zu nehmen. Über das Speicherinterface kannst du max. 64 Kilobyte dranhängen, muss nur noch ein Latch dazwischen um die unteren Adress- und Datenleitungen zu trennen. Danach kannst du mit dem Speicher wie mit dem internen SRAM arbeiten. Gehen halt viele I/O's verloren, aber der Mega64 bzw. 128 hat ja genug. Näheres zu dem Interface steht in den Datenblättern. Werde auch mit 512 Kilobyte arbeiten und die oberen 3 Adressleitungen über normale I/O's schalten. Mit Zähler und Schieberegister müsste es ebenso gehen, da ich wie gesagt sowieso den Mega64 nehmen wollte werde ich natürlich das Speicherinterface benutzen. Ähm, was meinst du mit "echten" Stack? :) Ich gehe in meinem Stack von Schicht zu Schicht, werte die Header aus und reagiere entsprechend darauf usw... Beim testweisen streamen im LAN kam der 128kBit/s Stream ohne Probleme an, laut Ethereal waren es etwas über 16 Kilobyte/s. Streams mit höherer Bitrate werde ich demnächst testen.
@Florian___ Bin gerade dabei, genau so ein Board zu entwickeln. Bestellung der Leiterplatte ist schon raus, das ganze wird sich aber noch 3-4 Wochen hinziehen. Sobald das Ding funktioniert, werd' ich auch die Unterlagen dazu veröffentlichen. Als Display hatte ich an etwas Serielles (SPI) gedacht, ist zusammen mit ein paar Ports über einen Steckverbinder verfügbar.
Sorry, dass ich mich so lange nicht mehr auf diesen Thread gemeldet habe. Hab mal wieder geschafft, ein wenig über ein mögliches Webradio auf ARM Basis nachzudenken. In dem Bericht hier im Wiki zum MP3/AAC Player hat Andreas ja beschrieben, dass einige Teile der Dekodierung im RAM ausgeführt werden, da der Flash Speicher des AT91SAM7S256 einfach zu langsam ist. Wenn ich das jetzt richtig in Erinnerung habe, soll der Flash der LPC2000 Controller ja deutlich schneller sein. Damit wäre es dann ja möglich, die Dekodierung weiterhin uas dem Flash auzuführen und damit wäre wieder einiges an RAM gespart. Dieses könnte man wieder zum puffern der Audiodaten benutzen. Wie ist eure Einschätzung dazu? Hab ich dabei irgendwo ein Denkfehler gemacht? Ich fände es schön, wenn man auf externes RAM verzichten könnte, und da ich nirgendwo so richtig einen ARM7 mit 128kB internem RAM gefuden habe, wo ich jetzt sonst auch gesagt hätte, joa, das passt...habe ich halt die oben beschriebenen Überlegungen gemacht. Konkret denke ich dabei an den LPC2106 (128kB Flash/128kB RAM). Danke schonmal für eure Meinungen!
@Norbert: der LPC2106 hat zwar nur 64kb Ram, aber der Bus ist 128 bit breit, Programme im Flash sollten also schneller sein als beim AT91Sam7. Nur dem LPC2106 fehlt der I²S Bus, den ich für den Audio-Codec brauche. Das wird erst die neue LPC23xx Reihe haben. Da gibt es dann auch welche mit mehr Ram... also wenn du noch warten kannst, dann warte auf die neue LPC Reihe
Hi, ich hab sowas schonmal realisiert(mit einem AT89C51SND1C und einem WizNet Chip fuers Ethernet). Ich habe damals einen 16kB Ringpuffer fuer die MP3-Daten verwendet und mir in Java einen Server geschrieben, der mir meine MP3s ins Netz streamen kann und nebenbei noch die Indizierung und Aufbereitung der Metadaten übernimmt. Dieser Server hat dann einfach immer 4kb Bloecke an MP3-Daten in die TCP Verbindung geschoben und so immer einen halben Puffer gefuellt. Dadurch hab ich Probleme mit dem synchroniesieren vermieden. Wenn man direkt auf einen SMB-Share oder einen FTP-Server zugreift wird das natuerlich schwieriger, weil man selber alle Dateien im Speicher haben muss und auch noch alle ID3-Tags auslesen muss. Wenn man das beim Start des Players mach kann das schon ne weile dauern und wenn man es nebenbei macht werden Funktionen wie zufaellige Wiedergabe schwer zu implementieren oder gehen garnicht. Bei Shoutcast-Streams ist es wohl so, dass man kantinuierlich Daten bekommt und die auch einigermasen verarbeiten muss. Dann muss man entweder mal den MP3-Dekoder drosseln oder schneller laufen lassen oder man nimmt knacker in Kauf, weil der Puffer ueber oder unterlaeuft. Gruss Tobias
shoutcaststreams sind aber noch eines der einfachsten streams, die mim avr verarbeitet werden können. Und kontinuierlich sind die meines wissens auch, sodass mit einer richtigen rechnung (je nachdem welche qualität der stream hat) kein Bufferproblem entstehen sollte... wenn ich hier quatsch erzählen sollte dann verbessert mich :) Habe auch starkes Interesse an diesem Projekt!
Hallo, ich habe meine Platine nach einigen Monaten mal wieder unter Spannung gesetzt. Ergebnis: ARM (AT91SAM7S256) funktioniert Audio-Baustein (TLV...23B) funktioniert (DMA). Ethernet-Baustein (ENC28j60) funktioniert auch (noch kein DMA). Software ist derzeit noch im PrePre-Alpha Stadium. Ich bin gerade dabei, den IPv4-Layer zu implementieren. Habe leider keinerlei positive Erfahrunge mit den offenen Stacks (UIP, LwIP, Micrchip) machen können. Entweder bin ich zu doof, um da durchzusteigen oder ich habe nicht gesehen, wie/wo man die CRC Funktionen in den Ethernet-Controller verlagern kann. Folglich entsteht derzeit mein eigenes System - natürlich möglichst offen. Schöne Grüße, Clemens
Hi nochmal, gibts noch Interesse, dass diese Projekt etwas wird? Ich habe nun mal eine Übertragung des Sounds direkt gemacht - ARM sendet, PC empfäng und gibt den Sound aus. Der ENC28j60 schafft nun etwa 2.9Mbit - das reicht für 48kHz*16bit*2Channels gut, für 96kHz reichts nicht. Vielleicht hat jemand eine Idee, wie man die Ansteuerung des Ethernet-Chips noch etwas verbessern kann. Derzeit wird bei Übertragungen von unter 4 Byte Länge das Poll-Verfahren über das IO-Register genutzt, bei längeren Übertragungen wird der PDC verwendet. Allerdings braucht man, um den PDC nutzen zu können, einen Interrupt, der sehr viel Zeit in Anspruch nimmt (langer Aufruf, Prozeduren schon im RAM). Die CS-Leitung muss über den PIO gesteuert werden, da das Silicon vom AT91SAM7S Bugs enthält. (Wird es da wohl eine Verbesserung bei geben?) Wer hat schonmal das SPI-Interface auf hoher Geschwindigkeit verwendet und kann eine möglichst Effektive Methode nennen? Clemens
Guten morgen an alle, erst mal zu meinem Board; Leiterplatten sind angekommen, ich hab eine auch schon teilweise bestückt, aber Board wird über USB nicht erkannt "Unbekanntes Gerät"; hab aber leider kein Oszi, um mal Quarz etc. zu prüfen. Beim Messen mit dem Multimeter hab ich dann wohl den Arm zerschossen, am internen 1,8V Regler kommen jetzt 3,1V raus... das wars wohl mit dem Arm. Aber ich bleib dran. @Clemens: hast du eigentlich dein Board selbst entworfen oder ist es ein Devel.Board ? Ich hätte nämlich Interesse am Layout Vergleich. Zu deiner Rechnung: 2.9Mbit sollten doch für einen MP3 Player völlig ausreichen, oder hast du mit deinem Projekt noch etwas anderes vor ? lehmi
Hallo Marco, ja, ich habe das Board selbst entworfen. Ich habe es auch selbst geätzt und gelötet. Alles einseitig mit geringem Verdrahtungsaufwand in Form von Drahtbrücken. Anbei mal ein Bild aus Eagle. Ich hab leider keine Cam hier, sonst hätt ich euch auch nen Foto gemacht ;-) Die 2.9Mbit reichen reichlich. Damit kann man ja sogar CD-Qualität unkomprimiert streamen (1.7Mbit, funktioniet auch). Ich möchte nur gerne die Prozessorauslastung durch das Netzwerk möglichst gering machen. Denn nur dann wird es auch möglich sein, die ankommenden MP3-Daten zu dekodieren. Deshalb optimiere ich erstmal den Stack. Btw: Dann fällt die Fehlersuche auch einfacher aus, da erstmal nur der Stack getestet wird... Grüße, Clemens
Servus! Sollen eure Projekte eigentlich Opensource sein/werden? Dann könnte man doch zusammen an dem Platinendesign und an der Software arbeiten. @Marco: Deine Platine sieht ja super aus! Vorallem scheinst du ja auch einen Line-In eingang einzuplanen. Wäre der AT91SAM7S256 den sogar schnell genug mp3 zu codieren?
@Florian: Das Board ist von Clemens, meins ist 2-seitig. Hab mal ein Bild angehängt. @Clemens: Dein Board ist super geworden, an Line-in hab ich auch erst gedacht, aber dann mangels Platz erstmal verworfen. Wenn jetzt auch noch die Software Optimierungen klappen, dann steht dem Mp3 Stream Player ja nichts mehr im Wege ;-) Ich hab mir übrigends den uip Stack von Adam Dunkel schon mal angesehen, aber mangels Hardware noch nicht mit der Software begonnen. Warscheinlich wäre sogar FreeRTOS eine Überlegung währt, aber die Einarbeitung ist noch ein wenig aufwendiger und derzeit hab ich mit dem Studium noch genug zu tun.
@ Marco & Clemens Plant ihr die hardware/Software unter einer OpenSource Lizenz zu veröffentlichen?
Würde für das Projekt evtl. auch der s64 gehen? Der hat halt nur 16kb Ram aberwenn man externen ram verwendet sollte das doch auch genügen oder? Hab leider derzeit nur den kleinen hier rumliegen und wenns geht möchte ich den dann verwenden :-) An was für ein LCD hattet ihr eigentlich gedacht? Sollteja ein größeres sein da man ja nicht wircklich immer zur Anlage flitzen sollte um was zu lesen :-) Denkbar wäre auch ein OSD-Chip um auf der Glotze was anzeigen zu können. Verfolge das Projekt jedenfalls sehr gespannt :-)
@iller101 Ext. Ram geht beim AT91Sam7S... gar nicht bzw. nur mit erhöhtem Aufwand, lohnt also nicht und die 16k bei S64 reichen sicher für den Player nicht (siehe Artikel von Andreas zum AAC/MP3 Player) Habe mir noch keine Gedanken zum GLCD gemacht, es müßte (bei meiner Platine) eins sein, dass sich seriell (SPI / I²C ) ansteuern läßt. Da gibt es ja einiges an Auswahl. Aber das steht auf meiner TODO Liste ganz weit unten.
@florian: Ja, ich wollte meine Arbeit unter einer Open-Source Lizenz veröffentlichen, allerdings wird es bis dahin noch etwas dauern. @marco: Dein Doard sieht ja sehr aufgeräumt aus ;-) Ich hab halt versucht, das teil möglichst klein und ohne viele Brücken (die ich ja von Hand löten musste) umzusetzten. Vielleicht können wir mal ein "richtiges" machen, welches dann professionell gefertigt werden kann? Wie sieht es bei dir mit der Software aus? Läuft der Stack schon? Mich würde der Durchsatz brennend interessieren! Grüße, Clemens
@Clemens: Mangels Zeit konnte ich noch nicht weitermachen, ich hoffe, das wird in den nächsten Tagen mal was. Auf meinem Board wollte ich möglichst viel unterbringen damit es erstmal universell bleibt. Ich hab's auch herstellen lassen, Lötstoplack ist eine echt super Sache ;-) und mit meinem Equipment hab ich bei TQFP mit 0,5mm Pinabstand eh keine Chance mehr. Ich wollte das Board eh noch überarbeiten, wenn die Software komplett läuft, damit es mal was "richtiges" wird. Vielleicht mit Gehäuse etc. Grüße Marco
@Clemens & Marco: Wie weit stimmen den eure Schaltpläne überein? Fals ihr eine Sammelbestellung für die nächste Version eines Boards macht würde ich mich gerne beteiligen ;) Und noch eine Frage zum Schluss: Wieviel kann auf der SD-Karte gespeichert werden? Bei Aldi gibt es ab nächstem Montag eine SD-Karte mit 2GB. Grüße, Florian
@Florian: Schaltpläne wurden noch nicht verglichen, Teile davon sind aber sicherlich gleich, ich hab mich an Olimex Schaltpläne und den vom AT91Sam7S-EK gehalten. Die 2GB SD Karte sollte unterstützt werden, FAT32 ünterstütz ja weitaus mehr...
Supergeiles Projekt! Hatte ich auch schon lange in überlegung, noch arbeite ich an meinen Kentnissen um solch ein Projekt aufzubauen :)
Hallo Leute! ich hab soeben mein erstes MP3 über den ARM abspielen lassen. Der Codec verbraucht leider ziemlich viel RAM und die Speicherorganisation ist noch nicht ausreichend optimiert, so dass es von zeit zu zeit noch Pausen gibt. Klingt aber ziemlich gut mit dem Codec :-) Schöne Grüße, Clemens
@Marco Kann man dein Board via USB programmierene? Und planst du vielleicht eine Sammelbestellung deines Boards? Oder würdest du die Eagle-Dateien posten so das man es selber nachbestellen kann?
Mein Board läßt sich über USB,seriel oder JTAG programmieren, wobei ich derzeit JTAG mangels Adapter nicht nutzen kann. Das macht das Testen der Hardware recht schwierig und zeitaufwendig. Ich kann auch noch nicht sagen, ob alles so funktioniert. Ein paar kleinere HardwareBugs habe ich bereits behoben und wenn das Ganze läuft, wird das Board nochmal überarbeitet. Dann könnte man auch eine Sammelbestellung der Leiterplatten machen.
@Clemens Ich habs mal wieder geschafft, ein wenig weiter zu basteln. Die Kommunikation mit der SD Karte und das FAT Dateisystem funktioniert, aber ich bekomme einfach den enc28j60 nicht zum laufen... ich denke, ich hab jetzt alles durchprobiert, hatte als Basis den Code aus der avrlib genommen und entsprechend angepasst, aber das Einzige, was ich über SPI empfange, ist 0xFF. Könntest du mir vielleicht deinen Code schicken, dann könnte ich vielleicht feststellen, was bei mir falsch läuft. Meine email marco.lehmann (at) freenet.de Gruß Marco
Wolltet ihr eigentlich die Eagle-Dateien/Schaltpläne veröffentlichen? Sonst würde ich mir mal die Mühe machen und an einem Opensource-Board arbeiten?
Interessantes Projekt, aber man sollte sich vor Augen halten, daß man für relativ wenig Geld ein solches System bekommt: http://www.jkmicro.com/products/omniflash.html Da wäre die Hardware schon komplett fertig und man könnte Standardsoftware verwenden.
Hi, wuerd egerne mal wissen, was du unter "relativ wenig Geld" verstehst? ;) Gruss Tobias
Sicher gibt es ne Menge fertig zu kaufen, aber wo bleibt denn da der Spaß?
Wenn man danach geht dasesschon etwas fertiges gibt geht dürfte man ja fast gar nichts mehr basteln.
sehe ich genauso man kann sich auch gutes fertiges internetradio mit schönem display usw für 150 euro von terratec kaufen... aber wenn man etwas selbst gebautes in den händen hält erhält das ganze teil ne ganz neue bedeutung :)
Das Omniflash Board sieht ja toll aus, aber, wie Florian schon sagt, wo bleibt da der Spaß ? Als Hobbybastler freut man sich doch über alles, was aus eigener Hans entsteht und dann auch funktioniert... Klar gibt es fertige MP3 Player mit SD Karten Support (beim großen C derzeit für 30 Euronen mit 1GB SD Card) und auch fertige "Web" Player, aber wenn sich sowas auch zu Hause basteln läßt, warum nicht ? Der Spass rechtfertig m.E. den Preis als auch den Aufwand. Sonst hätte ich nie mit dem Basteln angefangen. Und "dazulernen" hat mir bisher nie geschadet... @Florian: Ich wollte das Board eigentlich nochmal überarbeiten, wenn alles läuft, aber ich hab derzeit Schwierigkeiten mit dem enc28j60. Und die wollte ich erstmal beseitigen. Mein Schematic hab ich mal angehängt, für Vorschläge und Hinweise bin ich natürlich offen.
*gnaaa...* jezt tippe ich das zum 2.ten mal. Dummer Firefox. Bei Bedarf werde ich auch ausführlicher. Im Anhang der derzeitige Stand der Entwicklung meinerseits: Funktionsfähig ist: ENC28j60, Ethernet, ARP, ICMP, IPV4 (ohne reassembling, mit routing), UDP, TLV320AIC23b (Control-Interface über SPI angeschlossen). In Planung: TCP, DNS. Für eine andere Hardware anzupassen: controller/config_spi.h (Chip-Select Lines, Baudrates) controller/startup_sam7.h (für andere Quarzfrequenzen) controller/led.h (derzeit nicht verwendet) controller/usart.c (falls ein anderer Debug-UART verwendet werden soll oder andere Speed) Als Applikation ist derzeit nur ein miniprogramm vorhanden, welches ankommende UDP Pakete entgegen nimmt und nach einer Zahl sortiert ausgibt. Wenn Interesse besteht, kann ich noch das CD-Qualitäts-Telefon (ARM<->PC) reaktivieren. Hierbei beträgt die Datenrate etwa 3Mbit. Achtung: Der ENC28j60 verwendet Interrupts zur effizienten Verarbeitung der Daten. Hierzu ist ein Memory-Management nötig, das derzeit etwas suboptimal gelöst ist. Ich hatte den Eindruck, dass entweder im utils/reorder.c Modul oder im Memory-Modul noch ein Bug steckt. Dieser erzeugt lauter kleine Memory-Fetzen mit ungültigen "used"-Werten (siehe memory/mem.c). Für Anregungen, Hilfestellung und gefundene Fehlerursachen bin ich dankbar! Der Code steht unter der GNU GPL. Schöne Grüße, Clemens
Hallo Leute, Sorry, I am French and my German is far... Enough to understand, but not to write:-) Here are some interesting links on the web radio subject: - AVR Internet Radio (http://www.ethernut.de/en/medianut/index.html) - SPI2CF - WLAN for the AVR (http://www.harbaum.org/till/spi2cf/index.shtml) - Internet radio WMP3 (http://www.circuitcellar.com/AVR2006/winners/DE/AT2581.htm) There are some good ideas, especially in the last link (SAMBA support!). WLAN support would be great, using a CompactFlash card (until SDIO WLAN becomes a little bit more documented... See http://sourceforge.net/projects/sdio-linux for good news). Michel
Hallo Clemens & Marco, wie weit seit ihr mit eurem Projekt? Plant ihr schon eine Platine fertigen zu lassen? Grüße, Florian
Was haltet ihr von der Verwendung des XPorts von Lantronix? Siehe: http://www.lantronix.com/device-networking/embedded-device-servers/xport.html mfg beni
der ist gut für leute die mit dem eigentlichen ethernet-snschluss nix am hut haben. aber ich glaube einen mp3-stream wirst du darüber nicht so ohne weiteres empfangen können.
hi, man könnte das projekt vielleicht um einen usb anschluss für eine festplatte erweitern. der chip CY7C68300 (gibts beim farnell) beinhaltet einen usb host stack und erlaubt das auslesen einer usb platte wie eine ide festplatte mehr infos zu der ansteuerung: http://www.frankvh.com/schematics.htm
Hi! Ich fürchte, dass solch ein ehrgeiziges Projekt aus Zeit und Lizenzgründen scheitern könnte, wie es das schon so oft passiert ist. Wie wäre es, die wirklich zeitkritischen Decoder-Arbeiten einem dafür spezialisierten DSP zu überlassen und dafür noch ein paar Codecs zu gewinnen, die so einfach nicht zu bekommen sind? Dafür hat der ARM dann genug Zeit sich um die Extras zu kümmern. Zum Beispiel könnte eine Kombination aus ARM7 und VS1053 MIDI, ADPCM, MP3, WMA und OGG decodieren. Da der ARM nur den Stream durchreichen muss, kann er sich um Filesystem, UPnP, eMail, Wetter, NTP, WLAN, Bluetooth u.s.w. kümmern. Da das WMA nicht aktiviert werden muss, weil diese Fähigkeit an eine extra zu erwerbende Lizenz gebunden ist, sollte es kein Problem geben. Was jeder Einzelne zu Hause mit der Software macht, bevor er sie flasht, entzieht sich unserem Einfluss... Um nicht wieder nur irgend einen weiteren MP3-Player zu bauen, sollte, neben der eMail anzeige (mir würde ein Symbol für neue eMails völlig reichen) ein paar neue Features integrieren. Setzt man einen Tuner dazu, dann könnte man doch seine täglich zu fahrenden Bundesstraßen und Autobahnen eingeben. Man bekommt dann via TMC automatisch die dafür existierenden Stau-Meldungen aufs Display. Der SAM7X hat doch USB Host und Device, also kann man daran einen beliebigen USB-Speicher anschließen ( Stick, HDD) und davon genauso lesen, wie von einem SD-Card Sockel. Alternativ könnte er, angesteckt an einen PC, diesem als Soundkarte zur Verfügung stehen, und als Massenspeicher-Interface um die eingesteckte SD-Card zu füllen. WLAN ist für mich ein absolutes Muss. Ich habe dazu noch keine nachvollziehbare, verfügbare und dokumentierte Lösung, aber was ich weiß ist, dass ein WLAN-Modul ständig mit dem Host kommuniziert. Also ist der ARM da eh schon beschäftigt, was uns zurück zu dem Software-Decoder Problem bringen würde, wenn man auf einen externen DSP verzichtet. Bluetooth? Man könnte das Handsfree Profile implementieren. In einem Böro für Konferenzen wäre das interessant. Abgespeckt könnte man das Profile dafür verwenden, dass der Player automatisch leise wird, wenn das Handy klingelt und so lange man spricht. Full-Featured könnte man A2DP unterstützen, um entweder einen BT-Kopförer zu verwenden, oder die MP3s von seinem Handy abzuspielen. Der VS1053 hat auch einen Line- und einen Mic-Eingang. Warum also nicht mehrere von diesen Geräten im Haus haben und darüber dann eine Gegensprechanlage mit Anbindung an die Haustüre realisieren? Für all diese Aufgaben kommt man sicherlich mit einem SAM7X256/512 hin, wenn man es schafft WLAN und Audio-Decoding außerhalb zu machen. Der Tip mit dem TI-DAC ist schon sehr gut, TI bietet auch Chips mit integriertem Touchpanel Decoder an... Das bietet ab einer gewissen Anzahl Features einen enormen Bedienkomfort. Fürs Layouten und weitere verrückte Ideen würde ich mich zur Verfügung stellen :) Gruß, Ulrich
Hello :-) I would like to invite people to join Rockbox open source firmware for mp3 players, written from scratch. We are making one Free/Open hardware player and we should work together, since we have the same goals! There is various ports of Rockbox for different ARM processors! Read more here: http://www.rockbox.org/twiki/bin/view/Main/RockBoxPlayer Thank you.
Hallo an alle! Is obiges Projekt noch am Leben?! ;-( Oder zumindest die Idee davon?! Mfg, Sebastian
Hallo Sebastian, ich habe das Olimex Board da und wollte mich in Kürze einmal mit dem Projekt befassen. Eventuell könnte man sich dann austauschen. Bei Interesse Mail an d.kaiser@kaiser-germany.com
Moin moin Gibt es noch Leben in diesem Projekt(en)? Nachdem ich xmal Bandsalat entfernt habe und Streit zwischen meinen Burschen schlichten musste, weil alle ja zur gleichen Zeit die selbe CD/Cassette hören wollen kam mir die Idee Alles digitalisiert auf einen NAS zu legen und jedem einen kleinen Client ins Zimmer zu stellen. Nun hab ich auf meiner Suche nach einer Lösung dieses Thema gefunden, dass ja genau in die richtige Richtung geht aber leider nicht fort geführt wurde - oder doch? Der Link zum WMP3 Ansatz ist fast perfekt wenn es nicht WLAN währe sondern normal in Kupfer. Wer hat noch weitere Hinweise oder Hilfen? MfG Thomas
> Gibt es noch Leben in diesem Projekt(en)? Beitrag "Webradio - atmega644, vs1053b, enc28j60,sd - mit multitasking und timer management"
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.