Hi Leute! Mal eine generelle Frage: Ich habe einen uC, welcher als SPI-Slave fungiert und von einem anderen uC Daten bekommt. Die Taktfrequenz vom Slave beträgt 1MHz, der Master sendet über den SPI jedoch mit 1,8MHz. Ist es in dieser Konstellation überhaupt möglich, Daten zu empfangen? Der Takt vom Schieberegister des Slaves kommt ja vom Master. Theoretisch müsste es demnach doch gehen, oder? Vorausgesetzt, der Slave kommt mit dem Abholen der Daten aus dem RX-Puffer nach. Gruß
Da der MC unbekannt ist, viele MCs erlauben als Slave nur: SCK <= F_CPU/4.
Sorry! MSP430G2955 Hab aber nichts entsprechendes im DB gefunden.
Wird verdammt schwierig rechtzeitig das nächste vom Master zu lesende Byte bereit zu stellen, ohne das der Master Kunstpausen zwischen den Bytes macht.
Ein kleines Detail ... Normalerweise hat SPI einen Buffer von 1 Byte. Dh wenn das naechste da ist wird's ueberschrieben. Dh die erforderliche Responsetime ist die Uebertragungszeit von 1 Byte. Bedenkend, dass ein Interrupt mindestens besteht aus : Push program counter, push status, machwas, pop status, pop program counter, ist da nichts nichts mit maximaler Geschwindigkeit. Wenn das Ganze etwas Dampf haben soll, muss ein Controller mit internem DMA ran.
Was Du als clk beim Slave einstellst, ist irrelevant. Wie Du schon sagst: der Slave wird vom Master mit der clk versorgt. Der clk-Wert des Slaves wird nicht verwendet. Gruß Stefan
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.