Hi, Ich habe 3 Slaves an einem SPI-Bus (WLAN, Dataflash und SD-Karte). Eine bestimmte SD-Karte (bei 4 Anderen gibt es keine Probleme) sorgt irgendwie dafür, dass das WLAN-Modul nicht mehr will. Woran kann das liegen? Wird sie vielleicht nicht hochomig genug, wenn sie nicht selected ist? Kennt jemand ein ähnliches Problem? Vielleicht kann man was mit Pull-Ups machen? (Am MISO ist schon ein 100K Pull-Up). Danke für alle Tips, --> Peter
Haben alle Slave eine eigenen Chipselect ? Haben alle Slaves und der µC die gleiche Portspannung ? Wie lang sind die Busleitungen ( in cm)? Wie sehen die Spannungen auf dem Bus aus ? Wie sehen die Signale aus (Oszi) ? Wieviel zeit lässt du von Chipselect HIGH bis zum nächsten Chipselect LOW?
Hallo Ralph, > Haben alle Slave eine eigenen Chipselect ? Ja, anders geht's ja auch nicht. > Haben alle Slaves und der µC die gleiche Portspannung ? Ja, alles wird mit 3.3V gespeist > Wie lang sind die Busleitungen ( in cm)? Erwa 2..3cm, der Takt für alle Slaves ist 15Mhz. Ist aber nicht zwingend so. Ich kann jeden Slave mit einer eigenen Clockrate ansprechen, allerdings nicht höher als 15Mhz. > Wie sehen die Spannungen auf dem Bus aus ? > Wie sehen die Signale aus (Oszi) ? Ich muss zu meiner Schande eingestehen, daß ich die noch nicht gemessen habe. > Wieviel zeit lässt du von Chipselect HIGH bis zum nächsten Chipselect LOW? Wenige µs. Im schnellsten Fall die Zeit, die ein paar Instructions brauchen, um das SPI-Peripheral umzuprogrammieren (SPI-Settings und Taktrate) und die Zeit für's Lösen der Einen und Setzen der anderen /CS-Leitung.
Hallo, Ich habs jetz mal mit dem Oszi gemessen. Die Signale ändern sich nicht, egal, ob ich diese merkwürdige SD-Karte eingesteckt habe oder nicht. Auch ist das Verhalten unabhängig von der SPI-Taktfrequenz (ich bin bis auf 1Mhz runtergegangen). Irgendwelche Delays, die ich an allen möglichen Stellen eingefügt habe, haben nichts bewirkt. Selbst Pull-ups (Ich habe sogar Pull-downs versucht) hatten keinen Einfluss. Der Fehler äussert sich folgendermassen: Steckt diese eine bestimmte SD-Karte nicht, dann läuft der Firmware-download zum WLAN-Modul so ab, daß das WLAN-Modul abwechselnd 16 und 512 Bytes des Firmware-Images anfordert. Diesen Wert kann man vorher aus einem Register des WLAN-Moduls ausgelesen. Steckt aber diese SD-Karte, dann wird irgendwann (immer an der gleichen Stelle!!) dieses Wechselspiel von 512/16 Bytes kurz unterbrochen indem 2 mal hintereinander 512 Bytes angefordert werden. Der FW-Download scheitert dann. Mir scheint es ist kein elektrischer Fehler, sondern aus irgendeinem Grund scheint die SD-Karte (obwohl nicht selected) kurzzeitig aktiv zu werden. Möglicherweise ist die Karte kaputt? (Es ist eine Nokia Micro-SD) oder vielleicht haben ja Micro-SD Karten besonderheiten gegenüber 'normalen' SD-Karten?
Sowas klingt stark nach fehlenden Stützkondensatoren oder schwimmender Masse. Einige SD Karten reagieren da recht empfindlich und wenn die Versorgung durch ein anderes aktiviertes Bauteil gerade schwankt kann ich mir durchaus vorstellen, dass sich die Karte irrt.
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.