Forum: Mikrocontroller und Digitale Elektronik Arduino - minimum Clock für SPI


von Peter (Gast)


Lesenswert?

Hallo,

ich arbeite mich gerade in einen Arduino UNO ein und benötige dabei den 
SPI Treiber, um meinen Hardware-Slave anzusteuern. Dieser Slave verträgt 
aber nur 30 kHz am SPI maximal.

Kann ich so einen geringen SPI-Takt am Arduino überhaupt erzeugen?

Falls nicht, welche Alternativen gibt es (unter Verwendung des Arduino)?

Vielen Dank!
Peter

von Stefan F. (Gast)


Lesenswert?

> Kann ich so einen geringen SPI-Takt am Arduino überhaupt erzeugen?

Laut Datenblatt des ATmega328 kann man den Prescaler auf 2,4,8,16,32,64 
und 128 einstellen. 8MHz / 128 = 62,5kHz

> Falls nicht, welche Alternativen gibt es (unter Verwendung des Arduino)?

Die Kommunikation "zu Fuß" per Software machen, nennt man auch 
Bit-Banging.

von Einer K. (Gast)


Lesenswert?

Der Oszillator/Taktgenerator hat auch noch einen Prescaler.
Also dort ein DIV4 dann sollte man doch unter 30kHz kommen.

Außerhalb der Kommunikation kann man dann ja wieder hoch auf 16MHz 
gehen.

von Stefan F. (Gast)


Lesenswert?

Guter Ansatz. Mir fällte gerade auf, dass ich oben von 8MHz ausgegangen 
bin, aber die meisten Arduino Boards werden mit 16MHz getaktet.

Ich mach wohl schon zu lange mit 3,3V rum dass ich mich so an die 8MHz 
gewähnt habe.

von Rudolph (Gast)


Lesenswert?

Stefan U. schrieb:
> Ich mach wohl schon zu lange mit 3,3V rum dass ich mich so an die 8MHz
> gewähnt habe.

Die Mega328 können bei 3,3V mit 13,33MHz betrieben werden ohne die "Safe 
Operating Area" zu verlassen. :-)

von Peter (Gast)


Lesenswert?

Arduino F. schrieb:
> Der Oszillator/Taktgenerator hat auch noch einen Prescaler.
> Also dort ein DIV4 dann sollte man doch unter 30kHz kommen.

Das funktioniert mit dem CLKPR-Register sehr gut.

Vielen Dank an Alle.

Gruß Peter

von Einer K. (Gast)


Lesenswert?

Schön, dass es klappt.

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.