Software zum Erstellen von Zeitdiagrammen

In meinem Berufsleben muss ich manchmal Timing-Diagramme für Protokolle erstellen: UART , SPI usw. Ich kann jedoch keine guten Programme finden. Welche Programme sind dafür zu empfehlen und wie sind die Erfahrungen damit?

Hier ist eine ähnliche Frage zum Stapelüberlauf stackoverflow.com/questions/1524244/…
Könnten Sie bitte einen annehmen? Es würde anderen helfen, diese Frage zu finden.

Antworten (13)

Eine schnelle Websuche zeigt Drawtiming . Ich habe es nie benutzt, aber es sieht so aus, als würde es für kurze Beispiele von ein paar Dutzend Taktzyklen sehr gut funktionieren.

Wenn Sie Ihre Zeichnungen in einem Office-ähnlichen Toolset erstellen möchten, probieren Sie OpenOffice.org aus, insbesondere das Draw - Programm. Wenn Sie die besten Grafiken erstellen möchten (und es Ihnen nichts ausmacht, wenn es eine Weile dauert), versuchen Sie es mit Inkscape , wie von digikata vorgeschlagen. Professionelle Datenblätter werden wahrscheinlich am besten mit dem tikz-Timing-Paket bedient, wie von jluciani vorgeschlagen, oder mit dem älteren (aber weniger komplexen) timing.sty , beide mit (La)TeX (versuchen Sie Lyx für eine kürzere Lernkurve, wenn Sie es sind neu bei TeX. Seien Sie gewarnt, dass es eine steile Kurve ist, egal was passiert, aber es lohnt sich!)

Sie können auch versuchen, in GTKWave (oder einem anderen Schaltungssimulator mit einem Logikanalysator) zu simulieren: (Quelle: bec-systems.com )Beispiel-GTK-Wave-Screenshot

aber das orientiert sich mehr an der Simulation von Verilog/VHDL/Schaltplänen als nur am Zeichnen von Wellenformen.

Können Sie Ihren Beitrag bearbeiten, um zu erklären, was Sie erfolgreich zur Implementierung von Wellenformdiagrammen verwendet haben? Es ist nicht klar, mit welchen Ihrer oben genannten Empfehlungen Sie Erfahrungen haben und mit welchen nicht.
Ich habe OpenOffice und Inkscape sowie einen herstellerspezifischen Simulator ähnlich wie GTKWave verwendet (aber ohne ihre Hardware nutzlos, ich dachte nicht, dass es hilfreich wäre). Ich habe LaTeX verwendet, um in Inkscape erstellte Bilder zu importieren, aber Das liegt daran, dass ich damals die Timing-Pakete nicht kannte. Wie ich in meinem Beitrag sagte, hatte ich Drawtiming nicht verwendet.
Ich habe Drawtiming für automatisch generierte Timing-Diagramme in einem parallelisierten Build-Flow mit großer Wirkung verwendet. Ich empfehle es.

WaveDrom ist eine kostenlose Open-Source-Online-Engine zum Rendern digitaler Zeitdiagramme, die JavaScript , HTML5 und SVG verwendet , um die WaveJSON- Eingabetextbeschreibung in SVG-Vektorgrafiken umzuwandeln.

Das Tool, das ich mit einem Lesezeichen versehen habe, ist -- http://www.timingtool.com/menu/tour/ttmain.php Ich habe es nicht ausprobiert oder genauer angesehen.

Wenn Sie TeX und Freunde verwenden, gibt es ein Timing-Paket für die tikz-Bildumgebung (überprüfen Sie CTAN). Manchmal finden Sie bei den TeX-Tools Wrapper-Skripte oder GUIs, die eigenständige Bilder erstellen können.

Die Dokumentation zum tikz-timing-Paket finden Sie unter http://www.tug.org/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdf

Inkscape

Das erste Diagramm mag etwas Arbeit sein, aber nachdem Sie einige Vorlagen eingerichtet haben, geht es ziemlich schnell.

Ich sehe, dass es jetzt ein Plugin namens Timink für Inkscape gibt, um Zeitdiagramm-Wellenformen zu generieren.

Kann ich vorschlagen, dass Sie irgendeine Form von PERT-Diagramm oder Planungsprogramm verwenden - wenn es uns oder nS nicht unterstützt, tun Sie einfach so, als wären "Tage" gleichwertig - dies ist eine großartige Möglichkeit, Zeitprobleme und Worst-Case-Pfade zu finden

Microsoft Excel ist das 2D-CAD-Programm des armen Mannes und hat für mich gut funktioniert. Markieren Sie alle Zellen und ziehen Sie dann die Zeilen- und Spaltenränder, bis die Pixelanzahl übereinstimmt - dies ergibt quadratische Zellen. Verwenden Sie dann die Symbolleiste Zeichnen, um Linien und Formen hinzuzufügen. Die Option zum Ausrichten am Raster sollte ebenfalls aktiviert sein.

Bearbeiten Sie, um eine zusätzliche Erklärung für die Downvoter in den Kommentaren unten hinzuzufügen:

Blockquote Microsoft Excel ist weder ein CAD-Programm (es ist eine Tabellenkalkulation).

MS Excel hat viele Funktionen, einschließlich eines anständigen Zeichenpakets. Wenn Sie die Software verwenden und erkunden, werden Sie Dinge finden, von denen Sie nie gedacht hätten, dass Sie sie finden würden. Würden Sie beispielsweise sagen, dass Excel eine Programmierschnittstelle und Benutzeroberfläche für Datenerfassungshardware oder ein Reporting-Frontend für Datenbanken ist? Die Antwort ist, dass es für diese verwendet werden kann, und ich weiß das von der persönlichen Implementierung dieser Art von Apps. So wie ich persönlich Excel implementiert habe, um 2D-Zeichnungen von Wellenformen und mehr (Kabel, Grundrisse usw.) zu erstellen.

...noch ein Programm für einen armen Mann ...

Dies ist im Sinne einer Umgangssprache gemeint: Definition hier . Und ich wäre erstaunt, wenn jemand, der in seinem Berufsleben Wellenformzeichnungen erstellt, keine Office-Kopie von seinem Arbeitgeber erhalten hätte.

Wenn Sie in Excel so zeichnen, wie Sie es vorschlagen, können Sie keine anderen Kantenübergänge als vertikale Linien visualisieren ...

Tut mir leid, offen zu sein, aber das ist völlig falsch. Hier ist eine ausführlichere Erklärung, die Sie selbst ausprobieren können. Beginnen Sie wie oben beschrieben mit dem Quadrat ABCD, wobei die Koordinaten im Uhrzeigersinn von der oberen linken Ecke des Quadrats beginnen. Wenn Sie eine Linie nacheinander durch Punkte DABC ziehen würden, hätten Sie die erste Hälfte einer Rechteckwelle. Wenn Sie jedoch eine Linie durch DB ziehen, haben Sie einen Anstiegswinkel von 45 Grad. Die Option „Am Raster ausrichten“ rastet an den Punkten des Rasters ein, erzwingt jedoch keine Winkelbeschränkungen. Offensichtlich kann dies erweitert werden, um andere Winkel zu machen, indem andere Koordinaten gewählt werden - die Verwendung eines 2x2-Zellengitters als Basis bietet mehr Winkeloptionen und so weiter. Zum Beispiel habe ich dies verwendet, um trapezförmige Wellenformen und steigungsgesteuerte, selbsttaktende Manchester-Signale zu zeichnen - nicht nur 50% Tastverhältnistakte.

Beachten Sie auch, dass Sie nicht auf gerade Linien beschränkt sind - Kurven sind kinderleicht. Kopieren-Einfügen (STRG-C, STRG-V) und die Möglichkeit, Objekte zu drehen und zu gruppieren, machen komplexere Formen einfach. Ein weiteres Beispiel aus meiner Erfahrung: Wenn Sie eine einzelne Halbkugel zeichnen können, können Sie diese im Handumdrehen in die Doppelhelix eines geschirmten Twisted-Pair auf einem Kabelschema verwandeln (fast wörtlich: Ich habe ein handgewelltes Konzept in ein PDF umgesetzt Kopie einer Zeichnung in 45 Minuten, einschließlich der Zeit, die für die Übermittlung von Online-Angebotsanfragen an Kabelanbieter aufgewendet wird). Bei Wellenformen könnten dieselben Dinge eine Sinuswelle oder ein amplitudenmoduliertes Signal erzeugen.

Wenn Sie etwas wirklich Komplexes brauchen, schalten Sie die Option „Am Raster ausrichten“ aus, zeichnen Sie Ihr Ding, schalten Sie dann das Einrasten wieder ein und ziehen Sie das Ding an seinen Platz. Vergessen Sie nicht, dass Sie auch die Größe gezeichneter Objekte ändern können.

Microsoft Excel ist weder ein CAD-Programm (es ist eine Tabellenkalkulation) noch ein Programm für einen armen Mann (es kostet laut office.microsoft.com 150 US-Dollar). Wenn Sie in Excel so zeichnen, wie Sie es vorschlagen, können Sie keine anderen Kantenübergänge als vertikale Linien darstellen was für ein professionelles Timing-Diagramm nicht akzeptabel ist.
Für 200 $ im Jahr können Sie alle Microsoft-Produkte haben. In Wirklichkeit haben die meisten Unternehmen, in denen ich auch war, Excel zur Verfügung. Als ich mir UML-Tools ansah, um bessere Zeichnungen zu erstellen, waren sie 5 oder mehr Riesen pro Platz. Für ein paar sehr einfache Zeitdiagramme musste ich Excel verwenden.
@Kortuk Ja, ich verstehe, dass die meisten Unternehmen Office *UND* Internet Explorer 6 zur Verfügung haben. Fördern Sie nicht die Praxis. Außerdem sind Sie sich nicht sicher, was Sie für UML-Tools gesucht haben, mehr als die Hälfte der unter en.wikipedia.org/wiki/… aufgeführten Tools sind kostenlos und Open Source.
Mit Mühe, Zeit und Vorstellungskraft kann Excel vieles von dem zeichnen, was man braucht.
Unglaublich, dass das 7(!) Upvotes bekommt. Einige Leute haben offensichtlich noch nie ein echtes Zeitdiagramm gesehen/erstellt!

TimingEditor sieht einfach zu bedienen aus und erzeugt anständige SVG-Dateien.

Geben Sie hier die Bildbeschreibung ein

Der erste Vorschlag, den ich hier sah, war Inkscape. Ein Zeichenprogramm! Also dachte ich, warum nicht Excel, damit kann man auch zeichnen? Scheint, dass jemand das tatsächlich vorgeschlagen hat! Und dass 7 Personen dies als nützlichen Vorschlag empfanden! Ich glaube, ich muss mich kurz hinlegen.
Der Grund dafür, dass es so viele unterschiedliche Software gibt, liegt darin, dass jede Aufgabe ihre eigenen Anforderungen hat und jede Software versucht, die Anforderungen für eine bestimmte Aufgabe zu erfüllen. Wenn Sie Excel zum Zeichnen von Zeitdiagrammen verwenden, denken Sie vielleicht: "Sehen Sie, das funktioniert auch", aber in Wirklichkeit wird es weniger leisten als Bleistift und Papier. Zumindest mit dem Bleistift können Sie die grundlegendste Funktion von Timing-Designern bedienen: Signalabhängigkeiten.

Wie auch immer, jetzt habe ich diese Last von meinem Kopf, ich würde vorschlagen, einen Blick auf TimingDesigner zu werfen , obwohl ich mit der neuesten Version nicht ganz vertraut bin. Auf keinen Fall billig, und ich hätte es nicht vorgeschlagen, wenn es nicht für den professionellen Gebrauch gewesen wäre.

Ich kenne Timingdesigner nicht, aber +1 für "das richtige Werkzeug für den richtigen Job". Einverstanden, dass der Bleistift vielseitiger ist als Excell.

Ich mache viele dieser Sachen mit PostScript , moveto, lineto, lineto, moveto usw. Von dort aus können Sie es in fast alles verwandeln: JPEG, PNG usw., oder es direkt in ein PostScript-Dokument einbetten, das dann werden kann ein PDF .

PostScript unterstützt alle kostenlosen Tools und ist betriebssystemunabhängig, sodass Sie Office dies oder Excel das nicht kaufen müssen. Ghostscript und Ghostview sind Ihre Freunde.

SVG ist wahrscheinlich ein anderes Format/Sprache, das Sie ebenfalls verwenden können. Es ist kostenlos, offen und lässt sich in alles umwandeln.

Ich mache das auch. Ich werde die Generierung dieser Dokumenttypen mit Perl + TeX + METAPOST (oder anderen Befehlszeilentools) skripten. Wenn sich die Daten ändern, tippe ich "make" ein und die Änderungen werden weitergegeben.

TimeGen kostet weniger als 100 US-Dollar (Lite), 500 US-Dollar (Pro). Ich habe es nicht benutzt.

Ich habe mich in den letzten Tagen nach etwas umgesehen und eine Reihe der Vorschläge hier ausprobiert, von denen keiner zufriedenstellend (oder in einigen Fällen überhaupt) für mich funktioniert hat oder die Zeitpfeile nicht zeichnen würde.

Das habe ich schließlich gefunden:

https://waveme.weebly.com/

Was ich empfehlen kann. Es ist ziemlich intuitiv und es gibt anständige Video-Tutorials auf der Website. Läuft unter Windows und unter Linux unter Wine.

Zwei Tools, die ich verwendet habe, sind:

  1. Synapticad Timing Diagrammer Pro ist teuer, aber so voll ausgestattet, dass ein Freund von mir einen Chip mit dem Verilog-Stimulus-Modus entworfen hat

  2. Timing-Analysator - kostenlos, in ständiger Entwicklung, der Autor reagiert auf Änderungen und ist Java-basiert, also portabel.

Visio funktioniert immer gut für mich und war eines der wichtigsten Mittel zur Dokumentation sowohl für FPGA (Timing und Block) als auch für Systemdiagramme an einem meiner Arbeitsplätze.

Das Schönste an Visio ist, dass Sie Vorlagen und Formen generieren können, mit denen Sie einheitliche Zeitdiagramme erstellen können.