??? 摘? 要: 闡述了一種基于FPGA的虛擬邏輯分析儀的設計,采用高性能的FPGA器件,再利用PC機的強大處理功能,配合LabVIEW圖形化語言開發實現。由于虛擬邏輯分析儀的部分硬件功能軟件化,使硬件電路大為簡化,提高了可靠性,同時降低了成本,具有一定的教學和科研價值。?
??? 關鍵詞: 邏輯分析儀; 虛擬儀器; FPGA; LabVIEW?
?
??? 邏輯分析儀是一種通用數據域測試儀器。應用在由中大規模數字集成電路組成的數字系統中,主要查找總線相關性故障,能以多種方式跟蹤與顯示總線上的數據流,是測量領域不可缺少的工具。?
??? 隨著電子技術和計算機技術的發展,邏輯分析儀與 PC機相結合,從而出現了虛擬邏輯分析儀。研發虛擬邏輯分析儀成為近年的一個新的發展方向,虛擬邏輯分析儀擴展了邏輯分析儀的分析和計算能力,提高了性價比,且增強了儀器的通用性。現場可編程邏輯器件FPGA,是一種可由用戶根據所設計的數字系統的要求,在現場由自己配置、定義的高密度專用數字集成電路。它具有設計方便、靈活、校驗快和設計可重復改變的特點。本文討論了一種基于FPGA的虛擬邏輯分析儀的設計,通過采用高性能的FPGA器件,再利用PC機的強大處理功能,配合LabVIEW圖形化語言開發實現。?
1 總體設計?
??? 本文設計的虛擬邏輯分析儀主要由數據采樣存儲、數據顯示處理和接口三部分組成,其結構框圖如圖1所示。其中FPGA內部功能電路有數據鎖存器、指令識別電路、采樣時鐘電路、觸發識別電路、數據存儲電路等。?
?
?
??? 虛擬邏輯分析儀的工作原理為:來自外部的多路被測數字信號通過電壓比較器,與門限電平比較,得到標準數字信號,連接到FPGA的I/O口。用戶根據分析數據的需求,通過PC 機上的軟面板,設置初始化指令(觸發方式、采樣頻率和存儲深度指令等),PC機將初始化指令通過串口發送給單片機的P1口,再由單片機傳給FPGA。然后 FPGA中的指令識別電路檢測指令,當檢測到命令字后,將命令存入各自的指令寄存器中。采樣頻率控制信號輸出到采樣時鐘電路,由采樣時鐘電路生成各種頻率的時鐘信號提供給數據獲取單元,數據獲取單元根據時鐘信號進行數據采樣并鎖存。同時,采樣回來的數據經過觸發識別電路,與觸發字比較,若匹配則發出存儲命令,數據存儲電路收到存儲命令之后控制SRAM進行數據存儲。數據存儲達到存儲深度,則通過串口返回存滿信號給PC機。此時PC機發出數據讀取指令,將SRAM中的數據讀到PC機,由PC機對數據分析和處理后,以二進制數字或波形圖的方式顯示在PC機屏幕上。?
2 主要硬件模塊的設計?
2.1 電平判別電路?
??? 電平判別電路由數字電位器和高速電壓比較器組成。由于被測電路可能工作在TTL、ECL或CMOS等不同的門限電平電路,本設計采用Xicor公司的32檔數字電位器X9511,對基準電壓5V進行精確分壓,通過增量按鍵/PU和減量按鍵/PD的操作,實現不同的門限電平輸出。本設計高速電壓比較器采用Linear Technology公司的四運放集成芯片LT1721實現。為了信號的穩定性和可靠性,在電壓比較器之前,先對被測信號進行電壓跟隨。電平判別電路如圖2所示。
?
?
??? 圖中只給出了2個通道的信號電平判別,其中V-REF為門限電平,放大器A作電壓跟隨器,放大器B作電壓比較器,IN0、IN1分別為第0、第1通道的被測輸入信號,D0-IN、D1-IN為第0、第1通道輸出的標準數字信號,提供給FPGA的數據鎖存器。?
2.2 FPGA系統?
??? 本設計選用的FPGA是Altera 公司Cyclone系列的EP1C3T144C8。FPGA器件的內部邏輯電路的設計,采用可編程邏輯器件的開發語言Verilog HDL和開發環境Quartus II來實現。通過JTAG 接口可以對 FPGA 在線編程、調試和測試。FPGA內部實現的功能電路有數據鎖存器、指令識別電路、采樣時鐘電路、觸發識別電路和數據存儲電路等。各功能電路的關系如圖3所示。?
?
?
??? (1)指令識別電路?
??? 指令識別電路的功能是按照預先定義FPGA和單片機之間的通信協議,識別由PC機發出的指令,當識別到初始化指令時將指令進行解析,并分別存入各指令寄存器中,產生采樣頻率控制信號、觸發方式控制信號、存儲深度控制信號等去控制FPGA其他功能電路。?
??? (2)采樣時鐘電路?
??? 采樣時鐘電路用于選擇采樣頻率。本文設計的異步采樣提供四種采樣頻率,由40MHz有源晶振提供基準時鐘送到FPGA的可編程分頻器,經過可編程分頻電路之后產生40MHz、20MHz、10MHz和5MHz四種時鐘,輸出到時鐘選擇器。時鐘選擇器相當于一個單刀四擲的模擬開關,根據采樣頻率控制命令來控制某一路時鐘接通,輸出給采樣存儲模塊。?
??? (3)觸發識別電路?
??? 觸發識別電路的作用是識別觸發并產生標志信號。本設計提供了四種常用的觸發方式:隨機觸發、字觸發、通道觸發及延遲觸發。?
??? 觸發識別電路工作過程為:指令識別電路產生的觸發方式控制信號,提供給觸發方式選擇器,觸發方式選擇器相當于一個2-4譯碼器,根據觸發方式字使能對應的觸發模塊,輸入的數據流在各功能觸發識別模塊中與用戶設置的觸發條件進行比較,若數據流中出現所設定的觸發條件,則模塊會輸出觸發有效信號,四個觸發模塊當中,只要其中任意一個產生了觸發有效信號,經過與門都可以生成觸發標志,控制數據采樣存儲。?
??? (4)數據存儲電路 ?
??? 數據采樣回來之后,先經過鎖存器鎖存,一旦觸發標志有效,就根據采樣時鐘的頻率將鎖存器數據輸出到外接的SRAM。數據存儲電路控制SRAM的數據寫入有效,同時地址計數器的輸出遞增,這樣可以在時鐘到來時,將數據存入SRAM的地址,當下一個時鐘到來的時候,就進行下一個數據的存儲。計數器的值遞增,達到系統所規定的存儲深度之后,返回一個中斷信號。PC機收到數據存滿的信號之后,便可以將數據讀回,再進行相應的分析、處理。?
2.3 單片機及接口電路?
??? FPGA芯片本身不帶有RS-232標準串行通信接口,本設計采用了ATMEL公司的單片機AT89S52作為PC機和FPGA之間的橋梁。它接收來自PC機的命令,如果是參數初始化和數據采集命令,則將其解釋給FPGA模塊;如果是數據讀取命令,則將SRAM中的數據讀回,并根據串口協議打包之后發給PC機。單片機和FPGA之間的數據傳輸根據單片機和FPGA之間的自定義通信協議執行。?
??? 單片機與PC通信中,由于AT89S52的串行口輸入/輸出為TTL邏輯電平,而PC機內部的RS-232C串行口用+12V和-12V電平方式,本文采用Maxim公司的MAX232芯片實現RS-232電平轉換。?
3 上位機軟件設計
??? 虛擬邏輯分析儀的數據處理和顯示功能由上位機通過虛擬儀器軟件開發平臺LabVIEW實現。?
??? 上位機的軟件設計分為三個模塊:控制模塊、數據傳輸模塊和顯示模塊。軟件設計框圖如圖4所示。?
?
?
??? 控制模塊主要完成對邏輯分析裝置的數據采集參數進行設置。工作過程為:首先進行初始化,并打開計算機串口;然后在參數設置部分設置采樣參數;參數設置完成后點擊參數下載對應的按鈕,程序將轉入數據傳輸模塊。?
??? 數據傳輸模塊將設置好的參數通過串口傳給硬件部分,然后再接收由硬件返回的采樣數據。工作過程為:首先對串口進行設置,再根據預先規定的協議對所傳輸的數據進行配置,并將每個參數按照協議進行二進制編碼,然后用LabVIEW控件發送命令字。下位機單片機部分接收到命令字后進行解析,并完成采樣工作。上位機發出指令之后處于檢測狀態,當檢測到串口收到數據時就開始接收返回數據,將下位機傳來的數據全部接收存儲在 RAM 內,然后將數據傳輸到顯示模塊。?
??? 顯示模塊對 PC機接收到的數據進行分析,然后將其二進制數據列表或者顯示成通道波形的形式。二進制數據序列表直接將存儲區的數據按順序顯示,可利用LabVIEW中的Bundle函數來實現。波形顯示方式要求把每個通道的數據獨立顯示,因此要求在數據處理時,把每個存儲單元的數據按通道逐位取出,再把同一通道的數據合并,然后進行波形顯示。可利用LabVIEW中的Digital Waveform Graph 來實現。?
4 性能指標及功能?
??? 在綜合考慮應用需要和成本的前提下,本文設計的虛擬邏輯分析儀的主要性能指標為:有8個高速采樣通道,最高可達40MHz采樣率,存儲深度達1 024KB,觸發方式有隨機觸發、通道觸發、延遲觸發及字觸發四種。其中多級字觸發具備四級序列字觸發和組合字觸發功能。對不同的被測系統,提供相應的門限電平。RS-232串行接口配合LabVIEW開發的虛擬操作平臺,可實現數據在PC機上的實時顯示。?
??? 實現的主要功能包括:對所采集到的數據進行波形和二進制數據列表顯示;保存用戶所需要的顯示圖形;初始化命令,讓系統復位準備;控制觸發方式和觸發字;控制采樣速率;控制存儲深度;選擇采樣時鐘。?
??? 經測試表明,本文設計的虛擬邏輯分析儀具備了較強的邏輯分析能力,能滿足信號分析的要求。由于數據存儲部分中的數據鎖存器、指令識別電路、采樣時鐘電路、觸發識別電路、數據存儲電路等采用可編程邏輯器件FPGA來實現,使硬件電路大為簡化,提高了邏輯分析儀的可靠性,降低了成本,且功能易于擴展,具有一定的教學和科研價值。?
參考文獻?
[1]?劉君華.基于LabVIEW的虛擬儀器設計[M].北京:電子工業出版社,2003.?
[2]?竇振卓.用FPGA實現虛擬邏輯狀態分析儀多種功能?[J].電子測量技術,2006,(2):121-122. ?
[3]?何海婷,王召巴.基于FPGA的嵌入式邏輯分析儀設計[J].長沙電力學院學報(自然科學版),2006,(2):46-50. ?
[4]?許美容,胡仁杰.虛擬邏輯分析儀控制電路的設計與實現[J].電氣應用,2005,(12):56-58.