Forum: Mikrocontroller und Digitale Elektronik SPI: MOSI und MISO an verschiedenen Slaves


von Bert (Gast)


Lesenswert?

Hallo,
ich möchte einen ADS8320 ADC sowie einen DAC8501 DAC am SPI eines 
STM32F407 betreiben. Spricht eurer Meinung nach etwas dagegen, die 
Beschaltung der Tschipps wie folgt zu machen:

STM MOSI -> zum DAC
STM MISO <- vom ADC
STM SCK -> zum DAC und ADC parallel
STM SS -> zum DAC und ADC parallel

meiner Meinung nach sollte es funktionieren, das einzige was Mist ist, 
ist dass der STM nur max. 16 Bits pro SPI Frame übertragen kann, was in 
diesem Fall nicht reicht (und man muss daher 3x einen 8 Bit Transfer 
machen).

Ich stelle es mir softwareseitig dann so vor, dass man in das SPI 
Datenregister das neue Datenwort für den DAC rein schreibt, und nach 
Beendigung des kompletten Transfers kann man das vom ADC gewandelte 
Datenwort zurückholen.

Sollte gehen oder?

Gruss.

von (prx) A. K. (prx)


Lesenswert?

Bert schrieb:
> Ich stelle es mir softwareseitig dann so vor, dass man in das SPI
> Datenregister das neue Datenwort für den DAC rein schreibt, und nach
> Beendigung des kompletten Transfers kann man das vom ADC gewandelte
> Datenwort zurückholen.

Du kannst SPI nicht schreiben ohne zu lesen und nicht lesen ohne auch zu 
schreiben. Wenn du also den ADC lesen willst, dann musst du den DAC 
schreiben.

von ArthurDent (Gast)


Lesenswert?

Warum spendierst Du nicht 2 SS und schliesst MISO, MOSI uns SCK an beide 
Devices an?

Dann haettest Du sogar noch die doppelte Bandbreite zur Verfuegung.

von (prx) A. K. (prx)


Lesenswert?

ArthurDent schrieb:
> Warum spendierst Du nicht 2 SS und schliesst MISO, MOSI uns SCK an beide
> Devices an?

Weil der ADC kein MOSI hat und der DAC kein MISO. ;-)

von Björn P. (bjrn_g)


Lesenswert?

Der wirkliche Schaltplan wäre wohl am aussagekräftigsten...

von Pandur S. (jetztnicht)


Lesenswert?

Gewisse SPI Devices halten sich nicht an die ueblichen SPI 
Vorstellungen.
Es gibt Devices, da muss man das CS waehrend dem letzte Bit wegnehmen...

Zudem ist SPI nicht SPI.
Es gibt verschiedene Modi, mit Daten auf die steigende, resp fallende 
Flanke.

Dh man muss die Datenblaetter sehr genau studieren.

von Bert (Gast)


Lesenswert?

@A.K.: jup, ist mir klar. Wird aber in meinem Anwendungsfall sowieso 
immer so sein - mich interessiert der ADC eh nur dann, wenn der DAC 
geschrieben wird.

wo ich aber nicht 100%ig sicher bin ist bei CPOL und CPHA, aber ich 
meine es müsste passen...

von Bränko (Gast)


Lesenswert?

Hi Bert,

elektrisch sehe ich da kein Problem.

CPOL und CPHA müssen aber passen. Schau mal hier: 
http://de.wikipedia.org/wiki/Serial_Peripheral_Interface -> Bild3; steht 
alles drin was man zu SPI CPOL und CPHA wissen muss.

Viel Erfolg,
Bränko

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.