0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【教程分享】FPGA零基礎學習:Signal tap 邏輯分析儀使用教程

電子發(fā)燒友論壇 ? 來源:未知 ? 2023-07-04 08:25 ? 次閱讀

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


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


Signal tap 邏輯分析儀使用教程

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


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



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


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



設計要求

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


設計分析

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


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


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

設計實現


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


點擊tools -> signal tap logic analyzer。




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



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


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




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


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


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



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


邏輯分析儀提供三種選擇。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為內部信號,選擇filter時,選擇signal tap :pre-synthesis。



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


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




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


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



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


在工程向導的結構界面,可以看到在結構中出現了兩個未知的組件。這兩個就是邏輯分析儀。



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



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


在hardware中,選擇USB – blaster。



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



點擊運行分析。



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



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



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


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


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



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


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


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


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



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


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


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


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


邏輯分析儀總結

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


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






聲明本文由電子發(fā)燒友社區(qū)發(fā)布,轉載請注明以上來源。如需社區(qū)合作及入群交流,請?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


更多熱點文章閱讀

  • 基于Cortex-M3內核的32位微控制器,STM32項目實戰(zhàn)分享!

  • 基于32位RISC-V設計的互聯型微控制器,沁恒微CH32V307開發(fā)樣例

  • RK3568!四核64位ARMv8.2A架構,匯聚編譯源碼及實戰(zhàn)樣例

  • 尺寸僅有21mm*51mm,板邊采用郵票孔設計,合宙 Air105 核心板開發(fā)總結

  • 嵌入式Linux開發(fā)秘籍!工程師大佬親歷分享項目樣例


原文標題:【教程分享】FPGA零基礎學習:Signal tap 邏輯分析儀使用教程

文章出處:【微信公眾號:電子發(fā)燒友論壇】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴

原文標題:【教程分享】FPGA零基礎學習:Signal tap 邏輯分析儀使用教程

文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發(fā)燒友論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    淺談邏輯分析儀的技術原理和應用領域

    邏輯分析儀是一種專門用于數字系統測試和分析的電子儀器,它通過實時捕獲和顯示數字信號的邏輯電平狀態(tài),幫助工程師理解系統中各個信號的邏輯關系和時
    發(fā)表于 09-12 15:04

    Keysight 頻譜分析儀(信號分析儀

    Keysight頻譜分析儀(信號分析儀)足夠的性能和卓越的可靠性,幫助您更輕松、更快速地應對常見的射頻-微波測試測量挑戰(zhàn)。可靠的頻譜分析儀和信號分析儀提供準確可信的測量結果無論您是要在
    的頭像 發(fā)表于 09-12 08:10 ?135次閱讀
    Keysight 頻譜<b class='flag-5'>分析儀</b>(信號<b class='flag-5'>分析儀</b>)

    multisim中邏輯分析儀怎么連接

    在這篇文章中,我們將詳細介紹如何在Multisim中使用邏輯分析儀(Logic Analyzer)。Multisim是一款功能強大的電子電路仿真軟件,它可以幫助我們設計、仿真和測試各種電子電路。邏輯
    的頭像 發(fā)表于 07-18 09:15 ?493次閱讀

    邏輯分析儀multisim的應用

    電子電路。 邏輯分析儀是一種用于測試和分析數字電路的儀器,它可以捕獲和顯示數字信號的波形,幫助用戶診斷電路問題。Multisim中也包含了邏輯分析儀
    的頭像 發(fā)表于 07-18 09:13 ?374次閱讀

    邏輯分析儀可以當示波器用嗎

    邏輯分析儀和示波器是兩種不同的電子測量儀器,它們各自有獨特的功能和應用領域。雖然在某些情況下,邏輯分析儀可以作為示波器使用,但它們之間存在一些關鍵的差異。 一、
    的頭像 發(fā)表于 07-17 16:55 ?404次閱讀

    邏輯分析儀主要工作方式是什么

    邏輯分析儀是一種用于測量和分析數字信號的電子測試儀器。它能夠實時捕獲和顯示數字信號的波形,幫助工程師對數字電路進行故障診斷、性能評估和設計驗證。 一、邏輯
    的頭像 發(fā)表于 07-17 16:52 ?340次閱讀

    24M的邏輯分析儀怎么用的

    24M邏輯分析儀是一種用于數字信號測試和分析的儀器,它可以幫助工程師和技術人員對數字信號進行捕獲、存儲、顯示和分析。以下是關于24M邏輯
    的頭像 發(fā)表于 07-17 16:40 ?350次閱讀

    邏輯分析儀的主要用途是什么

    在現代電子工程領域,邏輯分析儀作為一種重要的測試工具,其功能和應用范圍日益擴大。它不僅可以幫助工程師實時監(jiān)測和分析數字信號,還可以在設計、調試和故障診斷等方面發(fā)揮關鍵作用。 邏輯
    的頭像 發(fā)表于 07-17 16:38 ?489次閱讀

    邏輯分析儀的使用說明

    邏輯分析儀是一種用于捕獲、顯示和分析數字系統(如計算機、微處理器、數字電路等)中信號時序關系的電子測試儀器。它通過對被測系統輸入和輸出信號進行采樣、存儲和顯示,幫助工程師和科學家深入理解和診斷數字
    的頭像 發(fā)表于 05-16 15:37 ?1562次閱讀

    邏輯分析儀的常見故障及原因

    邏輯分析儀是電子測試領域中的一種重要儀器,主要用于分析數字系統的邏輯關系。它屬于數據域測試儀器中的一種總線分析儀,能夠以總線(多線)概念為基
    的頭像 發(fā)表于 05-10 16:06 ?878次閱讀

    邏輯分析儀的基本原理、結構組成及關鍵技術

    邏輯分析儀,作為現代電子測試領域的重要工具之一,以其獨特的功能和性能,在數字電路和系統測試、故障診斷等領域發(fā)揮著重要作用。本文將對邏輯分析儀的基本原理、結構組成、關鍵技術、應用領域以及
    的頭像 發(fā)表于 05-10 15:10 ?1375次閱讀

    如何用內部邏輯分析儀調試FPGA?

    FPGA內部信號引到引腳,然后用外部的邏輯分析儀捕獲數據。然而當設計的復雜程度增加時,這個方法就不再適合了,其中有幾個原因。第一是由于FPGA的功能增加了,而器件的引腳數目卻緩慢地增
    的頭像 發(fā)表于 12-20 13:35 ?435次閱讀
    如何用內部<b class='flag-5'>邏輯</b><b class='flag-5'>分析儀</b>調試<b class='flag-5'>FPGA</b>?

    使用Raspberry Pi Pico實現簡單的邏輯分析儀

    邏輯分析儀是一種電子儀器,可捕獲并顯示來自數字系統或數字電路的多個信號。邏輯分析儀可以將捕獲的數據轉換為時序圖、協議解碼、狀態(tài)機跟蹤、操作碼,或者可以將操作碼與源級軟件相關聯。
    的頭像 發(fā)表于 12-11 09:33 ?1197次閱讀
    使用Raspberry Pi Pico實現簡單的<b class='flag-5'>邏輯</b><b class='flag-5'>分析儀</b>

    請問帶顯示的和不帶顯示的USB邏輯分析儀的原理是什么?

    請問帶顯示的和不帶顯示的USB邏輯分析儀的原理是什么 有沒有開源的資料分享?上位機分析軟件都是專用的嗎?
    發(fā)表于 11-09 06:48

    集成邏輯分析儀(ILA)的使用方法

    在日常FPGA開發(fā)過程中,邏輯代碼設計完成后,為了驗證代碼邏輯的正確性,優(yōu)先使用邏輯仿真(modesim)進行驗證。仿真驗證通過后進行板級驗證時,使用
    的頭像 發(fā)表于 10-01 17:08 ?3596次閱讀
    集成<b class='flag-5'>邏輯</b><b class='flag-5'>分析儀</b>(ILA)的使用方法