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?
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?
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.
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
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 .
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.
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.
TimingEditor sieht einfach aus und erzeugt anständige SVG-Dateien.
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 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.
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.
Ich habe schließlich folgendes gefunden:
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.
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.
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.