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