<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

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

本文引用地址:http://dyxdggzs.com/article/201706/349178.htm

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

1 總體設計

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

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

2 主要硬件模塊的設計

2.1 電平判別電路

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

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

2.2 FPGA系統

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

(1)指令識別電路

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

(2)采樣時(shí)鐘電路

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

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

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

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

(4)數據存儲電路

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

2.3 單片機及接口電路

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

單片機與PC通信中,由于A(yíng)T89S52的串行口輸入/輸出為T(mén)TL邏輯電平,而PC機內部的RS-232C串行口用+12V和-12V電平方式,本文采用Maxim公司的MAX232芯片實(shí)現RS-232電平轉換。

3 上位機軟件設計

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

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

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

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

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

4 性能指標及功能

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

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

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



關(guān)鍵詞: 邏輯分析儀 LabVIEW FPGA

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>