《软件工具》分享2款好用的时序图工具

article/2025/9/1 14:10:58

在分享工具之前,需要说明下什么是时序图,时序图是指MCU等执行指令时发出的控制信号的时间序列。这些控制信号在时间上的相互关系就是时序图,也就是时序图是一系列具有时间顺序的脉冲信号图。

值得注意的是,网上很多资料都将UML序列图也叫时序图,所谓UML序列图,它通过描述对象之间发送消息的逻辑顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。和本文所讲的时序图不是一个东西。

在这里插入图片描述

以上是UML的序列如实例,下面给出一个I2C的时序图实例。

在这里插入图片描述

本文将要介绍2款能画图诸如上述时序图的工具。

1 WaveDrom

笔者首推WaveDrom,不使用因为它最好用,而是因为WaveDrom开源免费,还是跨平台,适用于Windows、Linux、macOS,教程也很详细,可以说非常良心,关键还有在线版。

Github地址

WaveDrom教程

WaveDrom是用代码的方式来进行时序图设计,上手也是非常快,需要一定时间学习,但熟悉之后可以大大提高效率。下面举例说明。

【代码】

{ signal: [{ name: "CK",   wave: "P.......",                                              period: 2  },{ name: "CMD",  wave: "x.3x=x4x=x=x=x=x", data: "RAS NOP CAS NOP NOP NOP NOP", phase: 0.5 },{ name: "ADDR", wave: "x.=x..=x........", data: "ROW COL",                     phase: 0.5 },{ name: "DQS",  wave: "z.......0.1010z." },{ name: "DQ",   wave: "z.........5555z.", data: "D0 D1 D2 D3" }
]}

相应的时序图如下:
在这里插入图片描述

其实上述代码本质就是一段json格式的文本,通过不同的字符来标志时序中不同的逻辑,比如‘01’表示高低电平,非常简单。

下面看下软件界面:

在这里插入图片描述

WaveDrom实时画图,当你添加了相应的字符,就会有相应的图型在下方显示。

2 TimeGen

官网地址

TimeGen是一款简单实用的画时序图工具,用户可以快速的通过该软件进行时序图的创建,软件具有矩形或圆形边缘的轮廓文本框,方便用户对各种模式的时序图进行制作,在构图时,用户可以一次性选择多个文本框,通过快捷键就能立即实现一键添加,在很大程度上提高了设计时间,同时您可以使用编辑工具移动文本框与您的鼠标,在添加文本时,用户可以自由设置每个文本框的属性字体样式、字体 大小和颜色,非常具有个性化。

在这里插入图片描述

TimeGen毕竟是收费软件,还是很专业的。

TimeGen使用起来就更简单,只需要动动鼠标就可以,另外还可以在放置一些字符,线段。

在这里插入图片描述

笔者使用的专业版的,最终导出的效果如下:

在这里插入图片描述

如果没有购买,默认是有水印的,旧版本的可以通过导出到Visio去水印,新版本的不行了,大家还是支持正版吧。

在这里插入图片描述

当然还有其他的专业软件。比如Time Designer、AndyTiming。

大家所熟知Visio也可以画,不过Visio画流程图和系统设计框图是主流,时序图不是它的专长,不过你非要用它画,也能画图来,看自己选择吧。




欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎


欢迎订阅我的微信公众号

在这里插入图片描述


http://chatgpt.dhexx.cn/article/3jxpZrwV.shtml

相关文章

什么是时序图

什么是时序图 时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 让我们来看一看visio2016对时序图的的解释。 时序图的元素 我们在画时序图时会涉及7种元素&#xff1a…

软件推荐:画时序图的小工具Timegen

很多芯片手册里面都有介绍操作的时序,画个时序图之类的虽然东西不是很多,但是如果没有合适的软件还真是挺麻烦,今天推荐一个只有几兆大小的小软件TimeGen,操作也很简单,我用的是3.1的版本,需要的童鞋自己百…

【超好用】时序图画图工具TimeGen 3.2安装和使用教程

环 境:windows 10 64位 文章目录 一、安装(1)安装timegen-pro-3.2文件(2)替换TimeGen3.exe文件二、使用教程(1)tg_draw操作(2)tg_setup操作(3)tg_…

常用的画流程图/时序图工具简介

流程图部分。 一、Graphviz 先下载并安装Graphviz。 然后在sublime下安装插件。 这样,就支持Graphviz的dot语言语法了。 在subime下,添加一个dot语言的编译系统dotCompile.sublime-build { "cmd": ["D:\\Graphviz2.38\\bin\\d…

时序图在线工具

在线工具:在线时序图 PS 开源的各类流程图 https://app.diagrams.net/

分享一款绘制时序图的实用小工具

转自 | 果果小师弟 今天分享一款实用小工具:WaveDrom,它是一个免费开源的在线数字时序图渲染引擎。它可以使用JavaScript, HTML5和SVG来将时序图的WaveJSON描述转成SVG矢量图形,从而进行显示。WaveDrom可以嵌入到任何网页中。WaveDrom编辑器可…

快速学习时序图:时序图简介、画法及实例

一、 什么是时序图? 时序图(Sequence Diagram),亦称为序列图、循序图或顺序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。 时序图是一个二维图,横轴表示对象&a…

PlantUML:一款让你爽到起飞的高效代码绘制时序图工具

背景 对于工作中遇到一些复杂的业务逻辑场景,需要借助图形工具去准确的表达,会更高效的理解和梳理复杂的逻辑,同时在跟领导和同事汇报时也更能清晰、准确、快速的表达想法以及方案。比如梳理源码常用的时序图以及流程图等,之前在…

java时序图工具_开发必备的小工具,你用过几个?

今天就简单介绍一下平时用到的一些小工具.首先我平时是用IDEA开发的,所以下面的介绍都是和IDEA相关的.本文主要介绍我平时在哪些场景使用,使用了哪些功能,至于IDEA怎么安装插件和插件有哪些额外的功能,这些你把插件名字对着搜索引擎一搜就很多了. 1.SequenceDiagram 这个工具是…

信号波形时序图常用工具推荐

Refer: 下载:画时序图的四大神器_可编程器件-面包板社区 (eet-china.com) 软件工程师,习惯使用StarUML画Timing Diagram, 硬件工程师建议使用一下软件。 1、AndyTiming 免费的,这个有一个知乎的博文可以参考 https://zhuanlan.zhihu.com/p…

Java 静态代码块详解

文章目录 一、普通初始化块:二、静态代码块:三、多种代码块间的执行顺序 首先得知道什么是初始化块:就是类中得一段用大括号 {} 括起来得独立的代码空间。 而初始化块分成了 普通初始化块和 静态的初始化块(也称为 静态代码块&…

java 代码块:静态代码块和非静态代码块

main方法是程序的入口,加入没有main方法程序无法启动,但是main方法不是第一个执行的。 我认为:在这个类加载时,编译器会找到main方法,从这里开始运行,但是当你把这个类加载的时候,静态代码块就…

java中代码块之静态代码块和非静态代码块

一、代码块: 语法:使用{}包裹的,可以在{}中写代码。 修饰符:static 或者不修饰。 static修饰的为静态代码代码块。 格式: //静态代码块,随着类的加载児执行static{System.out.println("这是静态代码块…

Java~~静态代码块

1. 可以使用static关键字来定义“静态代码块”: (1)语法格式: static{ java语句; } (2)静态代码块在类加载时执行,并且只执行一次。 (3)静态代码块在一个类…

java非静态代码块和静态代码块介绍

代码块 SE.10.0…02.28 非静态普通代码块:定义在方法内部的代码块,不用任何关键字修饰,又名构造代码块、实例代码块 静态代码块:用static修饰的代码块 非静态代码块 public class Test {public static void main(String[] args…

static静态代码块

static静态代码块 public class Person {// 静态代码块:在类加载时候执行静态代码块,只会执行一次static {System.out.println("Person.static initializer");}// 实例初始化块,每次调用构造方法之前首先调用实例初始化块{System.out.println…

java静态代码块

今天涉及到一个表需要加字段来关联另一张表的需求,考虑到项目已经上线,这个表又跟很多表联系,就想到了使用静态代码块去new一个Map来存放关联的字段,当然这是少量数据的表,大表的话还得考虑创建字典表了。 public sta…

静态代码块

在Java类中,使用static关键字修饰的代码块称为静态代码块 当类被加载的时候,静态代码块就会被执行 由于类只会加载一次,所以静态代码块只会执行一次 在程序当中,使用静态代码块对类的成员变量进行初始化 package qmfx2; publi…

代码块(静态代码块和非静态代码块)(重难点)

1 基本介绍 代码化块又称为初始化块,属于类中的成员[即是类的一部分],类似于方法,将逻辑语句封装在方法体中,通过{}包围起来。 但和方法不同,没有方法名,没有返回,没有参数,只有方法体&#xff…

分布式与集群的区别是什么?

在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已…