Ich habe im Internet nach Schaltplänen für SD-Kartenmodule für ein Board gesucht, das ich entwickle und das Daten auf einer SD-Karte lesen und schreiben soll. Mir wurde klar, dass diese Module spezielle ICs verwenden, um 5-V-Logikpegel in 3,3 V umzuwandeln. Die Schaltung zur Verschiebung des Logikpegels, die ich kenne und normalerweise verwende, sieht folgendermaßen aus:
Zum Vergleich hier ein Link zum adafruit SD-Kartenlesemodul:
https://learn.adafruit.com/adafruit-micro-sd-breakout-board-card-tutorial/download
Welchen Vorteil hat die Verwendung eines Chips wie "CD74HC4050" in bestimmten Designs? Nach kurzer Suche scheint es mir, dass die Verwendung des IC über dem Mosfet auch ein paar Cent teurer ist. Ist der IC schneller? In diesem Fall hat der "CD74HC4050" eine typische Ausbreitungsverzögerung von 6 ns bei 5 V Vcc, während er laut Datenblatt des BSS138 eine Einschaltverzögerungszeit von 2,5 ns bis 5 ns und eine Ausschaltverzögerungszeit von 26 ns bis 36 ns hat. Ist es die Ausschaltzeit, die es besser macht, die ICs zu verwenden? Zum Vergleich habe ich auch das Datenblatt des 2N7002 überprüft. Es sagt, dass es eine maximale Abschaltzeit von 20 ns hat. Ist dies ein typisches Merkmal für die meisten kommerziellen NMOS-Transistoren, das sie für die Verwendung in solchen Anwendungen unerwünscht macht? Ich verwende die oben genannte Level-Shifter-Schaltung für alle I2C-3,3-V- bis 5-V-Kommunikationsleitungen, die ich in meine Leiterplatten stecke, ebenso wie Adafruit. Also verstehe ich den Unterschied zu diesem Fall nicht wirklich. Ich würde mich über Gedanken zu diesem Thema freuen. Vielen Dank im Voraus.
Datenblätter von BSS138, N7002, CD74HC4050:
Welchen Vorteil hat die Verwendung eines Chips wie "CD74HC4050" in bestimmten Designs?
Die Antwort ist kleinere Größe, geringerer Stromverbrauch und niedrigere Gesamtkosten (nicht nur Teilekosten).
Der CD74HC4050 hat 6 Schaltkreise in seinem Paket. Vergleichen wir es mit 6 Kanälen, die aus diskreten Teilen bestehen.
GRÖSSE
Der Footprint für den CD74HC4050 im TSSOP-Gehäuse (einschließlich Siebdruck und Aussparungen) beträgt etwa 40 mm^2 der Platinenfläche.
https://www.ti.com/lit/ml/mpds361a/mpds361a.pdf
Die kleinste Version des BSS138 ist der BSS138W im SC-70-Gehäuse. Dieser Gehäuse-Footprint, einschließlich Siebdruck und Keep-Outs, würde etwa 6,8 mm^2 Platinenfläche einnehmen.
https://www.onsemi.com/pub/Collateral/BSS138W-D.pdf
Nehmen wir an, Sie wählen zwei 0402-Widerstände aus. Die von IPC-SM-782A empfohlenen Footprints für einen 0402-Widerstand belegen im ungünstigsten Fall 0,66 mm^2. Wenn Sie standardmäßige Siebdruckmarkierungen und Abstandshalter hinzufügen, nähert es sich 1,3 mm^2
Zusammenfassend benötigt der Chip 40 mm^2 Platinenfläche, die diskrete Lösung verwendet 56,4 mm^2. Und ich habe Referenzbezeichner ignoriert. Wenn Sie für jedes Teil ein 3 mm ^ 2-Etikett hinzufügen, werden es eher 43 mm ^ 2 für den Chip und 74,4 mm ^ 2 für die diskrete Lösung.
Wenn Sie also eine kleinere Leiterplatte wünschen, verwenden Sie den Chip.
STROMVERBRAUCH
Ich habe diesen diskreten Umsetzer schon einmal persönlich gebaut und er kann eine gute Leistung erzielen. Auf einem Oszilloskop habe ich Laufzeitverzögerungen im 6ns-Bereich gemessen. Aber um dies zu erreichen, müssen Sie Widerstände im Bereich von maximal einigen Kiloohm verwenden.
Dies bedeutet, dass Sie jedes Mal, wenn ein Signal niedrig ist, Strom in diesen Widerständen verbrauchen. In Ihrem Fall zeigen Sie 10K-Pullup-Widerstände. Unter der Annahme, dass wir zwischen 3,3 V und 5,0 V übersetzen, beträgt der statische Stromverbrauch bei niedrigen Signalen (3,3 V) ^ 2 / 10 K + (5 V) ^ 2 / 10 K = 3,6 mW pro Kanal.
Für sechs Kanäle verbrauchen Sie 21,5 mW, wenn alle Kanäle niedrig sind. Unter der Annahme, dass die Signale 50 % der Zeit hoch und 50 % der Zeit niedrig sind, sind das im Durchschnitt 10,7 mW. Aufgrund der FET-Kapazität gibt es einen zusätzlichen dynamischen Stromverbrauch, der wahrscheinlich einige weitere mW hinzufügt.
Der CD74HC4050 zeigt einen maximalen Stromverbrauch von 20 uA, wenn sich das Gerät in einem statischen Zustand befindet. Es zeigt auch 35 pF "Leistungsverlustkapazität". Unter der Annahme von VCC = 5 V und einer Signalrate von 10 MHz beträgt die dynamische Leistungsaufnahme (5 V)^2 x 35 pF x 6 Kanäle = 5,25 mW bei 10 MHz.
https://www.ti.com/lit/gpn/CD74HC4049
Wir sehen also, dass der Chip für einen Niederfrequenzfall viel weniger Strom verbraucht als die diskrete Lösung. Und bei 10 MHz verbraucht der Chip weniger als die Hälfte der Energie.
KOSTEN
Isoliert sind die Kosten eines einzelnen Chips möglicherweise etwas höher als bei einigen FETs und Widerständen, aber es gibt versteckte Kosten.
LEISTUNG
Ist der IC schneller? In diesem Fall hat der "CD74HC4050" eine typische Ausbreitungsverzögerung von 6 ns bei 5 V Vcc, während er laut Datenblatt des BSS138 eine Einschaltverzögerungszeit von 2,5 ns bis 5 ns und eine Ausschaltverzögerungszeit von 26 ns bis 36 ns hat. Ist es die Ausschaltzeit, die es besser macht, die ICs zu verwenden?
Ich habe diesen diskreten Übersetzer schon einmal persönlich gebaut und er kann eine gute Leistung erzielen. Auf einem Oszilloskop habe ich Laufzeitverzögerungen im 6ns-Bereich gemessen. Aus Leistungssicht kann es also einigen Chips ähnlich sein.
Auf der anderen Seite gibt es viele Chips, die für den Betrieb bei 100 MHz und darüber hinaus ausgelegt sind. Verwenden Sie also für Hochleistungssachen einen Chip.
AUCH HINWEIS:
Technisch gesehen ist der CD74HC4050 eher ein Puffer als ein Pegelumsetzer, aber unter bestimmten Umständen kann er zum Ändern von Spannungspegeln verwendet werden. Ein passenderer Vergleich wäre der TXB0106
https://www.ti.com/lit/ds/symlink/txb0106.pdf?HQS=TI-null-null-digikeymode-df-pf-null-wwe&ts=1604327151895
Der einzelne Mosfet-Level-Shifter ist ein ordentliches Design für einen I2C-Level-Shifter, er ist einfach und funktioniert gut für einen relativ langsamen bidirektionalen Open-Collector-Bus. Ich weiß zwar nicht, ob die Idee schon existierte, bevor ich glaube, dass sie erstmals durch eine Philips-Halbleiter-Anwendungsnotiz für I2C populär gemacht wurde.
In jüngerer Zeit scheint Sparkfun es als Allzweck-Level-Shifter populär gemacht zu haben. IMO ist die Verwendung als solche höchst fragwürdig. Erstens, wenn die Leitung im Leerlauf hoch ist, ist der Stromverbrauch niedrig, aber wenn die Leitung im Leerlauf niedrig ist, verbrennen Sie ständig Strom in den Widerständen. Zweitens, während die Abfallzeit ziemlich schnell sein kann, wird die Anstiegszeit von den Pull-up-Widerständen dominiert, die mit der Streukapazität interagieren, was sie relativ langsam macht. Drittens wird die Ausgangsimpedanz im hohen Zustand durch den Widerstand bestimmt, der sie relativ hoch macht.
Die Anstiegszeit und damit die Ausbreitungsverzögerung hängen von den gewählten Widerständen ab. Kleine Widerstände ergeben eine geringere Verzögerung, verursachen aber Leistungsverlust / Erwärmung. Die ICs "schieben und ziehen" aktiv, wo die FET-Schaltung auf Pull-Ups angewiesen ist.
Außerdem haben die ICs eine sauberere Logikschwelle, was jedoch oft kein Problem darstellt.
Der BSS138 (ein Vielfaches davon) kann das sicherlich, aber er braucht mehr Platz. Ich habe sie zum Beispiel in Produkten für I2C (HDMI DDC) verwendet. Ich denke jedoch, dass die Verwendung eines ICs aufgrund der damit verbundenen Geschwindigkeiten für SD-Karten besser ist.
Wenn Sie sich für IC-Level-Shifter entscheiden, haben Sie ein paar Möglichkeiten:
Unabhängig davon, welchen Typ Sie wählen, überprüfen Sie die Timing-Spezifikationen sowohl für die SD-Karte als auch für Ihren Host sehr sorgfältig, um sicherzustellen, dass Ihr Timing für alle Modi, die Sie unterstützen möchten, eingehalten wird.
Eugen Sch.
Unwichtig
Unwichtig
Simon Richter