Hallo zusammen...
Ich möchte über einen C167 ein paar schieberegister ansteuern...
Frage, gibts da spezielle Treiberbausteine oder muss ich das ganze über
IO's softwaremässig programmieren? Meine z.b. für den clk dauernd einen
pin toggeln und so rechenleistung vebraten, das kanns ja wohl nicht
sein...
wie sieht das eine vernünftige lösung grundsätzlich aus?
Gruss Michael
>>Autor: Matthias (Gast)>>Datum: 07.05.2007 17:35>>SPI Schnittstelle, falls das Teil sowas hat
Hab ich auch schon überflogen... nur was mich stört, habe ja das
register, wo ich den wert, der übertragen werden soll reinschreibe.
dieses ist 16Bit gross. Wenn ich nun z.b. 32 bit schreiben will, krieg
ich da nicht timing probleme?
Michael wrote:
> Wenn ich nun z.b. 32 bit schreiben will, krieg> ich da nicht timing probleme?
2*16 Bit dauert doppelt so lange, wie 1*16 Bit auszugeben.
Wenn Dir das zu lange ist, darfst Du kein SPI nehmen.
Andere Timingprobleme gibt es nicht.
Peter
ok tönt vernüftig... was werden dann standartmässig für treiber
verwendet? (habe ein schieberegister e.v. nicht auf derselben
leiterplatte, da kann oder will ich das ja nicht direkt per spi
ansteuern...
weiter hab ich das problem, dass ich nur ine SPI schnittstelle hab, aber
2 stränge mit Schieberegistern möchte, die jedoch nicht gleichzeitig
geschaltet werden können... wäre es hier sinnvoll eine art umschlalter
zu machen? jemand mal sowas gemacht? oder gibt es treiber, wo ich
mehrere Treiber für die Schieberegister an eine SPI anhängen kann?
danke für die antworten im voraus...
Michael wrote:
> weiter hab ich das problem, dass ich nur ine SPI schnittstelle hab, aber> 2 stränge mit Schieberegistern möchte
Was sollen diese 2 Stränge bewirken ?
Wenn Du 74HC595 Schieberegister hast, dann mach doch entweder die
Übernahmetakte getrennt oder schieb immer das komplette Ausgabemuster
rein,
Willst Du mehrere SPI-ICs anschließen, dann haben die auch eigene
Chipenable-Eingänge.
D.h. geschoben wird immer in alle und nur der selektierte übernimmt.
Peter
Was soll der Sinn sein? Ob du SPI jetzt direkt mit einem µC machst, oder
einen Treiberbaustein ansteuerst, wo ist da der Unterschied? Wenn du
unbedingt was in der Richtung haben willst, nimm einen kleinen AVR mit
Harware-SPI und normalem UART. Der UART kommt an deinen C167, das SPI an
deine Schieberegister. Bisschen SOftware und schon ist dein
Treiberbaustein fertig.
Katzenklo,
da mehrere Schieberegister hintereinander hängen, und nicht alle auf
demselben print sind, möchte ich Leitungen, welche direkt von uP her
kommen nicht umbedingt von Print wegführen...
Michael wrote:
> Katzenklo,> da mehrere Schieberegister hintereinander hängen, und nicht alle auf> demselben print sind, möchte ich Leitungen, welche direkt von uP her> kommen nicht umbedingt von Print wegführen...
Ich hab meine SR-Kette an 1m Flachbandkabel hängen.
Direkt an µC.
Über welche Distanzen reden wir?
kann selbst noch nicht genau sagen wie gross ich die Distand möchte,
aber nach möglichkeit möcht ichs so aufbauen das 10m kein problem
darstellen sollten...
>da mehrere Schieberegister hintereinander hängen, und nicht alle auf>demselben print sind, möchte ich Leitungen, welche direkt von uP her>kommen nicht umbedingt von Print wegführen...
Ach so...hab ich nicht so mitgekriegt.
Michael wrote:
> kann selbst noch nicht genau sagen wie gross ich die Distand möchte,> aber nach möglichkeit möcht ichs so aufbauen das 10m kein problem> darstellen sollten...
Dann nimmm Abschied von SPI und nen richtigen Bus, der für weite
Strecken geeignet ist, z.B. CAN.
Man kann zwar SPI über RS-485 Treiber jagen, aber das ist nichts für
professionelle Projekte.
Außerdem kriegst Du massig Probleme mit dem CE-Zeichen.
Peter