還有幾天就要交文章終稿了,三年的研究生生活也快要結束了,時間飛快,歲月如梭,但學習技術的熱情仍然不能鬆懈,不懂的東西太多,須要實時保持奮鬥!!過些天會繼續更新《FPGA全程進階---實戰演練》內容,此電子書是筆者三年所作過的一些項目總結,又有擅長記錄的習慣,因而整理成博客。php
過些天會更新的內容有C++學習初步,友晶科技 DE1-Soc板卡學習筆記,Altium Designer畫板技巧,在去下一家以前儘可能更新完畢。html
今天講一下Signal Tap II的使用。學習
1 基礎知識講解
本章主要是講解signal tap II的使用,signal tap II是quartus II 軟件內部自帶的一個邏輯分析儀,對於多通道數字信號的使用,通常都採用邏輯分析儀來操做。ui
Quartus II軟件能夠選擇要捕獲的信號,開始捕獲的時間,以及要捕獲多少的數據樣本,還能夠選擇直接從器件的存儲器塊經過JTAG端口傳送至STP II,而且有單次採樣或者連續採樣模式,捕獲實時數據,方便工程的調試與開發。url
對於signal tap II而言,是在工程中引入宏功能,以預先設定的時鐘採樣實時數據,並存儲於FPGA中的RAM中,因此可見,使用STP II也要使用必定的代價,那就是佔用FPGA內部資源,若是工程資源餘量充足,何況可使用,緊張的時候不建議採用STP II ,能夠改用外部的邏輯分析儀操做。設計
還有一點注意的是,在全編譯工程時,儘可能不要把STP的文件也加載進來,由於STP自己佔用必定的存儲空間,這樣會使編譯速度減慢,並且還會消耗內部資源。3d
圖32.1 signal tap II 採集原理調試
2 操做實例
在使用STP II以前,先把工程中的各引腳及其餘設置設置好,而後全編譯,編譯完以後,再執行下述操做。htm
1. 新建stp文件。blog
2. 點擊file---save as,而後輸入你想設定的名字,而後點擊yes。
這裏須要注意一下,就是若是你不想使用stp文件,或者使用其餘的stp文件,能夠在assignments---signaltap ii logic analyzer中設置。
3. 接下來,咱們要雙擊以下圖所示的位置,調出節點發現器。
而後如今filter中選擇pins:all,再點擊list按鈕,實現把全部的節點列出來。
對於上圖中的filter選項中,固然還有其餘的模式選擇,好比前適配和後適配等,對於輸入或輸出信號,咱們選擇pins:all,這個選項,捕獲模塊接口(兩個模塊之間的溝通)信號則選擇signal tap ii:pre-synthesis 選項,這是前適配,沒有通過綜合和適配的,其餘模式通常不經常使用。
添加完以後的信號。
4. 設置採樣時鐘和採樣深度
採樣時鐘決定了顯示信號波形的分辨率,它的頻率要大於被測信號的最高頻率,不然沒法正確反映被測信號波形的變化。採樣時鐘必須爲採樣信號的2倍及以上。SignalTap II在時鐘的上升沿採樣,可使用設計系統中的任何信號做爲採樣時鐘,根據Altera公司的建議最好使用同步系統全局時鐘做爲採樣時鐘。可是在實際應用中,多數使用獨立的採樣時鐘,這樣能採樣到被測系統中的慢速信號,故需將系統時鐘進行分頻。
指定採樣深度,在「Sample depth」處選擇採樣深度,即信號能看多長,它是根據設計中剩餘的RAM塊容量和待測信號的個數決定的。該值受FPGA芯片內置存儲器大小的限制,設的過長,編譯會通不過。
觸發位置的設定,有前,後,中間,連續觸發方式。
對於上圖中的trigger conditions中能夠設置多段式,以下圖所示。
這種包括前觸發方式(採樣的數據12%爲觸發前,88%爲觸發後),中心觸發方式(採樣的數據50%爲觸發前,50%爲觸發後),後觸發方式(採樣的數據88%爲觸發前,12%爲觸發後),以及連續觸發方式,前觸發方式是來自於觸發後的數據,中心觸發來自於前觸發和後觸發,後觸發來自於前觸發的數據。連續觸發方式將保存新數據,與觸發器的位置無關,直到signal tap ii 中止工做。
上圖中是設置觸發的方式,有高電平,低電平,任意電平,不關心等等選項,能夠根據所選用的信號進行設置觸發方式。
設置好上處的各個參數後,開始從新編譯整個工程,而後將整個程序下載到FPGA開發板上面。固然也能夠不用去下載到開發板上面,能夠利用以下圖的形式。
指定JTAG接口,而後將JTAG chain 加載進來,而後再把SOF文件也加載進來,再點擊下載按鈕。
採集回來的數據以下圖所示。
能夠看出href的寬度爲2560,可是因爲咱們的輸入時鐘爲24MHz,採樣時鐘爲48MHz,因此一個數據被採樣了兩次。那麼每行輸出的數據個數應該是2560/2 = 1280。因爲輸出的格式是RGB565格式,因此每一個時鐘輸出兩個數據,因此一行要輸出640X2 = 1280個數據,可見和預期是一致的。
注意:xclk和pclk沒有直接的關係,每次復位都會有不一樣的效果。
注意:對於幀頻的輸出,OV7725手冊中規定是輸出30Hz,可能有時候檢測到25Hz,這個是由於若設置成50Hz的自動避免時,幀率只能輸出到25Hz,但若設置成60Hz的自動避免時,幀率能輸出到30Hz;
STP II 中的高級設置
高級設置利用友好的GUI界面,能夠方便地進行拖拽到指定的界面,而後設置相關的觸發方式,以下圖所示是一個簡單的例子,仍是針對上述的模塊。
如上圖所示,這個圖形化的設置方式,是經過把觸發方式設置成高級觸發方式來設定的,其中E表示一旦有邊沿變化,就會有高電平輸出,而後通過組合邏輯或運算,輸出結果。你們可自行嘗試。
/****************************************************************
//===============================================================
上述內容若是有侵犯到您的權利,請及時與本做者聯繫,會在第一時間處理聯繫方式:
Email :tiegen123@126.com
QQ :770811496
QQ交流羣:298095983(FPGA&硬件學習交流羣)
我的博客:http://www.raymontec.com/
其餘博客:http://www.cnblogs.com/raymon-tec因爲做者水平有限,文中不免有疏漏或常識性錯誤,勞煩各位盡情指出。
歡迎你們一同討論技術,交流設計過程當中的經驗,共同進步,共同窗習。//===============================================================****************************************************************/