《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于LabVIEW和FPGA的多通道虛擬邏輯分析儀的設計
基于LabVIEW和FPGA的多通道虛擬邏輯分析儀的設計
來源:電子技術應用2012年第11期
胡昆霖, 李 冶, 左向利, 周 楊
吉林大學 儀器科學與電氣工程學院,吉林 長春 130026
摘要: 基于模塊化虛擬儀器技術,闡述了一種以FPGA為硬件基礎,以LabVIEW為軟件核心的多通道虛擬邏輯分析儀的設計理念及實施方案。重點論述硬件電路設計和軟件數(shù)據(jù)分析處理方法。最后給出虛擬邏輯分析儀的實測結果。
中圖分類號: TM932
文獻標識碼: A
文章編號: 0258-7998(2012)11-0091-03
Design of a virtual logic analyzer with multi-channels based on LabVIEW and FPGA
Hu Kunlin, Li Ye, Zuo Xiangli, Zhou Yang
College of Instrumentation & Electrical Engineering,Jilin University, Changchun 130026, China
Abstract: The design concept and theory of the virtual logic analyzer with multi-channels is discussed in this paper meanwhile,based on modularization virtual instrument technology, using FPGA as the basic hardware and LabVIEW as the core software.It also describes the design of the hardware circuit and the method of data analysis and processing in software. It gives the actual signal test results in the end.
Key words : virtual instrument technology; FPGA; LabVIEW; logic analyzer

    邏輯分析儀是一種檢測數(shù)字化設備信號的儀器,主要應用于跟蹤與分析數(shù)字系統(tǒng)的數(shù)據(jù)流,能對其信號進行采樣、存儲、分析及顯示。根據(jù)硬件設備設計上的差異,目前市面上邏輯分析儀大致上可分為獨立式邏輯分析儀和需結合電腦的PC-based卡式虛擬邏輯分析儀。獨立式邏輯分析儀已發(fā)展為相當高標準的產(chǎn)品,目前國外最具代表性的美國Agilent公司和Tektronics公司,在高端獨立式邏輯分析儀方面仍占有絕大部分市場份額,并開發(fā)了卡式虛擬邏輯分析,用以更好地占領市場。國內(nèi)邏輯分析儀制造研發(fā)起步較晚,在獨立式邏輯分析儀的研發(fā)和生產(chǎn)上缺乏經(jīng)驗,特別是國內(nèi)精密機械制造業(yè)的整體水平的限制,而在卡式虛擬邏輯分析儀方面,絕大部分功能不受制造業(yè)水平的限制,故國內(nèi)形成市場份額的主要是卡式虛擬邏輯分析儀。

    本文基于模塊化虛擬儀器技術,詳細闡述了一種基于Altera公司EP1C6T144C8型號FPGA為硬件基礎,以LabVIEW為軟件核心的多通道虛擬邏輯分析儀的設計理念及實施方案,重點論述系統(tǒng)硬件電路設計和軟件數(shù)據(jù)分析處理方法。
1 虛擬邏輯分析儀總體結構設計
    虛擬邏輯分析儀的總體結構設計圖如圖1所示。主要包括數(shù)據(jù)采集模塊、微處理器模塊、FPGA模塊和LabVIEW模塊。

    數(shù)據(jù)采集模塊由32路完全相同的數(shù)據(jù)采集通道構成,每一路數(shù)據(jù)采集通道都是由探頭電路、MAX9687比較器及74LVC4245電平轉換器、毛刺檢測電路和延時電路構成,能進行多通道的數(shù)據(jù)采集。微處理器模塊實現(xiàn)儀器初始化,控制數(shù)據(jù)采集模塊信號的采集及傳輸,同時與FPGA通信,控制FPGA模塊的工作狀態(tài)。FPGA模塊提供功能選擇、定時采樣時鐘,并將多通道數(shù)據(jù)緩存于FIFO[1],然后通過USB總線將數(shù)據(jù)傳輸?shù)缴衔粰CLabVIEW模塊中。LabVIEW模塊主要負責該邏輯分析儀的控制、管理、數(shù)據(jù)處理及結果顯示。
2 虛擬邏輯分析儀硬件設計
2.1 數(shù)據(jù)采集模塊

    數(shù)據(jù)采集模塊單通道電路如圖2所示。對數(shù)據(jù)輸入探頭,要求探頭的數(shù)據(jù)轉換速度快、時延小、輸入阻抗高、散熱少。探頭輸入阻抗高用以減少由于探頭接入被測系統(tǒng)而引起的失真現(xiàn)象。根據(jù)以上對數(shù)據(jù)輸入探頭的要求,本邏輯分析儀采用MAX9687CSE作為數(shù)據(jù)比較芯片,因為其采用ECL電平輸出電平,此芯片的電平轉換速度非??臁1粶y數(shù)據(jù)經(jīng)過高阻抗電路后,送入MAX9687CSE的正輸入端,與系統(tǒng)選擇的閾值電壓進行比較輸出ECL電平,之后經(jīng)過MC100H603FN把ECL電平變換成TTL電平,再經(jīng)過74LVC4245AD把TTL電平變換成3.3 V的LVTTL電平,然后可以直接送入FPGA。閾值電壓由AD7304生成,通過TL072后送入MAX9687CSE的負輸入端。

    毛刺檢測電路如圖3所示。D[1]是第一路輸入信號,check_or_sample_D1是毛刺檢測/直接采樣控制信號(當其為高電平時,電路執(zhí)行毛刺檢測功能,當其為低電平時電路直接采樣),d1_feedback在毛刺檢測方式下輸出的是帶展毛刺信號,在采樣方式下輸出的是采樣數(shù)據(jù)。

2.2 微處理器模塊
    微處理器主要實現(xiàn)通信和控制兩大功能。通信程序?qū)崿F(xiàn)信號采集模塊與FPGA模塊的信號傳輸和信息交換;控制程序?qū)崿F(xiàn)系統(tǒng)初始化,并把上位機的操作指令下達給相應的硬件模塊。
2.3 FPGA模塊
    FPGA模塊實現(xiàn)時鐘發(fā)生器、分頻器、觸發(fā)控制器、數(shù)據(jù)緩存等功能[2]。
    時鐘發(fā)生器是將20.000 MHz的有源晶振輸出的時鐘接入FPGA,然后由鎖相環(huán)倍頻到200 MHz。本虛擬邏輯分析儀的鎖相環(huán)采用FPGA自帶的鎖相環(huán)。倍頻到200 MHz后,由2分頻和5分頻電路組成的分頻電路實現(xiàn)100 MHz、50 MHz、40 MHz、20 MHz和10 MHz等時鐘。
    FPGA模塊中觸發(fā)判斷電路的工作原理是:數(shù)據(jù)流入相應的觸發(fā)判斷電路后與用戶設置好的觸發(fā)條件進行比較,如果數(shù)據(jù)流中有滿足觸發(fā)條件的觸發(fā)字,則觸發(fā)判斷電路輸出相應的觸發(fā)標志信號,然后觸發(fā)標志信號進入到觸發(fā)選擇電路,輸出相應的觸發(fā)信號,供后級電路使用。本儀器可以實現(xiàn)的觸發(fā)方式有立即觸發(fā)、通道觸發(fā)、毛刺觸發(fā)、序列觸發(fā)和外觸發(fā)等。
    FPGA模塊中,每個數(shù)據(jù)通道都有一個FIFO,每個FIFO的大小是4 096×1 words, 這樣本儀器的存儲深度可以達到64 kbit,F(xiàn)IFO輸出端通過一個三態(tài)門實現(xiàn)數(shù)據(jù)的復用。電路圖如圖4所示。

3 虛擬邏輯分析儀軟件設計
    硬件采集到的數(shù)據(jù)經(jīng)過USB總線傳送到上位機,由LabVIEW進行數(shù)據(jù)接收、儲存、分析及表達顯示。虛擬邏輯分析儀的軟件設計主要包括LabVIEW前面板和LabVIEW程序框圖兩部分。前面板即用戶界面,定義各種控件和顯示被測數(shù)字信號波形。程序框圖用來控制數(shù)據(jù)流動方向、進行數(shù)據(jù)處理分析、對信號進行控制及輸出波形[3]。
3.1 數(shù)據(jù)接收
    本虛擬邏輯分析儀采用的是CLF(Call Library Function)節(jié)點調(diào)用Windows平臺下的動態(tài)鏈接庫(DLL)函數(shù)的方法實現(xiàn)LabVIEW與USB之間的通信。如圖5所示。
    動態(tài)鏈接庫DLL(Dynamic Link Libraries)包含的代碼和數(shù)據(jù)可以被多個程序同時使用,它屬于不可執(zhí)行文件,但是可以被程序或其他動態(tài)鏈接庫函數(shù)調(diào)用[4]。通過對動態(tài)鏈接庫的調(diào)用,解決了LabVIEW不擅長完成大數(shù)據(jù)量任務的處理和實現(xiàn)底層操作能力不強等缺點。
3.2 數(shù)據(jù)處理
    多通道采集的數(shù)據(jù)通過USB總線上傳到上位機,通過CLF節(jié)點調(diào)用動態(tài)鏈接庫DLL的方式進入到LabVIEW中,以一維數(shù)組的方式體現(xiàn)在程序中。以16通道為例,數(shù)據(jù)以一維數(shù)組形式進入LabVIEW模塊,通過數(shù)值至布爾數(shù)組轉換控件將其轉換為布爾數(shù)組,然后經(jīng)過LabVIEW中抽取數(shù)組函數(shù)和索引數(shù)組函數(shù)被拆分為16組布爾量, 每組布爾量經(jīng)過布爾值至(0,1)轉換控件轉換為邏輯0、1序列, FOR循環(huán)控制數(shù)組的持續(xù)輸入轉換[5], 16組0、1序列對應于數(shù)據(jù)采集模塊中的16路采集通道。如圖6所示。

 

 

3.3 數(shù)據(jù)顯示及實測結果
    16組邏輯0、1序列通過創(chuàng)建數(shù)組控件打包為數(shù)組形式,然后經(jīng)過二維數(shù)組轉置控件將邏輯0、1序列轉置,最后通過創(chuàng)建數(shù)字數(shù)據(jù)控件得到數(shù)字數(shù)據(jù),用數(shù)字波形圖進行顯示。
    現(xiàn)給出一個占空比為50%的方波信號,頻率為2 kHz,信號幅度為2 V。用本虛擬邏輯分析儀第14通道進行測量。測試結果如圖7所示。按奈奎斯特采樣定理,采樣頻率必須大于被采樣信號帶寬的2倍,將信號采樣率設置為5 kS/s,對信號進行采樣,測得其周期為0.5 ms,與被測信號相符,測得其波形與被測信號相符。

    利用FPGA加LabVIEW設計了虛擬邏輯分析儀,其創(chuàng)新點在于采用了當今最前沿的模塊化結構,使得儀器的設計、調(diào)試和維護更加簡單,方便。采用虛擬儀器技術軟硬件結合構造的思想,用軟件代替?zhèn)鹘y(tǒng)儀器的信號處理及顯示等硬件電路,減少了電路的復雜程度,增強了儀器的可操作性,增加了用戶自定義功能,也使得價格大大降低。同時,本虛擬邏輯分析儀通用性強,在已有的基礎上,能不斷擴展,不斷提升。
參考文獻
[1] 肖玲俐.基于FPGA的虛擬邏輯分析儀的研究與設計[D]. 武漢:武漢理工大學,2010.
[2] 鮮果,龔曉峰. 基于FPGA的新型虛擬邏輯分析儀的設計[J]. 電子技術應用,2011,37(12):87-89.
[3] 盧松升,劉正之. 基于LabVIEW和數(shù)字I/O卡的邏輯分析技術[J].微計算機信息,2006,22(8S):85-86.
[4] BITTER R,MOHIUDDIN T,NAWROCKI M. LabVIEW advanced programming techniques[M].CRC Press/Taylor & Francis Group, 2007.
[5] 張敬帥,張丕狀,白雪萍. 基于虛擬儀器的多通道數(shù)據(jù)分析系統(tǒng)設計[J]. 電子技術應用,2011,37(4):
74-76,80.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。