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


von tom (Gast)


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!

von Jörg S. (joerg-s)


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?

von Christian R. (supachris)


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.

von tom (Gast)


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!

von Christian R. (supachris)


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.

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
Noch kein Account? Hier anmelden.