In meinem Berufsleben muss ich manchmal Zeitdiagramme für Protokolle erstellen: UART , SPI usw. Es sind jedoch keine guten Programme verfügbar. Welche Programme können dafür empfohlen werden und wie ist die Erfahrung mit ihnen?
Könnten Sie bitte eine annehmen? Es würde anderen helfen, diese Frage zu finden.
Brian Carlton
Antworten:
13
Eine schnelle Websuche führt zu 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 macht nichts aus, wenn es eine Weile dauert), versuchen Sie es mit Inkscape, wie von digikata vorgeschlagen. Professionelle Datenblätter werden wahrscheinlich am besten mit dem von jluciani vorgeschlagenen tikz-timing-Paket oder dem älteren (aber weniger komplexen) timing.sty bereitgestellt , beide mit (La) TeX (versuchen Sie Lyx für eine kürzere Lernkurve, wenn Sie möchten Seien Sie gewarnt, dass es eine steile Kurve ist, egal was passiert, aber es lohnt sich!)
Sie könnten auch versuchen in GTKWave (oder eine andere Schaltungssimulator mit einem Logikanalysator) simuliert:
(Quelle: bec-systems.com )
Dies ist jedoch mehr auf die Simulation von Verilog / VHDL / Schaltplänen ausgerichtet, als nur auf das Zeichnen von Wellenformen.
Können Sie Ihren Beitrag bearbeiten, um zu erklären, was Sie erfolgreich zum Implementieren von Wellenformdiagrammen verwendet haben? Es ist nicht klar, welche der oben genannten Empfehlungen Sie haben und mit denen Sie noch keine Erfahrung hatten.
John Lopez
Ich habe OpenOffice und Inkscape sowie einen herstellerspezifischen Simulator verwendet, der GTKWave ähnelt (aber ohne deren Hardware nutzlos, hätte ich es nicht für hilfreich gehalten.). Ich habe LaTeX zum Importieren von in Inkscape erstellten Bildern verwendet, aber Das liegt daran, dass ich die Timing-Pakete zu der Zeit nicht kannte. Wie ich in meinem Beitrag sagte, hatte ich Drawtiming nicht verwendet.
Kevin Vermeer
1
Ich habe Drawtiming für automatisch generierte Timing-Diagramme in einem parallelisierten Build-Flow verwendet, um einen großen Effekt zu erzielen. Ich empfehle es.
Wenn Sie TeX und Freunde verwenden, gibt es ein Timing-Paket für die TIKZ-Bildumgebung (siehe CTAN). Manchmal können Sie mit den TeX-Tools Wrapper-Skripte oder GUIs finden, die eigenständige Bilder erstellen können.
Microsoft Excel ist das 2D-CAD-Programm des armen Mannes und hat für mich gut funktioniert. Markieren Sie alle Zellen und ziehen Sie die Zeilen- und Spaltenränder, bis die Pixelanzahl übereinstimmt. Auf diese Weise erhalten Sie quadratische Zellen. Verwenden Sie dann die Symbolleiste Zeichnen, um Linien und Formen hinzuzufügen. Die Option "Am Raster ausrichten" 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 kein CAD-Programm (es ist eine Kalkulationstabelle).
MS Excel bietet viele Funktionen, darunter ein anständiges Zeichenpaket. Wenn Sie die Software verwenden und erkunden, werden Sie Dinge finden, von denen Sie nie gedacht hätten, dass Sie es tun würden. Würden Sie beispielsweise sagen, dass Excel eine Programmierschnittstelle und eine Benutzeroberfläche für Datenerfassungshardware oder ein Berichts-Front-End für Datenbanken ist? Die Antwort ist, dass es für diese verwendet werden kann, und ich weiß das aus der persönlichen Implementierung dieser Art von Apps. Genau wie ich Excel persönlich 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 eines umgangssprachlichen Begriffs gemeint: Definition hier . Und ich wäre erstaunt, wenn jemand, der in seinem Berufsleben Wellenformzeichnungen anfertigte, keine Office-Kopie von seinem Arbeitgeber erhalten hätte.
Wenn Sie wie in Excel vorgeschlagen zeichnen, können Sie keine anderen Kantenübergänge als vertikale Linien anzeigen ...
Tut mir leid, dass ich stumpf bin, aber das ist völlig falsch. Hier finden Sie eine ausführlichere Erklärung, die Sie selbst ausprobieren können. Betrachten Sie, wie oben beschrieben, das Quadrat ABCD. Die Koordinaten beginnen im Uhrzeigersinn an der oberen linken Ecke des Quadrats. Wenn Sie nacheinander eine Linie durch die Punkte DABC ziehen, erhalten 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" richtet sich an den Punkten des Rasters aus, setzt jedoch keine Winkelbeschränkungen durch. Offensichtlich kann dies durch Auswahl anderer Koordinaten auf andere Winkel erweitert werden. Wenn Sie ein 2 × 2-Gitter von Zellen als Basis verwenden, erhalten Sie mehr Auswahlmöglichkeiten für die Winkel und so weiter. Ich habe dies zum Beispiel verwendet, um trapezförmige Wellenformen und steilheitsgesteuerte, selbsttaktende Manchester-Signale zu zeichnen - nicht nur Takt-Ticks mit einem Tastverhältnis von 50%.
Beachten Sie auch, dass Sie nicht auf gerade Linien beschränkt sind - Kurven sind schmutzig einfach. Das Kopieren und Einfügen (STRG-C, STRG-V) sowie das Drehen und Gruppieren von Objekten vereinfachen komplexere Formen. Ein weiteres Beispiel aus meiner Erfahrung: Wenn Sie eine einzelne Hemisphäre zeichnen können, können Sie diese in kürzester Zeit auf einem Kabelschema in die Doppelhelix eines abgeschirmten Twisted Pair 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 das Einreichen von Online-Angebotsanfragen an Kabelanbieter aufgewendet wurde). Für Wellenformen können dieselben Dinge eine Sinuswelle oder ein amplitudenmoduliertes Signal erzeugen.
Wenn Sie etwas wirklich Komplexes benötigen, deaktivieren Sie die Option "Am Raster ausrichten", zeichnen Sie Ihr Ding, schalten Sie das Einrasten wieder ein und ziehen Sie das Ding an seinen Platz. Vergessen Sie nicht, dass Sie auch die Größe von gezeichneten Objekten ändern können.
Microsoft Excel ist weder ein CAD-Programm (es ist eine Kalkulationstabelle) noch ein Programm für einen armen Mann (laut office.microsoft.com sind es 150 US-Dollar). was für ein professionelles Zeitdiagramm nicht akzeptabel ist.
Kevin Vermeer
6
für 200 $ pro Jahr können Sie alle Microsoft-Produkte haben. In der Realität haben die meisten Unternehmen, die ich war, Excel zur Verfügung. Als ich mir UML-Tools ansah, um bessere Zeichnungen zu erstellen, waren sie mindestens fünf großartig. Für ein paar sehr einfache Zeitdiagramme musste ich Excel verwenden.
Kortuk
1
@Kortuk Ja, ich verstehe, dass die meisten Unternehmen über Office * AND * Internet Explorer 6 verfügen. Ermutige die Praxis nicht. Sie sind sich auch nicht sicher, was Sie sich für UML-Tools angesehen haben. Mehr als die Hälfte der unter en.wikipedia.org/wiki/… aufgelisteten Tools ist kostenlos und Open Source.
Kevin Vermeer
1
Mit Mühe, Zeit und Vorstellungskraft kann Excel vieles zeichnen, was man braucht.
Dr. Watson
Unglaublich, dass das 7 (!) Positive Stimmen bringt. Einige Leute haben offensichtlich noch nie ein echtes Zeitdiagramm gesehen / erstellt!
Federico Russo
4
Kann ich vorschlagen, dass Sie eine beliebige Form von PERT-Diagrammen oder -Planungsprogrammen verwenden? Wenn US oder nS nicht unterstützt werden, tun Sie einfach so, als wären "Tage" gleichwertig
Der erste Vorschlag, den ich hier sah, war Inkscape. Ein Zeichenprogramm! Also dachte ich mir, warum nicht Excel, damit kannst du auch zeichnen? Es scheint, als hätte das tatsächlich jemand vorgeschlagen! Und dass 7 Personen dies als nützlichen Vorschlag empfanden! Ich glaube, ich muss mich eine Minute hinlegen.
Der Grund, warum es so viel unterschiedliche Software gibt, ist, dass jede Aufgabe ihre eigenen Anforderungen hat und jede Software versucht, die Anforderungen für eine bestimmte Aufgabe zu beantworten. Wenn Sie Excel zum Zeichnen von Zeitdiagrammen verwenden, denken Sie vielleicht, "sehen, das funktioniert auch", aber in Wirklichkeit reicht es weniger als Bleistift und Papier. Zumindest mit dem Stift können Sie die grundlegendste Funktion von Timing-Designern bewältigen: Signalabhängigkeiten.
Wie auch immer, jetzt, da ich diese Last nicht mehr im Kopf habe, würde ich 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 Einsatz 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.
Federico Russo
2
Ich mache eine Menge dieser Dinge mit PostScript , Moveto, Lineto, Lineto, Moveto usw. Von dort aus können Sie sie in fast alles verwandeln: JPEG, PNG usw., oder sie direkt in ein PostScript-Dokument einbetten, das dann werden kann ein PDF .
PostScript unterstützt alle kostenlosen Tools und ist betriebssystemunabhängig, sodass Sie weder Office this noch Excel that kaufen müssen . Ghostscript und Ghostview sind deine Freunde.
SVG ist wahrscheinlich ein anderes Format / eine andere Sprache, die Sie ebenfalls verwenden können. Es ist kostenlos, offen und konvertiert zu allem.
Ich mache das auch. Ich werde die Generierung dieser Dokumenttypen mit Perl + TeX + METAPOST (oder anderen Befehlszeilentools) skripten. Wenn sich die Daten ändern, gebe ich "make" ein und die Änderungen breiten sich aus.
Jluciani
1
TimeGen kostet weniger als 100 US-Dollar (Lite) und 500 US-Dollar (Pro). Ich habe es nicht benutzt.
Ich habe mich in den letzten Tagen nach etwas umgesehen und eine Reihe von Vorschlägen ausprobiert, von denen keiner zufriedenstellend (oder in einigen Fällen überhaupt) für mich wirkte oder die Timing-Pfeile nicht zeichneten.
Welches kann ich empfehlen. Es ist einigermaßen intuitiv und es gibt gute Video-Tutorials auf der Website. Läuft unter Windows und unter Linux unter Wine.
Visio funktioniert immer gut für mich und war eines der wichtigsten Dokumentationsmittel für FPGA (Timing und Block) und Systemdiagramme an einem meiner Einsatzorte.
Das Schönste an visio ist, dass Sie Vorlagen und Formen generieren können, mit denen Sie einheitliche Zeitdiagramme erstellen können.
Antworten:
Eine schnelle Websuche führt zu 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 macht nichts aus, wenn es eine Weile dauert), versuchen Sie es mit Inkscape, wie von digikata vorgeschlagen. Professionelle Datenblätter werden wahrscheinlich am besten mit dem von jluciani vorgeschlagenen tikz-timing-Paket oder dem älteren (aber weniger komplexen) timing.sty bereitgestellt , beide mit (La) TeX (versuchen Sie Lyx für eine kürzere Lernkurve, wenn Sie möchten Seien Sie gewarnt, dass es eine steile Kurve ist, egal was passiert, aber es lohnt sich!)
Sie könnten auch versuchen in GTKWave (oder eine andere Schaltungssimulator mit einem Logikanalysator) simuliert: (Quelle: bec-systems.com )
Dies ist jedoch mehr auf die Simulation von Verilog / VHDL / Schaltplänen ausgerichtet, als nur auf das Zeichnen von Wellenformen.
quelle
Das Tool, das ich mit einem Lesezeichen versehen habe, ist - http://www.timingtool.com/menu/tour/ttmain.php. Ich habe es nicht ausprobiert oder es mir nicht genauer angesehen.
Wenn Sie TeX und Freunde verwenden, gibt es ein Timing-Paket für die TIKZ-Bildumgebung (siehe CTAN). Manchmal können Sie mit den TeX-Tools Wrapper-Skripte oder GUIs finden, 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
quelle
WaveDrom ist eine kostenlose Open-Source-Rendering-Engine für digitale Zeitdiagramme , die JavaScript , HTML5 und SVG verwendet , um WaveJSON- Eingabetextbeschreibungen in SVG-Vektorgrafiken zu konvertieren .
quelle
Inkscape
Das erste Diagramm könnte etwas Arbeit sein, aber nachdem Sie einige Vorlagen eingerichtet haben, ist es ziemlich schnell.
Ich sehe, dass es jetzt ein Plugin namens Timink for Inkscape gibt, mit dem sich Zeitdiagramm- Wellenformen erzeugen lassen.
quelle
Microsoft Excel ist das 2D-CAD-Programm des armen Mannes und hat für mich gut funktioniert. Markieren Sie alle Zellen und ziehen Sie die Zeilen- und Spaltenränder, bis die Pixelanzahl übereinstimmt. Auf diese Weise erhalten Sie quadratische Zellen. Verwenden Sie dann die Symbolleiste Zeichnen, um Linien und Formen hinzuzufügen. Die Option "Am Raster ausrichten" sollte ebenfalls aktiviert sein.
Bearbeiten Sie, um eine zusätzliche Erklärung für die Downvoter in den Kommentaren unten hinzuzufügen:
MS Excel bietet viele Funktionen, darunter ein anständiges Zeichenpaket. Wenn Sie die Software verwenden und erkunden, werden Sie Dinge finden, von denen Sie nie gedacht hätten, dass Sie es tun würden. Würden Sie beispielsweise sagen, dass Excel eine Programmierschnittstelle und eine Benutzeroberfläche für Datenerfassungshardware oder ein Berichts-Front-End für Datenbanken ist? Die Antwort ist, dass es für diese verwendet werden kann, und ich weiß das aus der persönlichen Implementierung dieser Art von Apps. Genau wie ich Excel persönlich implementiert habe, um 2D-Zeichnungen von Wellenformen und mehr (Kabel, Grundrisse usw.) zu erstellen.
Dies ist im Sinne eines umgangssprachlichen Begriffs gemeint: Definition hier . Und ich wäre erstaunt, wenn jemand, der in seinem Berufsleben Wellenformzeichnungen anfertigte, keine Office-Kopie von seinem Arbeitgeber erhalten hätte.
Tut mir leid, dass ich stumpf bin, aber das ist völlig falsch. Hier finden Sie eine ausführlichere Erklärung, die Sie selbst ausprobieren können. Betrachten Sie, wie oben beschrieben, das Quadrat ABCD. Die Koordinaten beginnen im Uhrzeigersinn an der oberen linken Ecke des Quadrats. Wenn Sie nacheinander eine Linie durch die Punkte DABC ziehen, erhalten 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" richtet sich an den Punkten des Rasters aus, setzt jedoch keine Winkelbeschränkungen durch. Offensichtlich kann dies durch Auswahl anderer Koordinaten auf andere Winkel erweitert werden. Wenn Sie ein 2 × 2-Gitter von Zellen als Basis verwenden, erhalten Sie mehr Auswahlmöglichkeiten für die Winkel und so weiter. Ich habe dies zum Beispiel verwendet, um trapezförmige Wellenformen und steilheitsgesteuerte, selbsttaktende Manchester-Signale zu zeichnen - nicht nur Takt-Ticks mit einem Tastverhältnis von 50%.
Beachten Sie auch, dass Sie nicht auf gerade Linien beschränkt sind - Kurven sind schmutzig einfach. Das Kopieren und Einfügen (STRG-C, STRG-V) sowie das Drehen und Gruppieren von Objekten vereinfachen komplexere Formen. Ein weiteres Beispiel aus meiner Erfahrung: Wenn Sie eine einzelne Hemisphäre zeichnen können, können Sie diese in kürzester Zeit auf einem Kabelschema in die Doppelhelix eines abgeschirmten Twisted Pair 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 das Einreichen von Online-Angebotsanfragen an Kabelanbieter aufgewendet wurde). Für Wellenformen können dieselben Dinge eine Sinuswelle oder ein amplitudenmoduliertes Signal erzeugen.
Wenn Sie etwas wirklich Komplexes benötigen, deaktivieren Sie die Option "Am Raster ausrichten", zeichnen Sie Ihr Ding, schalten Sie das Einrasten wieder ein und ziehen Sie das Ding an seinen Platz. Vergessen Sie nicht, dass Sie auch die Größe von gezeichneten Objekten ändern können.
quelle
Kann ich vorschlagen, dass Sie eine beliebige Form von PERT-Diagrammen oder -Planungsprogrammen verwenden? Wenn US oder nS nicht unterstützt werden, tun Sie einfach so, als wären "Tage" gleichwertig
quelle
TimingEditor sieht einfach aus und erzeugt anständige SVG-Dateien.
quelle
Der erste Vorschlag, den ich hier sah, war Inkscape. Ein Zeichenprogramm! Also dachte ich mir, warum nicht Excel, damit kannst du auch zeichnen? Es scheint, als hätte das tatsächlich jemand vorgeschlagen! Und dass 7 Personen dies als nützlichen Vorschlag empfanden! Ich glaube, ich muss mich eine Minute hinlegen.
Der Grund, warum es so viel unterschiedliche Software gibt, ist, dass jede Aufgabe ihre eigenen Anforderungen hat und jede Software versucht, die Anforderungen für eine bestimmte Aufgabe zu beantworten. Wenn Sie Excel zum Zeichnen von Zeitdiagrammen verwenden, denken Sie vielleicht, "sehen, das funktioniert auch", aber in Wirklichkeit reicht es weniger als Bleistift und Papier. Zumindest mit dem Stift können Sie die grundlegendste Funktion von Timing-Designern bewältigen: Signalabhängigkeiten.
Wie auch immer, jetzt, da ich diese Last nicht mehr im Kopf habe, würde ich 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 Einsatz wäre.
quelle
Ich mache eine Menge dieser Dinge mit PostScript , Moveto, Lineto, Lineto, Moveto usw. Von dort aus können Sie sie in fast alles verwandeln: JPEG, PNG usw., oder sie direkt in ein PostScript-Dokument einbetten, das dann werden kann ein PDF .
PostScript unterstützt alle kostenlosen Tools und ist betriebssystemunabhängig, sodass Sie weder Office this noch Excel that kaufen müssen . Ghostscript und Ghostview sind deine Freunde.
SVG ist wahrscheinlich ein anderes Format / eine andere Sprache, die Sie ebenfalls verwenden können. Es ist kostenlos, offen und konvertiert zu allem.
quelle
TimeGen kostet weniger als 100 US-Dollar (Lite) und 500 US-Dollar (Pro). Ich habe es nicht benutzt.
quelle
Ich habe mich in den letzten Tagen nach etwas umgesehen und eine Reihe von Vorschlägen ausprobiert, von denen keiner zufriedenstellend (oder in einigen Fällen überhaupt) für mich wirkte oder die Timing-Pfeile nicht zeichneten.
Ich habe schließlich folgendes gefunden:
https://waveme.weebly.com/
Welches kann ich empfehlen. Es ist einigermaßen intuitiv und es gibt gute Video-Tutorials auf der Website. Läuft unter Windows und unter Linux unter Wine.
quelle
Zwei Tools, die ich verwendet habe, sind:
Synapticad Timing diagrammer pro ist teuer, aber so voll ausgestattet, dass ein Freund von mir einen Chip im Verilog-Stimulus-Modus entworfen hat
Timing Analyzer - Frei, unter ständiger Weiterentwicklung, der Autor reagiert auf Änderungen und es basiert auf Java, so dass es portabel ist.
quelle
Visio funktioniert immer gut für mich und war eines der wichtigsten Dokumentationsmittel für FPGA (Timing und Block) und Systemdiagramme an einem meiner Einsatzorte.
Das Schönste an visio ist, dass Sie Vorlagen und Formen generieren können, mit denen Sie einheitliche Zeitdiagramme erstellen können.
quelle