4-Bit-SD-Karte - gemeinsame Nutzung der Schnittstelle?

Ich habe viel gegoogelt und die Antwort springt mich einfach nicht an.

Ich habe ein Projekt mit zwei SD-Kartensteckplätzen. Der Zugriff auf die beiden Karten erfolgt niemals gleichzeitig. Ich aktualisiere dieses Projekt auf ein ATSAMS70N19 (hauptsächlich, um Hi-Speed-USB zu erhalten), das eine HSMCI-Schnittstelle hat ... aber nur eine einzige.

Wie kann ich die beiden Kartensteckplätze über diese Schnittstelle multiplexen?

Ich weiß bereits, dass ich zwei Karten im SPI-Modus mit der !CS-Leitung richtig multiplexen kann (meine aktuelle Version des Projekts tut das), aber ich hoffe, die Leistung mit der HSMCI-Schnittstelle zu steigern.

Ich möchte einen GPIO-Pin als A/!B-Pin verwenden. Die Spezifikation, die ich zumindest lese, scheint darauf hinzudeuten, dass ich die Uhr einfach zwischen den beiden Karten hin- und herschalten kann (die Uhr der Leerlaufkarte entweder hoch oder niedrig halten), um die Leerlaufkarte aus dem Weg zu räumen. Ist das richtig?

Wenn dies nicht gut genug ist, wie kann ich den gesamten Bus zwischen den beiden Steckplätzen hin und her schalten, da 5 der 6 Pins bidirektional und relativ schnell sind?

Sie könnten wahrscheinlich die Uhr gaten, aber Sie müssen sehr vorsichtig mit den zeitlichen Beziehungen zwischen den Signalen sein. Möglicherweise müssen Sie ein Gate mit einer sehr geringen Ausbreitungsverzögerung finden, damit dies funktioniert, und Sie können auf Probleme stoßen, wenn Sie die Uhr so ​​schnell wie möglich verschieben. Eine andere in Betracht zu ziehende Option könnte die Verwendung eines Paars bidirektionaler Busschalter sein und alle Signale um denselben Betrag verzögern.
Welche Geschwindigkeit des SD-Busses planen Sie zu verwenden?
Und wie lang ist dein SD-Bus?
Das gesamte Gerät ist 4 Quadratzoll groß, daher wird der Bus ziemlich kurz sein. Ich strebe eine Geschwindigkeit von 25 MHz an. @alex.forencich, können Sie mir einen Hinweis auf einen bidirektionalen Busschalter geben? Ich konnte so etwas nicht finden, und wenn ich den gesamten Bus muxen wollte, klingt es nach dem richtigen Werkzeug für den Job.
@alex.forencich Könnte der QS3VH257PAG8 etwas in der Art sein, an das Sie denken? Die Verwendung Ihrer Beschreibung in Google brachte mir eine ganz neue Reihe von Suchergebnissen, und das sieht irgendwie vielversprechend aus.
Jawohl. Jedenfalls diese Art von FET-Schalter. Sie könnten einen Mux bekommen, der groß genug ist (wusste eigentlich nicht, dass sie Muxs herstellen) oder ein Paar Busschalter.
Und die, die Sie gefunden haben, ist auch eine Art Sonderling, da sie aufgrund der integrierten Ladungspumpe 5 V mit einer 3-V-Versorgung durchlassen kann. Sie brauchen das wahrscheinlich nicht für Ihre Anwendung. Sie können sich auch eine besorgen, die an Vdd klemmt.
Oh ja, das ist ein seltsames Feature. Die gesamte Signalisierung und Vcc beträgt hier 3,3 V. Wenn sie eine Variante ohne das haben, werde ich versuchen, sie zu finden, aber der Preis für diesen Chip ist niedrig genug, dass ich keinen Grund sehe, sie zu vermeiden, wenn es keine bessere Option gibt.

Antworten (1)

Sie könnten wahrscheinlich die Uhr gaten, aber Sie müssen sehr vorsichtig mit den zeitlichen Beziehungen zwischen den Signalen sein. Möglicherweise müssen Sie ein Gate mit einer sehr geringen Ausbreitungsverzögerung finden, damit dies funktioniert, und Sie können auf Probleme stoßen, wenn Sie die Uhr so ​​schnell wie möglich verschieben.

Eine andere in Betracht zu ziehende Option könnte die Verwendung eines Paars bidirektionaler Busschalter sein und alle Signale um denselben Betrag verzögern. Dies könnte tatsächlich Ihre beste Wahl sein. Mehrere Unternehmen stellen schnelle FET-basierte bidirektionale Busschalter her, die Hochgeschwindigkeitssignale mit geringen Ausbreitungsverzögerungen weiterleiten können. Ein 8-Kanal-Schalter für jede Steckdose wäre perfekt. Die Schalter sind normalerweise 5-Volt-tolerant, haben keine ESD-Schutzdioden an Vdd und klemmen durchgelassene Signale an Vdd, sodass sie für eine schnelle Pegelumsetzung verwendet werden können.

Ich habe einmal die Uhr torgesteuert und mein Lehrer ist wütend auf mich geworden.
@HarrySvensson, Sie sollten zwischen Clock-Gating in einem eigenständigen RTL auf niedriger Ebene und einer sorgfältig verwalteten Clock-Steuerung unterscheiden. Richtig verwaltetes Takt-"Gating" ist heute überall vorhanden, um Energie zu sparen, das Aktivieren und Deaktivieren von Taktbäumen ist üblich.
@AliChen Ja, ich habe das getan, um Strom zu sparen und die erforderliche Logik zu minimieren. Laut meinem Lehrer fand er es nicht gerechtfertigt ... aber es ist beruhigend zu wissen, dass es tatsächlich passiert. Vielen Dank, dass Sie diese Informationen geteilt haben.
Clock-Gating ist bei ASICs sehr verbreitet. Die Timing-Analyse kann sicherstellen, dass es korrekt funktioniert. Das Takt-Gating auf FPGAs ist jedoch viel schwieriger zuverlässig zu implementieren, da das Taktnetzwerk nicht wirklich zum Gattern ausgelegt ist und die Zeitanalyse von Takten mit Logikquellen schwierig ist.