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
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.
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.