摘 要: 邏輯分析儀的現狀、發展趨勢及研制虛擬邏輯分析儀的必要性,論述了基于FPGA技術的虛擬邏輯分析儀的設計方案及具體實現方法,介紹了其中控制器的設計原理。將先進的FPGA技術引入硬制版的設計中,為研制PC虛擬儀器提出了一種新思路;充分利用硬件軟化的思想,將儀器的諸多功能集成在軟件中實現,利用面向對象、窗口等技術,實現了靈活、通用的虛擬儀器面板功能。
關鍵詞: 虛擬儀器 虛擬邏輯分析儀(FVLA) 現場可編程門陣列(FPGA) 面向對象技術 控制器
電子技術的迅速發展從客觀上要求測試儀器向自動化及柔性化方向發展,基于微計算機的虛擬測試儀器的出現和廣泛使用,將對測試儀器產生極為深刻的影響[1]。虛擬儀器是指具有虛擬儀器面板的個人計算機儀器。操作人員通過友好的圖形界面及圖形化編程語言控制儀器的運行,完成對被測試量的采集、分析、判斷、顯示、存儲及數據生成。虛擬儀器的發展依賴計算機技術,可以肯定:隨著微計算機的發展,虛擬儀器將會逐步取代傳統的測試儀器而成為測試儀器的主流。軟件技術、I/O總線的發展及標準化進程、DSP、可編程邏輯器件技術的發展都使這一趨勢成為可能。
邏輯分析儀(Logic Analyzer簡稱LA)也稱邏輯示波器,主要用于分析數字系統的邏輯關系,有效地解決越來越復雜的數字系統的檢測和故障診斷問題,是數據域測試儀器中最有用、最有代表性的一種儀器[2]。邏輯分析儀與個人計算機相結合(即虛擬邏輯分析儀)是近年來的一個新的發展方向,兩者的結合擴展了邏輯分析儀的分析和計算能力,降低了成本,而且使儀器的通用性增強,在這種情況下,邏輯分析儀作為微計算機的外設,不再是獨立的完整儀器了,在邏輯分析儀中占有很大比重的控制電路、顯示電路、指示電路等功能全部由微計算機完成。虛擬邏輯分析儀(LA與PC相結合)具有許多優勢:性能提高、成本降低、使用簡便和功能易于擴展等[2],特別是高性能價格比,決定了LA與微機相結合的技術方案有著廣闊的前景。
國際上虛擬儀器發展十分迅速,而國內基本處于起步階段。就目前來說,我國的許多科研單位、大學、生產部門依舊是傳統的測試儀器占據主導地位,微計算機與測試儀器基本上還處于互不相關的狀態,這大大地影響了我國電子行業的發展。研究PC虛擬儀器是我們的當務之急,尤其是在數據域測試中占核心地位的邏輯分析儀。實踐證明,PC虛擬儀器在技術上是可行的,也是十分適合中國國情的,具有極其光明的前途。
因此我們開展了虛擬儀器方面的研究工作,進行了虛擬儀器及其相關技術的研究,并研制開發了新一代虛擬儀器——一種基于FPGA技術的虛擬邏輯分析儀(Visual Logic Analyzer,簡稱FVLA)。它是微機系統及數字電路設計、偵錯、軟件開發和仿真的理想儀器。
1 虛擬邏輯分析儀(FVLA)的總體設計方案
我們主要針對國內需求,著重從性能價格比和實用的角度出發,利用微機現有的軟、硬資源,與微機相結合開發研制虛擬邏輯分析儀(FVLA)。它是新型的數據域分析儀器,除具有傳統邏輯分析儀的一般功能外,還具有激勵信號發生功能、智能化輔助分析功能及全中文交互式的圖形用戶界面等性能。利用硬件軟化的思想,將FVLA的采樣部分即具有數據獲取能力的部分做成微機擴展插卡,其它諸部分:控制、顯示等利用微機的軟件技術實現。
從實用性、研制周期、性能價格比等角度考慮,FVLA的研制分兩個版本,第一版完成基本邏輯分析儀功能及第二版帶激勵的邏輯分析儀功能。FVLA中占很大比重的控制電路、顯示電路、指示電路等功能全部由微計算機完成,其中顯示電路由監視器代替,而控制電路等由軟件實現。利用面向對象技術及Windows消息機制結合Visual C++ MFC 4.21類庫完成FVLA控制軟件的設計及實現,將復雜、繁瑣的虛擬邏輯分析儀控制面板諸多功能,集成在FVLA主控GUI中實現,并提供智能化的輔助分析和特征分析功能。
FPGA是現場可編程門陣列(Field Programmable Gate Array,簡稱FPGA)。FPGA器件及其開發系統是開發大規模數字集成電路的新技術,它將現代VLSI邏輯集成的優點和可編程器件設計靈活,制作及上市快速的長處相結合,使設計者在FPGA開發系統軟件的支持下,現場直接根據系統要求定義和修改其邏輯功能,使一個包含數千個邏輯門的數字系統設計實現,采用FPGA技術,即可幾天內完成,所以,無論從產品上市速度,還是以設計制作成本而言,在較大的應用范圍內FPGA均優于掩膜設計制作的ASIC。因此我們將FVLA中關鍵的較復雜的采樣控制電路:觸發選擇、分頻選擇、存儲器控制邏輯等采用FPGA技術實現。
系統總體框圖如圖1。
FVLA硬件擴展插卡
寄生在微機上,作為微機的功能擴展卡,主要負責高速數據采集,存儲及高速地發出激勵的作用。
底層軟件
主要功能是對硬件初始化(對硬件中的FPGA進行設置),對硬件控制、管理及為上層軟件提供一個簡潔的界面及數據傳輸。
FVLA控制軟件
提供功能完善的圖形用戶界面,代替傳統邏輯分析儀繁鎖、復雜的控制面板功能,完成用戶對FVLA的工作參數的設定及對采樣的數據處理;提供定時圖、狀態表等多種顯示分析功能;產生激勵信號,驅動被測數字系統被動工作等。
2 硬件插卡的設計思想
FVLA硬件結構如圖2所示。
· I/O接口:接收微機送來的控制字或激勵數據,將狀態字和采樣數據發送給微機;
控制器:控制采樣頻率,控制觸發方式及觸發通道,為高速存儲器提供地址及讀寫時序等,控制系統實現不同的工作模式,這部分是FVLA比較復雜和關鍵的電路部分;
· 高速存儲器:保存采樣數據和激勵數據;
· 激勵部分:處理激勵數據,激勵被測系統按指定方式工作;
· 采樣部分:捕獲數據,通過探頭或電纜將被測系統的模擬量轉換為高低電平二進制數據;
· ASIC測試平臺:是FVLA同高級綜合系統的接口,其上加載被測試ASIC,通過扁平電纜與FVLA相連,構成完整的ASIC測試系統。
由于FPGA(現場可編程門陣列)可實現無限次地反復編程,快速方便實用,具有可現場模擬調試驗證等特點,所以本系統中比較復雜的控制器部分,采樣部分、激勵部分、I/O接口部分都采用FPGA實現;其它的由外圍芯片組成。外圍芯片上主要有RAM及數據緩沖、鎖存等數據通道部分。
3 控制軟件的功能設計
控制軟件主要包含以下八個功能模塊:
· FVLA工作參數設定模塊:主要完成FVLA采樣時鐘的設定,觸發方式選擇,觸發通道的設定,采樣通道數,工作模式的選擇,硬件主時鐘,硬端口地址的設定等。
· 信號、硬通道映射模塊:對物理通道重新分組、命名形成定時圖等各顯示模塊中待觀察的信號,與被測系統中的各信號保持一致,便于理解分析。信號流覽模塊在FVLA工作的任何時刻都可激活,以利于用戶了解高層信號所對應的物理通道信息。
· 定時圖顯示模塊:這是FVLA最基本的顯示方式,它把每一采樣通道所采集的信息在屏幕上顯示成一行偽方波,橫向表示時間,縱向表示若干信號的離散值,信號可任意分組,支持拖放,即任一波形可隨時改變顯示位置,提供二個活動桿,實現相對、絕對時間分析,用戶拖動活動桿時,可顯示此活動桿處的各信號的值,信號名、時間等,此外波形可任意縮小、放大,即可顯示全局,又可顯示局部,還可提供輔助分析能力,智能比較,快速查詢等。
· 狀態表顯示模塊:狀態表是用字符組成不同形式的表格顯示數字系統的邏輯狀態或邏輯程序,不同信號可選用不同碼字顯示,如地址信號可選用十六進制,而控制信號則選用二進制方式顯示。
· 狀態圖顯示:狀態圖顯示某一信號(組)的不同值出現的次數,可跟蹤和刷新顯示,“基準線”移動時在狀態條上顯示信號的值及出現頻度。
· 狀態直方圖顯示模塊:狀態直方圖是對某一信號(向量)的進一步分析,可將該信號的取值定義若干小范圍,橫向表示范圍,縱向表示每一范圍出現的頻度。
· 時間間隔圖:統計和顯示事件間隔,分若干時間間隔段,用直方圖表示。
· 激勵信號生成模塊:主要用于生成激勵信號,提供激勵文件編輯功能,擁有常見編輯器的基本功能,提供一個公用接口,接收其它編輯器生成的激勵格式文本文件,例如Xilinx公司 的XNF格式文件,將其轉換為定時圖能顯示的格式文件。
4 FVLA控制器的(FPGA)的設計原理
FVLA控制器的電路框圖如圖3所示。
4.1 FVLA控制器(FPGA)的外部特性
FVLA控制器版本1(普通邏輯分析儀)和版本2(帶激勵的)具有相同的外部特性,地址空間分配兼容,送控制字的順序和方法等均相同。控制器的引腳可分為三類:與微機(PC機)接口有關的信號、 與高速存儲器有關的信號、其它信號:諸如系統內部時鐘信號,外部時鐘,時鐘輸出,啟動采樣信號,采樣數據鎖存信號,激勵數據鎖存信號等。
地址空間是靈活的,可以通過測試儀插件板上的DIP開關設定。
主要包括三個控制字:控制字1包含分頻控制、觸發控制、工作模式控制;控制字2包含分頻控制、觸發通道選擇;控制字3包含采樣和激勵地址設定。
工作模式共有8種:鍵控采樣、讀采樣數據、單純采樣、單純采樣毛刺檢測、單純激勵、激勵采樣、激勵采樣毛刺檢測、鍵控激勵采樣。由第一控制字的末3位指定。
4.2 FVLA控制器(FPGA)的內部原理
FVLA控制器第一版本與第二版本(帶激勵)的邏輯分析儀的電路的總體結構相同,僅是接口電路和高速存儲器控制部分不同。
基本分為五個部分:接口電路、時鐘電路、觸發選擇、啟停控制、存儲器控制。接口電路從微機總線接收控制字,并將它們鎖存,然后再送給其它4個部分,時鐘電路對測試儀插件板本身的時鐘CLK或外部時鐘EXCLK進行分頻處理,以獲得各種采樣時鐘,然后送到啟停電路,觸發電路從32個(或用戶設定)通道中識別觸發信號,將結果送給啟停電路;啟停控制部分根據觸發狀態,時鐘內部的計數值來控制存儲器的啟與停,存儲器控制部分則根據各種工作模式的不同要求,形成高速存儲器的控制信號及FPGA外部電路所需的各種控制信號。
4.3 FVLA存儲器的控制原理
這部分用來產生存儲器以及FPGA外部電路所需的控制信號。不同的工作模式所需的控制信號不同,二個版本此部分的實現差別比較大。
4.3.1 版本1的存儲器控制
圖4為存儲器控制原理圖。地址計數器用來形成存儲器所需的地址信號。在采樣模式,由測試儀插件板上的時鐘CLK作為計數器的時鐘,并按一定的時序要求產生各種控制信號;在讀模式,由ADDRCLK作為計數器時鐘,并產生控制信號,ADDRCLK是由讀XX2產生的。
4.3.2 版本2的存儲器控制
版本2的電路共有8種工作模式,與版本1相比較,主要增加了以下功能:
·實現激勵數據與采樣數據共用一個高速存儲器;
·實現靈活設定激勵數據與采樣數據在高速存儲器占用空間的比值;
·實現每次激勵所對應的采樣次數的設定與變化;
·實現單純激勵時所需的時序信號;
·實現激勵采樣時所需的控制信號。
具體內部電路圖如下:
IC1,IC2為兩個地址計數器,分別為激勵地址計數器和采樣地址計數器,IC3為二選一多路器,據不同控制信號,將IC1,IC2選出輸出到地址總線,實現在一個存儲器中共存激勵數據和采樣數據。初始化后,這二個地址計數器均取控制字3中的設定值(邊界地址),采樣計數器為UP計數,計數滿后再裝入邊界地址,如此重復地采樣,存儲數據,使采樣數據局限于邊界地址和FFH之間。激勵地址計數器為DOWN計數,計數到0后再將邊界地址裝入使激勵數據局限于0到邊界地址之間。
IC4為采樣與激勵切換控制器,通常處于采樣狀態,采樣地址計數器與地址總線接通,并產生共享存儲器的控制信號,當采樣滿N次時,切換到激勵狀態,使激勵地址計數器與地址總線接通,并產生讀存的控制信號。采樣個數由控制字3的高4位設定。
CONTRL為一組合邏輯網絡,據M2~M0采樣的不同的工作模式,采樣激勵切換控制器的輸出TC以及時鐘CLK,產生存貯器所需的各種控制信號,其邏輯表達式如下:
STMCLK=STM(M5+M4)+CLK·M4+ADDRCLK·M7
CMPCLK=ADDRCLK(M0+M1)+CLK(M2+M3+M5+M6)+STM(M5+M6)
STMENA=M5+M6
STMMVL=STM(M5+M6)+M4+M7
EO=M0+M2+M3+SONTENA(M5+M6)+M7
CS=ADDRCLK(M0+M1+M7)+CLK(M2+M3+M5+M6+M4)
MRW=CS(M0+M2+M3+M5+M6+M7)+STM(M5+M6)+M1+M4
DATAEN=CS(M0+M2+M3)+SMPCLK(M5+M6)+M1+M4+M7
ONTENA=M0+M1+M2+M3+STM(M5+M6)+CSM4
OE=M0+M1+M2+M5+M6+M4+CS·M7
5 與同類產品的分析比較
目前市場上已有幾種微機用邏輯分析儀卡及配套軟件。但有的速度較慢,有的仍使用DOS平臺。尚未見到帶有激勵信號發生器的產品。本項產品與這些產品相比具有以下特點:
· 虛擬儀器擴展卡采用FPGA技術實現,使印制版大為縮小,并且可在不重新設計印制板的情況下進行硬件的改進;
· 具有激勵信號發生器的功能,能夠實時向被測系統發出激勵信號;
· 用同一塊印制板,通過對FPGA不同的編程來實現邏輯分析儀和激勵信號發生器兩種儀器;
· 提供DOS和Windows 兩種平臺,硬件要求低;
· 可以將預先測得的正常波形存儲,作為標準;測試的波形可以與之疊印顯示,人工比較,也可以自動地與之比較,比較的模糊程度可由用戶自行設定。
· 總線信號可以用十六進制“捆綁”顯示, 也可以展開成單信號線顯示;
· 與高級綜合系統相聯結,可接收VHDL模擬器的激勵向量,用該向量生成被測系統所需的激勵信號。
總之,PC總線虛擬儀器是一個新興而又前途光明的研究方向,研究PC虛擬儀器是我們的當務之急。本文主要針對國內實際情況及數據域測試要求,研究并探討了一個實際的PC虛擬儀器——一種基于FPGA技術的虛擬邏輯分析儀的設計思想及實現。充分利用微機的軟、硬資源,著重從性能價格比,實用角度出發設計、研制虛擬儀器。充分利用“軟件即儀器”思想,將邏輯分析儀除采樣部分外的其它功能設備均用軟件實現。利用FPGA技術,將FVLA卡上的關鍵控制電路做入FPGA來實現硬制卡。利用面向對象技術及Windows圖形用戶界面技術設計并實現了FVLA的控制軟件,將復雜繁鎖的傳統邏輯分析儀面板上諸多功能集成在FVLA主控GUI中實現,提供了全中文、多種顯示、操作方便、靈活、直觀等其它同類產品不可比擬的軟件性能;并具有激勵信號發生功能。此儀器目前已進入試用階段,在研制末敏彈時,用其測試末敏彈ASIC的輸入、內部狀態(為了檢測內部狀態,將一些內部信號接到輸出管腳)和輸出之間的邏輯關系,可直觀地觀察多路信號,簡化和縮短了研制周期。實踐證明虛擬儀器技術是可行的,且具有諸多優點,尤適合中國現狀。將FPGA技術引入硬制卡的研制中,為研制PC虛擬邏輯分析儀提供了一種新思路。
參考文獻
1 劉 陽.虛擬儀器的現狀及發展趨勢.電子技術應用,1996;(21)4
2 Logic analyxer.EDN.1986;(29)3
3 朱明程.FPGA技術的最新發展.電子技術應用,1997;(22)2
4 朱明程.FPGA原理及應用設計.北京:電子工業出版社,1994
5 Logic analysis by telephone-let your teriniml do the walking EDN.March,1989;(20)
6 林 君,程德福著.微型計算機卡式儀器原理、設計與應用.北京:國防工業出版社,1990;(11)
7 高德遠,馬婉良譯著.Xilinx現場可編程門陣列及其應用.西安:西北工業大學出版社,1996;(10)