新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的虛擬邏輯分析儀設計與實現

基于FPGA的虛擬邏輯分析儀設計與實現

作者: 時間:2017-06-05 來源:網絡 收藏

是一種通用數據域測試儀器。應用在由中大規(guī)模數字集成電路組成的數字系統(tǒng)中,主要查找總線相關性故障,能以多種方式跟蹤與顯示總線上的數據流,是測量領域不可缺少的工具。

本文引用地址:http://www.butianyuan.cn/article/201706/349178.htm

隨著電子技術和計算機技術的發(fā)展,與 PC機相結合,從而出現了虛擬。研發(fā)虛擬邏輯分析儀成為近年的一個新的發(fā)展方向,虛擬邏輯分析儀擴展了邏輯分析儀的分析和計算能力,提高了性價比,且增強了儀器的通用性。現場可編程邏輯器件,是一種可由用戶根據所設計的數字系統(tǒng)的要求,在現場由自己配置、定義的高密度專用數字集成電路。它具有設計方便、靈活、校驗快和設計可重復改變的特點。本文討論了一種基于的虛擬邏輯分析儀的設計,通過采用高性能的器件,再利用PC機的強大處理功能,配合圖形化語言開發(fā)實現。

1 總體設計

本文設計的虛擬邏輯分析儀主要由數據采樣存儲、數據顯示處理和接口三部分組成,其結構框圖如圖1所示。其中FPGA內部功能電路有數據鎖存器、指令識別電路、采樣時鐘電路、觸發(fā)識別電路、數據存儲電路等。

虛擬邏輯分析儀的工作原理為:來自外部的多路被測數字信號通過電壓比較器,與門限電平比較,得到標準數字信號,連接到FPGA的I/O口。用戶根據分析數據的需求,通過PC 機上的軟面板,設置初始化指令(觸發(fā)方式、采樣頻率和存儲深度指令等),PC機將初始化指令通過串口發(fā)送給單片機的P1口,再由單片機傳給FPGA。然后 FPGA中的指令識別電路檢測指令,當檢測到命令字后,將命令存入各自的指令寄存器中。采樣頻率控制信號輸出到采樣時鐘電路,由采樣時鐘電路生成各種頻率的時鐘信號提供給數據獲取單元,數據獲取單元根據時鐘信號進行數據采樣并鎖存。同時,采樣回來的數據經過觸發(fā)識別電路,與觸發(fā)字比較,若匹配則發(fā)出存儲命令,數據存儲電路收到存儲命令之后控制SRAM進行數據存儲。數據存儲達到存儲深度,則通過串口返回存滿信號給PC機。此時PC機發(fā)出數據讀取指令,將SRAM中的數據讀到PC機,由PC機對數據分析和處理后,以二進制數字或波形圖的方式顯示在PC機屏幕上。

2 主要硬件模塊的設計

2.1 電平判別電路

電平判別電路由數字電位器和高速電壓比較器組成。由于被測電路可能工作在TTL、ECL或CMOS等不同的門限電平電路,本設計采用Xicor公司的32檔數字電位器X9511,對基準電壓5V進行精確分壓,通過增量按鍵/PU和減量按鍵/PD的操作,實現不同的門限電平輸出。本設計高速電壓比較器采用Linear Technology公司的四運放集成芯片LT1721實現。為了信號的穩(wěn)定性和可靠性,在電壓比較器之前,先對被測信號進行電壓跟隨。電平判別電路如圖2所示。

圖中只給出了2個通道的信號電平判別,其中V-REF為門限電平,放大器A作電壓跟隨器,放大器B作電壓比較器,IN0、IN1分別為第0、第1通道的被測輸入信號,D0-IN、D1-IN為第0、第1通道輸出的標準數字信號,提供給FPGA的數據鎖存器。

2.2 FPGA系統(tǒng)

本設計選用的FPGA是Altera 公司Cyclone系列的EP1C3T144C8。FPGA器件的內部邏輯電路的設計,采用可編程邏輯器件的開發(fā)語言Verilog HDL和開發(fā)環(huán)境Quartus II來實現。通過JTAG 接口可以對 FPGA 在線編程、調試和測試。FPGA內部實現的功能電路有數據鎖存器、指令識別電路、采樣時鐘電路、觸發(fā)識別電路和數據存儲電路等。各功能電路的關系如圖3所示。

(1)指令識別電路

指令識別電路的功能是按照預先定義FPGA和單片機之間的通信協(xié)議,識別由PC機發(fā)出的指令,當識別到初始化指令時將指令進行解析,并分別存入各指令寄存器中,產生采樣頻率控制信號、觸發(fā)方式控制信號、存儲深度控制信號等去控制FPGA其他功能電路。

(2)采樣時鐘電路

采樣時鐘電路用于選擇采樣頻率。本文設計的異步采樣提供四種采樣頻率,由40MHz有源晶振提供基準時鐘送到FPGA的可編程分頻器,經過可編程分頻電路之后產生40MHz、20MHz、10MHz和5MHz四種時鐘,輸出到時鐘選擇器。時鐘選擇器相當于一個單刀四擲的模擬開關,根據采樣頻率控制命令來控制某一路時鐘接通,輸出給采樣存儲模塊。

(3)觸發(fā)識別電路

觸發(fā)識別電路的作用是識別觸發(fā)并產生標志信號。本設計提供了四種常用的觸發(fā)方式:隨機觸發(fā)、字觸發(fā)、通道觸發(fā)及延遲觸發(fā)。

觸發(fā)識別電路工作過程為:指令識別電路產生的觸發(fā)方式控制信號,提供給觸發(fā)方式選擇器,觸發(fā)方式選擇器相當于一個2-4譯碼器,根據觸發(fā)方式字使能對應的觸發(fā)模塊,輸入的數據流在各功能觸發(fā)識別模塊中與用戶設置的觸發(fā)條件進行比較,若數據流中出現所設定的觸發(fā)條件,則模塊會輸出觸發(fā)有效信號,四個觸發(fā)模塊當中,只要其中任意一個產生了觸發(fā)有效信號,經過與門都可以生成觸發(fā)標志,控制數據采樣存儲。

(4)數據存儲電路

數據采樣回來之后,先經過鎖存器鎖存,一旦觸發(fā)標志有效,就根據采樣時鐘的頻率將鎖存器數據輸出到外接的SRAM。數據存儲電路控制SRAM的數據寫入有效,同時地址計數器的輸出遞增,這樣可以在時鐘到來時,將數據存入SRAM的地址,當下一個時鐘到來的時候,就進行下一個數據的存儲。計數器的值遞增,達到系統(tǒng)所規(guī)定的存儲深度之后,返回一個中斷信號。PC機收到數據存滿的信號之后,便可以將數據讀回,再進行相應的分析、處理。

2.3 單片機及接口電路

FPGA芯片本身不帶有RS-232標準串行通信接口,本設計采用了ATMEL公司的單片機AT89S52作為PC機和FPGA之間的橋梁。它接收來自PC機的命令,如果是參數初始化和數據采集命令,則將其解釋給FPGA模塊;如果是數據讀取命令,則將SRAM中的數據讀回,并根據串口協(xié)議打包之后發(fā)給PC機。單片機和FPGA之間的數據傳輸根據單片機和FPGA之間的自定義通信協(xié)議執(zhí)行。

單片機與PC通信中,由于AT89S52的串行口輸入/輸出為TTL邏輯電平,而PC機內部的RS-232C串行口用+12V和-12V電平方式,本文采用Maxim公司的MAX232芯片實現RS-232電平轉換。

3 上位機軟件設計

虛擬邏輯分析儀的數據處理和顯示功能由上位機通過虛擬儀器軟件開發(fā)平臺實現。

上位機的軟件設計分為三個模塊:控制模塊、數據傳輸模塊和顯示模塊。軟件設計框圖如圖4所示。

控制模塊主要完成對邏輯分析裝置的數據采集參數進行設置。工作過程為:首先進行初始化,并打開計算機串口;然后在參數設置部分設置采樣參數;參數設置完成后點擊參數下載對應的按鈕,程序將轉入數據傳輸模塊。

數據傳輸模塊將設置好的參數通過串口傳給硬件部分,然后再接收由硬件返回的采樣數據。工作過程為:首先對串口進行設置,再根據預先規(guī)定的協(xié)議對所傳輸的數據進行配置,并將每個參數按照協(xié)議進行二進制編碼,然后用控件發(fā)送命令字。下位機單片機部分接收到命令字后進行解析,并完成采樣工作。上位機發(fā)出指令之后處于檢測狀態(tài),當檢測到串口收到數據時就開始接收返回數據,將下位機傳來的數據全部接收存儲在 RAM 內,然后將數據傳輸到顯示模塊。

顯示模塊對 PC機接收到的數據進行分析,然后將其二進制數據列表或者顯示成通道波形的形式。二進制數據序列表直接將存儲區(qū)的數據按順序顯示,可利用LabVIEW中的Bundle函數來實現。波形顯示方式要求把每個通道的數據獨立顯示,因此要求在數據處理時,把每個存儲單元的數據按通道逐位取出,再把同一通道的數據合并,然后進行波形顯示??衫肔abVIEW中的Digital Waveform Graph 來實現。

4 性能指標及功能

在綜合考慮應用需要和成本的前提下,本文設計的虛擬邏輯分析儀的主要性能指標為:有8個高速采樣通道,最高可達40MHz采樣率,存儲深度達1 024KB,觸發(fā)方式有隨機觸發(fā)、通道觸發(fā)、延遲觸發(fā)及字觸發(fā)四種。其中多級字觸發(fā)具備四級序列字觸發(fā)和組合字觸發(fā)功能。對不同的被測系統(tǒng),提供相應的門限電平。RS-232串行接口配合LabVIEW開發(fā)的虛擬操作平臺,可實現數據在PC機上的實時顯示。

實現的主要功能包括:對所采集到的數據進行波形和二進制數據列表顯示;保存用戶所需要的顯示圖形;初始化命令,讓系統(tǒng)復位準備;控制觸發(fā)方式和觸發(fā)字;控制采樣速率;控制存儲深度;選擇采樣時鐘。

經測試表明,本文設計的虛擬邏輯分析儀具備了較強的邏輯分析能力,能滿足信號分析的要求。由于數據存儲部分中的數據鎖存器、指令識別電路、采樣時鐘電路、觸發(fā)識別電路、數據存儲電路等采用可編程邏輯器件FPGA來實現,使硬件電路大為簡化,提高了邏輯分析儀的可靠性,降低了成本,且功能易于擴展,具有一定的教學和科研價值。



評論


相關推薦

技術專區(qū)

關閉