文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2012)11-0091-03
邏輯分析儀是一種檢測數(shù)字化設(shè)備信號的儀器,主要應(yīng)用于跟蹤與分析數(shù)字系統(tǒng)的數(shù)據(jù)流,能對其信號進(jìn)行采樣、存儲、分析及顯示。根據(jù)硬件設(shè)備設(shè)計(jì)上的差異,目前市面上邏輯分析儀大致上可分為獨(dú)立式邏輯分析儀和需結(jié)合電腦的PC-based卡式虛擬邏輯分析儀。獨(dú)立式邏輯分析儀已發(fā)展為相當(dāng)高標(biāo)準(zhǔn)的產(chǎn)品,目前國外最具代表性的美國Agilent公司和Tektronics公司,在高端獨(dú)立式邏輯分析儀方面仍占有絕大部分市場份額,并開發(fā)了卡式虛擬邏輯分析,用以更好地占領(lǐng)市場。國內(nèi)邏輯分析儀制造研發(fā)起步較晚,在獨(dú)立式邏輯分析儀的研發(fā)和生產(chǎn)上缺乏經(jīng)驗(yàn),特別是國內(nèi)精密機(jī)械制造業(yè)的整體水平的限制,而在卡式虛擬邏輯分析儀方面,絕大部分功能不受制造業(yè)水平的限制,故國內(nèi)形成市場份額的主要是卡式虛擬邏輯分析儀。
本文基于模塊化虛擬儀器技術(shù),詳細(xì)闡述了一種基于Altera公司EP1C6T144C8型號FPGA為硬件基礎(chǔ),以LabVIEW為軟件核心的多通道虛擬邏輯分析儀的設(shè)計(jì)理念及實(shí)施方案,重點(diǎn)論述系統(tǒng)硬件電路設(shè)計(jì)和軟件數(shù)據(jù)分析處理方法。
1 虛擬邏輯分析儀總體結(jié)構(gòu)設(shè)計(jì)
虛擬邏輯分析儀的總體結(jié)構(gòu)設(shè)計(jì)圖如圖1所示。主要包括數(shù)據(jù)采集模塊、微處理器模塊、FPGA模塊和LabVIEW模塊。
數(shù)據(jù)采集模塊由32路完全相同的數(shù)據(jù)采集通道構(gòu)成,每一路數(shù)據(jù)采集通道都是由探頭電路、MAX9687比較器及74LVC4245電平轉(zhuǎn)換器、毛刺檢測電路和延時電路構(gòu)成,能進(jìn)行多通道的數(shù)據(jù)采集。微處理器模塊實(shí)現(xiàn)儀器初始化,控制數(shù)據(jù)采集模塊信號的采集及傳輸,同時與FPGA通信,控制FPGA模塊的工作狀態(tài)。FPGA模塊提供功能選擇、定時采樣時鐘,并將多通道數(shù)據(jù)緩存于FIFO[1],然后通過USB總線將數(shù)據(jù)傳輸?shù)缴衔粰C(jī)LabVIEW模塊中。LabVIEW模塊主要負(fù)責(zé)該邏輯分析儀的控制、管理、數(shù)據(jù)處理及結(jié)果顯示。
2 虛擬邏輯分析儀硬件設(shè)計(jì)
2.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊單通道電路如圖2所示。對數(shù)據(jù)輸入探頭,要求探頭的數(shù)據(jù)轉(zhuǎn)換速度快、時延小、輸入阻抗高、散熱少。探頭輸入阻抗高用以減少由于探頭接入被測系統(tǒng)而引起的失真現(xiàn)象。根據(jù)以上對數(shù)據(jù)輸入探頭的要求,本邏輯分析儀采用MAX9687CSE作為數(shù)據(jù)比較芯片,因?yàn)槠洳捎肊CL電平輸出電平,此芯片的電平轉(zhuǎn)換速度非??臁1粶y數(shù)據(jù)經(jīng)過高阻抗電路后,送入MAX9687CSE的正輸入端,與系統(tǒng)選擇的閾值電壓進(jìn)行比較輸出ECL電平,之后經(jīng)過MC100H603FN把ECL電平變換成TTL電平,再經(jīng)過74LVC4245AD把TTL電平變換成3.3 V的LVTTL電平,然后可以直接送入FPGA。閾值電壓由AD7304生成,通過TL072后送入MAX9687CSE的負(fù)輸入端。
毛刺檢測電路如圖3所示。D[1]是第一路輸入信號,check_or_sample_D1是毛刺檢測/直接采樣控制信號(當(dāng)其為高電平時,電路執(zhí)行毛刺檢測功能,當(dāng)其為低電平時電路直接采樣),d1_feedback在毛刺檢測方式下輸出的是帶展毛刺信號,在采樣方式下輸出的是采樣數(shù)據(jù)。
2.2 微處理器模塊
微處理器主要實(shí)現(xiàn)通信和控制兩大功能。通信程序?qū)崿F(xiàn)信號采集模塊與FPGA模塊的信號傳輸和信息交換;控制程序?qū)崿F(xiàn)系統(tǒng)初始化,并把上位機(jī)的操作指令下達(dá)給相應(yīng)的硬件模塊。
2.3 FPGA模塊
FPGA模塊實(shí)現(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分頻電路組成的分頻電路實(shí)現(xiàn)100 MHz、50 MHz、40 MHz、20 MHz和10 MHz等時鐘。
FPGA模塊中觸發(fā)判斷電路的工作原理是:數(shù)據(jù)流入相應(yīng)的觸發(fā)判斷電路后與用戶設(shè)置好的觸發(fā)條件進(jìn)行比較,如果數(shù)據(jù)流中有滿足觸發(fā)條件的觸發(fā)字,則觸發(fā)判斷電路輸出相應(yīng)的觸發(fā)標(biāo)志信號,然后觸發(fā)標(biāo)志信號進(jìn)入到觸發(fā)選擇電路,輸出相應(yīng)的觸發(fā)信號,供后級電路使用。本儀器可以實(shí)現(xiàn)的觸發(fā)方式有立即觸發(fā)、通道觸發(fā)、毛刺觸發(fā)、序列觸發(fā)和外觸發(fā)等。
FPGA模塊中,每個數(shù)據(jù)通道都有一個FIFO,每個FIFO的大小是4 096×1 words, 這樣本儀器的存儲深度可以達(dá)到64 kbit,F(xiàn)IFO輸出端通過一個三態(tài)門實(shí)現(xiàn)數(shù)據(jù)的復(fù)用。電路圖如圖4所示。
3 虛擬邏輯分析儀軟件設(shè)計(jì)
硬件采集到的數(shù)據(jù)經(jīng)過USB總線傳送到上位機(jī),由LabVIEW進(jìn)行數(shù)據(jù)接收、儲存、分析及表達(dá)顯示。虛擬邏輯分析儀的軟件設(shè)計(jì)主要包括LabVIEW前面板和LabVIEW程序框圖兩部分。前面板即用戶界面,定義各種控件和顯示被測數(shù)字信號波形。程序框圖用來控制數(shù)據(jù)流動方向、進(jìn)行數(shù)據(jù)處理分析、對信號進(jìn)行控制及輸出波形[3]。
3.1 數(shù)據(jù)接收
本虛擬邏輯分析儀采用的是CLF(Call Library Function)節(jié)點(diǎn)調(diào)用Windows平臺下的動態(tài)鏈接庫(DLL)函數(shù)的方法實(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ù)量任務(wù)的處理和實(shí)現(xiàn)底層操作能力不強(qiáng)等缺點(diǎn)。
3.2 數(shù)據(jù)處理
多通道采集的數(shù)據(jù)通過USB總線上傳到上位機(jī),通過CLF節(jié)點(diǎn)調(diào)用動態(tài)鏈接庫DLL的方式進(jìn)入到LabVIEW中,以一維數(shù)組的方式體現(xiàn)在程序中。以16通道為例,數(shù)據(jù)以一維數(shù)組形式進(jìn)入LabVIEW模塊,通過數(shù)值至布爾數(shù)組轉(zhuǎn)換控件將其轉(zhuǎn)換為布爾數(shù)組,然后經(jīng)過LabVIEW中抽取數(shù)組函數(shù)和索引數(shù)組函數(shù)被拆分為16組布爾量, 每組布爾量經(jīng)過布爾值至(0,1)轉(zhuǎn)換控件轉(zhuǎn)換為邏輯0、1序列, FOR循環(huán)控制數(shù)組的持續(xù)輸入轉(zhuǎn)換[5], 16組0、1序列對應(yīng)于數(shù)據(jù)采集模塊中的16路采集通道。如圖6所示。
3.3 數(shù)據(jù)顯示及實(shí)測結(jié)果
16組邏輯0、1序列通過創(chuàng)建數(shù)組控件打包為數(shù)組形式,然后經(jīng)過二維數(shù)組轉(zhuǎn)置控件將邏輯0、1序列轉(zhuǎn)置,最后通過創(chuàng)建數(shù)字?jǐn)?shù)據(jù)控件得到數(shù)字?jǐn)?shù)據(jù),用數(shù)字波形圖進(jìn)行顯示。
現(xiàn)給出一個占空比為50%的方波信號,頻率為2 kHz,信號幅度為2 V。用本虛擬邏輯分析儀第14通道進(jìn)行測量。測試結(jié)果如圖7所示。按奈奎斯特采樣定理,采樣頻率必須大于被采樣信號帶寬的2倍,將信號采樣率設(shè)置為5 kS/s,對信號進(jìn)行采樣,測得其周期為0.5 ms,與被測信號相符,測得其波形與被測信號相符。
利用FPGA加LabVIEW設(shè)計(jì)了虛擬邏輯分析儀,其創(chuàng)新點(diǎn)在于采用了當(dāng)今最前沿的模塊化結(jié)構(gòu),使得儀器的設(shè)計(jì)、調(diào)試和維護(hù)更加簡單,方便。采用虛擬儀器技術(shù)軟硬件結(jié)合構(gòu)造的思想,用軟件代替?zhèn)鹘y(tǒng)儀器的信號處理及顯示等硬件電路,減少了電路的復(fù)雜程度,增強(qiáng)了儀器的可操作性,增加了用戶自定義功能,也使得價格大大降低。同時,本虛擬邏輯分析儀通用性強(qiáng),在已有的基礎(chǔ)上,能不斷擴(kuò)展,不斷提升。
參考文獻(xiàn)
[1] 肖玲俐.基于FPGA的虛擬邏輯分析儀的研究與設(shè)計(jì)[D]. 武漢:武漢理工大學(xué),2010.
[2] 鮮果,龔曉峰. 基于FPGA的新型虛擬邏輯分析儀的設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用,2011,37(12):87-89.
[3] 盧松升,劉正之. 基于LabVIEW和數(shù)字I/O卡的邏輯分析技術(shù)[J].微計(jì)算機(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)設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用,2011,37(4):
74-76,80.