Hallo ich plane die Programmierung zur parallelen Datenübertragung von 14 bit IQ Paaren an einen digitalen Upconverter. Dieser ist ein Slave und wird über den MSP430F2013 programmiert. Vom Slave wird der Takt von 1MHz zur datenübertragung gesendet, es sollen entweder nur 14 Bit IWere oder 28 Bit IQ Paare übertragen werden. Die Daten müssen anliegen, wenn ich einen Controlpin des Slaves high setze taktet dieser die Bits mit der rising edge des 1 MHz Taktes. Ich weiss nur nicht wie ich das Timing jetzt genau programmieren soll, bis ich den Controlpin wieder auf low setze, um die Übertragung zu beenden. Es müssen ja 14 oder 28 Takte vergehen. Meine Ideen sind einfach 14 oder 28 Zeitzyklen zu warten oder über den Portinput die Rising edges des taktes vom Slave zu zählen und bei Erreichen der Anzahl den Controlpin auf 0 zu setzen. Ich weiss aber nicht, ob ich das mit dem Systemtakt des MSP genau synchronisiert bekomme. Da ich den MSP auch zur seriellen Programmierung über SPI benutze läuft der DCO auf 1 MHZ und ich teile ihn auf 32 kHz für den SPI-Takt. Ich müsste ja den Systemtakt möglichst hoch konfigurieren, ich kenn aber auch nur die Einstellung des DCOs die ich nicht ändern möchte. Wie stell ich das jetzt am besten ein oder programmiere am elegantesten? Denke mal, dass hier Fachleute sind, die mich hier unterstützen können, im Anhang ist mal das Datenblatt des Slaves. Danke schon mal
Schau dir mal im User Guide die Möglichkeiten der Timer-Blöcke mit den Capture/Compare Einheiten in Verbindung mit den Output Units an. Du kannst den Takt vom Slave, also die 1MHz zu dem deine Daten synchron sein müssen, als Timer-Takt extern anlegen. Wenn du dann die CCR geschickt einstellst, und die Uutpu-Units samt Interrupts benutzt, kannst du mit minimalem CPU-Zutun das Übernahmesignal generieren und durch den Interrupt deine Daten bereitstellen. Ist auf den ersten Blick bissl kompliziert, aber im User Guide sind viele Grafiken und Timing-Diagramme drin, das macht es verständlich. Die CPU würd ich dann mit dem höchstmöglichen Takt laufen lassen. Aber so ganz hab ich den Chip und dei Posting noch nicht verstanden. SPI Mode Programmierung ist klar, wie jede andere SPI auch, geht auch schön fix. Aber MUSS man den Parallel-Mode auch nehmen? Und wieso taktet der Slave dann mit 1MHZ irgendwas aus? Der Takt kommt eigentlich immer vom Master....und wo willst du die 14 Bits eigentlich bereitstellen? Hat denn der 2013 so viele Pins? Das ist doch so nen ganz kleiner....
Der 2013 hat genau 14 Pins - das OP ist leider etwas mysteriös...
Sorry ist verwirrend von mir beschrieben, die 14 Bit werden später nicht über den MSP übertragen, sondern extern, es geht mir nur um die Kontrollprogrammierung
Na jetzt sind auch noch die letzten Klarheiten beseitigt...
Also du willst mit dem MSP den Chip einstellen (per SPI) und auch das Steuersignal für die (woher auch immer) kommenden parallelen Daten bereitstellen? Hmm..naja, ob das sinnvoll ist? Ich würd das Steuersignal lieber vom Sender der 14 Bit generieren lassen. Sonst wird´s schwierig das zu synchronisieren. Eine kleine Skizze über den gewollten Aufbau wäre hilfreich.
Naja das ist genau die Problematik, die gesamte Programmierung(Kontrolle und Datengenerierung) soll am Ende über einen DSP geschehen. Dieser wird aber von einem anderen Kollegen designt. Um meinen Chip zu testen habe ich halt die MSP Variante gewählt. Der letzte Schritt wäre jetzt die Datenübertragung zu testen, d. h. der DSP ist soweit 14 Bit Daten zu genrieren, die über einen Wannenstecker zu meinem Chip gelangen. Ich wollte halt die kontrolle jetzt noch mit dem MSP realisieren(also TXenable Pin high setzen, 14 Bit vom DSP übernehmen und TXenable wieder auf low) Am Ende ist das sicher blöd, da ich mein Programm auf den DSP umportieren muss, aber das ging halt erstmal nicht anders. Die Variante direkt alles mit dem DSP zu steuern ist sicher unkomplizierter.
Mir ist immer noch nicht klar, wie du mit dem MSP430F2013 14 bit parallel generieren willst, wo der ganze Chip doch nur 14 Beine hat. Hast du da ein Schiebregister als Serien-Parallelwandler dran?
Lass das mal lieber den DSP machen, schließlich müssen die Daten ja zu den Steuersignalen passen. Du kannst nicht einfach den DSP seine Daten unkontrolliert rausblasen lassen, und mit einem völlig anderem (sowieso viel zu langsamen) Controller die Steuersignale dazu erzeugen.
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.