Hallo Community! Ich möchte hier 3 Prototyping Platinen für den DSP PCM3070 von Texas Instruments verkaufen! Meine Version ist mit der von "Borsty Bürste" kompatibel. Preis: 5€ pro Stck. (inkl. Versand) mfg Maximilian Falls interesse an den Bauteilen besteht, kein Problem, hab alles auf Lager.
Hi Maximilian, wolltest du nicht SPI rausführen? Das sind ja 1:1 Kopien von meinen Platinen, abgesehen vom fehlerhaften Bestückungsdruck. Wieso hast du nicht gleich den 12.288MHz Oszillator mit drauf gepackt wenn du es eh schon neu machst? Das war an meinem Layout eigentlich das nervigste Problem (steht auch in meinem Originalthread). Zu deiner Frage: Selbstverständlich kannst du den PCM3070 über I2S deines Arduinos steuern. Du musst nur aufpassen dass die Pullups auf 3V3 liegen und nicht auf 5V. Besser nochmal messen bevor du es anschließt. Ansonsten kein Problem. EDIT: der Original Thread findet sich hier: Beitrag "[V] Verkaufe PCM3070 DSP Boards"
:
Bearbeitet durch User
Hi! Kannst du mir vielleicht erklären was es sich mit dem 12.288 Oszi auf sich hat?
Du hast in jedem digitalen Audiosystem einen Masterclock. Aus diesem teilt sich dann der Wordclock, Bitclock, usw. herunter. Manche Geräte können den Masterclock selbst erzeugen, andere berechnen ihn auf Basis des Bitclocks. Dieser IC braucht ihn aber (wie die Meisten anderen Codes auch) extern zugeführt. Als ich die PCB's erstellt habe war ich der Meinung dass man diesen Masterclock nur braucht wenn man auch digitale Signale verarbeiten möchte. Leider wird der aber intern auch für den AD / DA Wandler benötigt. Also brauchst du den Clock auch bei Analog in / Analog out. Sprich der IC arbeitet nur wenn man Masterclock Pin ein Takt mit 12.288 Mhz anliegt. (daher ergibt sich auch die Samplingrate von 48kHz -> 48kHz * 256 = 12.288Mhz).
Also ist es Praktisch nur wie bei einem Microcontroller: Quarz ranhängen und über Kondensatoren auf GND?
Maximilian K. schrieb: > Also ist es Praktisch nur wie bei einem Microcontroller: Quarz ranhängen > und über Kondensatoren auf GND? Nein. Lies dich mal ein was ein PCM Signal ist und aus welchen Teilen es besteht. Du brauchst einen Quarzoszillator mit 12.288 MHz für 3,3V.
Du hasts ja schon erklärt, oder? Das mit dem Teiler und den 48kHz? Ich möcht ja jetzt erstmal auf dem PCM via SPI schreiben können! Der Quarz ist nur für die DA und AD Wandler notwendig, oder? Ist der Oszillator auf meinem Screenshot ausreichend? Ich muss doch dann die 3V3 an den Spannungsregler auf der Platine, den GND auf Masse und den Out einfach an die WCLK? Ich hab jetzt Grad eine Software im Programmieren, die die *.cfg Datei entweder via RS232 nacheinander auf den Chip sendet (durch den Arduino) oder einfach nur eine *.HEX generiert!
Maximilian K. schrieb: > Du hasts ja schon erklärt, oder? Das mit dem Teiler und den 48kHz? Naja da gibt es schon noch einiges mehr zu erklären und lernen. > Ich möcht ja jetzt erstmal auf dem PCM via SPI schreiben können! Das wundert mich ja, die SPI Schnittstelle hast du ja gar nicht herausgeführt. Willst du jetzt I2C oder SPI verwenden? > Der Quarz ist nur für die DA und AD Wandler notwendig, oder? Nein, lies mal bitte meinen Post von vorher nochmal. > > Ist der Oszillator auf meinem Screenshot ausreichend? Ja. > Ich muss doch dann die 3V3 an den Spannungsregler auf der Platine, den > GND auf Masse und den Out einfach an die WCLK? Wieso WCLK? Überleg mal nochmal ob es nicht auch ein anderer Clock sein könnte ;-) > Ich hab jetzt Grad eine Software im Programmieren, die die *.cfg Datei > entweder via RS232 nacheinander auf den Chip sendet (durch den Arduino) > oder einfach nur eine *.HEX generiert! Welche .cfg Datei? Was willst du mit einer Hex? Aber ok :) Cool :)
:
Bearbeitet durch User
Also das mit der CLK muss ich dann nochmal nachlesen... Dann nehm Ich halt I2C ;-) Die config datei, die man oder PurePath Software erstellt mein ich! Wie bringst du die auf deinen PCM?
Maximilian K. schrieb: > Die config datei, die man oder PurePath Software erstellt mein ich! > > Wie bringst du die auf deinen PCM? Achso, oh Gott... fang erstmal klein an. Im Datenblatt sind ein paar Befehle aufgeführt um grundlegend das Teil zum laufen zu kriegen. Übrigens lädt man keine Programme in den PCM3070, man konfiguriert diesen nur und setzt die Register so wie man es möchte.
Das war mir klar mit den Registern und den Data Werten... Meinst du die 3 Beispiele ganz hinten?
http://www.ti.com/lit/ug/slau332/slau332.pdf Ab Seite 67... Seite 57 ist auch sehr wichtig. Die Clock Divider musst verstehen um das Teil sinnvoll betreiben zu können. Im Grund kannst du das App. Manual so lange lesen bis davon träumst ;-) Viel Spaß.
Das hab ich gemeint! Wo muss ich den Oszi jetzt anschließen? An BCLK? Danke!
Maximilian K. schrieb: > Wo muss ich den Oszi jetzt anschließen? An BCLK? Der Oszillator ist der Masterclock also gehört der an den MCLK! Hättest aber auch selbst gemerkt wenn du dich mal mit dem Thema PCM auseiandergesetzt und Wikipedia dazu bemüht hättest ;-)
Hallo! Also der Oszillator ist bestellt. Mein anderes Problem jetzt: hab die Platine fertig gelötet und bestückt (der PCM3070 wurde durch einem Fachmann eingelötet) und hab statt 2x 4,7k, 4,7 Ohm verwendet! So jetzt wo ich Jumper 2 Geschlossen hab, hats gezischt... Der Chip ist kaputt, oder? Kann ich iwie einen einfachen Funktionstest durchführen?
Maximilian K. schrieb: > 4,7k, 4,7 Ohm verwendet! So jetzt wo ich Jumper 2 Geschlossen hab, hats > gezischt... > > Der Chip ist kaputt, oder? Du hast nicht arg viel Ahnung von Elektronik, stimmt's? Nicht bös gemeint aber schau dir den Schaltplan doch mal an und sag uns welches Bauteil in diesem Fall kaputt geht. Übrigens: Unabhängig davon, pass auf welchen Jumper du steckst!! Mit den Jumpern wählst du die Spannungsquelle für den LDO. Je nachdem was du im PCM3070 konfiguriert hast macht's nämlich wirklich "Zisch". Und wenn du jetzt zwischen den Zeilen liest dann wird dir auch bewusst dass du den PCM3070 in der Tat durch "falsche" bzw. unachtsame Programmierung vernichten kannst. Ich spreche aus Erfahrung. Also, wenn es an die LDO's geht, egal ob via SW oder via Jumper, immer nochmal checken und das Datenblatt prüfen.
Naja sagen wir mal so: mit einem DSP hab ich noch nie was zu tun gehabt... aber ich kenn mich schon soweit aus um einige Dinge in Sachen Elektronik basteln zu können. Mein letztes Projekt war eine RGB Matrix mit WS2803 oder z.b einen Funktionsgenerator. Datenblatt les ich morgen nochmal durch. Kannst du mir vielleicht eine einfache "Schaltung" zeigen um zu wissen: Ja der PCM3070 spricht mit mir!
Maximilian K. schrieb: > Mein letztes Projekt war eine RGB Matrix > mit WS2803 oder z.b einen Funktionsgenerator. Welches Bauteil hat denn dann in deinem Fall "zisch" gemacht und warum? > Kannst du mir vielleicht eine einfache "Schaltung" zeigen um zu wissen: > Ja der PCM3070 spricht mit mir! Ein ACK auf dem I2C Bus?!
Also ich hab bloß kurz den Strom drauf gehabt..., also der Widerstand kanns glaub ich nicht gewesen sein... ich Messe ihn morgen aber trotzdem nochmal nach, um das auszuschließen. Dann bleibt ja nur der Controller noch übrig. Ich meinte mit Schaltung die Belegung der Jumper, bzw. die Geschichte mit den Oszi. Beim I2C passiert folgendes in Dauerschleife: -Start -Adresse (0x30) -Register (0x00) -Stop -Start Read -Adresse (0x30) -Warten bis 1 Byte gesendet wurde -ausgeben auf Terminal Wenn alles funktioniert muss ich doch den Arduino nur mit folgenden Pins auf dem Board verbinden: SCK, SDA, GND, +5V. Was ist jetzt mit den Jumpern, bzw. MCLK?
Maximilian K. schrieb: > Dann bleibt ja nur der Controller > noch übrig. Wieso? Du hast durch den 4,7 Ohm Widerstand etwa 700mA bzw. das was der LDO hergibt durchgejagt. Das sind etwa 2W. Kurz hält er es aus, wir reden hier aber von Millisekunden. Wieso sollte der PCM3070 dabei schaden nehmen? > Ich meinte mit Schaltung die Belegung der Jumper, bzw. die Geschichte > mit den Oszi. Welches Oszi? Welche Geschichte? > Beim I2C passiert folgendes in Dauerschleife: > -Start > -Adresse (0x30) > -Register (0x00) > -Stop > -Start Read > -Adresse (0x30) > -Warten bis 1 Byte gesendet wurde > -ausgeben auf Terminal Kriegst du ein Ack oder nicht? Scheinbar schon, aber so ganz schlau werde ich daraus nicht. Welches Terminal meinst du denn? Ganz schön wirr alles. > Wenn alles funktioniert muss ich doch den Arduino nur mit folgenden Pins > auf dem Board verbinden: SCK, SDA, GND, +5V. ?? > Was ist jetzt mit den Jumpern, bzw. MCLK? Die Sonnen sich in der Karibik. Was soll mit denen sein?
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.