《FPGA全程進階---實戰演練》第三十二章 Signal Tap II 應用實例


     還有幾天就要交文章終稿了,三年的研究生生活也快要結束了,時間飛快,歲月如梭,但學習技術的熱情仍然不能松懈,不懂的東西太多,需要實時保持奮斗!!過些天會繼續更新《FPGA全程進階---實戰演練》內容,此電子書是筆者三年所做過的一些項目總結,又有擅長記錄的習慣,於是整理成博客。

     過些天會更新的內容有C++學習初步,友晶科技 DE1-Soc板卡學習筆記,Altium Designer畫板技巧,在去下一家之前盡量更新完畢。

     今天講一下Signal Tap II的使用。

1 基礎知識講解

      本章主要是講解signal tap II的使用,signal tap II是quartus II 軟件內部自帶的一個邏輯分析儀,對於多通道數字信號的使用,一般都采用邏輯分析儀來操作。

Quartus II軟件可以選擇要捕獲的信號,開始捕獲的時間,以及要捕獲多少的數據樣本,還可以選擇直接從器件的存儲器塊通過JTAG端口傳送至STP II,並且有單次采樣或者連續采樣模式,捕獲實時數據,方便工程的調試與開發。

對於signal tap II而言,是在工程中引入宏功能,以預先設定的時鍾采樣實時數據,並存儲於FPGA中的RAM中,所以可見,使用STP II也要使用一定的代價,那就是占用FPGA內部資源,如果工程資源余量充足,況且可以使用,緊張的時候不建議采用STP II ,可以改用外部的邏輯分析儀操作。

還有一點注意的是,在全編譯工程時,盡量不要把STP的文件也加載進來,因為STP本身占用一定的存儲空間,這樣會使編譯速度減慢,而且還會消耗內部資源。

wps3EC.tmp

圖32.1 signal tap II 采集原理

2 操作實例

       在使用STP II之前,先把工程中的各引腳及其他設置設置好,然后全編譯,編譯完之后,再執行下述操作。

1. 新建stp文件。

wps3ED.tmp

2. 點擊file---save as,然后輸入你想設定的名字,然后點擊yes。

       這里需要注意一下,就是如果你不想使用stp文件,或者使用其他的stp文件,可以在assignments---signaltap ii logic analyzer中設置。

wps3EE.tmp

3. 接下來,我們要雙擊如下圖所示的位置,調出節點發現器。

wps3FE.tmp

wps3FF.tmp

      然后現在filter中選擇pins:all,再點擊list按鈕,實現把所有的節點列出來。

      對於上圖中的filter選項中,當然還有其他的模式選擇,比如前適配和后適配等,對於輸入或輸出信號,我們選擇pins:all,這個選項,捕獲模塊接口(兩個模塊之間的溝通)信號則選擇signal tap ii:pre-synthesis 選項,這是前適配,沒有經過綜合和適配的,其他模式一般不常用。

wps400.tmp

添加完之后的信號。

4. 設置采樣時鍾和采樣深度

         采樣時鍾決定了顯示信號波形的分辨率,它的頻率要大於被測信號的最高頻率,否則無法正確反映被測信號波形的變化。采樣時鍾必須為采樣信號的2倍及以上。SignalTap II在時鍾的上升沿采樣,可以使用設計系統中的任何信號作為采樣時鍾,根據Altera公司的建議最好使用同步系統全局時鍾作為采樣時鍾。但是在實際應用中,多數使用獨立的采樣時鍾,這樣能采樣到被測系統中的慢速信號,故需將系統時鍾進行分頻。

指定采樣深度,在“Sample depth”處選擇采樣深度,即信號能看多長,它是根據設計中剩余的RAM塊容量和待測信號的個數決定的。該值受FPGA芯片內置存儲器大小的限制,設的過長,編譯會通不過。

wps401.tmp

       觸發位置的設定,有前,后,中間,連續觸發方式。

       對於上圖中的trigger conditions中可以設置多段式,如下圖所示。

wps412.tmp

wps413.tmp

       這種包括前觸發方式(采樣的數據12%為觸發前,88%為觸發后),中心觸發方式(采樣的數據50%為觸發前,50%為觸發后),后觸發方式(采樣的數據88%為觸發前,12%為觸發后),以及連續觸發方式,前觸發方式是來自於觸發后的數據,中心觸發來自於前觸發和后觸發,后觸發來自於前觸發的數據。連續觸發方式將保存新數據,與觸發器的位置無關,直到signal tap ii 停止工作。

wps414.tmp

       上圖中是設置觸發的方式,有高電平,低電平,任意電平,不關心等等選項,可以根據所選用的信號進行設置觸發方式。

       設置好上處的各個參數后,開始重新編譯整個工程,然后將整個程序下載到FPGA開發板上面。當然也可以不用去下載到開發板上面,可以利用如下圖的形式。

wps415.tmp

      指定JTAG接口,然后將JTAG chain 加載進來,然后再把SOF文件也加載進來,再點擊下載按鈕。wps416.tmp

      采集回來的數據如下圖所示。

wps417.tmp

       可以看出href的寬度為2560,但是由於我們的輸入時鍾為24MHz,采樣時鍾為48MHz,所以一個數據被采樣了兩次。那么每行輸出的數據個數應該是2560/2 = 1280。由於輸出的格式是RGB565格式,所以每個時鍾輸出兩個數據,所以一行要輸出640X2 = 1280個數據,可見和預期是一致的。

       注意:xclk和pclk沒有直接的關系,每次復位都會有不同的效果。

       注意:對於幀頻的輸出,OV7725手冊中規定是輸出30Hz,可能有時候檢測到25Hz,這個是因為若設置成50Hz的自動避免時,幀率只能輸出到25Hz,但若設置成60Hz的自動避免時,幀率能輸出到30Hz;

STP II 中的高級設置

        高級設置利用友好的GUI界面,可以方便地進行拖拽到指定的界面,然后設置相關的觸發方式,如下圖所示是一個簡單的例子,還是針對上述的模塊。

wps427.tmp

wps428.tmp

       如上圖所示,這個圖形化的設置方式,是通過把觸發方式設置成高級觸發方式來設定的,其中E表示一旦有邊沿變化,就會有高電平輸出,然后經過組合邏輯或運算,輸出結果。大家可自行嘗試。

/****************************************************************
//===============================================================
上述內容如果有侵犯到您的權利,請及時與本作者聯系,會在第一時間處理

聯系方式:

    Email    :tiegen123@126.com
    QQ       :770811496
    QQ交流群:298095983(FPGA&硬件學習交流群)
    個人博客:http://www.raymontec.com/
    其他博客:http://www.cnblogs.com/raymon-tec

由於作者水平有限,文中難免有疏漏或常識性錯誤,勞煩各位盡情指出。

歡迎大家一同討論技術,交流設計過程中的經驗,共同進步,共同學習。
//===============================================================
****************************************************************/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM