mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mit MSP430F2013 parallele Datenübertragung programmieren


Autor: Christoph Beyer (beyarea)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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....

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der 2013 hat genau 14 Pins - das OP ist leider etwas mysteriös...

Autor: Christoph Beyer (beyarea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na jetzt sind auch noch die letzten Klarheiten beseitigt...

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Christoph Beyer (beyarea)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Uhu Uhuhu (uhu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.