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