知乎上看到RS官方賬號的點贊和評論,備受鼓舞,又有了寫東西的動力。平時一直在使用RS家的信號源、頻譜儀等,確實功能很強大。
進入正題:
某年某月某日...
數據記錄的必要性
在程序基本功能已經實現的情況下,項目轉入集中測試與排故階段時,這個時候一般來說就會測試出各種各樣的問題。作為一個完整的通信系統或通信設備,往往集成了多個模塊軟件,遇到問題的時候,如果僅從現象出發,往往比較難定位。
然后呢,各個軟件開始抓包,抓取問題數據進行分析,如果是FPGA的話可能需要重新抓取數據,而編譯時間又較慢,一次抓取分析不出來,可能又要再抓取新的數據,再去編譯,如此下來,一天時間可能就過去了,如果問題又是偶發出現的,則復現問題又要耗費大量的時間。
這個時候,數據記錄就很有必要性了,在各個軟件中,考慮各自軟件想要記錄的信息,加入數據記錄邏輯,并加入數據記錄相應的接口,通過相應的線路傳輸至數據記錄硬件模塊,存入存儲器。
在設備運行過程中,記錄下各個時間的狀態信息,最終通過解析數據記錄,回溯出問題時候的狀態,以此分析問題原因,省去了抓取數據、編譯程序、掛仿真器等步驟,更方便高效。
基于RAM的數據記錄
從上述方式可以看出,完備的數據記錄系統,需要多個軟件協同,設計好數據記錄的內容和格式,設計好數據傳輸路徑,有數據記錄硬件模塊,有數據記錄解析軟件。
這里我想說的一種情況,也是我之前實際遇到的,也就是在項目比較著急的情況下,來不及規劃數據記錄系統時,該怎么辦呢?
當時想到一種基于RAM的數據記錄方式,具體操作就是,例化一個深度較大的RAM,將想要記錄的信息作為RAM的數據輸入,可以拼接不同的信息變量輸入,也可以單獨輸入。
RAM的寫使能用事件觸發,或者周期觸發,比如每次發送的時候記錄一次即寫一次,或者每隔100ms記錄一次即寫一次。
那么怎么把數據記錄內容取出來呢?可以同時加一個VIO和ILA,ILA同時抓取VIO的輸出和RAM的輸出,通過VIO輸出信號的上升沿觸發,并在VIO輸出信號變高時從RAM中讀出數據,觸發后導出數據分析即可。
舉一反三
其實不僅數據記錄,在某些難以一次性抓取數據的場景下,都可以用這個方法,將想要抓取的數據,在特定條件下寫入RAM,不寫其他無用的數據,最終觸發后讀出即可。
Tips
-
FPGA
+關注
關注
1626文章
21678瀏覽量
602022 -
數據
+關注
關注
8文章
6909瀏覽量
88849 -
RAM
+關注
關注
8文章
1367瀏覽量
114541
原文標題:一種數據記錄方式
文章出處:【微信號:FPGA通信小白成長之路,微信公眾號:FPGA通信小白成長之路】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論