SWD-Optoisolationsproblem

Ich habe den folgenden Optoisolator für die SWD-Schnittstelle mit einem STM32-Gerät und einem J-LINK-Programmierer entwickelt:

Dies ist das allgemeine Schema:Geben Sie hier die Bildbeschreibung ein

Und dies ist ein einzelnes Optoisolator-Schema:Geben Sie hier die Bildbeschreibung ein

Ich kann keine Schnittstelle mit dem Board im J-Link Commander herstellen. Ich sehe, dass J-Links versucht, das Gerät zurückzusetzen, aber nicht kommuniziert. Gibt es einen grundlegenden Fehler in meinem Design? Kann das bei der bidirektionalen SWDIO Leitung der Fall sein? Ich würde mich über jede Hilfe freuen.

Out wird von In invertiert. Ist das in Ordnung?
Ja. Wenn die LED eingeschaltet ist, ist der Ausgang LOW. Wenn die LED aus ist, ist out hoch.
Bitte erklären Sie die Widerstandswerte. (Sie scheinen alle zu niedrig zu sein.)
R3 ist der nächste für 10 mA LED-Strom. R5 stammt aus dem Datenblatt-Testschaltungsdesign. R1 und R2 sind die gleichen wie R3, nur um sie zur Hand zu haben. Ich wollte dem bidirektionalen Patch keinen hohen Momentanstrom aufzwingen. Hast du eine Ahnung, was der Fall sein könnte?
Was sehen Sie auf der STM32-Seite auf SWDIO? Sie sollten die Umschaltsequenz und eine gelesene Ziel-ID sehen, gefolgt von einem ACK (1+3+1 Bit), 32-Bit-Daten und Parität. Dieser große Fortschritt wird vom J-Link gemeistert, und die gelesene ID muss gesehen werden, um zu zeigen, dass das Ziel vorhanden ist.
Oder Sie könnten den ST-LINK/V2-ISOL kaufen.

Antworten (1)

Ja, Sie haben Recht, X5 und X6 machen eine positive Rückkopplungsschleife. Sie benötigen einen bidirektionalen Optoisolator für die SWDIO-Leitung. Für Geschwindigkeiten bis zu 1 MHz finden Sie Anleitungen in diesem NXP- Anwendungshinweis . Sie müssen auch sehen, ob die durch die Optokoppler induzierte Verzögerung von 160 ns (2 x 80 ns, Vorwärtspfad + Rückwärtspfad) für den Programmierer akzeptabel ist. Vielleicht möchten Sie den Standpunkt ändern und die USB-Seite des Programmiergeräts mit einem Gerät wie USB ISO von Olimex isolieren

Danke für die Antwort. Ich landete schließlich mit Si8605. Vereinfachte das gesamte Design.
Gut zu wissen. Ich wusste nicht, ob es sich um eine einmalige Lösung für ein bestimmtes Problem oder um ein Produkt handelt, das Sie mit Kostenbeschränkungen verkaufen möchten. Für ein einmaliges Design ist die USB-ISO-Schnittstelle viel teuer, holt aber die maximale Geschwindigkeit vom Programmierer. Der Opto oder Si8605 fügt den Signalen einige Verzögerungen hinzu.