@ myzyn (Gast)
>Na da hast dus dir ja schon selbst beantwortet.
>Synchrone Schnittstelle heißt, dass Takt und Daten es nicht leiden
>können nich synchron zu sein.
Jain. Aber ETWAS Verzögerung macht noch lange nix asynchron.
>> Nein.
>Bist dir da sicher.
Ja.
>Klar nicht für ALLE leitungen, aber wenigstens SCK auch auch das selbe
>delay verdient, finde ich.
Ich nicht. Der AVR ist Master, sendet also SCK.
Fall 1: nur einmal Verzögerung für MISO
Der AVR sendet die aktive Flanke von SCK, meist steigend, die läuft zum
anderen IC (wenige ns), dort wird nach der Verzögerungszeit ein Bit
ausgegeben.
Die nächste FALLENDE Flanke am AVR taktet die Daten ein, d.h. bei
maximalem SPI-Takt von CLK/2 ist der Abtand zwischen steigender und
fallender Flanke 1 CPU-Takt, hier 125ns. In dieser Zeit muss
SCK ausgeben (5ns)
SCK zum IC laufen (5ns)
Bit ausgeben (20ns)
Bit zuück laufen (5ns)
Verzögerung durch Pegelwandler (25ns)
Setup Zeit (10ns)
Mal ganz grob, 5ns Laufzeit sind ~1m Leitung. Macht in Summe 70ns. Das
reicht locker.
Wenn man nun noh eine Verzögerung in SCK einbaut, sieht das so aus
SCK ausgeben (5ns)
SCK durch Pegelwandler verzögern (25ns)
SCK zum IC laufen (5ns)
Bit ausgeben (20ns)
Bit zuück laufen (5ns)
Verzögerung durch Pegelwandler (25ns)
Setup Zeit (10ns)
Macht 95ns. hmmm