Hi, mein wecker geht mir mit sein gepiepse auf die nerven. Also hab ich mir gedacht... baue ich mir ein mp3-wecker. Das ist mein erstes großes projekt und nun hab ich noch ein paar fragen. Schaltung ist soweit schon fertig (siehe Anhang), die schaltung wurde aus verschieden mp3-playern-projekten (man findet da ja ein paar im netz) zusammengestellt. Zeichne zum ersten mal mit eagle, also bitte nicht meckern ;) Nun ein paar fragen: Der atmega läuft ja mit 5V und die SD-Karte + VS1011 laufen ja mit 3,3V. Der pegel von 5V auf 3V wurde mit einen Spannungsteiler gemacht. Beim VS1011 sind DREQ und SO (SDKarte DataOut) ohne Spannungsteiler, ist das richtig so? Hinterm VS1011 soll ein kleiner Verstärker der 2 lautsprecher betreibt. Dazu wollt ich den TDA1552 nehmen und die Schaltung vom Datenblatt übernehmen (siehe anhang). Geht das so? Als Spannungsregler wird es ein LF33 für die 3,3V und LM7805 für die 5V. Ein grafik-display kommt dann auch noch hinzu und später bekommt mein wecker auch noch dcf77 spendiert. Sieht noch jemand Fehler in der Schaltung? oder hat noch ein paar verbesserungsvorschläge? danke, liebe grüße nadine
Da frag ich mich ja wie das mit der ISP Programmierung noch funktionieren soll. Gut, die SD-Karte kann man rausziehen. Den VS wohl eher nicht.
Hallo Nadine, wenn du die 5V nur für den Mega brauchst würd ich nen "moderneren" Typ z.B 324P bzw gleich 644P nehmen, der bis 20Mhz spezifiziert ist und diesen dann bei 3,3V betreiben. Ist bei 16Mhz dann etwas ausserhalb der spec wird wahrscheinlich aber auch funktionieren. Grüße kaffeetas
Hmmm... stimmt. Wie kann man das am besten lösen? Mir würde da nur folgendes einfallen: den vs1011 mit jumper vom isp trennen.
@ kaffeetas hab mir mal den 644P angeguckt. Der gefällt mir :) dann hab ich mehr speicher für menü usw. aber den mit 3,3V @ 16mhz betreiben? meinst du das geht wirklich gut? die schaltung sollte ja stabil laufen.
ich hab nen 644 auf meinem AVR-NET IO läuft derzeit bei 14,xxx MHz stabil bei 3,3V. Kanns morgen mal für Dich mit 16Mhz testen. Heißt aber dann noch nicht das es bei Dir dann auch funktioniert ist aber ein Indiz. Grüße kaffeetas
Dein Wecker wird sich auch auf 8 MHz noch langweilen. Mit 16MHz schaff ich hier wav von HDD auf nen VS1011 und es ist sogar noch luft. Habs nicht genau gemessen, aber knapp 2Mbit durchsatz bekomm ich ungefähr hin. Ich glaube nicht, dass dann 8MHz bei mp3 ein Problem sein sollte. Auch wenn du von SD holst. Zumal du ja die Daten eh direkt von der Karte zum dekoder schieben kannst. Bei meiner HDD MÜSSEN sie einmal durch den Controller. Also: Den AVR auch auf 3,3V betreiben und du bist wieder ein paar Sorgen los. Wegen Programmierbarkeit: Die Slaves brauchen natürlich einen Pullup auf der CS-Leitung, damit sie still sind, wenn der Controller sie nicht ansteuert. Außerdem kann man in die MISO-Leitungen einen Serien-R einbauen. Dann geht das Programmieren meist sogar, wenn der Slave auch was sendet. DREQ würd ich auf nen Interrupt-pin des AVR legen. Wenn du richtig programmierst läufts sicher auch so, aber interruptgesteuert dürfte es wohl einfacher werden. Ich komme dank ineffizienter HDD-Zugriffe nicht ohne Interrupt aus :-( AVDD und DVDD des VS solltest du trennen. Z.B. durch eine Spule in der Zuleitung von AVDD. Du krigst sonst die Störungen des Digitalteils in die Analogsignale rein. Außer dir ist's für nen Wecker sowieso egal. Außerdem braucht der VS noch einiges an Kapazitäten: Jeder VDD-Pin 100nF und analog- und digital-zweig nochmal ein paar µF (Steht im Datenblatt oder Appnote wie viel genau, aber 1-10 solltens tun). Die Cs in den Ausgängen des VS sind etwas groß für mein Empfinden. Zumal der Eingang des TDA gerademal 220nF in Serie hat. Da sind die 100µF am VS dann wirklich unnötig groß. Der SD-Karte solltest du auf jeden Fall auch noch 100nF an VCC spendieren. Hab gehört, dass die teilweise recht giftig reagieren, wenn der C nicht vorhanden ist. Am AVR gilt das gleiche wie bei allen anderen ICs auch: An JEDEM Vcc-Pin muss ein 100nF Kondensator. Gibt sonst lustige Abstürze die man sich nicht erklären kann... Ansonsten schaut das eigentlich schon ganz gut aus. Soll das geätzt werden? Dann würde ich noch Stiftleisten vorsehen auf die du die freien AVR-Ports legst. Das erleichtert es, später erweiterungen hinzubauen. Gruß, Sebastian
Vielen dank sebastian. Wenn wirklich 8Mhz locker reichen, werd ich den atmega644 dann auf 10MHz @ 3,3V laufen lassen. Dann hab ich noch genug reserven für display, dcf77 und sonstige erweiterungen die mir noch einfallen. Deine anderen verbesserungen hab ich jetzt im schaltplan geändert. Nur mit der Spule in AVDD, weiß ich nicht wie ich das machen soll. ich denke mal so: +3,3V <--------(~~~)------> AVDD was soll ich da für eine Spule nehmen und welchen wert? und muss bei reichelt zu bekommen sein.
> Wenn wirklich 8Mhz locker reichen, werd ich den atmega644 dann auf 10MHz > @ 3,3V laufen lassen. Dann hab ich noch genug reserven für display, > dcf77 und sonstige erweiterungen die mir noch einfallen. 8Mhz reicht locker: Ich habe hier einen AVR mit 16MHz laufen, und der kopiert damit 100KB/s von einer MMC Karte auf eine Netzwerkkarte. Für eine 128kbit/s mp3 bräuchtest du 16KB/s. Selbst wenn deine Implementierung nicht so effizient ist, reichen 8Mhz problemlos. Und display + DCF77 sind da vernachlässigbar.
Noch eine frage. Wie ist das mit der isp-schnittstelle bei 3,3V? Hab das AVR-Evaluations-Board von pollin zum programmieren. Also strom auf schaltung... dann isp-kabel zum pollin-board... dann seriell zum computer. Funktioniert das mit 3,3V? liebe grüße nadine.
Hallo ICh habe auch einen VS1011 mit SD-Karte am laufe schaffe auch locker 320kbit/s MP3 datein. ICh habe ein AtMega644 @ 5V 14,7 MHz angeschlossen und die Pegelwandlung erfolgt mit eine 74HC4050 (5V -> 3,3V) und zurück mit einem 74HCT125. Mal eine frage dazwichen ich habe den Vs1011 mit 12.288Mhz am laufen. So weit so gut aber da der SPI-Takt mit dem Quarz zusammen hängt wollte ich mal fragen ob man auch einen 24.576Mhz 3. OBerton von z.B. Reichel nehmen kann?
So hab mal die änderungen jetzt alle im schaltplan drin. änderungen: - ISP schnittstelle mit einem 74HC4053 vom vs1011 getrennt - am vs1011 die fehlenden blockkondensatoren hinzugefügt - am vs1011 avdd und dvdd getrennt und mit spulen 10µH - DREQ liegt nun am INT0 - 100n am sd-slot hinzugefügt - output-elkos auf 10µF umgestellt Bleibt nur noch die frage wegen dem programmieren über die isp-schnittstelle mit 3,3V? danke schonmal an alle, mfg nadine
10µH solltens tun. Passt also, wie du das eingeplant hast. Allerdings braucht nur der Analogteil des VS so eine Entkopplung. Schau dir das hier mal an. Da wird denk ich klar, wie ich das genau meine: http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC Deine SPI-Slaves brauchen auf jeden Fall noch einen Pullup auf der CS-Leitung. So wie's jetzt ist geht der AVR beim Programmieren in Reset -> die Pins werden hochohmig -> deine Slaves suchen sich aus, ob sie lieber aktiv oder passiv sind und treiben dann unter Umständen gegen deinen Programmer. Der 74HC4053 kann auch wieder raus. Das was du damit bezwecken wolltest macht er so sowieso nicht. Setz lieber in die SPI-Leitungen der Slaves noch ca. 1kOhm in Serie. Dann wird der Strom von Slave zu Programmer auch dann nicht zu groß, wenn doch mal was schief geht und die beiden gegeneinander treiben. Wegen Programmierbarkeit bei 3,3V: Das hängt von deinem Programmer ab. Wenn man's ganz korrekt machen will muss man einen levelschifter dazwischen schalten. Meist genügen aber auch Serien-Rs (470 Ohm oder so). Dann fließt halt ein Bischen Strom über die Clamping-Dioden des AVRs. Allerdings sehe ich diese lösung in Zusammenhang mit deinem SPI-Bus etwas kritisch. Ich würde mich mal nach levelshiftern umschaun. Oberton-Quarz geht am VS10xx nicht. Es gibt spezielle Beschaltungen für diese Quarze, die du halt nachbauen müsstest, aber einfach tauschen geht nciht. Du kannst aber einen Quarzoszillator ranhängen. Das läuft bei mir einwandfrei. Aber so weit ich mich erinnere ist die SPI-Frequenz sowieso nur direkt nach dem Booten durch die 12MHz begrenzt. Sobald man den Clock-Doubler eingeschaltet hat zählt die interne Frequenz, also 24Mhz. Aber schau besser nochmal im Datenblatt nach. Was ich grad noch seh: Der Pullup am Reset des AVR ist etwas klein. Der darf ruhig 4,7k oder auch 10k haben. Bei mir läuft alles mit 10k pullup und 100nF gegen Masse. Das Problem ist, wenn der Pullup zu stark, kann der Programmer den Pin nicht mehr gegen Masse Treiben. Hängt halt auch wieder vom Programmer ab. Mehr hab ich jetzt nicht gefunden. Sollte dann soweit erstmal laufen :-) Sebastian
>Oberton-Quarz geht am VS10xx nicht. Es gibt spezielle Beschaltungen für >diese Quarze, die du halt nachbauen müsstest, aber einfach tauschen geht >nciht. Du kannst aber einen Quarzoszillator ranhängen. Das läuft bei mir >einwandfrei. Ok danke für deine Info da muss ich mich wohl mal nach einen Grundton umsuchen. >Aber so weit ich mich erinnere ist die SPI-Frequenz sowieso nur direkt >nach dem Booten durch die 12MHz begrenzt. Sobald man den Clock-Doubler >eingeschaltet hat zählt die interne Frequenz, also 24Mhz. Aber schau >besser nochmal im Datenblatt nach. Stimmt laut datenblatt: SPI Input Clock Frequency² CLKI/6 ² Value for SCI reads. SCI and SDI writes allow CLKI/4 Und CLKI steht ja für Internal Clock Frequency also die schon durch den Clock-Doubler durch ist.
Hallo, ich lese hier schon ziemlich lange mit, und habe mich jetzt auch mal angemeldet. Im Anhang ist mein Player, der seit einigen Monaten mehr oder weniger zufriedenstellend in meinem Autoradio läuft (Kassettenlaufwerk rausgeschmissen), und dort den CD-Wechsler ersetzt. Der Prozessor läuft mit 12,288 MHz, und der gepufferte Prozessortakt geht dann an den MP3-Chip. Ansonsten habe ich mich bei der Beschaltung des VS1011 an die Application Notes von VLSI gehalten (http://www.vlsi.fi/en/support/applicationnotes.html). In den dort zu findenden "Layout Considerations" wird übrigens von einer Induktivität an AVCC abgeraten. Leo
Nochmal vielen dank, sebastian. hab schaltplan geändert. änderungen: - den 74HC4053 weg - 1kOhm in den spi-leitungen der slaves - pullup in der cs-leitung von der sd-karte - spule in dvdd entfernt muss sonst noch irgendwo ein pullup? Sry, bin schaltungstechnisch nicht so begabt. ich löte und programmiere lieber :) Werd mir dann nen usb-isp-programmer holen der umschaltbar ist auf 3,3V. Wollt ich mir eh schonmal holen, damit ich auch auf mein lappi programmieren kann. Und noch ne ganz ganz kleine frage: Hab mir folgenden quarz bei reichelt ausgesucht: 24,576000-MQ Der hat 4 pins. 1 und 3 wie ein ganz normales quarz anschließen.. aber was ist mit den pins 2 und 4? einfach an ground oder frei lassen? danke, mfg nadine
>Und noch ne ganz ganz kleine frage: >Hab mir folgenden quarz bei reichelt ausgesucht: 24,576000-MQ >Der hat 4 pins. 1 und 3 wie ein ganz normales quarz anschließen.. aber >was ist mit den pins 2 und 4? einfach an ground oder frei lassen? Die Zwei Pins kannste weg lassen bzw sind nur Löt punkte
> muss sonst noch irgendwo ein pullup? Ja, an XCS. Und ein Pulldown an XRESET. Dann können die SPI-Serienwiderstände wegfallen. GPIO0..3 sollten Pulldowns haben. TEST an DVDD statt AVDD. > Hab mir folgenden quarz bei reichelt ausgesucht: 24,576000-MQ > Der hat 4 pins. 1 und 3 wie ein ganz normales quarz anschließen.. aber > was ist mit den pins 2 und 4? einfach an ground oder frei lassen? Schau Dir nochmal die Produktbeschreibung auf der Reichelt-Seite an: "Pad 2 & 4: Metal lid and ground" Also auf GND hängen. Leo
So ich hoffe der schaltplan ist jetzt korrekt. änderungen: - xcs 10k pullup - gpio 100k pulldown - xreset 10k pulldown - spi serienwiderstände entfernt danke an alle die mir geholfen haben. werd dann später mal bilder online stellen wenn der wecker fertig ist. soll ein gehäuse aus gfk werden... hab schon nen schönes design im kopf :)
Könnstet du die Board datei mit rein hängen? oder sogar die *.sch und die *brd das wäre echt super!
AREF lässt du einfach offen. Der gehört nicht an VCC. Zwischen AVCC und AGND noch einen 100n. Das der immer wieder eingespart werden muss... Kosten doch nix die Dinger. An AREF am besten auch gleich noch einen 100n falls der ADC später doch mal benutzt wird.
> AREF lässt du einfach offen. Der gehört nicht an VCC. > Zwischen AVCC und AGND noch einen 100n. Das der immer > wieder eingespart werden muss... Kosten doch nix die Dinger. > An AREF am besten auch gleich noch einen 100n falls > der ADC später doch mal benutzt wird. die 100n an avcc und agnd hätt ich schon reingemacht, hatte ich nur im schaltplan vergessen. und warum ich aref an vcc gepackt, weiß ich nicht... dummer fehler. > Könnstet du die Board datei mit rein hängen? oder sogar die *.sch und > die *brd das wäre echt super! hab die *.sch datei rangehangen mit den obrigen korrekturen. nen board hab ich nicht erstellt, weil die schaltung auf lochraster kommt. nur für den vs1011 wird ne platine gefräst wo dann auch die blockkondis, elkos und quarz zum vs1011 raufkommt... und dann alles auf stiftleisten rausgeführt wird. Das board für den vs1011 macht mein dad auf arbeit, davon hab ich keine ahnung.
>Aber so weit ich mich erinnere ist die SPI-Frequenz sowieso nur direkt >nach dem Booten durch die 12MHz begrenzt. Sobald man den Clock-Doubler >eingeschaltet hat zählt die interne Frequenz, also 24Mhz. Aber schau >besser nochmal im Datenblatt nach. >>Stimmt laut datenblatt: >>SPI Input Clock Frequency² CLKI/6 >>² Value for SCI reads. SCI and SDI writes allow CLKI/4 Das hier meinte ich: Note: As tWL and tWH, as well as tH require at least 2 clock cycles, the maximum speed for the SPI bus that can be used for read operations is 1/6 of VS1011e’s external clock speed XTALI. For write operations maximum speed is 1/4 of XTALI.
Hallo Leute Hab auch mal ein bisschen mitgelesen und einige Tips verwenden können. Danke dafür an alle. Hab nun mein Layout bestellt und bin nun an der SW. Noch eine Frage: Wie funktioniert das genau mit dem direkten Übertragen der Daten von der SD-Karte auf den VS1011? Hab eine FAT16-Bibliothek, in der ich das File suche und öffne (funktioniert hoffentlich :) ). Wie wären nun die weiteren Schritte? Hab eben auf dem Prozi noch weitere Interrupts die zur gleichen Zeit auftreten, und da wärs natürlich schön wenn ich nicht noch mit Audio-Daten hantieren muss. Gruss Humpe
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.