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
SPI ohne Interrupt, der ist bei SPI sowieso meist sinnlos, weil SPI sehr schnell ist. MFG Falk
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
@ 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
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...
>Weiss jemand ne elegante Lösung für dsa Problem
z.B.
- Höhere Taktfrequenz
- Kompakter (schneller) programmieren
- Nested Interrupts
@ 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ä?
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.
>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.
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.