專利名稱:一種用于校準并行采集系統數據拼合順序的方法
技術領域:
本發明屬于并行采集技術領域,更為具體地講,涉及一種用于校準并行采集系統數據拼合順序的方法。
背景技術:
隨著數字信號處理技術的不斷發展,基于實時采樣的時域測試儀器成為現代測試儀器的主流趨勢。高速ADC、高帶寬、數字信號處理理論和技術也日益成熟,FPGA和DSP芯片等信號處理電子器件的迅猛發展為時域測試儀器的成熟打下了堅實基礎。在時域測試儀器中,高速度高精度的數據采集系統是其重要的組成部分。為達到高采樣率指標,采用多片ADC并行交替采樣系統結構,將輸入信號同時送到多個通道,多片ADC同時工作并利用固定的相位關系實現多數據流的拼合。圖1是并行采集系統數據拼合示意圖。如圖1所示,sclkU sclk2為兩個相位相差180°的采樣時鐘,sdatal、sdata2為兩片ADC各自輸出的采樣數據,sdata為拼合之后的數據。但是圖1所示為理想狀態下的拼合,由于ADC采樣率的提高,輸出的數據路數相應隨之變多,對應接收ADC采樣數據的FPGA的引腳也變多。由于引腳越多的FPGA價格越高,為了節省FPGA的成本,往往每片ADC采用一個FPGA來接收采樣數據,但這樣做帶來一個新的問題就是兩個FPGA內存儲波形的開始位置不同,此時拼合會出現問題。圖2是由于FIFO寫使能導致并行采樣數據拼合錯誤示意圖。如圖2所示,FPGA內部用FIFO存儲采樣數據,fifo_wenl和fifo_wen2分別為兩個FIFO的寫使能信號,由于fifo_wenl比fifo_wen2先開啟4個時鐘,此時如果按照正常的拼合方法,采樣數據sdatal和sdata2交替拼合,則最終拼合數據sdata變成了 2、11、4、13、6、15、8這樣一個錯誤的序列。
發明內容
本發明的目的在于提供一種用于校準并行采集系統數據拼合順序的方法,以校正各ADC輸出給各自FPGA存儲,由于FIFO寫使能信號不同步產生的并行采集系統數據拼合順序的移位,提高并行采集系統可靠性。為實現以上目的,本發明提供一種用于校準并行采集系統數據拼合順序的方法,在基于FPGA+DSP平臺利用多片ADC進行并行數據采集的系統中,待測信號經過通道調理后送入多片ADC中;DSP首先通過各FPGA向各ADC發出復位信號,然后開啟各FPGA中采樣數據FIFO的寫使能;其特征在于,包括以下步驟(1)、FPGA中采樣數據FIFO的讀寫使能后,對應的ADC開始進行采集,輸出同步時鐘給FPGA,將采樣數據存儲到采樣數據FIFO中;(2)、每片ADC均設置為測試模式中的躍升模式,即Ramp Mode ;DSP發出復位信號,對各片ADC同時復位后,將每片ADC輸出的鋸齒波測試信號數據,存入對應FPGA的測試數據FIFO中;(3)、讀取各個FPGA中測試數據FIFO存儲的鋸齒波測試信號數據,記錄各個鋸齒波測試信號首個峰值點的位置,以位置最后的首個峰值點為基準,計算其他首個峰值點相對于位置最后的峰值點的時間差Ati, i為ADC編號;(4)、計算首個峰值點位置最后的ADC相對于各ADC延遲的采樣點數Ni Ni=AtiXfs其中fs為單片ADC實際采樣率,采樣點數Ni取整并傳給DSP,DSP讀取各個FPGA中采樣數據FIFO的采樣數據時,丟棄FPGA中采樣數據FIFO的前Ni個采樣數據,從第隊+1個采樣點數據開始拼合,便可得到正確的采集波形數據。本發明用于校準并行采集系統數據拼合順序的方法,首先通過設置各個ADC工作模式為測試模式中的躍升模式,即Ramp Mode,在DSP對發出復位信號,對各片ADC同時復位后,將輸出標準鋸齒波測試信號數據,存入對應FPGA的測試數據FIFO中;然后得到測試信號數據首個峰值點對于位置最后的峰值點的時間差Ati,計算首個峰值點位置最后的ADC相對于各ADC延遲采樣點數Ni ;最后,各個FPGA中采樣數據FIFO的數據時,丟棄FPGA中采樣數據FIFO的前Ni個采樣點數據,然后進行拼合。由于在各片ADC輸出的寫入FPGA采樣數據FIFO的同步時鐘產生時,鋸齒波測試信號數據輸出,并在采樣時鐘周期累加1,這樣可以根據各片ADC輸出鋸齒波測試信號數據首個峰值點的位置丟棄相應的采樣點數據,然后再拼合,得到正確的采集波形數據,實現了對FIFO寫使能信號不同步產生的并行采集系統數據拼合順序移位的校正。
圖1是并行采集系統數據拼合示意圖;圖2是由于FIFO寫使能導致并行采樣數據拼合錯誤示意圖;圖3是本發明中涉及的并行采集系統一原理框圖;圖4是本發明用于校準并行采集系統數據拼合順序的方法中各信號的時序圖。
具體實施例方式下面結合附圖對本發明的具體實施方式
進行描述,以便本領域的技術人員更好地理解本發明。需要特別提醒注意的是,在以下的描述中,當已知功能和設計的詳細描述也許會淡化本發明的主要內容時,這些描述在這里將被忽略。1、并行采集系統如圖3所示,本發明的并行采集系統基于FPGA+DSP平臺,利用多片ADC進行并行數據采集。在本實施例中,硬件電路有模擬通道調理電路、2片高速ADC、FPGA(主FPGA1、FPGA2以及DSP這四部分組成。待測信號經過模擬通道調理電路后送入高速ADC進行采集,采樣數據分別通過FPGA進行緩存和預處理,然后送入DSP進行數字處理。DSP是并行數據采集系統控制與數據處理的中心,負責數據采集和存儲的控制命令發送,管理ADC的復位信號和FPGA中FIFO的讀寫使能信號,從而控制數據采集流。
DSP首先通過各FPGA向各ADC發出復位信號,然后使能各FPGA中采樣數據FIFO的讀寫;FPGA中采樣數據FIFO的讀寫使能后,對應的ADC開始進行采集,輸出同步時鐘給FPGA中,將采樣數據存儲到采樣數據FIFO,即FIFOl、FIF02中;如圖3所示,ADC1、ADC2的采樣數據經數據線傳送到FPGAl、FPGA2存儲在采樣數據FIFOl、采樣數據FIF02中,DSP經控制線開啟FPGAl、FPGA2中采樣數據FIFOl、采樣數據FIF02寫使能,而采樣數據FIFOl、采樣數據FIF02開啟寫使能的時間是不同步的,也就是ADC1、ADC2采樣數據存儲起點不一致,拼合順序錯誤。2、并行采集系統各ADC延時的獲取ADC的工作模式中有一種測試模式(Test Mode),其一般用來測試ADC是否正常工作。在本實施例中,當ADC處于測試模式中的Ramp Mode時,ADC在復位信號到來,,FPGA中采樣數據FIFO的讀寫使能后,依次輸出O 255的信號,到達峰值255后輸出0,依次循環,即輸出周期為25 6倍采樣周期的鋸齒波信號,如圖4所示。圖4中clkl、clk2分別為兩片ADC采樣時鐘,reset為復位信號。復位信號到來,兩片ADC分別在采樣數據FIFO的寫使能后,在滿足建立時間處產生同步時鐘,圖4中clkl、clk2標注的上升沿處,輸出采樣數據和鋸齒波測試信號,其中鋸齒波測試信號為一個時鐘周期輸出累加步進為I的數據,即圖中datal與data2,判定datal、data2首個最大數據255,便可得到該ADC的延時。3、時間間隔的測量設置ADC工作模式為測試模式中Ramp Mode,在此種模式下,FPGA開啟采樣數據FIFO的寫使能時,會向對應ADC發送同步信號SYNC,使對應ADC開始采集,將采樣數據存入對應FPGA的采集數據FIFO中,并輸出鋸齒波信號。DSP讀取FPGAl中測試數據FIFOIt存儲的數據,判定首個峰值點為255的點,同理DSP讀取FPGA2中測試數據FIF02T存儲的數據,判定首個峰值點為255的點,由兩個峰值點的定位可得到其相差的采樣點數,已知采樣時鐘,計算ADCl首個峰值點,相對于ADCl峰值點,即位置最后的峰值點的時間差Atp4、采樣數據拼合順序的校正獲取其他首個峰值點相對于位置最后的峰值點的時間差Ati,可利用此時間間隔校正并行采樣數據拼合順序。DSP讀取各采樣數據FIFO中的采樣數據,按照采集的順序進行數據拼合,如圖2所示,正常情況下的數據輸出,由于時間差的存在,正常拼合下得到圖2中拼合順序錯誤的數據輸出,為校正此錯誤,計算首個峰值點位置最后的ADC,即ADC2相對于ADCl延遲的采樣點數N1:N1= At1Xfs(2)其中fs為單片ADC實際采樣率,采樣點數N1取整并傳給DSP,DSP讀取FPGAl中采樣數據FIF01的采樣數據時,丟棄FPGAl中采樣數據FIFO的前N1個采樣數據,從第Njl個采樣數據開始拼合。FPGA2中采樣數據FIF02的采樣數據,由于是首個峰值點位置最后的ADC,不用拋棄采樣數據,直接用于拼合,得到正確的采集波形數據。盡管上面對本發明說明性的具體實施方式
進行了描述,以便于本技術領域的技術人員理解本發明,但應該清楚,本發明不限于具體實施方式
的范圍,對本技術領域的普通技術人員來講,只要各種變化在所附的權利要求限定和確定的本發明的精神和范圍內,這些變化是顯而易見的,一切利用本發明構思的發明創造均在保護之列。
權利要求
1.一種用于校準并行采集系統數據拼合順序的方法,在基于FPGA+DSP平臺利用多片ADC進行并行數據采集的系統中,待測信號經過模擬通道道調理后送入多片ADC中;DSP首先通過各FPGA向各ADC發出復位信號,然后開啟各FPGA中采樣數據FIFO的寫使能; 其特征在于,包括以下步驟 (1)、FPGA中采樣數據FIFO的讀寫使能后,對應的ADC開始進行采集,輸出同步時鐘給FPGA,將采樣數據存儲到采樣數據FIFO中; (2)、每片ADC均設置為測試模式中的躍升模式,即RampMode ;DSP發出復位信號,對各片ADC同時復位后,將每片ADC輸出的鋸齒波測試信號數據,存入對應FPGA的測試數據FIFO 中; (3)、讀取各個FPGA中測試數據FIFO存儲的鋸齒波測試信號數據,記錄各個鋸齒波測試信號首個峰值點的位置,以位置最后的首個峰值點為基準,計算其他首個峰值點相對于位置最后的峰值點的時間差Ati, i為ADC編號; (4)、計算首個峰值點位置最后的ADC相對于各ADC延遲的采樣點數Ni Ni=AtiXfs 其中fs為單片ADC實際采樣率,采樣點數Ni取整并傳給DSP,DSP讀取各個FPGA中采樣數據FIFO的采樣數據時,丟棄FPGA中采樣數據FIFO的前Ni個采樣數據,從第隊+1個采樣點數據開始拼合,便可得到正確的采集波形數據。
2.根據權利要求1所示的數據拼合順序的方法,其特征在于,其特征在于,在步驟(1)中,FPGA中采樣數據FIFO的讀寫使能后,FPGA向對應ADC發送同步信號SYNC,使對應ADC開始采集。
全文摘要
本發明一種用于校準并行采集系統數據拼合順序的方法,首先通過設置各個ADC工作模式為測試模式中的躍升模式,將標準鋸齒波測試信號數據存入對應FPGA的測試數據FIFO中;然后得到測試信號數據首個峰值點對于位置最后的峰值點的時間差Δti以及延遲采樣點數Ni;最后,丟棄FPGA中采樣數據FIFO的前Ni個采樣點數據,然后進行拼合。由于在各片ADC輸出的寫入FPGA采樣數據FIFO的同步時鐘產生時,鋸齒波測試信號數據輸出,并在采樣時鐘周期累加1,這樣可以根據各片ADC輸出鋸齒波測試信號數據首個峰值點的位置丟棄相應的采樣點數據,然后再拼合得到正確的采集波形數據,實現了數據拼合順序移位的校正。
文檔編號G01R13/02GK103048506SQ20121036186
公開日2013年4月17日 申請日期2012年9月26日 優先權日2012年9月26日
發明者楊擴軍, 黃武煌, 邱渡裕, 張沁川, 吳鳳曦 申請人:電子科技大學