Hallo Zusammen, Ich suche schon seit Tagen nach einer Lösung meines Problems und bitte um Hilfe. Mein System: Ich betreibe das msp430f2274 RF Modul als SPI Master und lese damit von 16 Slaves Beschleunigungssensoren MMA7455LR X, Y und Z aus. Der SPI clock taktet bei 2 Mhz. Die ChipSelects der 16 Sensoren werden über zwei Multiplexer HCF4051B angesteuert. Die SPI Leitungen sind zwischen 10cm und 2m lang und "sternförmig" mit Flachbandkabel verdrahtet. Die Enden sind AC terminiert (100pF,100 Ohm), und den Clock habe ich mit einem Serienwiderstand (33Ohm) versehen um die steilen Flanken zu glätten. Der SDI vom msp430 ist über ein Serienwiderstand (1Kohm) an alle Slaves angeschlossen. Das SPI Signal SDO vom Sensor wird über ein BUS TRANSCEIVER (SN74LVC1T45) geführt, da meineswissens der Sensor MMA7455LR keinen High Z Ausgang hat (Auf jeden Fall hatte der Sensor Mühe den Bus ohne SN74LVC1T45 zu speisen), dabei habe ich den DIR PIN (Richtungs PIN) vom BUS TRANSCEIVER an den Chip select angeschlossen, damit der BUS TRANSCEIVER auf High Z umschaltet, wenn CS high ist. Alle Chip Selects besitzen einen 10K Pull up nach dem Multiplexer. Das funktioniert: Mit diesem System kann ich jeden einzelnen Sensor erfolgreich auslesen. Im Code ändere ich nur den Chip select. Problem: Sobald ich per Software zwei oder mehrere Sensoren mit dem CS versorge um den X,Y und Z Wert der Beschleunigung auszulesen ist das SDO Signal vom Sensor nicht mehr sauber. Dass heisst, irgenwie kommen sich diese zwei Sensoren in die quere. Gemessen mit Oszi: Die Chip Selects sind im richtigen Zeitfenster aktiv. Die SDI Leitung sieht immer korrekt aus. Der Clock sieht auch korrekt aus. Kommentar: Dieses Problem ist erst aufgetaucht, seit ich den BUS TRANSCEIVER einsetze. Ohne BUS TRANSCEIVER kann ich aber nur ca. 7 Slaves/Sensoren physisch anschliessen, da sonst das SDO Signal in die Knie geht. Habe leider keinen Schaltplan. Bin für jede Hilfe dankbar. Grüsse Euch.
hallo Tschuni, ich sage jetzt ketzerisch kannst du das SDO-signal nicht verstärken ? einfache Transitostufe oder OPV ? mfg Erik
Hey Erik, Mit einer Transistorstufe? Keine Ahnung. Wie würdest Du den Transistor anschliessen. Ich probier es jetzt mal mit einem SN74AUP1G125. Grüsse
Hallo, Habe den Fehler gefunden. Der Sensor MMA7455 geht automatisch in den I2C mode sobald der CS high ist. Somit hat der eine Sensor, im ungewollten I2C mode, mein SPI Signal vom anderen Sensor gestört. Per Software kann man aber den MMA7455 ausschliesslich in den SPI mode zwingen. Tja, man sollte das Datenblat halt genau lesen. Übrigens ist es nicht förderlich bei SDO/MISO AC-Terminierung zu machen, da sonst aufgrund von den "grossen" Kapazitäten der MMA7455 in die Knie geht. Somit braucht man auch keinen Bus Treiber für das SDO Signal mehr.
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.