Author Topic: Know of any Win7 32-bit digital timing diagram drawing software(solved)  (Read 2201 times)

0 Members and 1 Guest are viewing this topic.

Offline SuzyCTopic starter

  • Frequent Contributor
  • **
  • Posts: 806
When trying to code a protocol to transfer data between mcus without a good timing diagram, all my robots go 'round in circles and fall down.

I just wanna draw a digital timing diagram showing the states of several digital/analog/IRQ pins simultaneously.

I have heard of some free software from instrument manufacturers, but does anyone know where to download any waveform timing drawing programs used with control and measuring instruments?


Have you found an easy freeware program that works on 32-bit Windows 7 or XP to draw a timing diagram showing simultaneous I/O pins on a MCU?

Mu best solution to date is a mechanical  pencil, printer paper, a ruler and an eraser and my mechanical pencil just ran out of lead.

I've tried Windows PowerPoint but it took me over two hours to draw about three changes of 5 pins. Also tried several common Win drawing programs but they are exceedingly clumsy doing this task.

I have downloaded WaveMe but only runs on 64-bit Win 10.
« Last Edit: July 16, 2022, 04:42:10 am by SuzyC »
 

Offline bob1033

  • Newbie
  • Posts: 8
  • Country: us
Re: Know of any Win7 32-bit digital timing diagram drawing software?
« Reply #1 on: July 15, 2022, 12:25:32 pm »
Maybe check out WaveDrom (https://wavedrom.com/). It's a simple JavaScript program I've used to draw digital timing diagrams for documentation. You should be able to get it to work with anything with modern browser support.
 
The following users thanked this post: SuzyC, tooki

Offline SuzyCTopic starter

  • Frequent Contributor
  • **
  • Posts: 806
Re: Know of any Win7 32-bit digital timing diagram drawing software?
« Reply #2 on: July 15, 2022, 12:33:22 pm »
Bob103..I took a quick look and it has a real problem as it is intended to clearly draw (with very complicated syntax) a known timing diagram. To use this tool, I must start with an already precised timing diagram.

I  need sketch out my mental chaos, to sketch ideas, to try to draw timing diagrams that will help me see and develop and understand clearly the interaction between pins and events that I have not yet precised in my simple mind.

Um, in other words, I don't know what I am doing until I can can first try to draw a possible solution for my signal timings and figure things out.

I need something that allows to draw lines that show transitions between states of I/O/analog pins/IRQ states.
I need to just to draw lines that are showing all the actors interacting.
« Last Edit: July 15, 2022, 12:46:47 pm by SuzyC »
 

Offline Bassman59

  • Super Contributor
  • ***
  • Posts: 2501
  • Country: us
  • Yes, I do this for a living
Re: Know of any Win7 32-bit digital timing diagram drawing software?
« Reply #3 on: July 15, 2022, 05:39:52 pm »
I've looked for timing diagram-drawing software for many years, and they're all painful to use in one way or another.

Nothing beats good ol' quadrille paper and a sharp pencil.
 
The following users thanked this post: SuzyC, eugene

Online jpanhalt

  • Super Contributor
  • ***
  • Posts: 3704
  • Country: us
Re: Know of any Win7 32-bit digital timing diagram drawing software?
« Reply #4 on: July 15, 2022, 07:37:11 pm »
Interesting, the few times I have drawn them, I just use my 2D CAD program (Graphite from Ashlar-Vellum -- it's very old).  It exports easily in dxf and is my goto for geometry critical stuff with Eagle.

Easy to offset lines, join groups, offset, etc.  You don't need 3D nor the headache of Solidworks.  If there are any 2D programs still available, I would look there.
 
The following users thanked this post: SuzyC

Offline TimFox

  • Super Contributor
  • ***
  • Posts: 8154
  • Country: us
  • Retired, now restoring antique test equipment
Re: Know of any Win7 32-bit digital timing diagram drawing software?
« Reply #5 on: July 15, 2022, 08:21:02 pm »
As a kluge, one of my co-workers used Microsoft Project (with a huge mental re-calibration of the time scale) to look for race states in timing diagrams.
 
The following users thanked this post: SuzyC

Offline SuzyCTopic starter

  • Frequent Contributor
  • **
  • Posts: 806
Re: Know of any Win7 32-bit digital timing diagram drawing software?
« Reply #6 on: July 16, 2022, 04:22:59 am »
Works well, easy to do. See the chart I made in a few minutes after watching youtube vid.

« Last Edit: July 16, 2022, 04:39:58 am by SuzyC »
 
The following users thanked this post: msliva

Online jpanhalt

  • Super Contributor
  • ***
  • Posts: 3704
  • Country: us
That's nice and is similar to doing it with the 2D program I mentioned.  The data fills with CAD will look slightly different as the entire space will be filled rather than just a rectangle.  I think filling the entire space is more common (Capture_vc6).

It can also be done in Eagle (maybe KiCad and others too).  Data fill is done with the polygon tool.  Color/style choices are much more limited in Eagle (Capture_EAGLE).  Eagle took about 3x as long as the 2D CAD program took to do.  Most of that was data fill time.  Dotted vertical lines are also possible in EAGLE.  I just forgot to add them.

I use Eagle 7.2/7.4, but would recommend using a regular, simple 2D CAD program instead. (The timing diagrams are only meant to show geometries, not realistic timings.)
 
The following users thanked this post: SuzyC

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6685
  • Country: fi
    • My home page and email address
I often use Inkscape for such diagrams, although I have used LibreOffice Calc in a similar manner (OpenOffice/LibreOffice equivalent of Excel).

When one starts a new document in Inkscape, File > Document Properties opens a dialog one can adjust the size, units, etc; and in its Grids tab, one can create either a rectangular or axonometric (triangular, typically) grid of desired size.  Something like 0.1" or 2mm grid is often nice; do note the Grid units selection, as it is separate from default units (in the Page tab).

The Snap controls bar, View > Show/Hide > Snap Controls Bar, contains buttons to show or hide the grid (also keyboard #), and whether snapping to the grid is enabled or not (also keyboard %).  It is especially nice that when it does snap, it shows you a tooltip with the reason what and where it snapped (for example, Cusp node to grid intersection).

I have also used plain text with a fixed-width font with Unicode Arrows set (↑↓↕↗↘↥↧↨↱↳⇅⇵⇈⇊⇑⇓⇕⇗⇘) for transitions and Block Elements set (▕ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▔ ▏) for states, and Box Drawing for boxes, registers and such, but unfortunately Unicode does not contain a full set of suitable glyphs for state diagrams.  That said, one could use Birdfont or FontForge to add such glyphs to Unicode Private User Area (U+E000 through U+F8FF), to for example DejaVu Sans Mono (see its license that expressly permits this).  As a programmer, I personally like to use a plain text editor for this, so all I'd need to do is include the font file with by Unicode plain text documentation files.
 
The following users thanked this post: SuzyC

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6685
  • Country: fi
    • My home page and email address
You know, like dis.  This works in any plain text editor, but only if you have the attached DejaVu Sans Mono Custom font installed.


This is the same as DejaVu Sans Mono (v.2.37), but has those 25 new glyphs as Private Use Area Unicode characters.  DejaVu Sans Mono is not a particularly stellar monospace font, but it is okay.

The Zip file contains both FontForge source (.sfd), and the resulting TrueType font (DejaVuSansMonoCustom.ttf).  Just throw the latter to your Fonts folder, and you got the new "DejaVu Sans Mono Custom" or "DejaVu Sans Mono Custom, Book" font, depending on how your system shows the font names.
The license is in DejaVuSansMonoCustomLicense.html; it is very permissive.
You can open the DejaVuSansMonoCustom.html from the zip in your browser, so you can copy-paste the glyphs (Unicode code points U+E390 through U+E3DE, in Unicode Private Use Area), if you don't have a Character Map or Glyph Browser tool to easily pick Unicode glyphs.
 
The following users thanked this post: spostma

Offline Silenos

  • Regular Contributor
  • *
  • Posts: 63
  • Country: pl
  • Fumbling in ignorance
LaTeX, the obvious and only real solution! :)
http://mirrors.ibiblio.org/CTAN/graphics/pgf/contrib/tikz-timing/tikz-timing.pdf
And it runs on everything.
 
The following users thanked this post: Nominal Animal

Online SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15079
  • Country: fr
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6685
  • Country: fi
    • My home page and email address
If writing LaTeX scares oneself, Lyx is a nice editor for LaTeX for a gentler learning curve.  It is not exactly what-you-see-is-what-you-get, but close to it; like Word with paragraph marks etc. enabled and not the preview mode.  It is designed to help those writing peer-reviewed articles, so there may be some quirks that can feel odd otherwise.

Essentially, LaTeX is a markup language like HTML, Markdown, BBCode (what you use when you post here), and so on.  The source code is plain text, just like those others, and is therefore very well suited to be included in your project sources.  (It is ridiculously stable, and because of its use in scientific writing, you can expect it to be re-renderable in future decades just as well as it is now.)

Just like browsers render HTML, LaTeX editors and typesetters render LaTeX.  See the example at Wikipedia; the format is really logical.  The rendered output is usually also saved as PDF, and therefore viewable in any PDF viewer (including browsers, since web browsers nowadays tend to include a built-in PDF renderer).  But note that the PDF is the result, and conversion back to original LaTeX is hard/impossible; you'll definitely want to keep the original plain-text LaTeX sources.

You can render the LaTeX also into HTML, with the non-text parts rendered as SVG (a vector-based, fully scalable format also supported by all browsers).  If you look at my home page, my mascot, Tux, is an SVG image; so, it's a quite good vector format, really good for this.  Depending on the settings, it will look very much like the PDF output does.

TikZ-timing is a package in LaTeX (\usepackage{tikz-timing}), that provides macros – language functions – to produce the timing graphics.  (There are also other macro packages for drawing circuits, for example.)  It is based on PGF/TikZ pair of languages for vector graphics using human-readable plain text algebraic/geometric descriptions.  There is also tikz-circuits.logic for logic circuits and tikz-circuits.ee for circuit diagrams.  There are even tools that can convert your Matlab/Octave diagrams into TikZ, so you can embed them in the plain-text LaTeX document (without relying on embedding the diagram as an external file into the rendered document).

All this means that if you do want to document your electronics and/or embedded projects, LaTeX is actually a very good choice.  There are some nice tools you can pick from, on any OS you might wish to use, and they are all compatible with each other.  Because its source is plain text, it co-operates excellently with source code and version management utilities like git: they can pinpoint the exact changes between different versions.

(If this sounds like a sales pitch, it's just because I myself just realized the above.  I haven't written any LaTeX in a couple of years, and had completely forgotten all about its non-physics/math uses, and only now realized how useful it is for myself for documenting my embedded and circuit ideas.  In my own case, I like to use a plain text editor with syntax highlighting, and a separate renderer; it is only a matter of running a single command to have a renderer watch a LaTeX file and whenever I save it, it'll re-render and redisplay the updated file in a fraction of a second.  Others like to use an editor like LyX or Overleaf –– there are even add-ons for various browsers (including Microsoft Edge) to use the browser itself as a LaTeX editor, or to render LaTeX used in Github, Discord, etc.  Right now I'm simulating a couple of interesting LED driver circuits using ngspice, and using LaTeX to document those, including any math stuff I might wish to remember (like effective pulse width as a function of PWM pulse width), seems like the easiest option.)
 

Online jpanhalt

  • Super Contributor
  • ***
  • Posts: 3704
  • Country: us
What tags does one use here (EEVBlog) to insert LaTeX?  I had to use an image in the past.
 

Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 6685
  • Country: fi
    • My home page and email address
What tags does one use here (EEVBlog) to insert LaTeX?  I had to use an image in the past.
For inline, put between \$ and \$; for block, put between $$ and $$.  It uses MathJax.
For example, a = \frac{b}{c} e^f renders inline as \$a = \frac{b}{c} e^f\$and $$a = \frac{b}{c} e^f$$as a block.  Neither works in preview, though, and at least right now, MathJax does not support PGF/Tikz, only the math subset of LaTeX, I think.
 
The following users thanked this post: jpanhalt

Online jpanhalt

  • Super Contributor
  • ***
  • Posts: 3704
  • Country: us
Got it.  Thanks.

\$a = \frac{b}{c} e^f\$
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf