Forum: Mikrocontroller und Digitale Elektronik Verständnisfrage zur Setup / Delay time eines SPI Slaves


von Thomas W. (thomas7829634)


Lesenswert?

Hallo,

ich habe in den Datenblättern von einigen SPI ADCs gesehen das die setup 
/ delay Zeit größer als die halbe Taktperiode (bei maximalem Takt) ist. 
Bei einem "normalen" SPI Master, der die Daten an der nächsten Flanke 
einlesen wird, wäre das ja schon zu lang. Und eigentlich müsste ich ja 
noch Reserve für Jitter, Signallaufzeit, Setupzeit des Masters usw. 
einbauen.

Beispiel ADS7952:
Um den maximalen Durchsatz von 1Msps zu erreichen muss der SPI mit 20MHz 
laufen. Bei 3,3V (Recommended Operating Conditions) ist "td2 Delay time, 
SCLK falling to SDO next data bit valid" max. 27ns. Eine Halbe 
Taktperiode ist aber nur 25ns lang.
Man könnte natürlich vesuchen die Daten eine Flanke später zu lesen, 
aber dann bekommt man es mit der Holdzeit von nur 5ns zu tun.
Außerdem würde ein normaler SPI Master dann auch an der Flanke schreiben 
an der der ADC die Daten einliest.

Noch ein Beispiel wäre der ADS8638.
Da passt es auch bei 5V mit 25,3ns / 20MHz nicht. Holdzeit ist auch hier 
5ns.

Verstehe ich hier etwas grundsätzlich Falsch?
Oder ist es einfach so dass der angegebene Maximaltakt nur unter 
bestimmten Bedingungen (z.B. das der Master eine Kompensationmöglichkeit 
für Laufzeiten hat) erreichen kann?

Viele Grüße,
Thomas.

von Purzel H. (hacky)


Lesenswert?

Nein, du versteht das vollstaendig richtig. Wenn der Slave nicht ready 
ist, bis du zu schnell. Deswegen gibt es ja auch interrupts ... da sagt 
dir das Device wenn es ready ist.

Also per Delay, welcher Art auch immer, kann auch ein NOP sein, oder per 
interrupt arbeiten. Oder den Takt verlangsamen.

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.