Hallo zusammen, ist es möglich, bei AVR Controllern die nicht doppelt gepufferte Ausgangsregister für SPI haben, dauerhaft, also ohne Lücke in der Übertragung zu senden ? Bei nicht doppelt gepufferten entsteht doch immer eine Lücke, in der das zu sendende Byte aus dem Register (schlimmsten falls sogar erst noch aus dem RAM) in den SPI Puffer geladen wird oder? Kann man nicht irgendwie den Puffer des SPI umbiegen auf andere Adressen, das wäre super :) Vielleicht über den Umweg das man SPI in Software macht ?!? Grüße Daniel
Hi >in der das zu sendende Byte aus dem Register (schlimmsten falls sogar erst >noch aus dem RAM) in den SPI Puffer geladen wird oder? Schon mal nachgedacht, wie lang so etwas dauert? Wie hoch ist denn dein SPI-Takt? MfG Spess
Controller Takt ist 16 MHZ, SPI die Hälfte, also 8MHZ. Hab mir ausgerechnet, dass ich 16 Takte frei hab, während das SPI Register rausgeshiftet wird. Idealer weise würde ich gerne 512 Bytes am Stück rausshiften, ohne Pause dazwischen.
> Vielleicht über den Umweg das man SPI in Software macht ?!?
Ja, das ist sicher schneller, wenn du die Daten aus dem RAM holst und
dann nicht an die Hardware-SPI gibst, sondern selber per Software
versendest. Oder, was denkst du... :-/
Hi >Hab mir ausgerechnet, dass ich 16 Takte frei hab, während das SPI >Register rausgeshiftet wird. Ist doch jede Menge Zeit. >Idealer weise würde ich gerne 512 Bytes am Stück rausshiften, ohne Pause >dazwischen. Und wohin? MfG Spess
@ Daniel Platte (zerrome) >Idealer weise würde ich gerne 512 Bytes am Stück rausshiften, ohne Pause >dazwischen. Geht nicht, der AVR braucht zwischen den Bytes mind. 2 Systemtakte Pause. Hab ich live getestet. MfG Falk
@ Falk Schade, diese 2 Takte kommen wahrscheinlich vom "nachladen" des SPI Puffers? Wobei ich mit 2 Takten eigentlich auch leben könnte. Hast Du das auch mit doppelt gepufferten AVR's getestet? Hm dabei seh ich grad, gibt es überhaupt doppelt gepufferten output SPI bei AVR's? @spess53 Das soll zu einer MMC/SD Karte. Die würde ich halt gerne so schnell wie möglich ansprechen. Mit rausshiften meinte ich quasi senden ^^ Aber nicht nur für diese Anwendung wäre es toll wenn man lückenlos mit SPI senden könnte... Grüße Daniel
@ Daniel Platte (zerrome) >das auch mit doppelt gepufferten AVR's getestet? Welche sollen das sein? Doppelt gepuffert ist und der RX-Teil. > Hm dabei seh ich grad, >gibt es überhaupt doppelt gepufferten output SPI bei AVR's? Afaik nein. >Aber nicht nur für diese Anwendung wäre es toll wenn man lückenlos mit >SPI senden könnte... Es gibt Leute, die mit einem AVR und SPI ein Videosignal erzeugen, dort stört es scheinbar auch nicht wirklich. Für die SD-Karter ist es vollkommen egal. MFG Falk
Hi >> Hm dabei seh ich grad, >gibt es überhaupt doppelt gepufferten output SPI bei AVR's? >Afaik nein. Stimmt so nicht ganz. Bei USARTs mit SPI-Mode ist die Pufferung definitiv vorhanden. Allerdings haben die keinen Slave-Mode. MfG Spess
Ah, das wäre eine Option, USART im SPI mode, danke. Slave mode brauch ich nicht... Grüße Daniel
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.