Forum: Mikrocontroller und Digitale Elektronik SPI ueber digitale IOs nachbilden


von Oli (Gast)


Lesenswert?

Hallo zusammen,

ich wuerde gerne ein SPI Interface via digitale IO Portpins nachbilden 
(1 Pin für SCK, 1 Pin für CS, 1 Pin für SO und 1 Pin für SI). Hat jemand 
so was schon gemacht ?

Gruß Oli

von jack (Gast)


Lesenswert?

>Hat jemand so was schon gemacht ?

Natürlich. Was macht Dir denn dabei Schwierigkeiten?

von Oli (Gast)


Lesenswert?

Hallo jack,

hab so was noch nie gemacht. Clock soll 4MHz sein. Ist das nicht ein 
kleines Problem ?
Wie kann den der Code für sowas aussehen ?

Z.B.
Clockpin = low;
Zeit warten
Clockpin = high;
SOpin = low;
SIpin abfragen ?
// wiederholen


Gruß
Oli

von Klaus (Gast)


Lesenswert?

Ja, das Prinzip is schon richtig. 4 Mhz wird vermutlich schwierig. 
Welchen Controller benutzt du und bei welcher Frequenz?

von crazy horse (Gast)


Lesenswert?

so in der Art - wie es eben die Gegenstelle haben will.
Ist natürlich langsamer als ne Hardeware-SPI und belegt den MC komplett 
während der Übertragungszeit, aber ansonsten gibts da keine Problem oder 
Einschränkungen.

von jack (Gast)


Lesenswert?

>Clock soll 4MHz sein. Ist das nicht ein kleines Problem ?

Nein.

Von welchem Slave wolltest Du jetzt etwas einlesen?

von Oli (Gast)


Lesenswert?

Hallo zusammen,

also der Controller hat 64MHz. Der Slave ist ein Positionssensor.
Wie kann ich die Zeit realisieren bei 4MHz zwischen dem Pin toggeln.

Gruß
Oli

von Klaus (Gast)


Lesenswert?

64Mhz / 4 Mhz = 16 Takte zeit pro Bit. Mach dir keine Gedanken über die 
Zeitverzögerung zwischen den Bit sindern darüber alles in 16 Taktcyclen 
unterzubringen. :)

von jack (Gast)


Lesenswert?

>Wie kann ich die Zeit realisieren bei 4MHz zwischen dem Pin toggeln.

Das hängt von der Anzahl der Zyklen ab, die Dein Prozessor für
set Bit und clear Bit usw. braucht. Aber mit einem 64Mhz-Prozessor
sollte das kein Problem sein. Außerdem kannst Du ja jederzeit langsamer
sein.

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.