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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.