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.
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
Ja das wäre kein Problem, dachte allerdings das ständige umschalten wäre nicht so gut und kostet schon etwas an Zeit oder ?
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.
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.
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
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.