www.mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Frage zur SPI beim BF532


Autor: joern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

im Moment entwerfe ich gerade eine Platine für einen Blackfin. Dabei 
möchte ich sowohl die PPI vollständig nutzen als auch drei SPI-Slaves 
auswählen können. Ein weitere Pin des GPIO geht für einen Interrupt 
drauf.
Da dann nur noch zwei Pins zur Auswahl der SPI-Slaves zur Verfügung 
stehen, wollte ich diese über drei AND- und zwei NOT-Gatter multiplexen. 
Geht das überhaupt? Das Slave-Select-Register (heißt wohl anders) läßt 
die gleichzeitige Auswahl mehrerer Slaves zu, was mich vermuten läßt, 
dass dann auf mehreren Pins ein ChipSelect gleichzeitig ausgeführt wird, 
es sich also multiplexen lassen müsste. Wie kritisch sind dabei 
Gatterlaufzeiten? Gerade da ich eine Minimalbeschaltung mit eben diesen 
fünf Gattern vorgesehen hatte und dadurch die Signale teilweise durch 
die NOT-Gatter verzögert werden, was vielleicht kurzzeitig falsche 
CS-Signale bedingt.

Vielen Dank,
joern

Autor: Christian G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

noch so einer;-) Bin auch gerade dabei so ein Board zu machen.

Zum SPI-Timing: das ist alles sehr schön im Datenblatt (S.37) und 
Hardware-Manual zum BF532 beschrieben.
Simultanes Aktivieren mehrerer SPISELs geht, das nennen sie dann 
Broadcast Mode. Das Select wird mindestens eine halbe (CPHA=0) und 
maximal eine ganze (CPHA=1) SCK-Periode vor der aktiven SCK-Flanke 
ausgelöst. Zwischen zwei aufeinanderfolgenden Transfers wird das Select 
für eine halbe SCK-Periode inaktiv.
D.h. deinem Slavedevice muß im worst case die Zeit für ein halbes pSCK 
(z.B. 25ns bei 20MHz) minus der Gatterlaufzeit (ca. 15ns bei 74lvx139) 
genügen um einen Transfer zu erkennen. Wenn das nicht reicht, setzt du 
entweder CPHA=1 und/oder machst pSCK länger und/oder nimmst einen 
schnelleren Decoder.

(DISCLAIMER: Soweit die Theorie, du hast aber gute Chancen, daß das in 
der Praxis auch so funktioniert.)

Gruß,
Christian.

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.