天天看點

邏輯分析儀linux,“虛拟”邏輯分析儀SignalTap II

“虛拟”邏輯分析儀SignalTap II

Quartus II中內建的SignalTap II在一些高端應用中,尤其是邏輯資源(主要是餘量)充足的應用中是非常不錯的調試手段。而對于一些邏輯資源或者存儲資源餘量不多的應用中,這種調試方法則顯得毫無意義。話說“魚和熊掌不可兼得”,在Quartus II中所能夠支援的線上調試手段中,例如In-system Sources and Probes、Logic Analyzer和SignalTap II,乃至Virtual JTAG,唯有SignalTap II的性能是最好的,對于高速應用的調試是最有幫助的。但與此對應的是,使用SignalTap II需要FPGA器件本身付出比較高的資源消耗。

盡管如此,SignalTap II還是很受高端FPGA應用群體的親睐。雖然特權同學項目應用中使用的多是中低端的器件,但最近的項目上采集的一組控制信号受限與單機示波器的帶寬和存儲深度,很難準确的摸透信号的脾性。是以隻能借助于某個現成的FPGA子產品,在Quartus II中搭建一個SignalTap II可通路工程,并将待采集的信号連接配接到采集子產品的可用IO管腳上,在這個簡單的“邏輯分析儀”中,一定要連接配接上采集和被采集子產品的地線。

關于SignalTap II的使用方法,不是本文談論的焦點,建議大家去消化《Quartus II Handbook.pdf》的Chapter 15: Design Debugging Using the SignalTap II Embedded Logic Analyzer。

通常示波器都有一個采樣頻率,說白了就是示波器根據這個采樣時鐘每隔固定時間去讀取目前接口信号的電平。這個采樣頻率越高,那麼相對而言就能夠更準确的還原信号的真實波形。那麼對于SignalTap II這個“虛拟”邏輯分析儀而言,它的采樣時鐘是誰?如何設定呢?很簡單,如圖1所示,設定好這個Clock就可以了。這個Clock可以是FPGA外部輸入時鐘,也可以是經過PLL分頻或倍頻後的時鐘。有了PLL的幫助,這個采樣頻率就可以被設定的“遊刃有餘”了。

邏輯分析儀linux,“虛拟”邏輯分析儀SignalTap II

圖1

關于存儲深度,圖1的Data選項中也可以進行設定。觸發條件、觸發模式等等設定SignalTap II中都有很靈活的支援。使用者可以根據自己的需要靈活的調整。具體的使用方法都可以在軟體的handbook中找到。圖2和圖3是特權同學的一個“虛拟”邏輯分析儀應用和采集信号的分析,發現這個“虛拟”邏輯分析儀還是蠻實用的,至少能夠在沒有先進調試裝置和更好調試手段的情況下幫助信号的分析。

邏輯分析儀linux,“虛拟”邏輯分析儀SignalTap II

圖2

邏輯分析儀linux,“虛拟”邏輯分析儀SignalTap II

圖3

FPGA器件在嵌入式開發中真的是非常實用,哪怕你不用它去做項目做産品,隻要掌握了它的設計精髓,也許它一不小心就能夠成為你的開發設計過程中的一個“小助手”,大大加速産品問題定位和開發進度。