mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430F149 Kommunikation mit ADS1178 über SPI


Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo miteinander ich habe folgendes Problem:

Der ADS1178 ist ein A/D Wanndler der gleichzeitig 8 kanäle a 16 Bit 
Wandelt. Pro Wandlung fallen nun 8*16 = 128 Bit an Daten an die 
ausgelesen
werden sollen.

Ich möchte 128bit über die SPI Schnittstelle des MSP430F149 (Master) 
einlesen. Der ADS1178 wird mit dementsprechenden Mode beschaltet. Die 
Sampelrate beträgt 2kHz. D.h 2000*128bit = 256kBit/s die eingelesen 
werden müssen.

Folgende Probleme stellen sich:

1.) SPI Schieberegister und Buffer des MSP430F149 sind nur 8 bit breit.
2.) Der ADS1178 hat kein CS oder CE er besitz einen Pin, an dem eine
    Wandlung ausgelöst werden kann. Eine erfolgreiche Wandlung
    wird an einem weiteren Pin mit fallender Flanke(ähnlich Interrupt)
    angezeigt.
    Danach stehen die 128 Bit zur Verfügung und können nacheinander in
    Abhängigkeit des SCLK Clocks ausgelesen werden.


Nun meine Fragen:

1.) Kann man den SCLK Clock des MSP430F149 ausschalten um Zeit für das
    auslesen aus dem Empfangsbuffer zu haben?
2.) Falls die Lösung mittels SPI des MSP430F149 unmöglich ist, was wäre
    wenn der Takt mittels Timer hergestellt würde und die Daten über 
einen
    normalen I/O Pin des MSP430F149 eingelesen werden? Reicht die
    Geschwindigkeit des MSP430 getaktet mit 8Mhz aus um noch weitere
    "Arbeiten ausführen zu können? Zum Beispiel die Daten in einen
    externen Speicher zu schreiben?


Wäre für eure Einschätzung und euer Fachwissen dankbar!

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kann man den SCLK Clock des MSP430F149 ausschalten um Zeit für das
>auslesen aus dem Empfangsbuffer zu haben?
SCLK gibt's nur am ADS. Und der wird vom SPI CLK Ausgang vom MSP nur 
getaktet wenn er auch was am SPI Bus macht.

> was wäre wenn der Takt mittels Timer hergestellt würde
Welcher Takt?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab gerade mal das Datenblatt überflogen. Der SPI Modus sollte ganz gut 
passen. Das SYNC Signal kannst du per Timer generieren lassen, und dann 
wartest du auf die Low-Flanke des DRDY. Und dann sammelst du einfach 
deine 128 Bit ein. Musst halt dann 16 mal ein Dummy-Byte senden und 
jeweils 8 von den 128 Bit empfangen und aus dem Puffer holen.

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Besten Dank für eure schnellen Antworten.

Jetz ist mir einiges klar, ich habe etwas total falsch interpretiert.

Ich bin davon ausgegangen, dass der CLK für das SPI Interface immer 
ansteht! Nicht nur wenn etwas gesendet bzw. empfangen werden soll.

Somit sieht die Sache einfach aus!

Nochmals besten Dank!

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, der Chip hat ja 2 Takte. Einmal CLK und einmal SPICLK. CLK muss 
wohl immer anliegen, weil auch die Steuersignale dazu irgendwie synchron 
sind. SPICLK wird wie bei jeder SPI Schnittstelle nur aktiviert, wenn 
auch was geschoben wird.

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.