Hallo, Ich soll als Schulprojekt versuchen mit Hilfe eines ATmega32 ein NetRadio-Empfänger zu bauen. Also soll an den ATmega32 angeschlossen werden: eine Soundkarte, ein W-LAN Board und ein LAN Board. Jedoch soll ich zuerst ein Programm schreiben das eine mp3 Datei Decodiert und an die Soundkarte schickt. Das ganze soll in Assembler sein weil wir sonst die 16MHz nicht erreichen. Wie soll ich das ganze jetzt angehen? MfG
Die Rechenleistung eines AVRs dürfte für diesen Zweck nicht ansatzweise ausreichen, zumal so ein AVR intern nur mit 8 Bit-Datenwörtern arbeitet. Für einfache ARMe mit ARM7TDMI-Kern (wie den Philips LPC2106) gibt es Software-Decoder, aber diese Prozessoren arbeiten mit etwas höheren Taktfrequenzen und sind in der Lage, 32-Bit-Arithmetik durchzuführen. Natürlich kann auch ein AVR 32-Bit-Aritmethik durchführen, wenn dafür eigens ein Programm geschrieben wird, das wird dann aber ... langsam. Übrigens läuft ein AVR mit 16 MHz, ob der nun mit Basic (Bascom), C, Pascal oder auch Assembler programmiert wird ... Was für eigenartige Lehrer sind das, die solche Ansätze im Rahmen eines Schulprojektes vorschlagen?
Nachtrag: Wenn die "Soundkarte" aus einem VS1001 oder dergleichen besteht, dann lässt sich die Angelegenheit allerdings umsetzen. Das ist nämlich ein Hardware-mp3-Decoder ...
Jo ich habe kA davon wir sollten Vorschläge machen für das Abschlussprojekt und ich hab das vorgeschlagen (mit der Bedingung dass es möglich ist). Und mein leherer hat gemeint ich soll dann erst mal ein Programm im Assembler schreiben das eine mp3 datei decodiert und zu soundkarte schickt...
jo k ^^ hat er mich wohl reigelegt ... Jedenfalls hab ich zuerst hier gepostet und wollte danach erst Tage und Nächte mit programmieren verbringen ;-)
Sicherlich ist es machbar,die dekodierung im avr zu machen,aber das erfordert 1.) detail-wissen über den mp3 zugrunde liegenden algorithmus -> war als ich 2001 abi gemacht hab,nichtmal ansatzweise abi- wissen,denke nicht das die verschiedenen frequenz-transformationen es mittlerweile sind ;) 2.) viel zeit,da das AUF GAR KEINEN FALL in echtzeit möglich ist (und damit schonmal nicht von der soundkarte aufgenommen werden kann) 3.) programmiersprache ist egal,aber C wär aufgrund der komplexität der angelegenheit sicher hilfreich um ´nen überblick zu behalten Alles in allem eindeutig kein Schul-Projekt.Und von dem Aufwand/Nutzen will ich mal garnich erst anfangen. Also: Controller >= ARM7,MP3 dekodierung mit einer Lib (die´s sicher frei nutzbar irgendwo geben wird) wär ein realistischer Ansatz. Falls du gar keine Elektronik-Erfahrung hast,wär als 1. Projekt sicher etwas einfacheres geeigneter...
Jo das Abschlussprojekt dauert über 6 Monate und beginnt erst nach den Sommerferien im September... Aber wir sollten halt Vorschläge machen. Und ein grossteil des Projektes bsteht darin sich dass Wissen das man dafür braucht anzueignen ...
Klasse, Ahnung von nix und nen MP3-Decoder programmieren wollen :) Junge, wovon träumst du eigentlich, wenns nacht ist?
Bisher nur von nackten Frauen aber demnächst seh ich mich villeicht als pro Assembler Programmierer o_O
Naanaa,immer Sachte...ist ja schonmal gut,wenn man sich ergeizige Ziele setzt,nur sollte man sich vielleicht nicht gleich beim 1. Versuch überheben wollen ;) Lies dir doch einfach heut Abend mal auf der Seite hier die Tutorials zum AVR (und vielleicht noch des GCC) durch,nur um erstmal ein Gefühl zu bekommen,was alles in den kleinen AVRs steckt.ATmega und Konsorten sind ja schonmal prima für kleinere Projekte geeignet,preiswert und auch Einsteigerfreundlich (was bei ARM nich unbedingt der Fall ist).
Jo also grundkenntnisse besitze ich schon zb.: Lauflicht und Zähler... Jedoch mp3's Decodieren usw da hab ich keinen Schimmer von ...
kannst ja die Idee mit dem VS1001 aufgreifen. Lötest ihn eben auf die Unterseite und kratzt die Schrift ab...
Na, das werd ich dir jetzt was sagen, was du vieleicht schon öfter von den nackten Frauen gehört hast: Da musst du aber noch viel lernen :) Selbst wenn du mit einem AVR "nur" die MP3 direkt ausm MemStick holen möchtest und dann einfach zu einem MP3-Dekoder-Chip sendest, was die Aufgabe wesentlich vereinfachen würde, braucht das immernoch sehr viel Erfahrung im Umgang mit Elektronik und Programmierung. Das liesst man sich nicht mal eben an. Auch nicht in 6 Monaten. Ich würde dir vorschlangen, ein einfacheres realistischeres Project vorzunehemen. z.B. ne Lampe über nen paralellport ein- und auszuschalten. Klingt banal und nach verarschung, ist aber mein voller Ernst. Du wirst stauen, wieviel fachliche Erfahrung hinter solch augenscheinlich sehr einfachen Dingen steckt.
@Niels >MemStick Da sollte man auch mit Vorschlaegen aufpassen. Nicht dass er jetzt versucht, einen USB Host in Assembler auf einem AVR zu implementieren. Waere nicht viel einfacher als MP3.
Oder vielleicht eine Spannung per ADC messen und über rs232 an einen pc schicken (terminal-programm).Ist vielleicht etwas spektakulärer als 2 blinkende Lämpchen,ist aber auch schon wieder eine ganze Ecke anspruchsvoller...
Jo also vergangenheist projekte sind: Ein Roboter mit ATmega16 gesteuert Eine Drahtlose Lichtersteuerung mit ATmega16 gesteuert und Ein Digitler Vorverstärker mit ATmega8 gesteuert ... Habt ihr was in der lage?? Ne einfache Lampe über Parallelport ist villeicht kompliziert klingt aber total öde...
Ähem, 6 Monate darf NIEMAND brauchen um eine Lampe über den Parallelport ein- und auszuschalten. Ein MP3-Player mit VS1001 und SD-Karte scheint mir da schon eher ein angemessenes Projekt.
@ andreas Es geht nicht allein um die mp3 datei es geht eher darum ein netradio ohne rechner als PC zu emfangen ...
vergiss das gaaaaanz schnell... du kannst auf nem kleinen uc nichtmal anständig puffern... => aussetzer... wenn dann fetter uc...sprich arm.. das prob dabei.. das ist schon mal ein ganzes stück schlimmer ... machmal nen diff gegen die alten versionen vom soft-mp3-player von andreas... ein arm7 ist also auch nicht das allheilmittel... unter arm9 glaub ich nicht,dass sowas wirklich vernünftig rennen wird... vllt wenn du per tcpip einen raw stream bekommst und den nurmehr an den adc schicken musst..aber denk drann.. du darfst min 1sec puffern.. das macht bei stereo ,16bit und 44,1khz immerhin über 100kb!!! aber in mp3 gehts sichs schon mit der rechenleistung von so nem avr ned aus... die idee mit dem hardware-mp3 decoder hört sich schon besser an.. lass ich mir einreden.. aber trivial wirds sicher nicht... 73
Wenn man statt der "standart soundkarte" die Aufgabe in eine "MP3 Ausgabekarte" umdefinieren würde, kann man das Projekt in 6 Monaten mit dem VS1001 umsetzen. Jedenfalls wäre der Praxisbezug sehr interessant. Ich hatte mein Elektronik Einsteigerseminar vor 30 Jahren mit Lichtorgel und Stroboskop für die Parties!
wie wäre es mit einem GSM player? Also das GSM sound format meine ich. http://www.pineight.com/gba/gsm/ http://kbs.cs.tu-berlin.de/~jutta/toast.html http://rus.members.beeb.net/zgsmplay.html Aber das ist vielleicht auch eher was für einen ARM. du kannst eine Funkuhr bauen (ist schon ein richtiges standard projekt :)) oder ein GPS Handgerät oder eine riesige LED Matrix oder ein halt ein hardware MP3 player (ist nicht so kompliziert und kann man sich sehr wohl anlesen, einfach bei bestehenden projekten abgucken ;))
Dann wollen wir das Ganze mal komplettieren: - ATmega128 mit externem RAM als Pufferspeicher. Oder können das auch kleinere AVRs? - Ein Lantronix Wiport, der per AccessPoint auf einen Shoutcast-Server zugreift - VS1001 zur MP3-Dekodierung Alles ist mit 3.3V betreibbar. Wenn Ihr noch lange diskutiert, mache ich's selber :-)
Kurze Zwischenfrage: Oben erwähnter Lantronix Wiport sieht recht interessant aus für einer meiner Projekte. Gibts dafür Bezugsquellen in DE? Beispiel-Schaltungen im Netz? Für alle nicht-Google-referenzen wäre ich überaus dankbar.
@roy google mal nach propelleruhr oder propeller clock. wir hatten das als techniker projekt. 15 Mann 2 Wochen. hat spaß gemacht und man hat einiges gelernt. kann man gut mit funkuhr, fernbedienung, verschiedenen modi usw. erweitern. und es wär auch noch ein bischen mechanik dabei... grüsse
In der aktuellen Mai2006-Ausgabe des "Funkamateur" ist beschrieben, wie man einen mp3-Memorystick mit einem Mikrocontroller ansteuert, am Beispiel von zwei Fabrikaten erklärt: MP3-Player als CQ-Rufmaschine, Seite 552 Vielleicht wäre das ein Ansatz, die fertigen mp3-Player sind vermutlich billiger als ein einzelner Chip.
Das wird nicht gehen, Netzwerk und MP3 mit einem AtMega32. Die Gründe sind einfach: - Zu wenig Rechenleistung - Zu wenig Flash-Programmspeicher - Zu wenig RAM-Speicher (Puffer!) Das kannst Du doch auch ganz einfach ausrechnen/überschlagen. Angenommen, Du willst ein 128 kBit MP3 decodieren. Dann hast Du folgende Datenflüsse: - Stream über Netzwerk empfangen: 128 kBit/s = 16 KByte/s plus Overhead für Netzwerkprotokoll: ca: 18 KByte/s - Ganz konservativ: MP3 in 44.100 Hz, 8 Bit, Mono umrechnen: - MP3-Datenstrom: 16 KByte/s - Audio-Datenstrom: 43 KByte/s - Summe: 59 KByte/s - Audio-Datenstrom zur Soundkarte schaufeln: 43 KByte/s So, wenn Du nun diese drei Datenströme zusammen rechnest, ergibt das: 18 KByte/s + 59 KByte/s + 43 Kbyte/s = 120 KByte/s So, ist so ein AVR ein 8-Bitter-Risc-Prozessor, verarbeitet also pro Takt ca. ein Byte. Dann kannst Du ganz einfach rechnen: 16000000 Befehle/s / 120 KByte/s = 130 Befehle/Byte So, und nun schaust Du Dir die benötigten Algorithmen für MP3 und TCP/IP an, dann kommst Du ganz schnell zum Schluß: Aussichtslos.
Hallo, hab schon einiges mit einem dsPIC4012 gemacht, das ist ein 16bitter, hat 30MIPS, 48kB Flash und 2kB RAM. würde sich damit eine mp3 decoder software relativ gut realisieren lassen? mfg, Martin
Unbekannter: du bist nicht mehr auf dem neuesten Stand, dass die MP3-Decodierung extern gemacht werden muss wurde doch schon laengst festgestellt. Martin: Von der Rechenleistung her sollte das gehen, aber der RAM reicht nicht.
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.