Morgen, Ich wollte mal mein aktuelles Projekt, (in der Anfangsphase) vorstellen und mir vielleicht noch ein paar Ideen und Tips geben lassen :) Momentan Plane ich ein MP3 Player / Webradio mit dem AT89C51SND1C. Diverses andere Projekte mit dem AT89 bzw. in Richtung Webradio laufen ja schon und dienten auch schon als kreative Anstöße. Wobei mir die meisten Ideen gefielen, aber doch wieder nicht alles so das es zu den Projekt gekommen ist. Momentan Plane ich (bzw. hab schon Schaltpläne) Mainboard: - AT89C51SND1C - 32kb RAM - CS4344 DAC + Cinchbuchsen - USB - RS323 RX/TX auf Pinleisten - Pinleisten: MMC, KEYS, I2C,SPI, Adress-/Datenbus Addonboards: - IDE mit HDD (evtl. CDRom) - MMC - RTC über I2s - Wiznet Ethernet Chip mit TCP/IP Core (spart Rechenzeit, Ressourcen) Ausgabe: Fernseher LCD RS323 Wie man sieht soll es "Modulbasierend" sein. Zuerst wird wohl noch die IDE/Ethernet Platine geroutet und ausprobiert. Naja bei Fragen antworte ich gerne ansonsten gebt mal euro Kommentare ab. Aja als Projektziel ist nicht übermorgen geplant eher Mitte/Ende nächstes Jahr. ;)
Hab eventuell Interesse mitzuarbeiten. Habe ebenfalls zwei SND1 hier rumfahren, bin aber noch nie dazu gekommen, mit denen zu spielen. Falls du noch jemanden dazu gebrauchen kannst, sag Bescheid... Ralf
Hi, Ralf Zum spielen bin ich auch noch nicht gekommen, außer mit Eagle aber da bin ich momentan noch am überlegen ob der Dac wirklich mit dort rauf soll. Angehängt hab ich schonmal den (momentanen) Schaltplan, die Platine hab ich zwar auch schon fast fertig aber sie gefällt mir noch nicht da ich nicht alle Ports vom SND als Leiste zurverfügung hab und das ganze Teils noch sehr chaotisch wirkt. Gegen Zusammenarbeit hab ich eigentlich nichts, wollte früher oder später das ganze ehe für private Zwecke frei geben. Und wie gesagt für Ideen/Kritik auch bezüglich Layout, etc. bin ich offen.
> für Ideen/Kritik auch bezüglich Layout, etc. bin ich offen.
Das trifft sich, ich bin fortgeschrittener Layouter (beruflich) grins
Ich werd mir bei Gelegenheit mal den Schaltplan zu Gemüte führen, aber
für heut langts mir, ich geh jetzt erst mal in die Kneipe :-)
Ralf
Naja ich bin Semi-Amateur Layouter ;)Aber habe das Board auch schon zu 75% fertig. Wenn ich heut Nachmittag zuhause bin kann ich es ja mal reinstellen und du gibts dein Kommentar dazu ab, ob das was werden kann. Für den DAC hab ich wahrscheinlich auch noch Platz gefunden nur für die Chinchbuchsen nicht mehr. Außerdem ist der Max3232 momentan nicht auf dem Board aber der könnte auch noch passen.
Bei Farnell respektiv Mercateo gibt es sie für ca 18 € die TQFP Variante.
Hi, wozu den Layouts und Schaltplaene? Sowas macht man auf Lochraster: http://blinkenlichts.net/dalbum/showimg.php?file=/Tobias/Player/100_3195.jpg ;) Gruss Tobias
Hätte prinzipiell auch Interesse an dem Projekt, mal sehen wies zeitlich
bei mir in nächster Zeit aussieht...
> Das trifft sich, ich bin fortgeschrittener Layouter (beruflich) *grins*
Das würde sich wirklich gut treffen, hab vom HW Teil und dem Layouten
leider nicht ganz so viel Ahnung... :D
Bin dafür was SW betrifft ziemlich fit (auch beruflich)
Lasst mal was von euch hören wenns news gibt.
Gruß,
Christian
@Ingo:
> was willst für den haben?
Was meinst du? Den SND1? Die will ich ja selber verbauen :-)
Aber ich denke, es dürfte kein unlösbares Problem sein, noch ein paar
von den Dingern aufzutreiben, sofern sich das Projekt als durchführbar
erweist und genügend Leute Interesse haben...
Ralf
@ Tobias Nicht schlecht, deiner? Hab zwar beim googlen ein oder 2 Projekte mit dem SND gefunden aber das hab ich noch nicht gesehen. Wenn es dein Projekt ist kannst du ja mal was dazu schreiben, würd mich freuen. @Christian Bei der Software sind wir noch nicht aber wenn dann kommen wir zurück auf dich ;) @Ingo bzw Ralf Hab ja schon gesagt wo es die noch gibt ;) Außerden gibt es da auch noch den CS4344 DAC, und das 62V256 Ram. Also denk ich das ich da aufjedenfall Bestellen werde, falls sich das nirgendwo anders (CSD,...) oder so auftreiben lässt.
achso ich hab das falsch verstanden ich hab schon mehere threads durch was den SND1 betrifft am anfang war ich auch sehr angetan von seinem möglichkeiten. Nur code beispiele gibt es sehr wenige
Kein Problem. Naja ich denke kopieren ist nicht das Ziel aber gucken wie es andere gemacht haben tue ich auch mal gerne ;) Ansonsten ist es halt ein 8051 mit nen bisschen Zusatzhardware meiner Meinung nach, nicht was umbedingt extra Beispiele braucht. Aber mann wird sehen. Auch wenn das Datenblatt nicht so Ausführlich ist wie das von manchen AVRs.
ich wills erst mal mit dem AT 89C51ED2 PLCC und hardware dazu also ide interface für die festplatte spi hat der ed2 für die sd karte i2c per software für i/o expander und eeprom nen pixel display mal schauen sonst nen 4 mal 20 zeichen jetzt erst mal die sd karte verstehen
Ok allerdings hat der SND1 ein extra IDE-Interface sprich die oberen Adressleitungen sind auch Multiplexed. Was die ganze sache Ansteuerungstechnisch einfacher machen sollte. Genauso wie ein "echtes" MMC-Interface also nicht per SPI. Allerdings sind das Sachen die im untersten Layer passieren also wenn du deinen Code vernünftig aufbaust, musst du später nur die Write und Read Routinen verändern (und den MP3-Dekoder ansteuern).
stimmt aber das ide interface bekommt man auch mit 2 74hc373 hin für high byte und den low byte mach ich ganz einfach mit 74hc245 Auch aus dem vs1003 hab ich den testton schon raus und 2 sekunden eines musikstücks. Dabei waren die mp3 daten in einem 62256 und würden mit einem 80c32 16 mhz mit simulierten spi an den vs1003 geschickt. klar das lied kann man sich mit dem 62256 nicht komplett anhören aber die 4 sekunden waren ok für den test.
Bei Digikey gibts den SND1 auch relativ günstig, vielleicht können wir da was machen... Mal sehen... Bzgl. der Programmierung, ich denke der härteste Teil wird der USB-Part, oder soll der nicht genutzt werden? Ralf
war aber kein host controller der usb part weiss das nicht mehr so genau?
So hier mal die ersten Schritte mit dem Board, ist alles noch Work In Progress, aber es nimmt gestallt an. Es ist kein USB-Host und intressant wird das ehe erst dann wenn man Massenspeicher ala Festplatte,etc... an den SND klemmt. Man braucht dann soviel ich weiß nur die Zugriffe USB<->HD implantieren. Aber dazu wollte ich erst später kommen.
Moin, ich möchte dir noch einen kleinen Tip geben für das Layout. Die Adressleitungen für den RAM kannst du untereinander beliebig tauschen. Denn du hast ja nur ein RAM und damit ist es egal ob Daten, die du auf 3457 schreiben willst im RAM in Wirklichkeit auf 3457 oder 6523 stehen, beim Lesen hast du dann die gleichen Drehungen drin. P.S. Interresse an einer Platine hab ich auch, ich habe vermutlich schon 2 SND1 in den Himmel geschickt.
> ...habe vermutlich schon 2 SND1 in den Himmel geschickt
Dann wäre es evtl. hilfreich, wenn du schreibst, wie du sie gehimmelt
hast, damit Benny das nicht auch passiert...
Ralf
Moin zusammen! Hab mal das Forum ein bisschen durchsucht und 2 Threads zu ähnlichem Thema gefunden: Beitrag "MP3-Dekoder AT89C51SND1C" Beitrag "AT89C51SND1C" Der AT89C51SND1C-RDTIL ist übrigens scheinbar bei http://www.er-tronik.de/ für 20€ zu erwerben
So ich hab mal noch mal das Board angehängt, die Orangen Bereiche werden noch neu gemacht( stammen noch aus dem ersten Layout/Versuch ) und da wo DAC bzw. RS323 steht kommt noch das passende hin. @Michael Jup die Daten auch, wie gesagt sind noch aus dem ersten Design (von vielen) ;) Aber wie du die SNDs zum lieben Gott geschickt hast würd mich auch intressieren, damit ich nicht die gleiche "Dummheit" begehe. @Christian Leider kann ich die 2 Threads auf der Arbeit nicht öffnen, aber ich glaube ich hab alles zum SND in diesen Forum gelesen. Zumindest was mann mit der Foren und Topic suche finden konnte. Den Shop kannte ich noch nicht, hab aufghört zu suchen als ich ihn bei Farnell fand. Intressant wäre vielleicht für die entfernte Zukunft ein VNC1L von Vincullum/FTDI aber bis es soweit ist wird man ihn hoffentlich irgendwo bekommen ;)
Die sind dadurch kaputt gegangen, das ich die Leitungen des USB-Anschlusses getauscht habe. Ich kann mir das zwar nicht vorstellen das die davon kaputt gehen, aber nach dem zurück tauschen hat mein Windows nicht mehr auf das anstecken reagiert und kein unbekanntes Gerät angezeigt. Nachdem 2. SND1 hab ich dann aufgegeben, habs einfach nicht geschafft die mit FLIP anzusprechen und zu programmieren.
wieso steht da restposten http://www.er-tronik.de/shop2/index.php?cPath=25&osCsid=54e16853241ce365a5db93edd1bcf20b ist der snd1 ein auslaufartikel geworden ?
Vielleicht weil sie noch den AT89C51SND1C-ROTIL haben der nicht ROHS Konform ist und es kein großes Intresse mehr an diesen Chip gibt. Außerdem ist der AT89C51SND1C-ROTIL bei Farnell auch als "nicht verfügbar" angegeben. Der AT89C51SND1C-ROTUL (ROHS Konform) ist allerdings noch verfügbar und ich denke nicht das er so schnell abgekündigt wird.
Also erst mal möchte ich das Board fertig haben und dann bestellen, den ausser dem SND muss auch noch ein CS4344 und ein 62V256 her. Allerdings der einzigste Shop wo ich alle 3 zusammen gesehen hab ist Farnell also wirds darauf hinaus laufen das ich da bestellen werde. Bin allerdings für alternativ Vorschläge offen, wie z.B. mal bei CSD anfragen.
na gut also wenn bestellst denkst bitte an mich hasis55@hotmail.com c.u commtel
Hab mir den Schaltplan mal angesehen... Bitte nicht als Kritik auffassen, aber das Schaltplanzeichnen solltest du noch üben. Ist wie gesagt keine Kritik, sondern um Fehler zu vermeiden, wenn ich nicht schon selbst auf die Art Fehler gemacht hätte, würde ich es nicht sagen. Den ADC-Teil solltest du noch beschalten. Warum CS vom RAM über A15? Warum nicht per 74HC30 den CS generieren? Somit kann man fast volle 64kB RAM anschließen, und mittels HC138 oder HC154 noch weitere CS-Signale generieren... Falls das fürs Projekt relevant ist... Übrigens wären auch 64k x 16(!) möglich, IDE-Interface sei dank... Ralf
Hi, habe auch sehr starkes Interesse an einem Webradio mc based. Würde mich auch gerne zu lernzwecken an der entwicklung beteiligen, habe aber über die thematik noch nicht allzuviel ahnung und stufe mich mal als AVR anfänger ein (Mein größtes Projekt war es bisher erst ein T6963 in assembler anzusteuern + lm75 interface usw, also nix dolles). Wenn meine Hilfe allerdings willkommen ist und mir genau gesagt werden kann, was ich machen soll und es in meinem machbaren bereich ist würde ich gerne mithelfen. Dann mal noch weiterhin viel Erfolg :)
@Ralf Naja in der ersten Version sah der Schaltplan auch noch nicht so chaotisch aus und würd ich nicht an die Eagle Freeware gebunden sein könnte ich auch mehrere Seiten verwenden. Aber keine Angst Kritik finde ich (immer) gut man lernt raus. Zum ADC, da sehe ich keine möglichkeit als die der Aufnahme und dafür seh ich keine Verwendung. Mir ist jedoch zum Glück aufgefallen das dort die Supply-Pins nich als extra Symbol vorliegen. Ansonsten für Vorschläge wie immer Dankbar;) Und es sind nur 32Kb Ram eingeplant weil ich die oberen 32kb schon verplant hab (Den Wiznet TCP/IP Chip(http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=95&option=com_phpshop&Itemid=1), HD, LCD, etc...) und da ist es halt einacher gewesen die A15 als CS zu "missbrauchen". Zwar könnte man den EthernetChip auch indirekt Adressieren aber so halt ich mir für das AddonBoard etwas offen. Und 64kx16 bzw. 32kx16 halte ich auf Grund der 2 Verschiedenen Register, im 8051 (und der 8Bit Architektur) nur für die HD Intressant. Aber wie gesagt lass mich auch gern Umstimmen, wenn jemand mich Überzeugt. @Fabian Es ist zwar ein 8051 und kein AVR aber wenn du C kannst, sehe ich da keine größeren Probleme. Musst du halt wissen.
> Zum ADC, da sehe ich keine möglichkeit als die der Aufnahme und dafür > seh ich keine Verwendung. Zumindest solltest du noch mal nachprüfen, ob die AD-Pins auch bei Nichtverwendung beschaltet werden müssen, sicher ist sicher... > Und es sind nur 32Kb Ram eingeplant weil ich die oberen 32kb schon > verplant hab (HD, LCD, etc...) > ... > aber so halt ich mir für das AddonBoard etwas offen Eben. Deswegen wäre die "Ausbeute" größer, wenn du die CS-Signale für andere Hardware ab der Adresse 0xFF00 generierst. Aber das musst du wissen, du bist der Master-Chief :-) > Und 64kx16 bzw. 32kx16 halte ich auf Grund der 2 Verschiedenen Register, > im 8051 (und der 8Bit Architektur) nur für die HD Intressant. Klar, ich vermute auch nicht, dass es so ist wie beim PC: Mehr RAM --> mehr Performance. Ich persönlich bin halt jemand, der alle Features ausreizt, wenn sie schon da sind grins Ralf
> Zumindest solltest du noch mal nachprüfen, ob die AD-Pins auch bei > Nichtverwendung beschaltet werden müssen, sicher ist sicher... > Soweit ich es gefunden/gelesen habe nicht. > Eben. Deswegen wäre die "Ausbeute" größer, wenn du die CS-Signale für > andere Hardware ab der Adresse 0xFF00 generierst. Aber das musst du > wissen, du bist der Master-Chief :-) > Der Master-Chief sagt Adresslogik ab 0xFF00 kommt aufs Addon Board. ;) Alles unter 0xFF00 ist Ram, da reicht ein CS und dafür wird A15 "missbraucht". > Klar, ich vermute auch nicht, dass es so ist wie beim PC: Mehr RAM --> > mehr Performance. Ich persönlich bin halt jemand, der alle Features > ausreizt, wenn sie schon da sind *grins* > OK aber wir müssen ja auch nicht mit einen riesigen Betriebssystem kämpfen und 50 Programmer gleichzeitig laufen lassen :D Nein im ernst ich denke 32kb reichen aus, der Wiznet Chip hat auch biszu 8kb Empfangs- und Sende-Buffer. Außerdem macht er den ganzen TCP/IP kram so das wir nur "Nutzdaten" dort reinschreiben und rausholen müssen. Fürs FAT werden wir später auch nur 1-2 kb brauchen und vielleicht brauchen wir etwas MP3-Buffer aber wir haben ja dann noch massig.
Ähm soll natürlich heisen Adresslogik ab 0x08000 darunter nur RAM ;)
Hallo zusammen, wie habt ihr euch denn das weitere vorgehen vorgestellt? Bestellt jetzt jeder und bastelt auf eigene Faust, oder macht Benny jetzt erstmal alle fehler und sagt uns dann wies geht? ;-) Interessiert mich hauptsächlich wegen der Bestellung. Würde sich ja dann anbieten eine Sammelbestellung zu machen. Christian
> ...Nein im ernst ich denke 32kb reichen aus...
Dann solltest du dir (leider nochmal grins) Gedanken machen wegen dem
Display, wenns ein grafisches sein soll, müsste die Ansteuerung
ebenfalls über ein Addon-Board laufen, welches evtl. zusätzliches RAM
benötigt, falls mit du Bildern arbeiten willst...
Ralf
Also ich möchte ja keinen Ärgern: Der SND1c kann ansich viel, ist aber eine ziemlich langsame Kiste. Ich würde davon abraten... Ich habe hier noch 10x CS4344 und 4x 89C51SND1c-UL (UL ist die ROHS-Version) rumliegen. Gegen kleines Geld und Porto kann die gerne jemand haben.
@Christian Hab gedacht ich mach das Board weiter und ihr gebt eure Kommentare/Kritik dazu ab, dann gucken wir weiter (und allee sind für die Fahler verantwortlich ;) ). Sammelbestellung lohnt sich glaub ich Ingo wollte ja auch schon. @Ralf Wenn wir mehr RAM brauchen müssten wir 1) auf ein 8051 mit 16Bit Adressraum umsteigen oder 2) andere Teile auslagern. Aber müssen wir eine Eierlegende -Wollmilch-Sau haben (Ja, hätte ich auch gerne aber ...) Zu 1) Gibt es von Silabs glaubich, aber dann wäre der MP3 Decoder extra, das IDE-Interface nicht so simple, der MMC-Bus würd wegfallen, ... Mag aber auch Vorteile haben und da noch nichts gemacht wurde ausser Denkarbeit lass ich mich auch wie immer gerne zu was anderen Überreden. Zu 2) Wir könnten statt für die Ethernet anbindung das IIM7010B+ Board nehmen und es über SPI ansteuern. Nur hab ich das noch nirgends gesehen, alternativ darf auch einer von euch ein Board mit dem WZ3050A+, PHY, Magjack machen. Mit dem IIM7010A über I2C wirds wohl zu langsam. Als alternative würde auch noch Bankswitching in Frage kommen, mit dem internen RAM hätten wir dann 2kb die wir immer einblenden könnten und "4"x32kx8 in einem 128kx8 RAM und die oberen Adressen wieder fix. Muss allerdings ehrlich gestehen hab nie etwas mit Bankswitching Programmiert. @Sven Ja langsam ist Relativ er muss sich ja durch WizNet Chip nicht viel Rechnen was TCP/IP angeht und auch sonst läuft vieles in Hardware ab. Eigentlich nur Lesen -> (Buffern ->) in den Dekoder. Aber zu den Chips kannst uns ja gerne mal ein Angebot machen. :)
> Wenn wir mehr RAM brauchen müssten wir 1) auf ein 8051 mit 16Bit > Adressraum umsteigen oder 2) andere Teile auslagern. Aber müssen wir > eine Eierlegende -Wollmilch-Sau haben (Ja, hätte ich auch gerne aber > ...) zu 1) HÄ? JEDER 8051/52 hat 16-BIT Address-Raum --> 64kByte!!! Auch der SND1!!! Somit fällt 2) raus. Das einzige, was du dir im Fall eines RAMs mit 64kB überlegen musst, ist, dass es soweit ich weiss keine 8-Bit RAMs mit 64kB gibt, wohl aber 16-Bit 64kB RAMs!!! > Zu 1) Gibt es von Silabs glaubich, aber dann wäre der MP3 Decoder extra, > das IDE-Interface nicht so simple, der MMC-Bus würd wegfallen, ... Mag > aber auch Vorteile haben und da noch nichts gemacht wurde ausser > Denkarbeit lass ich mich auch wie immer gerne zu was anderen Überreden. Naja, als extra MP3-Decoder eignet vielleicht einer von VLSI, ein VS1001 o.ä. In dem Fall wäre dann nur das IDE-Interface per Software zu lösen, was du aber auch beim SND1 machen musst, das einzige was dazu kommt, wäre dann noch eine evtl. geringfügig aufwendigere Ansteuerung der IDE-Schnittstelle, aber das dürfte kein Problem sein... > Zu 2) Wir könnten statt für die Ethernet anbindung das IIM7010B+ Board > nehmen und es über SPI ansteuern. Nur hab ich das noch nirgends gesehen, > alternativ darf auch einer von euch ein Board mit dem WZ3050A+, PHY, > Magjack machen. Mit dem IIM7010A über I2C wirds wohl zu langsam. Ich meine, es gab im Forum mal einen Beitrag über einen Ethernet-Phy, der per SPI-Schnittstelle kommuniziert... Weiss aber grad nicht, welcher das war. SPI ist aber sauschnell, bis 20MBit(1) sind glaub ich drin. Ob das der angesprochene SPI-Phy kann, weiss ich nicht, wäre eine Recherche wert... Um die von Sven angesprochene Geschwindigkeit sowie deinen Wunsch nach einer eierlegenden Wollmichsau anzusprechen, guckt euch mal den C8051F120 von SiLabs an. Das ist ein 8051er, der keine eierlegende Wollmichsau ist, sondern weit darüber, 100MHz, jede Menge Ports, semi-wählbarer Port-Layout usw. usw. usw. Treibt natürlich den Preis des Projekts in die Höhe, aber dafür der schnellste 8051er, den ich kenne... Alternativ gibts den natürlich auch mit n paar weniger Features, einfach mal auf www.silabs.com gucken... Ralf
Argl, kleiner Schreibfehler:
> ...wohl aber 16-Bit 64kB RAMs
Das soll "wohl aber 16-Bit 128kB RAMs" heissen. Also 16-Bit Adressbus,
16-Bit Daten. Dabei möchte ich noch anfügen, dass man sich bei 16-Bit
Datenbreite Gedanken wegen der Variablen und deren Ablegen machen muss.
Als Alternative fällt mir noch ein, dass man ja auch zwei 32kB RAMs
hintereinander setzen kann... A15 macht die Unterscheidung der beiden
RAMs. Und die CS-Generierung ab 0xFF00 ist immer noch möglich, ich kann
dich mit einem Schaltungsbeispiel versorgen, wenn du möchtest...
Hast dir das mit dem Display und den Grafiken überlegt?
Ralf
> zu 1) HÄ? JEDER 8051/52 hat 16-BIT Address-Raum --> 64kByte!!! Auch der > SND1!!! Somit fällt 2) raus. Das einzige, was du dir im Fall eines RAMs > mit 64kB überlegen musst, ist, dass es soweit ich weiss keine 8-Bit RAMs > mit 64kB gibt, wohl aber 16-Bit 64kB RAMs!!! Ups meine natürlich 24Bit ;) Man sollte dann vielleicht doch noch mal drüber lesen. Aber zu den anderen Sachen. Wenn wir auf einen anderen 8051 umsteigen, fliegt der Interne MP3-Decoder. OK das ist noch akzeptabel, wenn wir einen einen VS10xx dafür nehmen. Das IDE-Interface wird aber aufjedenfall komplizierter, im SND ist es schon schön in der Hardware drin ansonsten müssten wir die oberen 8Bit jedes mal Zwischenspeichern. Aber OK lass ich mir auch noch halbwegs gefallen :) Jedoch besteh ich auf den WizNet Chip ;), da er TCP/IP On-Board hat und somit ein großer "komplizierter" Softwareteil, der auch noch viel Rechenzeit braucht wegfällt. Zur Wollmilchsau, denke ich das es eigentlich nicht nötig ist ein Grafikdisplay zu haben. Sie wurd halt nur schonmal erwähnt aber wenn alles da rein soll, brauchen wir denk ich auch noch mehr als die 64k Programmspeicher und da läuft wieder alles auf einen der "ganz großen" 8051 oder einen ARM raus nur dann brauchen können wir uns auch bei einen der anderen Projekte bedinen. Alternativ wäre da auch noch ein ATmega128/256 denkbar aber dann hätten wir "nur" eine Art Ethernut. Und die 100Mhz find ich übertrieben da wären auch schon wieder ARM oder direkt nen Computer drin. Also wirds nicht mit der alten Sau. Aber wenn wir 64kb RAM nehmen und den Wiznet über SPI und die HD/Display hinten dran ? oder was ganz anderes ?
Interessant, einen ARM nur für die TCP/IP-Geschichte zu benutzen. Der langweilt sich 80% der Zeit, und der 8-Bitter rotiert im Kreis. Warum nicht gleich das Ding mit einem ARM aufziehen? Dass ein 8-Bitter mit TCP/IP und MP3 abspielen etwas überlastet ist, kann ich mir schon vorstellen, aber einen ARM zum Sklaven zu machen...
Naja eigentlich war der ARM dann für alles gedacht und der 8051 müsste nur TCP/IP machen und die Daten dann in den Decoder schieben. Nen 8051 MP3-Decoder würd ich gerne mal sehen ;) Aber nen ARM will ich ja nicht, dafür gibt es schon andere Projekte hier im Forum.
@Ralf: Sicherlich kann der SiLabs mit 100MHz takten, aber er hat die angegebenen 100Mips nicht. Es sind tatsächlich "nur" 33Mips. Dennoch natürlich weit mehr als die 1,3Mips des 89C51Snd1. Wenn hier überlegt wird, ob man auf eine andere CPU umsteigt und dann einen VLSi einsetzt, könnte man auch statt des VS10xx den 89C51Snd nehmen. Nur die MP3-Daten von einem Port zu lesen und in den internen MP3-Decoder zu schreiben würde ihn nicht überlasten. Er kostet unter 10€, der VS10xx kostet mehr. Die Software hätte man leicht im Griff, da es ja dann zwei 8051 wären.
@Benny: > Aber wenn wir 64kb RAM nehmen und den Wiznet über SPI und die HD/Display > hinten dran ? oder was ganz anderes ? Klar, das geht schon. RAM bis 0xFEFF, ab 0xFF00 CS-Generierung für HD, Display, IDE-Latch, usw. @Sven: > Es sind tatsächlich "nur" 33Mips Woher kommt die Aussage? Okay, 100Mips peak als Aussage auf der Website, trotzdem wie du sagst, immer noch erheblich schneller... Ralf
@Sven Endlich einer der mich (halbwegs) versteht ;) Der SND schiebt quasi nur die Daten von Register zu Register, rechnen muss er kaum. Aber nen 2ten braucht man nicht einsetzen man kann ja ehe nur entweder von HD oder vom Netzwerk oder von ... abspielen und zwischen durch nen Display updaten. Das Dateisystem wird nicht soviel Rechenzeit in anspruch nehmen und TCP/IP macht der Chip. Der 2te 8051 wird vielleicht Intressant als Frontpanelmc für Fernbedingung, Knöpfe und um den SND ins Standby zu schicken aber auch das passt bestimmt noch in den SND. Und selbst wenn alle Stricke reißen besitzt der SND 12C und SPI Slave-Fähigkeiten in Hardware. Nur verate mir wo du den SND für (unter) 10€ bekommst?
@Ralf Also die 33Mips beim SiLabs sind eigene Erfahrung. Ich setze den F133 schon eine Weile ein. Und wenn Du ganz einfache Loops baust und dann z.B. Ports togglest, kommst Du auch ca.20Mips. Außerdem macht er die 100Mips nur bei 1-Cycle-Befehlen (sind zwar viele Befehle, aber die 2Cycle braucht man doch mehr) und dann nur, wenn er alles aus seinem Cache bekommt. Falls nicht, braucht er wieder 4 Zyklen, um sich 32 Bit reinzuholen. @Benny Nun, einfach z.B. bei Digikey kaufen. 1 Stück 9,67€, 10 Stück gibts für je 8,70€. Deshalb gebe ich meine 4x 89C51SND1C-UL für je 6,- und meine 10x CS4334-KSZ für je 1,20€ zzgl. Porto ab... Beim Thema Geschwindigkeit des 89C51SND1c möchte ich dennoch warnen. Viel mehr als nur Daten zum internen MP3-Decoder schaufeln wird nicht drin sein.
@ Sven Was würd mich den ein SND + CS4344 + Portokosten? Den für kleinemengen lohnt Digikey nicht. Wäre nämlich an der Kombination intressiert. @ Ralf OK, aber wenn wir das so machen dann müssten wir entweder das IIM7010B+ auftreiben (wegen SPI) oder das IIM7010a/b indirekt Adressieren oder per 100khz I2C betreiben was jedoch zulangsam wäre für 128kbit/s MP3s. Und IDE-Latch braucht man beim SND ja nicht extra ansteuern nur ein zusätzliches 74xx573 und mit an ALE. Wäre nur noch zuklären wie wir mit den 128kx8 umgehen, zwecks aufteilung in Bänken und Peripherie
Hi, jo der Player weitet oben ist von mir. Er besitzt 32kb ram, den witznet-chip fuers ethernet und einen ti dac fuers audio. Das Display wird seriell angestuert und hat nochmal einen eigenen avr fuer Zeichensatzgenerierung und Displayverwaltung. Ich wollte mir damals einen Player bauen, der alle meine MP3s im Netzwerk schnell und benutzderfreundlich abspielen kann. Deshalb habe ich mir damals einen extra java-server auf einem pc geschrieben, der der dem Player alle Daten bereits aufbereitete, damit der sich ncihtmehr um irgendwelche Dateiprotokolle kuemmern musste. Entsprechend hat sich auch der Server darum gekuemmert, webradios quasi transparent als mp3 dateien darzustellen. Dadurch besteht fuer den Player kein unterschied zwischen Datei und Radio, weil er sowieso die MP3-Daten und die Titelinformationen getrennt bekommt. Die Geschwindigkeit des SND1 reicht dazu ueberigens locker aus. Nur mit 320er Bitraten hatte ich probleme, war dann aber zu faul herauszufinden woran es lag. Der Chip macht ueberigens 3.3Mips und 1.3 Wenn ihr einen anderen Chip nehmen wollt(ohne integrierten mp3 codec) dann solltet ihr euch genau ueberlegen, ob avr oder 8051er da noch die richtige wahl sind. Haengt auch dann am besten an das arm-mp3-webradio dran. Da sehe ich viel mehr Potential drin. Gruss Tobias
@Benny: Man braucht ja nicht gleich 128kB RAM, 64kB (2x32) tun es auch. Auf die Art hast du die volle Ausreizung ohne zusätzliche Banking-Hardware. Man kann ja auch ein zweites RAM vorsehen, wenn man sieht, dass man es braucht, baut man es ein. Somit hast du deine ursprünglichen 32kB, aber die Möglichkeit, zu erweitern, ohne nochmal was am Board zu ändern. Ralf
@Benny: Was mir grad noch bzgl. IDE eingefallen ist, du beachtest doch hoffentlich, dass der SND1 keine 5V-toleranten IO-Pins hat. Wie willst du die Pegelwandlung lösen? Evtl. lässt sich die Pegelwandler-Schaltung aus den I2C-Specs verwenden, die ist bidirektional. Alternativ gibt die MAX3000er Serie, aber die kosten halt auch wieder... Ralf
@Tobias Nicht schlecht plannen tue ich ja in soweit das gleiche ;) Nur hatte ich vor statt einen eigenen Server zu verwenden einfach Ice-/Shoutcast-Streams zu benutzen kommen mehr oder weniger auch nur MP3 Daten an. Kannst ja dann sicher bei Codefragen weiter helfen ? Hast du das Wiznet Board Indirekt Adressiert? Und Buffers du den Stream? Fragen, über Fragen. Und zu 320kbit/s MP3s stand etwas im Errata. >MP3 Decoder – Underrun When Playing High Bit-Rate Frames >When playing frames with the following frequencies sampling and bit rates, audio DAC >runs out of data leading to noise and wow. >–44.1 kHz - 320 Kbs >–32 kHz - 256 Kbs, 320 Kbs >Workaround Implemented in latest firmware packages. Nur kommt man ohne Referenzdesign wahrscheinlich nicht an die Firmware. @Ralf Das mit den 2ten 32kb auf die Addon-Platine gefällt mir am besten, von den bisherigen Vorschlägen. Mir gings dabei ja nicht ums Board Redesign sondern vielmehr um die mehr oder weniger "einfachheit" des System. Aber wenn wir es nun so machen werde ich, sobald ich Zeit hab herraus suchen wer, wo, wieviel Speicher/Adressen braucht und dann mal etwas zusammen stellen. Zur 5V<->3V Problematik hab ich mir auch schon etwas gedanken gemacht, entweder MAX3000 oder ein GAL/CPLD mit 5V tolleranten I/Os komplett dazwischen. Vorteil wäre er könnte direkt sämtliche Adresslogik übernehmen. Aber da hab ich dann auch schon wieder aufgehört zu denken ;)
@Benny Also der "workaround" ist sehr simpel. Problem beim SND1c ist, daß der interne Speicher für ein MP3-Frame nur 1kByte groß ist und bei 320kbs-Frames dieser größer sein kann. Deshalb wird in einem Register des SND1c (das nicht publik gemacht wurde) einfach nach einer bestimmten Menge bereits gesendeter Daten ein Bit gesetzt und somit dem MP3-Decoder der Befehl gegeben, bereits mit der Decodierung anzufangen und nicht zu warten, bis der komplette Frame im Speicher ist. So zumindest der O-Ton eines Entwicklers von Atmel, den ich deshalb mal eine Weile ausgequetscht hatte. @Tobias Wie der SND1c 3,3Mips machen soll, versteh ich nicht ganz. Er taktet maximal mit 20MHz und braucht 6 Takte für einen 1-Cycle-Befehl. Das wären 3,3Mips. Jedoch sind die meisten Befehle immerhin 2-Cycle-Befehle und somit wären wir schon bei 1,6Mips...Und die Praxis zeigt dann, daß es eben noch etwas weniger sind. Man sollte sich nicht auf die "peak"-Angaben der Hersteller verlassen. @Benny Unter Leidensgenossen: Ein 89C51SND1C-UL(6,-) und ein CS4344(1,20) inkl. Porto(0,90) wären für Dich 8,10€
stimmt so ein 8051-mp3-webradio hab ich noch nicht gesehen wobei es gewisse bausteine schon gibt. Mir wärs am liebsten wenn es sowas wie das 8051 kochbuch für nen arm7 geben würde. Für C kenn ich mich zu wenig aus und ich müste dann alles von vorne machen sprich arm7 und c oder hat jemand gute kenntnisse in arm7 und assembler der mir was beibringen kann?
@Sven Schick mir mal bitte deine Kontodaten an Benny_Stark ÄÄT online.de ich würd nämlich als Leidgenosse dir von beiden gerne einen abnehmen. ;) Das mit dem Register hört sich gut an, könnte nämlich praktisch sein weil ich bis jetzt noch nicht heraus gefunden habe ob Ice-/Shoutcast mit der ersten neuen Frame oder mitten drin anfängt zu Senden. Ich mein es wäre zwar nur sehr kurz rauschen zuhören aber wer weiß ob der SND mit abspielen des "Mülls" überhaupt anfängt. @Commtel Was meinst du den mit den "gewissen Bausteinen" ? Ansonsten gibt es ein ähnliches Projekt mit ARMs auch, kurz unter diesem Thread. Persönlich kann ich dir den Tip geben wenn dann lerne C direkt auf dem ARM. Wenn du es auf z.b. einen AVR lernst ändert sich ehe wieder einiges sobald du auf dem ARM umsteigts oder auf dem PC benutzt.
Entschuldige aber ich war das Wochenende nicht zuhause. Ich werd dir das Geld am Montag überweisen und meine Adresse schicken. Aber jetzt geh ich erst einmal schlafen, ich bin KO ;)
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.