摘要:WaveDrom是一個免費開源的在線數字時序圖渲染引擎。它可以使用JavaScript, HTML5和SVG來將時序圖的WaveJSON描述轉成SVG矢量圖形,從而進行顯示。WaveDrom可以嵌入到任何網頁中。WaveDrom編輯器可在瀏覽器中運行,也可以安裝在系統上,渲染引擎可以嵌入到任何網頁中。
一、WaveDrom功能
繪制數字時序圖、繪制寄存器圖、繪制邏輯電路圖
![3a184b96-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfeACrnuAABH8uPv7bo864.png)
![3a2ca67c-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfeAIqxtAAAIVv0Ye9A222.png)
![3a36affa-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfeAKnuLAAALFME-fNs865.png)
二、WaveDrom的使用
- 在線編輯器 https://wavedrom.com/editor.html
- 官網 https://wavedrom.com/
WaveDrom可以在線編輯也可以下載安裝,可以在官網首頁找到這兩個入口。在線編輯方式,版本較新,但需要聯網。下載安裝方式,版本較官網舊一些,無需聯網即可使用。
![3a3ee38c-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfeACpR7AAFRENIiFYg072.png)
在編輯器中輸入WaveJSON 格式的數字時序圖描述,即可實時渲染出相應的數字時序圖。aveJSON 格式是十分簡單的,主要需要記憶的是各個符號所對應的波形。
![3a4ecfd6-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfeAXGnSAACOYCOJnOU010.png)
三、繪制時序圖
![3a60b55c-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfiAQ9WNAADoTvlhQSE374.png)
下面的代碼將創建名為“Alfa”的1位信號,該信號隨時間改變其狀態。
{"signal":[{"name":"Alfa","wave":"01.zx=ud.23.456789"}]}
“wave”字符串中的每個字符都代表一個時間段。符號“將以前的狀態再延長一段時間。下面是它的外觀:
![3a691e22-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfiAOnqWAAArkaMtOOI562.png)
![3a74f29c-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfiAF4P1AACTis0F-5I485.png)
加時鐘:數字時鐘是一種特殊類型的信號。它在每個時間段內變化兩次,可以有正負極性。它還可以在工作邊緣上有一個可選標記。時鐘塊可以與其他信號狀態混合,以產生時鐘選通效應。代碼如下:
{signal:[
{name:"pclk",wave:'p.......'},
{name:"Pclk",wave:'P.......'},
{name:"nclk",wave:'n.......'},
{name:"Nclk",wave:'N.......'},
{},
{name:'clk0',wave:'phnlPHNL'},
{name:'clk1',wave:'xhlhLHl.'},
{name:'clk2',wave:'hpHplnLn'},
{name:'clk3',wave:'nhNhplPl'},
{name:'clk4',wave:'xlh.L.Hx'},
]}
以及呈現的圖表:
![3a7fe832-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfiAPzLlAAB7QsIv9W0030.png)
WaveLanes 可以統一在以數組形式表示的命名組中。['組名', {...}, {...}, ...]
數組的第一個條目是組的名稱,這些組可以嵌套。
{signal:[
{name:'clk',wave:'p..Pp..P'},
['Master',
['ctrl',
{name:'write',wave:'01.0....'},
{name:'read',wave:'0...1..0'}
],
{name:'addr',wave:'x3.x4..x',data:'A1A2'},
{name:'wdata',wave:'x3.x....',data:'D1'},
],
{},
['Slave',
['ctrl',
{name:'ack',wave:'x01x0.1x'},
],
{name:'rdata',wave:'x.....4x',data:'Q2'},
]
]}
![3a926b10-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfiATQduAADFjFcYZLU986.png)
四、時序圖教程
網址:https://wavedrom.com/tutorial.html
![3aa525b6-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfiARaKjAAFQlPDp6yg823.png)
里面包含多個示例,可以很好地對WaveDrom進行學習。
![3abb5bf6-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfmATsKwAAQqvA2L5vs363.png)
五、邏輯電路圖教程
網址:https://wavedrom.com/tutorial2.html
![3ad2fee6-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfmAV0EoAAFb_BT21jw502.png)
里面講解了邏輯電路圖的繪制示例。
![3ae0b216-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfmALbywAAJwnxgcF38317.png)
六、Github主頁
WaveDromGithubhttps://github.com/wavedrom/wavedrom
![3aefe61e-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfmAM3R4AALOAqJa738934.png)
七、VScode中使用Waveform
在VScode應用商店中搜索Waveform Render,這個就相當于WaveDrom
![3b032788-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfmAYZFiAACEgzHB1AE135.png)
左邊鍵入代碼,右邊會自動生成時序圖,非常好用:
![3b190710-1211-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/0D/wKgaomTnEfmAPYWxAACPCAQbCGU303.png)
審核編輯 :李倩
-
時序圖
+關注
關注
2文章
58瀏覽量
22503 -
矢量
+關注
關注
0文章
95瀏覽量
23803 -
編輯器
+關注
關注
1文章
806瀏覽量
31309
原文標題:你真的會畫時序圖嗎?不,你不會!
文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
無人機自動巡檢系統功能與應用
設備管理系統:核心功能與創新應用全解析
![設備管理系統:核心<b class='flag-5'>功能與</b>創新應用全解析](https://file1.elecfans.com/web2/M00/B6/F7/wKgaomWCnqCAVALtAAAoP02go7w921.png)
黑芝麻智能與Nullmax發布量產級高階智駕功能
數據網關的功能與應用 數據采集器的安裝與配置
工業物聯網盒子核心功能與技術特點
激光位移傳感器的功能與作用
![激光位移傳感器的<b class='flag-5'>功能與</b>作用](https://file1.elecfans.com//web2/M00/0B/F0/wKgZomc8NpeAIPupAAFioJplY4M618.jpg)
CNC設備的功能與用途
zabbix的擴展功能與插件介紹
MCU性能與功能:優化設計的關鍵
將RAM清除功能與bq3285/bq3287A RTC結合使用
![將RAM清除<b class='flag-5'>功能與</b>bq3285/bq3287A RTC結合使用](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
電子地圖的主要功能與應用
![電子地圖的主要<b class='flag-5'>功能與</b>應用](https://file1.elecfans.com/web2/M00/07/0D/wKgaombiXYaAWzJxAABFoIqYWSs928.png)
評論