Wir verwenden W25Q128JV Flash IC in Verbindung mit nRF52 SoC.
Flash-Datenblatt: https://www.winbond.com/resource-files/W25Q128JV%20RevH%2003102021%20Plus.pdf
Wir stehen vor folgendem Problem: SPI-Kommunikation funktioniert nicht. Wenn wir jedoch einen Logikanalysator (ähnlich wie dieser https://www.sparkfun.com/products/15033 ) an die DI-, DO- und CLK-Leitungen anschließen, funktioniert alles hervorragend. Daher bin ich mir sicher, dass es kein softwarebezogenes Problem ist.
Unten ist schematisch aus dem Datenblatt:
In unserer Leiterplatte haben wir folgende Konfiguration:
Wir dachten, dass das Problem darin besteht, dass R1 in unserem Design fehlt. Also haben wir R1 zu DO, DI, CS und CLK (50 Ohm) hinzugefügt. Es hat nicht geholfen.
Ich möchte auch darauf hinweisen, dass das Kommunikationsproblem auch dann gelöst wurde, wenn der Logikanalysator ausgeschaltet war.
Hat jemand eine Idee, was das Problem ist?
R2 auf SPI-Leitungen werden nicht benötigt, WP und HOLD sind eine andere Geschichte, normalerweise nicht von der MCU gesteuert.
Ein üblicher Wert für R1 ist 22 Ohm, R3 wird ebenfalls nicht benötigt.
Was noch verwirrender macht, Sie nennen MISOx die Signale, die Ein- oder Ausgänge sind. Sie haben nur ein MISO, MOSI, CLK pro SPI-Kanal, aber Sie könnten mehrere CSx haben, die WP, HOLD sind nicht Teil von SPI, also sollten Sie sie nicht MISOx nennen.
BEARBEITEN:
Die Widerstände R1 müssen nahe an der Signalquelle liegen
In der Nähe von MCU (MCU zu Flash):
Near Flash (Flash auf MCU):
Sie haben etwas Rauschen auf Ihren Signalen. Woher das Geräusch kommt, kann sich niemand vorstellen. Das Aufhängen der Logikanalysatorsonde an den Leitungen bietet jedoch eine ausreichende Filterung des Rauschens, damit die Dinge funktionieren können.
Vielleicht möchten Sie damit experimentieren, eine LA-Sonde auf jeweils ein Signal zu legen und sehen, ob Sie das Problem auf diese Weise eingrenzen können. Nur raten (ein SWAG), würde ich sagen, dass der CLK wahrscheinlich der Schuldige ist.
Beachten Sie, dass das Anbringen von 50-Ohm-Widerständen am Zielende dieser Signale, wie Sie es anscheinend getan haben, nicht helfen wird. Diese Reihenabschlusswiderstände müssen so nah wie möglich an der Quelle (Antriebsseite) des Signals liegen.
Dies sieht aus wie ein häufiges EMI- oder elektromagnetisches Interferenzproblem zwischen verrauschten SMPS-Versorgungen und Ziel. Auch eine unsymmetrische Leitungsimpedanz kann dies aufgrund der niedrigen CMRR-Leistung und des Erdpfadrauschens verursachen.
Sie können HF-Störungen mit einer Kappe zur Masse an der Versorgung oder Masse 0 V mit einem Draht als ersten Schritt überbrücken. Ziehen Sie dann in Betracht, das Layout mit Abschirmung zu verbessern und die gemeinsame Erdungsimpedanz mit am Versorgungsende abgeschlossener Abschirmung zu verbessern.
Jeroen3
Scott Seidmann
Scott Seidmann
Ilja
Peter Grün