本發(fā)明涉及數(shù)據(jù)采集系統(tǒng)儲結(jié)構(gòu)及存儲方法,具體涉及應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的系統(tǒng)及方法。
背景技術(shù):
1、數(shù)據(jù)采集系統(tǒng)在電子測量儀器中有著廣泛應(yīng)用,無論是科學(xué)研究、工程應(yīng)用,還是社會生活、醫(yī)療衛(wèi)生等領(lǐng)域,都用到高速/中速/低速數(shù)據(jù)采集,其中高速數(shù)據(jù)采集系統(tǒng)在科學(xué)研究、航空航天、軍事等高精尖領(lǐng)域應(yīng)用廣泛。觸發(fā)是數(shù)據(jù)采集的基本功能,用來控制數(shù)據(jù)采集的開始時機。觸發(fā)具有穩(wěn)定捕捉感興趣波形、穩(wěn)定顯示捕獲波形和隔離異常信號等功能。
2、一般情況下,高速數(shù)據(jù)采集系統(tǒng)采用“adc+fpga”架構(gòu)設(shè)計,通過模擬數(shù)字轉(zhuǎn)換器(analog?to?digital?converter,adc)實現(xiàn)模擬信號的模擬數(shù)字轉(zhuǎn)換功能;通過現(xiàn)場可編程門陣列(field?programmable?gate?array,fpga)實現(xiàn)對采樣數(shù)據(jù)的數(shù)字操作,也可以通過專用定制集成電路(application?special?integrated?circuits,asic)、數(shù)字信號處理(digital?signal?processing,dsp)芯片等實現(xiàn)。例如采樣數(shù)據(jù)在對應(yīng)時鐘的時序控制下,進(jìn)行實時循環(huán)存儲;在觸發(fā)信號或其他控制邏輯到達(dá)時刻之后,由對應(yīng)時鐘獲取觸發(fā)晃動測量結(jié)果,并產(chǎn)生新的時序控制信號,用于控制后續(xù)的采樣數(shù)據(jù)操作。所有動作完成后結(jié)束一次操作,并開啟下一次操作。
3、為精確獲取高速采樣數(shù)據(jù)波形的時間信息,通常采取以下操作:縮短采樣數(shù)據(jù)的時間,即提高實時采樣率、提高觸發(fā)晃動時間測量精度等,但這些操作都需要占用大量的時鐘資源。一般情況下,fpga芯片內(nèi)部的時鐘資源有限,且時鐘資源受外部因素(工藝、溫度、電壓等,processing、temperature、voltage,pvt)影響較大,如果大量占用時鐘資源實現(xiàn),可能導(dǎo)致時序不收斂、不穩(wěn)定,最終導(dǎo)致采樣數(shù)據(jù)波形時間信息錯誤或采樣數(shù)據(jù)振蕩等情況發(fā)生。例如,時序不收斂問題的典型表現(xiàn)為:通過編輯器成功編譯的時序控制邏輯具有一定的時序裕量,當(dāng)下載到fpga上運行時,卻出現(xiàn)單次/多次上電后采樣數(shù)據(jù)時間信息不一致/振蕩、不同溫濕度下采樣數(shù)據(jù)時間信息不一致/振蕩、長短時間運行采樣數(shù)據(jù)時間信息不一致/振蕩等問題。在高精尖的應(yīng)用領(lǐng)域,上述問題亟待消除。
4、為確保高速采樣數(shù)據(jù)波形穩(wěn)定、波形時間信息準(zhǔn)確,需要設(shè)計采樣數(shù)據(jù)緩存結(jié)構(gòu),實現(xiàn)采樣數(shù)據(jù)時序收斂。要求采樣數(shù)據(jù)不僅在理論上時序收斂,還在工程運行中時序收斂,即要求其能夠應(yīng)對實際硬件中的噪聲、延遲等影響。最可行的辦法就是降低核心時鐘資源的使用量和減少分布的時鐘域數(shù)量?,F(xiàn)有技術(shù)中,大部分高速數(shù)據(jù)采集系統(tǒng)采用一級緩沖結(jié)構(gòu),直接完成采樣數(shù)據(jù)的緩存,占用的fpga時鐘資源數(shù)量在40%以上甚至更多,時鐘資源跨越20個甚至更多的時鐘域。例如:李海濤,李斌康,阮林波,等.高速adc采樣數(shù)據(jù)接收緩存系統(tǒng)研究[j].自動化儀表,2020,41(08):42-45+50.采用一級blockram存儲采樣數(shù)據(jù);參見蔣世健.12.5gsps高速數(shù)據(jù)采集模塊設(shè)計與實現(xiàn)[d].成都:電子科技大學(xué),2020.其采用一級異步fifo存儲采樣數(shù)據(jù);參見陳嵐.雙通道6.4gsps高速數(shù)據(jù)采集模塊設(shè)計與實現(xiàn)[d].成都:電子科技大學(xué),2021.直接把采樣數(shù)據(jù)緩存到外部ddr3芯片中,再從ddr3芯片中讀出采樣數(shù)據(jù)至fifo內(nèi)。上述技術(shù)方案的控制邏輯簡單;但其缺點是核心時鐘扇出量巨大,且跨越時鐘域較多,缺少對采樣數(shù)據(jù)觸發(fā)時間信息的精確描述。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是解決在降低核心時鐘資源的使用量時,現(xiàn)有技術(shù)存在核心時鐘扇出量巨大,且跨越時鐘域較多,以及缺少對采樣數(shù)據(jù)觸發(fā)時間信息精確描述的技術(shù)問題,而提出一種應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的系統(tǒng)及方法。
2、為解決上述技術(shù)問題,本發(fā)明提供的技術(shù)解決方案如下:
3、一種應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的系統(tǒng),其特殊之處在于:包括控制邏輯單元、第一緩存器、第二緩存器、存儲器和時間測量單元,以及時鐘管理器;
4、所述控制邏輯單元分別與第一緩存器和第二緩存器連接,用于接收外部的觸發(fā)信號,并向第一緩存器發(fā)送第一寫使能信號和第一讀使能信號、向第二緩存器發(fā)送第二寫使能信號和第二讀使能信號,以及根據(jù)采樣數(shù)據(jù)的寬度分別設(shè)置第一緩存器的寫數(shù)據(jù)寬度、第一緩存器的讀數(shù)據(jù)寬度和第二緩存器的寫數(shù)據(jù)寬度;
5、所述第一緩存器的數(shù)據(jù)輸入端用于與數(shù)據(jù)采集系統(tǒng)的前端模塊連接,接收采樣數(shù)據(jù);第一緩存器的數(shù)據(jù)輸出端與第二緩存器的數(shù)據(jù)輸入端連接,第二緩存器的數(shù)據(jù)輸出端與所述存儲器連接;所述第一緩存器的存儲容量小于第二緩存器的存儲容量;
6、所述時間測量單元分別與所述控制邏輯單元連接,用于測量控制邏輯單元中觸發(fā)信號的晃動時間,以及向控制邏輯單元發(fā)送標(biāo)志信號;
7、所述時鐘管理器的輸入端用于與數(shù)據(jù)采集系統(tǒng)的前端模塊連接,接收參考時鐘信號,時鐘管理器的輸出端分別與第一緩存器、時間測量單元、控制邏輯單元、第二緩存器、存儲器連接,用于分別向第一緩存器和時間測量單元提供0延遲的第一寫時鐘信號和時間測量時鐘信號,以及分別向控制邏輯單元、第一緩存器、第二緩存器和存儲器提供控制邏輯時鐘信號、第一讀時鐘信號、第二寫時鐘信號、第二讀時鐘信號和存儲時鐘信號;其中第一寫時鐘信號和時間測量時鐘信號同源、同頻、同相,第一讀時鐘信號和第二寫時鐘信號頻率相同。
8、進(jìn)一步地,所述時鐘管理器為一個時鐘管理器或多個時鐘管理器;
9、所述第一緩存器為fifo緩存器或ram,第二緩存器為fifo緩存器或ram。
10、進(jìn)一步地,還包括第一全局時鐘緩沖器,所述時鐘管理器與第一全局時鐘緩沖器的輸入端連接,第一全局時鐘緩沖器的輸出端與第一緩存器的寫時鐘輸入端、時間測量單元的時鐘輸入端連接。
11、進(jìn)一步地,還包括時鐘緩沖器,所述時鐘管理器與時鐘緩沖器的輸入端連接,時鐘緩沖器的輸出端與第一緩存器的讀時鐘輸入端、第二緩存器的寫時鐘輸入端和讀時鐘輸入端連接。
12、進(jìn)一步地,所述存儲器采用雙倍數(shù)據(jù)速率存儲器ddrx、sdram、靜態(tài)隨機存取存儲器sram、flash存儲器或硬盤。
13、本發(fā)明還提供一種應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的方法,基于上述的應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的系統(tǒng),其特殊之處在于,包括以下步驟:
14、s1、時鐘管理器向第一緩存器發(fā)送0延遲的第一寫時鐘信號,向時間測量單元發(fā)送0延遲的時間測量時鐘信號;第一寫時鐘信號與時間測量時鐘信號與采樣數(shù)據(jù)同源、同頻、同相;
15、所述時鐘管理器向控制邏輯單元發(fā)送控制邏輯時鐘信號,所述控制邏輯單元設(shè)置第一緩存器的寫數(shù)據(jù)寬度與采樣數(shù)據(jù)的寬度相同;
16、s2、所述控制邏輯單元向第一緩存器發(fā)送第一寫使能打開信號,并啟動循環(huán)存儲模式,第一緩存器開始實時接收采樣數(shù)據(jù),并寫入至緩存區(qū)進(jìn)行循環(huán)存儲操作;
17、s3、外部的觸發(fā)信號到來,所述時間測量單元開始測量觸發(fā)信號的晃動時間,并進(jìn)行同步校正;時間測量單元同時向控制邏輯單元輸出標(biāo)志信號;
18、s4、所述時鐘管理器向第一緩存器發(fā)送第一讀時鐘信號,向第二緩存器發(fā)送第二寫時鐘信號;第一讀時鐘信號和第二寫時鐘信號頻率相同;
19、同時,控制邏輯單元向第一緩存器發(fā)送第一讀使能打開信號,第一緩存器開始從緩存區(qū)中讀取采樣數(shù)據(jù),并傳輸至第二緩存器;控制邏輯單元設(shè)置第一緩存器的讀數(shù)據(jù)寬度與第二緩存器的寫數(shù)據(jù)寬度相同;
20、同時,控制邏輯單元預(yù)先設(shè)定第二緩存器接收采樣數(shù)據(jù)的最大量,并向第二緩存器發(fā)送第二寫使能打開信號,采樣數(shù)據(jù)寫入第二緩存器;
21、s5、當(dāng)寫入第二緩存器的采樣數(shù)據(jù)達(dá)到最大量時,控制邏輯單元向第一緩存器發(fā)送第一讀使能關(guān)閉信號,向第二緩存器發(fā)送第二寫使能關(guān)閉信號;
22、s6、時鐘管理器向第二緩存器和存儲器發(fā)送第二讀時鐘信號和存儲時鐘信號,同時控制邏輯單元向第二緩存器發(fā)送第二讀使能打開信號,第二緩存器讀取采樣數(shù)據(jù)并傳輸至存儲器;
23、s7、控制邏輯單元向第二緩存器發(fā)送第二讀使能關(guān)閉信號,完成一次采樣數(shù)據(jù)實時存儲,并等待下一次觸發(fā)信號到來。
24、進(jìn)一步地,步驟s1中,采用一個或兩個時鐘管理器產(chǎn)生并扇出一路或兩路0延遲時鐘信號,通過第一全局時鐘緩沖器發(fā)送至第一緩存器的寫時鐘輸入端和時間測量單元的時鐘輸入端,同時或分別作為第一寫時鐘信號和時間測量時鐘信號;其中一個時鐘管理器還產(chǎn)生一路時鐘信號并直接扇出至控制邏輯單元,作為控制邏輯時鐘信號。
25、進(jìn)一步地,步驟s3中,采用時間數(shù)字轉(zhuǎn)換器或者分相時鐘法測量觸發(fā)信號的晃動時間。
26、進(jìn)一步地,步驟s4中,寫入第二緩存器的采樣數(shù)據(jù)為觸發(fā)信號到來后寫入第一緩存器的采樣數(shù)據(jù)。
27、進(jìn)一步地,步驟s4中,一個或兩個時鐘管理器產(chǎn)生并扇出一路或兩路時鐘信號,并通過時鐘管理器發(fā)送至第一緩存器的讀時鐘輸入端和第二緩存器的寫時鐘輸入端,同時或分別作為第一讀時鐘信號和第二寫時鐘信號;
28、步驟s6中,其中一個時鐘管理器產(chǎn)生并扇出的一路時鐘信號,通過時鐘管理器發(fā)送至第二緩存器的讀時鐘輸入端,作為第二讀時鐘信號。
29、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
30、1.本發(fā)明應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的系統(tǒng),包括控制邏輯單元、第一緩存器、第二緩存器、存儲器和時間測量單元,以及至少一個時鐘管理器;采用小容量的第一緩存器與大容量的第二緩存器的雙緩存結(jié)構(gòu),第一緩存器記錄觸發(fā)信號到來前的采樣數(shù)據(jù),第二緩存器記錄觸發(fā)信號到來后的采樣數(shù)據(jù),最少僅需一個時鐘管理器,就可以解決高速采樣數(shù)據(jù)波形的時間信息中存在的時序不收斂問題。雙緩存結(jié)構(gòu)可以盡量降低存儲的核心時鐘資源量和分布時鐘域等,實現(xiàn)魯棒性強的時序收斂,確保采樣數(shù)據(jù)存儲穩(wěn)定可靠。
31、2.本發(fā)明應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的系統(tǒng),設(shè)置時間測量單元精確測量觸發(fā)信號的晃動時間,確保觸發(fā)信號的可靠性和準(zhǔn)確性。時間測量單元在測量的同時向控制邏輯單元輸出標(biāo)志信號,實現(xiàn)了模塊之間的同步和協(xié)調(diào),提高了系統(tǒng)的整體效率。
32、3.本發(fā)明應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的方法,第一緩存器采用實時循環(huán)模式寫入采樣數(shù)據(jù),在觸發(fā)信號到來后,第一緩存器讀取采樣數(shù)據(jù)并傳輸?shù)降诙彺嫫髦袑懭?,第二緩存器最后將采樣?shù)據(jù)傳輸?shù)酱鎯ζ?;第一緩存器和第二緩存器并行處理,有效提高?shù)據(jù)處理效率;同時不同階段處理均采用獨立時鐘,獨立時鐘之間的頻率和數(shù)據(jù)寬度相匹配,解決了時鐘域跨越的問題。
33、4.本發(fā)明應(yīng)用于高速數(shù)據(jù)采集系統(tǒng)實時循環(huán)存儲的方法,步驟s1、s4、s6中均采用一個時鐘管理器,減少了對時鐘資源的扇出需求。0延遲扇出時鐘信號確保了時鐘管理單元的輸入時鐘和輸出時鐘相位鎖定。