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:
Fragen:
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.
Für die MISO-Linie
können Sie dies auch berücksichtigen und funktionieren sicher.
Low Side - ESP
High Side - Arduino
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.
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.
uint128_t
Klopfen