LOGIC ANALYZER

Abstract: 1. A logic analyzer comprising an analyzer memory (4), a qualifying means for selecting predetermined data words to be analyzed from the data word sequence read in at the analyzer input (2), and a trigger sequencer circuit (5) which operates independently of said qualifying means and in parallel therewith for positioning the selected data words in the analyzer memory (4), characterized in that the qualifying means is a sequencer circuit (10) in which a selection criterion composed of plural successive data words can be set independently of the trigger criterion, and that the analyzer memory (4) is preceded by a temporary memory (11) adapted to be controlled by said qualifying sequencer circuit (10) in such a way that even data words which occur before said selection criterion in terms of time can be read into the analyzer memory (4) for analysis therein.

Description: Logikanalysator Die Erfindung betrifft einen Logikanalysator laut Oberbegriff des Hauptanspruches. Logikanalysatoren dieser Art sind bekannt (Elektronik 3/ 12.2.82,S.45-50 bzw. Logikanalysator IMAS#der Firma Rohde & Schwarz). Sie ermöglichen die Auswertung und Analysetlvon beliebigen digitalen Funktionsabläufen, die als binär co- dierte Signale dem Analysatoreingang zugeführt werden. Mit einem solchen Logikanalysator können beispielsweise die Programmabläufe d.h. die Aufeinanderfolge von Datenworten eines Mikroprozessors analysiert werden oder Untersuchungen an Bussystemen und allgemeinen Logik schaltungen durchgeführt werden. Die binär codierten Datenwortfolgen werden dabei nacheinander in den Analysatorspeicher eingelesen und dieser Speicherinhalt kann anschliessend durch eine geeignete Auswerteinrichtung analysiert und beispielsweise auf einem Bildschirm in beliebiger Codierung dargestellt werden. Da der Analysatorspeicher nur eine endliche Speicherkapazität hat und beispielsweise nur 250 Datenworte speichern kann, werden nicht alle Datenworte der zu analysierenden Datenwortfolge in den Speicher eingelesen, sondern über die zusätzlich noch vorgesehene Datenqualifizierungseinrichtung werden diejenigen Datenworte selektiert, die vom Benutzer als analysierenswert bestimmt werden. Die tatsächlich in den Analysatorspeicher eingelesenen Daten werden also auf die tatsächlich zu analysierenden Daten reduziert und so der Analysatorspeicher wirksamer genutzt. Fig. 1 zeigt das Prinzipschaltbild eines bekannten Logikanalysators der eingangs erwähnten Art. Die Datenqualifizierungseinrichtung ist hierbei ein Komparator 1, der jedes einzelne am Eingang 2 eingelesene Datenwort mit einem in den Komparator 1 eingegebenen vorbestimmten Selektionskriterium vergleicht. Wenn ein ankommendes Datenwort mit den Daten des vorbestimmten Selektionskrite#riums übereinstimmt wird über eine Und-Schaltung 3 das so selektierte Datenwort in den Analysatorspeicher 4 eingelesen und dort abgespeichert. Zur Erhöhung der Datenselektion und damit zur weiteren Verbesserung der Effektivität des Analysatorspeichers ist eine als sogenannte Sequenzerschaltung ausgebildete Triggereinrichtung 5 vorgesehen, welche die selektierten Datenworte auswertet. Diese TriggereInrichtung arbeitet in mehreren Entscheidungsebenen und sie kann so program miert werden, dass die Triggerung des Speichers 4 über die zwischengeschaltete Speichersteuerschaltung 6 immer dann ausgelöst wird, wenn mehrere aufeinanderfolgende Datenworte ein bestimmtes Triggerkriterium erfüllen. An dieser Triggerseguenzerschaltung 5 kann nicht nur ein Triggerkriterium für den Speicher 4 eingestellt werden sondern es kann bier auch ein aus mehreren aufeinanderfolgenden Datenworten zusammengesetztes Selektionskriterium eingestellt werden. Wenn dieses vorprogrammierte Selektionskriterium erfüllt ist, wird ein entsprechender Startbefehl an die Speichersteuerschaltung 6 gegeben. Tritt ein vorbestimmtes anderes eingegebenes Selektionskriterium auf, wird der Spei chervorsang wieder gestoppt Eine so auf Selektion programmierte Triggersequenzerschaltung hat also die Wirkung eines zusätzlichen Selektionskriteriums und hierdurch kann die Se lektionsschärfe eines Analysators erhöht werden. Diese Art der Seiektionsschärfenerhöhung über die Triggereinrichtung hat jedoch den Nachteil, dass nicht gleichzeitig neben dem sich wiederholenden komplexen Selektionskriterium auch ein komplexes Triggerg-riterium in die Triggereinrichtung eingegeben werden kann, ohne dass der Aufwand für die Triggereinrichtung unverhältnismässig hoch wird. Das Selektionskriterium ausgedehnt auf mehrere aufeinanderfolgende Datenworte muss nämlich ständig wirksam sein und muss daher in jeder Triggerentscheidungsebene neu definiert werden, da ja während des Abarbeitens der einzelnen aufeinanderfolgenden Triggerentscheidungsebenen der Selektionsvorgang ständig erhalten bleiben muss. Es muss also das Selektionskriterium auf jeder Triggerebene neu abgebildet werden, was eine Multiplikation der erforderlichen Entscheidungsebenen der Triggereinrichtung bedeutet. Sollen beispielsweise drei aufeinanderfolgende Datenworte als Selektionskriterium ausgewertet werden und soll beispielsweise das Triggerkriterium vier aufeinanderfolgende Datenworte berücksichtigen, so müsste die Triggereinrichtung für die Berücksichtigung dieses Selektionskriterilrms und Triggerkriteriums zwölf aufeinanderfolgende Entscheidungsebenen aufweisen. Diese Möglichkeit der Ausnutzung der Triggereinrichtung zur Erhöhung der Selektionsschärfe über die Start-Stop Steuerung des Speichers in Abhängigkeit von in die Triggereinrichtung eingegebenen vorbestimmten Datenwortfolgen ist natürlich nur brauchbar für die Selektion von solchen Daten, \zeitlich die a h diesem Selektionskriterium auftreten. In vielen Anwendungsfällen ist es jedoch nötig, auch solche Datenworte abzuspeichern und anschliessend zu analysieren, die innerhalb des Selektionskriteriums liegen, dieses also mitbestimmen, oder die sogar vor den das Selektionskriterium bildenden Datenworten in den Analysator eingelesen wurden. Es ist daher Aufgabe der Erfindung, einen Logikanalysator zu schaffen, der bei geringst möglichem Schaltungstechnischen Aufwand eine verbesserte und gezieltere Selektion: vorbestimmter Datenworte ermöglicht und bei dem auss.erd#m auch solche Datenworte abgespeichert werden können, die nicht nur nach dem Selektionskriterium auftreten sondern vor oder innerhalb dieses Selektionskriteriums auftreten. Diese Aufgabe wird ausgehend von einem Logikanalysator laut Oberbegriff des Hauptanspruches durch dessen kennzeichnende Merkmale gelöst. Vorteilhafte Weiterbildungen ergeben sich aus den Unteransprüchen. Beim erfindungsgemässen Logikanalysator wird also anstelle eines nur in einer Ebene arbeitenden Selektions-Komparators eine sequentiell arbeitende an sich bekannte Sequenzerschaltung als Datenqualifizierungseinrichtung benutzt, die es in bekannter Weise ermöglicht, eine Folge von mehreren aufeinanderfolgenden Datenworten nacheinander zu betrachten und auszuwerten und erst dann zu entscheiden, ob diese Datenwortfolge das vorgegebene Selektionskriterbium erfüllt oder nicht. Die hierfür vorgesehene Ser quenzerschaltung entspricht im schaltungstechnischen Aufbau der obenerwähnten Triggereinrichtung, die es ebenfalls schon ermöglicht, mehrere aufeinanderfolgende Datenworte für eine bestimmte Entscheidung zu berücksichtigen. Da diese zur Qualifizierung benutzte zusätzliche Sequenzer- schaltung unabhängig von der Triggereinrichtung arbeitet wird der schaltungstechnische Aufwand gegenüber der oben erwähn-ten bekannten Lösung wesentlich reduziert, da zusätzlich zu der Anzahl von Triggerentscheidungsebenen nur die für die Qualifizierung nötigen zusätzlichen Ent- scheidungsebenen der Sequenzerschaltung hinzukommen und die Anzahl der Entscheidungsebenen nicht multipliziert werden muss. Durch den zusätzlich noch vorgesehenen Zwischenspeicher können nicht nur Datenworte abgespeichert werden, die das Selektionskriterium erfüllen und zeitlich nach diesem eingelesen werden, sondern es können auch solche Datenworte abgespeichert werden, die unmittelbar innerhalb dieses Selektionskriteriums auftreten und beispielsweise dieses mitbestimmen oder die sogar vorher schon eingelesen wurden, da diese Datenworte ja in dem Zwischenspeicher weiterhin zur Verfügung stehen. Ein erfindungsgemässer Logikanalysator ist daher wesentlich universeller einsetzbar und es können mit ihm auch Nikroprozessorprogramme analysiert werden, wobei eine beliebige Selektion beispielsweise nach Befehlsart, Adresse oder Dateninhalt des Programms möglich ist. Die Erfindung wird im folgenden anhand der Fig. 2 an einem Ausführungsbeispiel näher erläutert. Gemäss der Erfindung dient als Datenqualifizierungsein richtung eine Sequenzerschaltung 10, der eingangsseitig die am Eingang eingelesenen aufeinanderfolgenden Datenworte eingegeben werden. Vor dem eigentlichen Analysatorspeicher 4 ist noch ein zusätzlicher Zwischenspeicher 11 angeordnet, dem eingangsseitig ebenfalls die eingelesenen Datenwortfolgen zugeführt werden. Dieser Zwischenspeicher 11.ist über die Sequenzerschaltung 10 steuerbar. In dem gezeigten Ausführungsbeispiel besteht der Zwischenspeicher 11 aus zwei parallel geschalteten Schieberegistern 12 und 13. In das eine Schieberegister 12, das zwischen Eingang 2 und Speicher 4 angeordnet ist, werden die ankommenden aufeinanderfolgenden Datenworte nacheinander eingelesen. Sie stehen damit für einen Zeitraum zur Verfügung, der durch die Länge dieses Schieberegisters 12 bestimmt ist. Die Länge dieges Schie- beregisters sollte mindestens so gross sein, dass aRmtliche Datenworte darinnen gespeichert werden können, die auch in der Sequenzerschaltung 10 zur Bestimmung deff S-e#e#tions- kriteriums benutzt werden. Vorzugsweise wird der Umfang dieses Schieberegisters 12 sogar noch grösser gewählt, um mit Sicherheit auch noch Datenworte qualifizieren zu können, die vor dem Selektionskriterium eingelesen wurden. Das Schieberegister 13 besitzt den gleichen Speicherumfang. Die Sequenzerschaltung 10 wird vom Benutzer auf ausgewählte aufeinanderfolgende Datenworte programmiert. Wenn in der am Eingang 2 eingelesenen Datenwortfolge diese vorbestimmte und das Selektionskriterium bildende Datenwortfolge über die Sequenzerschaltung 10 festgestellt wird, wenn also das Selektionskyjtgrium erfüllt ist, wer parallel den in das Schieberegister 13 an allen Speicherstellen Mar- kierungsinformationen eingeschrieben, die festlegen, wo im parallel dazu geschalteten Schieberegister 12 die als selektfonstrürdig erkannten Datenworte stehen. Auf diese Weise werden also im Zwischenspeicher 11 diejenigen Datenworte entsprechend markiert, die definitionsgemäss selektiert und in den Speicher 4 für die spätere Auswertung in der Auswerteinrichtung 7 eingelesen werden sollen. Alle anderen Daten im Zwischenspeicher 11 werden damit zwangsläufig so markiert, dass sie nicht in den Speicher 4 eingelesen werden sollen. Dies geschieht durch entsprechende Ansteuerung der Speichersteuereinrichtung 6 durch das damit verbundene Schieberegister 13. Nur wenn am Ausgang des Schieberegisters 13 eine Markierungsinformation erscheint tals Kennzeichen für ein abzuspeicherndes Datenwort) wird auch das gleichzeitig am Ausgang des Schieberegisters 12 erscheinende Datenwort in den Speicher 4 eingelesen. Die Triggereinrichtung 5 ist ausserdem über die. Steuerleitungen "Start" /.nStop" und "Triggern"/"Selektieren" mit der Speichersteuereinrichtung 6 verbunden. Damit ist es mog- ich, abhängig von der Triggereinrichtung die Selektionsfunktion ein- und auszuschalten, es kann also in Abhängigkeit von den Triggersequenzerereignissen selbsttätig entschieden werden, ob die ankommenden Datenworte ohne Selektion alle in den Speicher 4 eingelesen werden sollen oder ob die Selektionseinrichtung wirksam sein soll und nur die über die Sequenzerschaltung 10 selektierten Datenworte eingelesen werden sollen. Fig.3 zeigt anhand eines Programmausschnittes die Arbeitsweise eines erfindungsgemässen Logikanalysators, und zwar am Beispiel von binär codierten 8-stelligen aufeinanderfolgenden Datenworten. In Fig.3 ist angenommen, dass das Selektionskriterium erfüllt ist, wenn in drei aufeinanderfolgenden Datenworten die jeweils ersten drei Stellen die angegebene Reihenfolge aufweisen. In dem Ausführungsbeispiel ist ferner angenommen, dass bei Erfüllung dieses Selektionskriterium beispielsweise das Datenwort X im Speicher 4 abgespeichert werden soll, das unmittelbar dem letzten Datenwort (3) des ausgewählten Selektionskriteriums vorhergeht. In Fig.3 ist als zweites Beispiel ferner noch angegeben, wie bei Erfüllung dieses vorbestimmten Selektionskriteriums ein mehrere Stellen vorhergehendes Datenwort Y abgespeichert werden soll, das im Zwischenspeicher 11 noch zur Verfügung steht. Der Benutzer programmiert also die Sequenzerschaltung 10 entsprechend dem in Fig.3 angegebenen Selektionskriterium und wenn dieses Selektionskriterium erfüllt ist, wird im Schieberegister 13 derjenige Speicherplatz markiert, an welchem parallel dazu im Schieberegister 12 das laut Programm abzuspeichernde Datenwort X oder Y gespeichert ist. Nach diesem Schema können also alle das Selektionskriterium erfüllende Datenworte nacheinander im Zwischenspeicher 11 gespeichert und von dort dann die entsprechend markierten Datenworte in den eigentlichen Analysatorspeicher 4 eingelesen werden. In entsprechender Weise kann der Benutzer an der Triggersequenzerschaltung 5 das Triggerkriterium einstellen. Wenn die Datenfolge des angenommenen Triggerkriterums erfüllt ist, wird der Speicher 4 ge triggert und es stehen dann alle bis zu diesem Zeitpunkt in den Speicher 4 eingelesenen Datenworte zur Auswertung in der Auswerteinrichtung 7 zur Verfügung. Der zusätzliche Zwischenspeicher 11 ermöglicht es bei entsprechendem Umfang seiner Schieberegister 12, 13, dass bei Erfüllung des Selektionskriteriums auch ein Datenwort abgespeichert werden kann, das mehrere Ebenen vor oder nach diesem Selektionskriterium eingelesen wurde , also beispielsweise das mehrere Ebenen vor Erfüllung des Selektionskriteriums eingelesene Datenwort Y.

Claims: Patentansprüche 1. Logikanalysator mit einem Analysatorspeicher, einer Qualifizierungseinrichtung zum Selektieren vorbestimm ter zu analysierender Datenworte aus der am Analysator eingang eingelesenen Datenwortfolge und einer Trigger sequenzerschaltung zum Positionieren der selektierten Datenworte im Analysatorspeicher, d a d u r c h g e k e n n z e i c h n e t, dass die Qualifizierungsein richtung aus einer parallel zur Triggerseguenzerschal tung (5) arbeitenden Sequenzerschaltung (10) besteht, an der unabhängig vom Triggerkriterium ein aus mehreren aufeinanderfolgenden Datenworten bestehendes Selektions kriterium einstellbar ist, und aus einem durch ¯diese Qualifizierungsseguenzerschaltung (10) gesteuerten und vor dem Analysatorspeicher (4)'angeordneten Zwischen speicher (11). 2. Logikanalysator nach Anspurch 1, d a d u r c h g e k e n n z e i c h n e t, dass der Zwischenspeicher (11) aus zwei parallelgeschalteten Schieberegistern (12,13) besteht, die Datenwortfolge in das eine Schieberegister (12) fortlaufend eingelesen wird und dann, wenn durch die Sequenzerschaltung (10) die Erfüllung des vorbestimm ten Selektionskriteriums festgestellt ist, in dem paral lelen Schieberegister (13) dasjenige Datenwort dieses einen Schieberegisters (12) markiert wird, das dieses Selektionskriterium erfüllt. 3. Logikanalysator nach Anspruch 1 oder 2, d a d u r c h g e k e n n z e i c h n e t, dass die Triggersequenzerschaltunq (5) mit der Speichersteuer einrichtung (6) so verknüpft ist, dass die Funktionen "alles einlesen", "selektiert einlesen" und "nichts einlesen" wählbar sind.

Inventors: FRUHAUF, TONIO, SCHUBERT, WOLFGANG, Frühauf, Tonio
Applicants: ROHDE & SCHWARZ GMBH & CO. KG
Application year: 1983
Main classification: G06F11
IPC codes: G06F11, G01R31