基于FPGA的USB2.0虛擬邏輯分析儀的設(shè)計與實現(xiàn)
使用并行觸發(fā)方式,可以選擇最多八級的并行觸發(fā)。在進行觸發(fā)設(shè)置時,除設(shè)置觸發(fā)方式(選擇并行觸發(fā))和進行頻率選擇以外,還需要進行觸發(fā)字、屏蔽位和并行深度的設(shè)置。其Verilog HDL算法源程序如下:
if ((({dbuf4[0],dbuf3[0], dbuf2[0],dbuf1[0]}^ TrigWord [dcount] )&enbit[0] ) == 4‘h0)
begin
if(dcount[2:0]==control[4:2])
begin
TrigFlag=2‘b01; Trigpoint[6:0] <= MemABus_Wr[6:0];
dcount="3"‘b000; end
dcount = dcount+3‘b001;
end
其中,dbuf4、dbuf3、dbuf2、dbuf1分別為采樣通道4、3、2、1的數(shù)據(jù)緩存;TrigWord[dcount]為觸發(fā)字;dcount為觸發(fā)深度計數(shù)器;control[4:2]為設(shè)定的觸發(fā)
深度;enbit[0]為屏敝字;Trigpoint為觸發(fā)位置寄存器。
USB2.0接口設(shè)計
本設(shè)計選用符合USB2.0規(guī)范的CP2102芯片構(gòu)建系統(tǒng)與PC的通信接口。
CP2102是USB-UART橋接芯片。該電路內(nèi)置USB2.0全速功能控制器、USB收發(fā)器、晶體振蕩器、EEPROM及異步串行數(shù)據(jù)總 線,支持調(diào)制解調(diào)器全功能信號,無需任何外部的USB器件。其功能強大,采用MLP-28封裝,尺寸僅為5mm×5mm,占用空間非常小,非常適合大數(shù)據(jù) 量處理與傳輸電路系統(tǒng)的設(shè)計與應(yīng)用。
實際應(yīng)用中,系統(tǒng)只需使用CP2102基本的輸入/輸出數(shù)據(jù)線與復(fù)位信號線。其接口原理如圖2所示。
系統(tǒng)啟動時, 單片機RB1端口發(fā)送一低電平至CP2102復(fù)位端,芯片復(fù)位,然后保持復(fù)位端高電平,CP2102正常工作。
圖3 系統(tǒng)面板
實驗操作
采用LabView7.1開發(fā)的虛擬操作平臺,可以方便實現(xiàn)儀器的操作控制。實驗開始前,首先選擇通信端口,建立PC與本系統(tǒng)的通信;設(shè)置觸發(fā) 電平,設(shè)置采樣頻率(外部、內(nèi)部或其他)、觸發(fā)方式、觸發(fā)字、屏蔽字并點擊“發(fā)送觸發(fā)命令”按鈕,完成相關(guān)設(shè)置,開啟數(shù)據(jù)采集和觸發(fā)進程。點擊“讀取采樣 數(shù)據(jù)”可讀出采集到的數(shù)據(jù),并在PC上顯示。
結(jié)語
在綜合考慮應(yīng)用需要和成本的前提下,本設(shè)計采用4個高速采樣通道,最高可達75MHz采樣率,存儲深度達512KB,最多可采集220個測試 點。觸發(fā)電平由10位串行數(shù)模轉(zhuǎn)換器TLC5615產(chǎn)生,電平誤差小于5mV。高速USB2.0通信接口配合LabView7.1開發(fā)的虛擬操作平臺,可 實現(xiàn)數(shù)據(jù)在PC上的實時顯示。本設(shè)計的成本還不到市場上同性能產(chǎn)品的1/2,更適用于教學(xué)等對產(chǎn)品數(shù)量要求較多,性能要求中等的單位采用。