msp430: Binärsequenz ausgeben @ 2Mhz

Gast #1054805
Lesenswert?

Liebe Forumgemeinde,

Versuche mit einem MSP430 (8Mhz) ein Sender für ein DSSS-System zu 
realisieren. Dazu sollte dieser eine Binäre (PRN) Codesequenz bei 
2.047Mhz, der Länge 2047*1000 ausgeben. Wenn möglich externer Clock.

Da bei DSSS nur zwei "Muster" der Länge 2047 existieren, bieten sich die 
DMA-Kanäle an.

Meine Idee war, dass ich pro Muster der Länge 2047 einen DMA Kanal 
nutze. Anschliessend kann "nur" noch zwischen den Kanälen gewechselt 
werden.

Problem(e):
Single-Modus: Maximale Geschwindigkeit bei 1.25Mhz, oder gehts 
schneller?

Block Transfer: CPU Auslastung 100%! (wesshalb eigentlich?), dadurch 
kann nicht nahtlos zwischen den Kanälen gewechselt werden.

Burst-Block Modus: Unbrauchbar, da nach jedem 4te Byte ein Unterbruch 
entsteht.

Hat jemand eventuell eine Idee, Vermutung oder ein Lösungsansatz?

...oder gleich ein FPGA?
Persönliche Seite #1054866
Lesenswert?

Naja, SPI böte den Vorteil, daß eben nur alle 8 Bits lang ein Byte per 
DMA übertragen werden muss.

Der DMA-Controller müsste dann so programmiert werden, daß er vom 
SPI-Sende-Register gesteuert das nächste Byte heranholt; die 
Taktsteuerung wird somit vom SPI übernommen.

Habe das selber noch nicht gemacht, würde es aber in etwa so ablaufen 
lassen:

DMA im Single-Transfer-Modus, als Trigger wird 0100 in DMAxTSELx 
verwendet.

Möglicherweise ist es sinnvoll, den SPI im Slavemode laufen zu lassen, 
denn dann kannst Du einen externen Bittakt nutzen. Die 
DMA/SPI-Ablaufsteuerung sollte dann trotzdem so funktionieren.

Einziger Nachteil, den ich sehe: SPI-Transfers sind immer 8 Bit lang, 
daher wird es problematisch, 2047 Bits zu übertragen.
Gast #1054903
Lesenswert?

Vielen Dank für deine Inspiration und die ausführliche Anleitung!

Das mit den 8 Bits scheint ein Problem zu sein :/

Falls es keine andere Möglichkeit gibt, passe ich entweder mein System 
auf 2048 Bits an oder ich wähle einen anderen Controller. Bei 2048 
könnte ich dann keine m-Sequenz wählen :/ ...im Hinblick auf CDMA (bei 
mehreren Sendern), ist es schade diesen Standard zu verwerfen.

Mal schauen, jedenfalls vielen herzlichen Dank für deinen Input!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren