Forum: Mikrocontroller und Digitale Elektronik 3 Wire Interface SPI???


von A Heinze (Gast)


Angehängte Dateien:

Lesenswert?

Kann ich dieses Modul direkt an den SPI anschließen ohne CS Leitung???

AM SPI hängt jetzt eine SD CARD die zum aufzeichnen des Luftdruckes 
dienen soll.

von Rahul D. (rahul)


Lesenswert?

Das wäre eher nicht gut, weil sich die Daten gegenseitig in die Quere 
kämen.
Eine SPI kann man aber ziemlich einfach manuell aufbauen.

von akw (Gast)


Lesenswert?

Ne, soweit ich weiß brauchst du die CS Leitung um bei mehreren Geräten, 
jenes Auszuwählen, mit dem du gerade kommunizieren willst. D.h. Bei 
Karte und dem Barometer brauchst du jede CS Leitung an einem PIN des 
Prozessors.

von A Heinze (Gast)


Lesenswert?

Ja das ist mir schon klar leider hat der Baro keine CS sondern nur MOSI 
MISO und SCK.

kann ich den über Software SPI ansteuern???

Die SCK darf max 500KHz betragen da komme ich doch schon weit drüber mit 
der SDCard die läuft derzeitig auf 4 MHZ SCK.

von Daniel M. (usul27)


Lesenswert?

Da du das Teil ja eh nicht hunderte Male pro Sekunde auslesen willst und 
das Teil eh eher langsam ist, wäre Software SPI hier das richtige.

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Du könntest die CLK Leitung für den Sensor mit Hilfe eines UND Gatters 
und eines zusätzlich Pins aktivieren/deaktivieren.

Den SPI CLK Prescaler kannst du vor dem Ansprechen des Sensors 
hochsetzen damit die Frequenz niedrig genug ist, und danach wieder auf 
4MHz zurücksetzen für die SD Karte.

von A Heinze (Gast)


Lesenswert?

Es wird wohl auf Soft SPI hinauslaufen.

gibt es da irgendow materail zum anschauen wie man soft spi anwendet.


Danke

von Josephine M. (Gast)


Angehängte Dateien:

Lesenswert?

Wie wär's einfach mit ein paar Transistoren? Dann kannst du über einen 
SS-PIN die Verbindung zu deinem ms5534b nach Bedarf an- und ausschalten.
Wegen dem CLK-Problem: siehe Michaels Post.

von Josephine M. (Gast)


Angehängte Dateien:

Lesenswert?

Ups, natürlich mit 2 Transistoren.

von A Heinze (Gast)


Lesenswert?

Ja das mit der Schaltung ist noch besser wede diese Variante heute mal 
umsetzten.

Besten Dank

von A. Heinze (Gast)


Lesenswert?

Noch ne Frage kann ich den BC 847 einsetzten als Trans???

von A. Heinze (Gast)


Angehängte Dateien:

Lesenswert?

Habe noch eine Frage.

Wie schalte ich den MCLK an ???


néhme ich den direkt an TOSC1 ab wo jetzt auch mein Uhrenquarz 
angeschlossen ist oder kann ich einen 2. uhrenqaurz nehmen aber wo 
schließe ich das zweite beinchen an???


Für dei CS sache habe ich etwas gefunden wo man einen 3 State Buffer 
nutzen kann muß ich sowieso da ich von 5V Pegel auf 3 Volt Pegel muß.

um den Eingang/AUsgang einzuschalten muß der OE auf masse gezogen 
werden.
OE kann ich doch an einen IO Port hängen und diesen als CS/SS Leitung 
nutzen wenn er auf height geht dann zieht er ihn auf masse(OE) und der 
MISO kanal wird geschalten.

SCLK brauch ich nicht mit CS zu schalten MOSI auch nicht warum ??

Weil der Sensor einen Stratbefehl benötigt um zu reagieren die ich mit 
einen Befehl über en SPI sende erst dann antwortet mir der Sensor und 
ich kann daten abforden indem ich jedesmal einen Startbefehl 
voranstelle. Um die Daten dann zu empfangen schalte ich über die CS 
leitung den MiSO frei.

nur wo nehme ich die Clockfrequenz ab 32,xxKHz???
Würde einen externen Quarz anschließen weil ich noch einen RTC von AMXIm 
dranhängen will der die Uhrzeit und das Datum hält hüber eine 
Bufferbatterie der beötigt auch einen Uhrenquarz.

Danke

von Michael W. (mictronics) Benutzerseite


Lesenswert?

Ein Quarz kannst du nicht direkt an MCLK hängen, da der Eingang 
anscheinend kein Oszillator ist.
Du must die 32kHz also entweder vom AVR abnehmen oder dann von der RTC.

Noch ne Frage: Warum läuft die Schaltung mit 5V? Du brauchst doch 3V für 
die SD Karte und den Sensor, warum dann nicht auch für den AVR?!

> SCLK brauch ich nicht mit CS zu schalten MOSI auch nicht warum ??
Wenn Du eh eine Software SPI machst, kannst du dir die ganze CS 
Schaltung sparen, da du den Sensor nur ansprichst wenn du Daten haben 
willst.

von A. Heinze (Gast)


Lesenswert?

Ich habe einen Mega 128 AU mit 16Mhz der geht nur mit 5 Volt und 16Mhz.

Ich benutze einen Levelshifter für den pegel 5 Volt zu 3 Volt.

Ich Probiere es mit Hardware SPI da ich keine Ahnung von Soft SPI habe 
und meine SPI LIb ist ja auch schon fertig ich muß zwar immer die Clock 
runter setzten wenn ich auf den Sensor zugreife aber naja das ist 
vleiecht das kleinste Problem.

Danke

Mein RTC gibt auf einen Port eine Square Wave von 32,xx Khz aus die kann 
ich doch direkt an den Sensor MCLK hängen oder???

von Michael W. (mictronics) Benutzerseite


Lesenswert?

> Mein RTC gibt auf einen Port eine Square Wave von 32,xx Khz aus die kann
> ich doch direkt an den Sensor MCLK hängen oder???
Ja.

> SCLK brauch ich nicht mit CS zu schalten MOSI auch nicht warum ??
Das geht aber mit Hardware SPI sicher nicht. Dann ist es zwingend 
erforderlich, das entweder MOSI oder die CLK, oder beide durch eine CS 
Leitung vom Sensor getrennt werden wenn du auf die SD Karte zugreifst.

Wenn du das nicht machst bekommt der Sensor alles was du an die SD Karte 
schickst, auch wenn du über MISO nichts zurückliest.

Je nach interner Schaltung des Sensors könnte diese mit den Daten, die 
für SD Karte bestimmt sind, ganz schön durcheinander kommen.

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.