Forum: Mikrocontroller und Digitale Elektronik verschiedene SPI Systeme betreiben


von Eddi (Gast)


Lesenswert?

Hallo,
Ich hab hier 3 SPI Bausteine die mit einem Kontroller betrieben werden 
sollen.
Nun ist es so, dass das Display (DIP203 mit dem KS Controller) das LSB 
zuerst benötigt und im SPI Mode 3 arbeitet. Die anderen beiden Bausteine 
arbeiten jedoch im SPI Mode 1 und benötigen das MSB zuerst.

Wie könnte man diese Systeme kombinieren ohne die SPI ständig umschalten 
zu müssen??

Habe gelesen, dass Mode 3 und Mode 1 vertauscht werden können allerdings 
gibt mein Display dann gar nichts mehr aus. Hab schon daran gedacht den 
Clock für das Display mit einem NPN Transistor zu invertieren.
Allerdings bleibt dann immer noch das LSB - MSB Problem...

Danke im vorraus.

von Walter T. (nicolas)


Lesenswert?

Eddi schrieb:
> Wie könnte man diese Systeme kombinieren ohne die SPI ständig umschalten
> zu müssen??

Was stört Dich daran, den SPI-Modus umzuschalten? Das kannst Du doch in 
dieselben Funktionen packen, die sich um die Chip-Select kümmern.

: Bearbeitet durch User
von Eddi (Gast)


Lesenswert?

Ja das wäre kein Problem, dachte allerdings das ständige umschalten wäre 
nicht so gut und kostet schon etwas an Zeit oder ?

von Walter T. (nicolas)


Lesenswert?

Eddi schrieb:
> Ja das wäre kein Problem, dachte allerdings das ständige umschalten wäre
> nicht so gut und kostet schon etwas an Zeit oder ?

"Wäre nicht so gut"....hm. Verschleiß erzeugt das nicht.

Kommst Du denn mit Deinen Bus-Zeiten so sehr in Bedrängnis, daß Dich die 
Umschaltzeit scheren muß?

Du hast den Controller nicht genannt. Vielleicht dauert das nur ein paar 
Takte.

von CADdy (Gast)


Lesenswert?

Eddi schrieb:
> Ja das wäre kein Problem, dachte allerdings das ständige umschalten wäre
> nicht so gut und kostet schon etwas an Zeit oder ?

Wem soll das Umschalten schaden? Und Zeit kostet es natürlich - 
schätzungsweise irgendetwas im Bereich - je nach Prozessortakt - mehr 
oder weniger deutlich unter 10µs.

von Eddi (Gast)


Lesenswert?

achso ok dann ist die Umschaltzeit irrelevant...
teste das ganze am ATmega8 aber am ende soll der ATmega1284 zumm einsatz 
kommen..

Aber rein aus interesse mal...
- was ist damit gemeint dass man den Mode 3 mit Mode 1 tauschen kann und
- wie könnte man denn sofwaremäßig das LSB zuerst senden, da mir grad 
nicht wirklich eine geeignete Lösung dazu einfällt

von spess53 (Gast)


Lesenswert?

Hi

>achso ok dann ist die Umschaltzeit irrelevant...
>teste das ganze am ATmega8 aber am ende soll der ATmega1284 zumm einsatz
>kommen..

Der ATMega1284 hat zwei USARTs die auch einen SPI-Mode besitzen.

MfG Spess

von Rainer B. (katastrophenheinz)


Lesenswert?

Eddi schrieb:
> - was ist damit gemeint dass man den Mode 3 mit Mode 1 tauschen kann und
Datenplatt Atmega8, Kapitel "SPI", Stichwort "Data Modes"
> - wie könnte man denn sofwaremäßig das LSB zuerst senden, da mir grad
> nicht wirklich eine geeignete Lösung dazu einfällt
Datenplatt Atmega8, Kapitel "SPI", Stichwort "SPI Control Register 
SPCR", Bit DORD

Lesen bildet.
Gruss, Rainer

von Eddi (Gast)


Lesenswert?

Rainer B. schrieb:
>> - was ist damit gemeint dass man den Mode 3 mit Mode 1 tauschen kann und
> Datenplatt Atmega8, Kapitel "SPI", Stichwort "Data Modes"

Hab ich mir schon angeschaut... allerdings versteh ich nicht wiso man 
die beiden tauschen kann... sind doch unterschiedlich selbst wenns nur 
der Takt im Ruhezustand ist...

>> - wie könnte man denn sofwaremäßig das LSB zuerst senden, da mir grad
>> nicht wirklich eine geeignete Lösung dazu einfällt
> Datenplatt Atmega8, Kapitel "SPI", Stichwort "SPI Control Register
> SPCR", Bit DORD

wie man das Hardware-technisch in der SPI umsetzt weis ich... meine 
Frage ging um eine Software lösung ohne dass die SPI selber die Bits 
dreht.

von Rainer B. (katastrophenheinz)


Lesenswert?

Hi, woher hast du die Info, dass Mode 1 und 3 austauschbar sind?
Kann ich mir nicht vorstellen, denn beim Mode 1 erfolgt die Übernahme 
der Daten bei fallender Flanke, Setup bei steigender, bei Mode 3 ist es 
genau anders herum. Wenn also ein Teilnehmer im Mode 1 arbeitet, der 
andere in Mode 3, dann macht der jeweils eine Teilnehmer seine 
Übernahme, wenn der andere jeweils gerade seine Daten ändert. Das kann 
eigentlich nicht funktionieren, ohne dass beide Teilnehmer ihren 
SPI-Mode ändern.

Bitreihenfolge umkehren:
Beitrag "Re: 16Bit Variable Wertigkeit umdrehen"

Gruss, Rainer

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.