Wie können Pin-Zustände mithilfe von JTAG-Befehlscodes geändert werden?

Es gibt mehrere obligatorische JTAG-Anweisungen, die für Boundary Scan verwendet werden müssen. Ich habe gelernt, dass wir Pin-Zustände von MCU oder CPU ändern können, indem wir diese Anweisungen verwenden. Allerdings konnte ich keine detaillierten Informationen dazu finden. Wie kann ich Pin-Zustände mit JTAG ändern? Welche Anleitung soll ich verwenden? Ich möchte einen externen Blitz mit dieser Eigenschaft programmieren.

Antworten (1)

Die JTAG-Schaltungselemente sind in das Design des Chips eingebettet, der sie unterstützt. Die Boundary-Scan-Funktion und die Möglichkeit für JTAG, auf die Pins zuzugreifen, besteht darin, die Steuerung von der MCU zu kapern und der Mittelsmann zwischen ihr und der Außenwelt zu sein. Dies ermöglicht vollständige Hardwaretests mit einer leeren MCU in einem großen digitalen System, was für Qualitätskontroll- und Testprozesse wirklich cool ist, bevor eine MCU mit Firmware für die Selbsttestrunde der MCU bereitgestellt wird.

Die JTAG-Schnittstelle ist, wie gesagt, eine Art integriertes Logikmodul, das zwischen der MCU und jedem der externen Pins/Ports sitzt.

Ich schlage vor, Sie lesen mehr über die JTAG-Schnittstelle und den Befehlssatz. Das Gute daran ist, dass jede MCU oder jedes Gerät, das JTAG unterstützt, in der Art und Weise, wie sie mit JTAG verbunden sind, konsistent und standardisiert sein soll. Lesen Sie die Dokumentation und spielen Sie damit herum!

Danke für ihre schnelle Antwort. Ich habe Dokumente für JTAG gelesen. Ich denke, zu diesem Zweck werden Sample/Preload- und Extest-Anweisungen verwendet. Ich bin mir jedoch nicht sicher, ob das stimmt. Ich möchte jedes Gerät programmieren, indem ich die Pin-Zustände mit einer bestimmten Logik ändere. Es gibt eine Software im Link , aber es bekommt keine Logik. Es werden nur vollständige PIN-Informationen benötigt. Wenn ich einen Latch in meiner Schaltung habe, kann ich diese Software nicht verwenden. Also sollte ich meinen eigenen Programmierer entwickeln.
Sie verwenden die EXTEST-Anweisung, um die Pins des Geräts steuern zu können, was Ihnen dann den Zugriff auf externe Geräte wie FLASH in Ihrem Fall ermöglicht. Dafür gibt es kommerzielle Tools.
Kommerzielle Tools, die ich gefunden habe, wollen nur Pinbelegungsinformationen. Ich konnte keine Logik eingeben, um das Latch zu steuern, um dieselben Pins für Adress- und Dateneingaben zu verwenden. Also muss ich meine eigene Software entwickeln, die Pins mit einer bestimmten Logik steuern kann.
Normalerweise werden diese Tools in irgendeiner Form von Netzlisten geladen und verfügen auch über Definitionen/Modelle für andere Nicht-Boundary-Scan-Geräte, die dann die Handhabung von Puffern/Logik und auch gemultiplexten Adress-/Datenbussen ermöglichen, wie Sie es beschreiben. Google „Boundary Scan“ und du findest die Big Five. Aber seien Sie darauf vorbereitet, dass diese etwas teurer sind als die 100-Dollar-Version, die Sie verlinkt haben.
@MIrchhh: Es gibt einen guten Grund dafür, dass Anbietertools zum Programmieren von Begleit-Flash-Chips im Allgemeinen Hilfssoftware in die MCU herunterladen und ausführen - Software, die in der MCU ausgeführt wird, kann einen viel höheren Durchsatz zu den externen Speichern erzielen als die Verwendung von JTAG Boundary-Scan-Steuerung der gleichen Pins.