加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • signal tap 邏輯分析儀使用教程
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

FPGA零基礎(chǔ)學習精選 | Signal tap 邏輯分析儀使用教程

01/03 11:10
2320
閱讀需 11 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

作者:郝旭帥??校對:陸輝

大俠好,歡迎來到FPGA技術(shù)江湖,江湖偌大,相見即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。

本系列將帶來FPGA的系統(tǒng)性學習,從最基本的數(shù)字電路基礎(chǔ)開始,最詳細操作步驟,最直白的言語描述,手把手的“傻瓜式”講解,讓電子、信息、通信類專業(yè)學生、初入職場小白及打算進階提升的職業(yè)開發(fā)者都可以有系統(tǒng)性學習的機會。

系統(tǒng)性的掌握技術(shù)開發(fā)以及相關(guān)要求,對個人就業(yè)以及職業(yè)發(fā)展都有著潛在的幫助,希望對大家有所幫助。后續(xù)會陸續(xù)更新 Xilinx 的 Vivado、ISE 及相關(guān)操作軟件的開發(fā)的相關(guān)內(nèi)容,學習FPGA設(shè)計方法及設(shè)計思想的同時,實操結(jié)合各類操作軟件,會讓你在技術(shù)學習道路上無比的順暢,告別技術(shù)學習小BUG卡破腦殼,告別目前忽悠性的培訓誘導,真正的去學習去實戰(zhàn)應用。話不多說,上貨。

signal tap 邏輯分析儀使用教程

在之前的設(shè)計開發(fā)時,利用modelsim得出中間某單元的數(shù)據(jù),并且輸入也是設(shè)計者在testbench中自己給出的。但是,實際應用時,外部輸入的信號不一定和我們在testbench中所描述輸入的信號相同,就有可能導致RTL仿真成功,但是下板測試失敗。

signal tap logic analyzer 采集并顯示FPGA設(shè)計中的實時信號行為,從而無需額外的I/O管腳或者外部實驗室設(shè)備即可檢查正常器件操作期間內(nèi)部信號的行為。

在數(shù)據(jù)獲取期間,器件中的存儲器模塊存儲采集的數(shù)據(jù),然后通過JTAG通信電纜將數(shù)據(jù)傳輸邏輯分析儀。

下圖為signal tap logic analyzer的任務流程。

設(shè)計要求

利用邏輯分析儀測量出電腦發(fā)送UART波特率為115200時)是每bit時間寬度。

設(shè)計分析

在UART協(xié)議中規(guī)定了每bit的時間寬度應該是1秒鐘除以波特率,但是在實際電路中相同標號的兩個晶振也會有一定的誤差。我們可以利用邏輯分析儀(也就是利用FPGA的時鐘)去測量一下PC發(fā)送UART時的bit時間寬度。

由于波特率為115200,在采樣時,一般采用16倍頻采樣。此時采樣頻率比較高,由基礎(chǔ)的50MHz的時鐘不能夠做出精確的16倍頻,由此也會帶來一定的誤差。

利用邏輯分析儀就可以看到在上述兩個都有誤差的情況,真實采樣的偏差,以及偏差對我們的設(shè)計是否有影響。

設(shè)計實現(xiàn)

將_9_uart_drive 復制一份,命名為_10_uart_drive_signal_tap。然后打開此工程,將波特率修改為115200。

點擊tools -> signal tap logic analyzer。

在右側(cè)窗口signal configuration中,首先需要指定一個采樣時鐘信號。

邏輯分析儀在采樣時鐘的每個上升沿進行數(shù)據(jù)采樣。邏輯分析儀不支持在采樣時鐘的下降沿進行數(shù)據(jù)采樣。設(shè)計中的任何信號都可以用作采樣時鐘。但是,為了獲得最佳的數(shù)據(jù)采樣結(jié)果,請使用與被測信號同步的全局時鐘。

在本設(shè)計中,所有的信號都是由外部的clk信號進行驅(qū)動的,所以此采樣時鐘,選擇為clk。點擊clock對話框后面的三個點。將filter選擇為pin:all,點擊list,在matching nodes中選擇clk,點擊“大于”,在nodes found中出現(xiàn)clk,然后點擊ok。

配置完采樣時鐘信號后,需要配置采樣深度。

針對被采樣的數(shù)據(jù)中的每個信號,采樣深度指定了采樣和存儲的樣本的數(shù)量。在器件存儲器資源有限的情況下,由于所選的深度太大,設(shè)計可能無法編譯。此時需要降低采樣深度以減少資源使用。

采樣深度乘以采樣的間隔就確定了采樣的時間寬度?,F(xiàn)在我們要做的是采樣一個UART的協(xié)議幀,一個協(xié)議幀共有12個bit。按照115200的波特率,采樣的時間寬度應該是104166ns,所以采樣深度應該是5208,在此選擇采樣深度為8K。

當確定好采樣深度后,可以指定邏輯分析儀在觸發(fā)事件之前和之后 采樣的數(shù)據(jù)量。

邏輯分析儀提供三種選擇。Pre表示12%的存儲深度用作觸發(fā)事件之前,88%的存儲深度用作觸發(fā)事件之后;Center表示50%的存儲深度用作觸發(fā)事件之前,50%的存儲深度用作觸發(fā)事件之后;Post表示88%的存儲深度用作觸發(fā)事件之前,12%的存儲深度用作觸發(fā)事件之后。

在此選擇Pre。

配置好這些信息后,開始添加需要觀測的信號。

在setup界面,在空白界面雙擊,添加想要觀測的信號。

需要觀測的信號有uart_txd、uart_rxd、cap_cnt。

uart_txd和uart_rxd為端口信號,選擇filter時,選擇PIN:all即可,cap_cnt為內(nèi)部信號,選擇filter時,選擇signal tap :pre-synthesis。

將uart_rxd的下降沿設(shè)置為觸發(fā)條件。

在uart_rxd的trigger conditions的位置,右擊,選擇falling edge。

點擊保存,保存到qprj,命名為stp1.stp。

使能邏輯分析儀。點擊Yes。

回到quartus界面,進行綜合分析并形成配置文件。

在工程向?qū)У慕Y(jié)構(gòu)界面,可以看到在結(jié)構(gòu)中出現(xiàn)了兩個未知的組件。這兩個就是邏輯分析儀。

在報告中,可以看到使用的邏輯資源和存儲器資源增多。

回到signal tap界面,并且連接PC和開發(fā)板。

在hardware中,選擇USB – blaster。

點擊sof manager后面的三個小點,選擇生成的sof文件,然后點擊下載。

點擊運行分析。

此時邏輯分析儀就在等待被觸發(fā)。

觸發(fā)條件為uart_rxd的下降沿,打開串口助手,配置好后,發(fā)送一個數(shù)據(jù)11。

發(fā)送之后,邏輯分析儀中出現(xiàn)了波形。因為發(fā)送為11,發(fā)送數(shù)據(jù)從低位開始,故而第一個數(shù)據(jù)應該為1。所以第一端低電平為起始位,可以通過采樣的數(shù)字標號,確定它的時間寬度。

左鍵是放大,右鍵是縮小。

左側(cè)為0,因為利用下降沿作為觸發(fā)條件。放大左側(cè)數(shù)字為434。

所以起始位的時間寬度為434x20ns,即8680ns。按照波特率為115200計算,每一個bit的時間寬度應該是8680.5556ns。這就證明PC發(fā)過來的bit的時間寬度和我們所預想的是一致的。

可以用此方法測量其他的bit的寬度,有的bit的寬度要比8680ns要少,有的bit的寬度要比8680ns要多,但是偏差不多。

由于真正的寬度和我們認為的寬度有一定的區(qū)別。但是設(shè)計是按照每個bit的寬度都是20ns的整數(shù)倍,所以在采樣時,就會有偏差。通過cap_cnt可以看出來,并且隨著采樣的越長,誤差累計就會越大。

在數(shù)據(jù)的第一個bit時,cap_cnt等于7,馬上要變?yōu)?。按照cap_cnt的計數(shù)規(guī)律是波特率的16倍頻設(shè)計,所以后面所有的bit起始時,都應該是16 *N + 7,并且馬上要變?yōu)?6 * N + 8。但是真實的時間寬度和預想的時間寬度有一定的偏差。

在最后的校驗位的起始時,cap_cnt的數(shù)據(jù)按照16倍頻采樣來說,應該是135,然后快變?yōu)?36才對。但是此時已經(jīng)等于136,并且馬上變137。

我們是按照cap_cnt去進行采樣的(在cap_cnt變化的位置采樣)。

因為有誤差,所以規(guī)定UART的協(xié)議幀的長度不能夠過長。即中間的數(shù)據(jù)位的個數(shù)不能隨意增加。

上述分析步驟的數(shù)字只是筆者的測驗結(jié)果,不同的PC和開發(fā)板測試時,可能會得到不同的結(jié)果。

邏輯分析儀總結(jié)

利用邏輯分析儀可以直接查看到開發(fā)板內(nèi)部運行的波形。所以在很多時候,都是利用邏輯分析儀進行板級測試作為最終結(jié)果。

如果不需要工程中的邏輯分析儀,可以打開assignments -> settings –> signal tap logic analyzer,將使能的對勾去掉,然后重新編譯就可以了。

 

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
5M160ZE64C5N 1 Altera Corporation Flash PLD, 14ns, 128-Cell, CMOS, PQFP64, 9 X 9 MM, 0.40 MM PITCH, LEAD FREE, PLASTIC, EQFP-64

ECAD模型

下載ECAD模型
$5.96 查看
EPM1270T144I5N 1 Altera Corporation Flash PLD, 10ns, 980-Cell, CMOS, PQFP144, 22 X 22 MM, 0.50 MM PITCH, LEAD FREE, TQFP-144

ECAD模型

下載ECAD模型
$145.11 查看
EPM240T100C5N 1 Altera Corporation Flash PLD, 7.5ns, 192-Cell, CMOS, PQFP100, 16 X 16 MM, 0.50 MM PITCH, LEAD FREE, TQFP-100

ECAD模型

下載ECAD模型
$18.04 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

任何技術(shù)的學習就好比一個江湖,對于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。