Richtige Verwendung des CD4504BE Level Shifter IC für SPI

CD4504BE Datenblatt: http://www.ti.com/lit/ds/symlink/cd4504b.pdf

Ich habe im ganzen Internet nach einem geeigneten Beispiel für die Verwendung dieses ICs gesucht, aber nichts gefunden. Meine grundlegende Anwendung besteht darin, die 5-V-SPI-Signale vom ATmega328P (Master) auf den 3,3-V-ESP8266 (Slave) zu verschieben.

Das folgende Diagramm zeigt, wie ich glaube, dass es angeschlossen werden sollte:

CD4504BE-Verbindungen

Fragen:

  1. Sind diese Verbindungen korrekt? Wenn nein, wie sollen diese verbunden werden?
  2. In Bezug auf die MISO-Leitung zeige ich sie als direkt von ESP8266 mit ATmega328P verbunden. Das funktioniert, aber idealerweise möchte ich dieses 3,3-V-Signal auf 5 V verschieben. Ist dies mit einem einzigen IC möglich? Meine Vermutung ist nein, ich bräuchte einen zweiten CD4504BE. Wenn es möglich ist, wie sollte es angeschlossen werden?
Kann ich vorschlagen, ein moderneres Teil zu verwenden? Sie werden feststellen, dass es zahlreiche bidirektionale 4-Bit-Level-Shifter gibt, die Ihr Problem sehr ordentlich lösen. Zum Beispiel der TI TXS0104 .
Es ist ein guter Vorschlag, wie ich in meinem anderen Kommentar erwähnt habe, der Grund, warum ich mich für den CD4504BE entschieden habe, war, dass es die kostengünstigste Option war, die in einem DIP-Paket verfügbar war.

Antworten (2)

Sind diese Verbindungen korrekt? Wenn nein, wie sollen diese verbunden werden?

Ja . Außer dass der SELECT-Pin mit Masse verbunden werden muss.

Ich möchte dieses 3,3-V-Signal auf 5 V verschieben. Ist dies mit einem einzigen IC möglich? Meine Vermutung ist nein

Du hast Recht .

Ich bräuchte einen zweiten CD4504BE. Wenn es möglich ist, wie sollte es angeschlossen werden?

Sie können sich entscheiden. Für den zweiten IC müssen Sie die VDD- und VCC-Verbindung tauschen.
Wenn Sie jedoch eine einzelne IC-Lösung verwenden können, können Sie viele bessere Lösungen finden. Wie im Kommentar erwähnt, kann der bidirektionale 4-Bit-Pegelübersetzer TXS0104E die Arbeit beider ICs erledigen.

Hier ist das Blockdiagramm mit der Nennspannung:
Das ESP-Gerät ist der Systemcontroller (Block links) und Arduino ist das System (Block rechts). Die Nennspannungen deuten darauf hin, dass es Ihren Erwartungen entspricht.

Geben Sie hier die Bildbeschreibung ein

Für die MISO-Linie
können Sie dies auch berücksichtigen und funktionieren sicher.

Low Side - ESP  
High Side - Arduino  

Geben Sie hier die Bildbeschreibung ein

Die obige Schaltung kann einfach dreimal wiederholt werden und Sie benötigen den Level-Shifter-IC überhaupt nicht. Sie müssen nur Low-Side und High-Side gegen MOSI-, CS- und CLK-Pins tauschen.

Danke für die Antwort. Der Grund, warum ich mich für den CD4504BE entschieden habe, war, dass es die kostengünstigste Option war, die in einem DIP-Paket verfügbar war. Schätzen Sie die Informationen zum TXS0104E, es ist sicherlich die bessere Lösung.

Auf Seite eins, wenn SELECT heruntergezogen wird, führt es eine CMOS-zu-CMOS-Konvertierung durch. Da der Arduino und der ESP8266 beide CMOS uC sind, sollten Sie den SELECT-Pin nach unten ziehen. Vss geht auf Masse.

Sie benötigen 2 dieser ICs. Um von Arduino zu ESP8266 zu wechseln:

Vdd, wie in der Tabelle auf Seite 2 gezeigt, sollte der Spannungspegel des ESP8266 (3,3 V) und Vcc Arduino 5 V sein.

Für ESP8266 zu Arduino:

Vdd sollte 5 V und Vcc 3,3 V betragen.

Vielen Dank für die zusätzlichen Informationen, ich werde es entsprechend anschließen und bei Bedarf ein zweites IC hinzufügen.