Forum: Mikrocontroller und Digitale Elektronik Software SPI Slave?


von Hans-Martin (Gast)


Lesenswert?

Hi,
in meinem System gibt es einen AT324p der SPI Master über ein paar 
Bausteine ist. Allerdings soll der µC in einem zweiten SPI Bus als Slave 
hängen. Leider habe ich keine Uart oder SPI Pins mehr frei, sondern nur 
noch Pin Change Interrupts. Ist es möglich darüber eine Software SPI zu 
implementieren / realisieren ?

Oder gibt es sowas schon ?

Vielen Dank
Hans

von Hans-Martin (Gast)


Lesenswert?

keiner eine Idee ?

von Tauwetter (Gast)


Lesenswert?

Du könntest die Hardware SPI für die Slave-Funktion benutzen und den 
Master per Software realisieren. Dann sollte es keine Probleme mit dem 
Timing bei hohen Taktraten geben.

von Hans-Martin (Gast)


Lesenswert?

Hi Tauwetter (mei wär des schee) :-)
des würde ich tun, wenn die zweite SPI net zusätzlich rein gezogen 
werden sollte an GPIOs in die bestehende Hardware.

von GG (Gast)


Lesenswert?

Servus,

Der Atxmega32a4 ist dafür bestens geeigned. 2 mal SPI. Code nicht 
schwieriger als bei herkömmlichen Atmegas. Leider nur mit 3,3 Volt 
zubetreiben.

Gruß GG

von Tauwetter (Gast)


Lesenswert?

>Hi Tauwetter (mei wär des schee) :-)

Das sag ich Dir! Vom Schneeschieben habe ich schon Blasen an der Hand.


>des würde ich tun, wenn die zweite SPI net zusätzlich rein gezogen
>werden sollte an GPIOs in die bestehende Hardware.

Na gut, dann kannst Du das auch per PC-Int und Software machen. Die 
Übertragungsrate sollte aber 'konservativ' gewählt werden, damit kein 
Bit verloren geht. 10-20 kBits/s sollten problemlos gehen. Darüber 
hinaus hängt es davon ab, dass andere Int-Routinen zügig bedient werden.
Der µC läuft hoffentlich mit hoher Taktfrequenz (16MHz)?

von Peter D. (peda)


Lesenswert?

SPI-Slave muß das HW-SPI sein oder die Bitrate extrem langsam.

SPI-Master ist kinderleicht als SW, kannst aber auch ne UART nehmen.


Peter

von Hans-Martin (Gast)


Lesenswert?

Hm des klingt jetzt alles net so berauschend.

Aber kann ich über eine USART einen SPI-Slave nachbilden?
Mein µC (der als Slave) hängt mit MISO und MOSI an TX / RX.
Oder geht da auch nur Slave ?

Viele Grüße und Danke
Hans-Martin

von Tauwetter (Gast)


Lesenswert?

>Hm des klingt jetzt alles net so berauschend.

Warum denn nicht? Mach es doch einfach einmal, die Routine ist doch 
recht einfach. Wie schnell soll denn übertragen werden?

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.