Forum: Mikrocontroller und Digitale Elektronik MSP430 SPI Abtastung parallel


von elektronius (Gast)


Lesenswert?

Ich bin im Moment dabei mit dem MSP430 eine Spannung abzutasten und sie 
dann per SPI an nen andern Controller zu übertragen. Leider kommen sich 
die SPI und Timer/ADC Interrupts immer in die Quere, d.h. durch das SPI 
Interrupt hab ich einen zu großen Jitter in meiner Abtastung.

Weiss jemand ne elegante Lösung für dsa Problem

von Falk B. (falk)


Lesenswert?

SPI ohne Interrupt, der ist bei SPI sowieso meist sinnlos, weil SPI sehr 
schnell ist.

MFG
Falk

von elektronius (Gast)


Lesenswert?

Danke schonmal Falk

Das Problem ist, dass mein Device der SPI Slave ist und ich ein 
Protokoll habe, bei dem das eigentliche Datenfeld mit meiner Info 
jeweils 4 mal die 8 bit vom SPI lang ist.

D.h. ich muss eigentlich mitzählen und die Datenpakete durchnummerieren

Gruß
Elektronius

von Falk B. (falk)


Lesenswert?

@  elektronius (Gast)

>Das Problem ist, dass mein Device der SPI Slave ist und ich ein
>Protokoll habe, bei dem das eigentliche Datenfeld mit meiner Info
>jeweils 4 mal die 8 bit vom SPI lang ist.

Dann lass dir was gutes einfallen, um SPI Zugriffe des Masters mit 
deinem ADC zu synchronisieren. Z.B. eine Messung direkt nach dem 
SPI-Zugriff, bei dem das Ergebnis der letzten Messung übertragen wird. 
Oder halt N ADC-Messungen nach dem SPI-Zugriff, welche dann halt im 
festen Zeitraster erfolgt. Alles andere wird schwierig, wenn gleich 
machbar.

MfG
Falk

von elektronius (Gast)


Lesenswert?

Das mit dem festen Zeitrahmen hab ich mir auch schon überlegt. die 
Baudrate vom Master ist allerding 100 kHz. Also ist der SPI schneller 
als das Sampling. Und wenn ich feste Timeslots definiere geht mir Info 
beim Abtasten verloren... eine Misere...

von Jörg S. (joerg-s)


Lesenswert?

>Weiss jemand ne elegante Lösung für dsa Problem
z.B.
- Höhere Taktfrequenz
- Kompakter (schneller) programmieren
- Nested Interrupts

von Falk B. (falk)


Lesenswert?

@  elektronius (Gast)

>Das mit dem festen Zeitrahmen hab ich mir auch schon überlegt. die
>Baudrate vom Master ist allerding 100 kHz.

Welche Baudrate? SPI hat sowas nicht, bestenfalls eine Taktfrequenz.

> Also ist der SPI schneller als das Sampling.

ist doch Spitze!

> Und wenn ich feste Timeslots definiere geht mir Info
>beim Abtasten verloren... eine Misere...

Hä?

von Falk B. (falk)


Lesenswert?

Bring mal Butter bei die Fische und nenne KONKRETE Zahlen. Siehe 
Netiquette.

MFG
Falk

von elektronius (Gast)


Lesenswert?

Taktfrequenz SPI: 100 kHz
Sampling Rate: ca 1 ms

und wie gesagt alle 4 mal 8 bits wird das Datenfeld wiederholt.
Da ich 4 Byte übertrage muss ich ja darauf achten, dass alle 8*1/100kHz
etwas beim Master ankommt.

von holger (Gast)


Lesenswert?

>eine Misere...

Da kommt man doch glatt auf die Idee alles
mit einem Controller zu machen. Externe
Controller per SPI oder I2C anzubinden ist immer
mit Schmerzen verbunden. Deshalb mach ich sowas auch nicht.
Reine Zeitverschwendung.

von elektronius (Gast)


Lesenswert?

Tja leider nicht anders möglich...

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.