《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 高速雷達數(shù)據(jù)采集系統(tǒng)的FPGA設(shè)計

高速雷達數(shù)據(jù)采集系統(tǒng)的FPGA設(shè)計

2009-06-12
作者:于坤林1,王書宏2,陳曾平2

??? 摘? 要: 高速雷達數(shù)據(jù)采集系統(tǒng)的設(shè)計方法。該系統(tǒng)由FPGA芯片完成各芯片之間的邏輯控制,具有設(shè)計靈活、結(jié)構(gòu)簡單、實時性高、可靠性高等優(yōu)點。?

??? 關(guān)鍵詞: 高速雷達;數(shù)據(jù)采集系統(tǒng);現(xiàn)場可編程門陣列

?

??? 目標的識別需要高精度的數(shù)據(jù),為了得到這些數(shù)據(jù),必須以更高頻率對回波進行采集。而用于目標識別的精確數(shù)據(jù)所使用的采樣頻率通常需要達到36 MHz或更高。?

??? 系統(tǒng)采用的開窗采集是在目標檢測成功完成的前提下進行的。它利用目標檢測的結(jié)果,得到目標方位和距離信息,然后在下一次雷達掃描中,在該方位和距離上形成脈寬為1 μs的采集波門,利用這一采集波門控制采樣電路模塊,完成一次高采樣頻率、高精度的采集。?

1 數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計?

??? 圖1中,I路和Q路雷達信號首先分別進入衰減選擇,接著進入直流電平調(diào)整,然后進入AD轉(zhuǎn)換,在36 MHz采樣頻率下完成12位分辨率的AD轉(zhuǎn)換,實現(xiàn)I路和Q路的數(shù)據(jù)采集。這里使用的AD芯片型號為AD9226-ARS,其主要性能指標:轉(zhuǎn)換速度65 MS/s,精度為12位。具體的應(yīng)用電路見圖2。?

?

?

?

????該電路使用單端輸入,輸入電壓必須在0.5~1.5 V之間,這可以通過一個運算放大器實現(xiàn),本系統(tǒng)使用AD8056運放,實現(xiàn)直流電平調(diào)整,同時也起到緩沖的作用。具體電路圖見圖3。?

?

?

????為了盡可能提高AD轉(zhuǎn)換后數(shù)據(jù)的分辨率,對電源、接地、電路布局進行了一些處理。所選用的運算放大器、電阻、電容等器件具有穩(wěn)定的性能,電阻電容溫漂小、漏電小。模擬輸入的引線盡可能地短、粗。這些措施對實現(xiàn)分辨率指標有一定的幫助,保證了數(shù)據(jù)來源的可靠性。?

2 FPGA完成的工作?

??? (1)采集波門的產(chǎn)生?

??? 如圖1所示,進入FPGA芯片后的數(shù)據(jù)在保存到RAM中之前必須加入數(shù)據(jù)頭,以便主機得到這些精細采集數(shù)據(jù)時能方便地區(qū)別各次采集,該數(shù)據(jù)頭沒有包括當前的方位信息,這是因為此時的方位和距離信息是已知的。?

??? 波門的形成過程見圖4,是精細采集模塊中數(shù)據(jù)形成流程圖。首先,主機通過USB接口模塊地輸入端點2得到FIFO中的檢測結(jié)果,然后取出感興趣的檢測結(jié)果,將其方位和距離信息通過輸出端口2發(fā)送到XCS30內(nèi)部的方位和距離寄存器中。在下一次雷達掃描過程中,不斷比較當前方位,如果當前方位和方位寄存器中的值相等,再進行距離的比較。在方位相同的前提下記錄當前距離,如果記錄的當前距離與距離寄存器中的值相等,則開始一個波門。在波門有效期間,對I路、Q路進行36 MHz、12位的數(shù)據(jù)采集,采集結(jié)果通過XCS30保存到RAM中。當波門的有效時間持續(xù)有效一段時間后(這段時間決定采集波門的寬度),波門信號變?yōu)闊o效,至此完成一次開窗采集過程。?

?

?

????(2)從主機發(fā)送方位信息和距離信息到FPGA內(nèi)部的方位寄存器和距離寄存器?

????方位寄存器為12位,距離寄存器為17位,考慮到USB接口芯片數(shù)據(jù)線為8位,同時根據(jù)USB協(xié)議主機發(fā)送字節(jié)數(shù)的約束,最后決定距離寄存器采用20位,20位中的高三位數(shù)據(jù)沒有參與距離的比較。?

????寫方位信息和距離信息到XCS30中的過程是通過接口芯片的塊輸出端點完成的。8051的數(shù)據(jù)線為8位,為了發(fā)送12位的方位信息或20位的距離信息,必須通過多次傳輸才能完成。?

??? (3)記錄當前方位和當前距離?

??? 對于當前方位使用一個12位的計數(shù)器進行方位脈沖的下降沿的計數(shù),這個計數(shù)器的清零信號使用正北信號的下降沿。對于當前距離的記錄,使用一個17位的計數(shù)器對36 MHz采集時鐘進行計數(shù),清零信號使用同步脈沖的下降沿。?

??? (4)波門的產(chǎn)生和終止?

??? 在采樣時鐘的上升沿時,如果當前的方位和距離都是設(shè)定的方位和距離時,產(chǎn)生一個波門的開始信號,經(jīng)過64個距離單元時間后,波門結(jié)束。這里的64個距離單元對應(yīng)的時間為1.78 μs,也就是說,這時開的采集波門寬度為1.78 μs。?

??? (5)在每幀數(shù)據(jù)開始時添加標志位(即數(shù)據(jù)幀加頭)?

??? 檢測時在數(shù)據(jù)進入雙口RAM前有一個數(shù)據(jù)幀加頭的過程,加入的數(shù)據(jù)頭包括幀起始標志、當前方位信息。在精細采集過程中,由于每一幀數(shù)據(jù)都是在主機指定的方位和距離的前提下進行,所以沒有必要再添加方位和距離信息。這里的數(shù)據(jù)頭將只包括每一幀的起始標志。?

??? (6)精細采集數(shù)據(jù)的存儲?

??? 在波門有效期間,AD轉(zhuǎn)換后的兩路數(shù)據(jù)將保存到RAM中,在進入RAM中時,必須先加上數(shù)據(jù)頭標志,然后再寫入一次采集所得的數(shù)據(jù)。實現(xiàn)原理見圖5。?

?

?

??? 在加數(shù)據(jù)頭時,鎖存器" title="鎖存器" target="_blank">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器" title="鎖存器">鎖存器OE端由FPGA置為無效,此時的鎖存器輸出為高阻狀態(tài)。FPGA將鎖存器置為高阻的同時,將內(nèi)部的“FFFFFF”放到數(shù)據(jù)總線上;在不進行加數(shù)據(jù)頭時,鎖存器OE端由FPGA置為有效,數(shù)據(jù)總線上的數(shù)據(jù)為鎖存后輸出的12位數(shù)據(jù)。這樣通過對鎖存器使能端的控制,實現(xiàn)了數(shù)據(jù)在保存到RAM之前完成添加數(shù)據(jù)幀標志的工作。?

??? 圖5中,鎖存器的鎖存時鐘CLK與AD轉(zhuǎn)換芯片的采集時鐘CLK反相,這樣在晶振時鐘的上升沿實現(xiàn)AD的轉(zhuǎn)換,在晶振時鐘的下降沿實現(xiàn)鎖存器的一次鎖存。通過這樣的設(shè)計錯開了AD采樣和鎖存采樣的取樣時刻,保證了數(shù)據(jù)的正確性。?

??? (7)數(shù)據(jù)傳輸?

??? 對于cy7c68013C而言,其內(nèi)部的8051有16位的地址線,但是考慮到外部存儲器的容量為256 kB,8051的地址線僅能尋址64 kB,最后決定采用對讀脈沖進行計數(shù)產(chǎn)生地址信息的方法實現(xiàn)對存儲器的訪問。除了對8051發(fā)出的讀脈沖的異步處理外,在傳輸過程中還需要解決24位數(shù)據(jù)轉(zhuǎn)換為8位數(shù)據(jù)、2路數(shù)據(jù)的分離等問題??梢酝ㄟ^圖6來理解。圖中RAM的讀脈沖經(jīng)過抽取8051(包含在cy7c68013C內(nèi)的處理器)的讀脈沖,每4個抽1個。在存儲器接口方面,抽取的脈沖給RAM的RD端,完成存儲器讀脈沖的實現(xiàn),每4次8051的RD脈沖讀取一個RAM地址內(nèi)的數(shù)據(jù)。與8051接口方面,先將8051的讀脈沖延遲3個時鐘,形成一個延遲的8051讀脈沖信號,利用這個信號,完成把讀入FPGA內(nèi)的一個RAM地址的數(shù)據(jù)傳送給8051,這個信號的第一個讀脈沖的下降沿是第一時刻,第二個讀脈沖的下降沿是第二時刻。在第一時刻讀入數(shù)據(jù)為1010+regin[23:20],第二時刻讀入數(shù)據(jù)為regin[19:12],這兩個時刻讀入的數(shù)據(jù)方為一個完整的采集結(jié)果數(shù)據(jù),通過在主機的應(yīng)用程序中組合兩次讀入的數(shù)據(jù),最后得到的數(shù)據(jù)格式為“A+12位采集結(jié)果數(shù)據(jù)”,這一種格式表示是I路的12位數(shù)據(jù)。同理,第三時刻和第四時刻讀入的數(shù)據(jù)為Q路的12位。傳輸精細采集數(shù)據(jù)時FPGA內(nèi)部各個讀脈沖之間的時序見圖6所示。?

?

?

??? 以上是存儲器讀脈沖的實現(xiàn)過程,存儲器地址則是通過對8051發(fā)出讀脈沖計數(shù)而得到。?

??? 下面再從整體上看保存的精細采集數(shù)據(jù)是如何發(fā)送給USB接口模塊的?;驹砜梢酝ㄟ^圖7來說明。傳輸過程為:當主機發(fā)送一個IN令牌給AN2131QC的管道2時,AN2131QC執(zhí)行對應(yīng)的管道中斷程序。在中斷程序中,AN2131QC發(fā)出連續(xù)的64個讀脈沖,這64個讀脈沖通過4抽1,得到16個讀脈沖。這16個讀脈沖送給存儲器的RD引腳,同時計數(shù)器對16個讀脈沖進行計數(shù),得到存儲器的地址送給存儲器的地址線。在第一個讀脈沖的下降沿時存儲器送出對應(yīng)第一個地址的24位數(shù)據(jù)到XCS30內(nèi)的24位寄存器regin。同時在XCS30內(nèi)部,把這24位作為4組數(shù)據(jù)一次保存。AN2131QC發(fā)出的64個讀脈沖延遲3個時鐘后控制XCS30內(nèi)部的數(shù)據(jù)線。第一個延時的讀脈沖到來時,將圖7對應(yīng)的第一時刻內(nèi)的數(shù)據(jù)送到8位寄存器,這時AN2131QC讀入8位寄存器的內(nèi)容;第二個延時的讀脈沖到來時,將圖7對應(yīng)的第二時刻內(nèi)的數(shù)據(jù)送到8位寄存器,AN2131QC讀入該寄存器內(nèi)容;第三個延時的讀脈沖到來時,將第三時刻內(nèi)的數(shù)據(jù)送到8位寄存器,AN2131QC讀入該寄存器內(nèi)容;第四個延時的讀脈沖到來時,將第四時刻內(nèi)的數(shù)據(jù)送到8位寄存器,AN2131QC讀入該寄存器內(nèi)容。通過四個延時的讀脈沖,完成對應(yīng)的存儲器的第一個地址內(nèi)24位數(shù)據(jù)的傳輸。主機發(fā)送一個IN令牌將引起AN2131QC發(fā)送64個讀脈沖,完成存儲器16個地址的數(shù)據(jù)的傳輸。?

?

?

??? 經(jīng)過這樣的處理,完成了24位到8位的轉(zhuǎn)換,同時由于在XCS內(nèi)部處理數(shù)據(jù)時,加入了“1010”和“1011”的通路標志,在主機接收到的數(shù)據(jù)中可以通過對此識別,分離開I路和Q路的數(shù)據(jù)。此外,由于在數(shù)據(jù)的保存過程中,每一幀開始寫入的數(shù)據(jù)為FFFFFF,所以在主機的數(shù)據(jù)中,如果出現(xiàn)“AFFF BFFF”的標志時可以識別這一段數(shù)據(jù)為一個新的數(shù)據(jù)幀的開始。?

參考文獻?

[1] 李廣軍,孟憲元.可編程ASIC設(shè)計及應(yīng)用.成都:電子科技大學出版社,2000.?

[2] EDA先鋒工作室,王誠.FPGA/CPLD設(shè)計工具Xilinx?ISE5.x使用詳解[M].北京:人民郵電出版社,2003.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。