羅厚軍 張桂紅
[摘要]介紹一種基于單片機和EDA技術(shù)的邏輯分析儀,闡述邏輯分析儀的工作原理和軟硬件設(shè)計。
[關(guān)鍵詞]邏輯分析儀 FPGA 單片機 AD7715
中圖分類號:TP2文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0220029-01
一、引言
隨著大規(guī)模集成電路和微型計算機的發(fā)展,現(xiàn)代數(shù)字系統(tǒng)越來越復(fù)雜。在很多數(shù)字電路的研究和實驗中,往往需要同時查看多路數(shù)字信號的時序關(guān)系,甚至有時信號不是周期性的,因此只用示波器往往無法完整的觀察了解信號之間的關(guān)系,因此需要用到邏輯分析儀(LA)。邏輯分析儀是用于分析數(shù)字系統(tǒng)邏輯關(guān)系的工具,是數(shù)據(jù)領(lǐng)域測試儀器中最有效、最有代表性的儀器。然而自1973年誕生第一臺邏輯分析儀至今,邏輯分析儀的普及率仍很低,30%以上的數(shù)字設(shè)計師沒有使用邏輯分析儀[1],最重要的原因在于其高昂的價格。本文介紹一種以CPLD和AT89C51單片機作為控制核心、示波器為顯示工具的簡易邏輯分析儀的設(shè)計方法。它具有功能全面,價格低廉,能夠?qū)崟r分析8路數(shù)字信號的優(yōu)點,因此具有很高的實用價值。
二、系統(tǒng)硬件設(shè)計
1.總體設(shè)計。邏輯分析儀一般由四部分組成:觸發(fā)識別、數(shù)據(jù)獲取、數(shù)據(jù)存貯、數(shù)據(jù)顯示。[2]四部分組成,本設(shè)計將8路待分析的并行數(shù)字信號經(jīng)過模擬開關(guān)分時選通成為串行信號,再經(jīng)A/D采樣得到邏輯電平值后,由FPGA讀取并進(jìn)行存儲,當(dāng)滿足觸發(fā)條件后,再存入設(shè)定位數(shù)的數(shù)字。最后將這些數(shù)字存入FPGA內(nèi)部的雙口RAM中,由DAC輸出顯示在示波器上。其中,觸發(fā)電平、觸發(fā)字、觸發(fā)方式都由用戶通過鍵盤輸入,再由FPGA解析為相應(yīng)的邏輯,以控制A/D轉(zhuǎn)換結(jié)果和存儲器的寫入。觸發(fā)位置和可移動光標(biāo)處的邏輯狀態(tài)均由LCD同步顯示,其系統(tǒng)框圖如圖1所示。
2.模擬電路設(shè)計。采用的門限電壓控制方法是將待測信號轉(zhuǎn)換為邏輯值,8路待測邏輯信號首先由8選1模擬開關(guān)(CD4051)進(jìn)行選擇,然后經(jīng)過模數(shù)轉(zhuǎn)換器ADC(AD7715),對邏輯信號電平采用模擬信號采樣,并把轉(zhuǎn)換得到的數(shù)字量與預(yù)設(shè)數(shù)字進(jìn)行比較,當(dāng)AD轉(zhuǎn)換獲得邏輯信號電平的數(shù)字量大于門限電壓對應(yīng)的數(shù)字量時,確定為邏輯1,否則確定為邏輯0。
其中多路模擬開關(guān)CD4051,是八選一模擬開關(guān),通過輸入控制引腳A、B、C,分別可來決定選擇八個通道中的任一個。其轉(zhuǎn)換速度快,得到了廣泛的應(yīng)用。
3.模數(shù)轉(zhuǎn)換電路設(shè)計。為了提高精度,模數(shù)轉(zhuǎn)換采用美國ADI公司生產(chǎn)的16位模數(shù)轉(zhuǎn)換器AD7715。它具有0.0015%的非線性、片內(nèi)可編程增益放大器、差動輸入、三線串行接口、緩沖輸入、輸出更新速度可編程等特點。適用于單通道低速小信號的采樣應(yīng)用。
4.單片機電路設(shè)計。單片機電路主要實現(xiàn)觸發(fā)控制和鍵盤接收的功能。單片機選擇了AT89C51,AT89C51是一種帶4K字節(jié)Flash的低電壓,高性能CMOS8位微處理器。[3]該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。系統(tǒng)中主要用AT89C51接收按鍵信息,進(jìn)行觸發(fā)判斷。
5.FPGA設(shè)計。FPGA(Field Programmable Gate Array)是現(xiàn)場可編程門陣列芯片的簡稱。它是與傳統(tǒng)PLD不同的一類可編程ASIC。本文選用了Altera公司的FPGA芯片EP1C6Q240C8實現(xiàn)數(shù)據(jù)的采集與存儲,軟件部分是在Quartus II軟件環(huán)境下用VHDL語言設(shè)計的。主要實現(xiàn)以下功能:FPGA控制選通CD4051的某一路,然后通過模擬SPI總線與AD7715通信,啟動AD7715開始采集該路信號,并存儲得到的數(shù)據(jù)。然后單片機根據(jù)當(dāng)前的按鍵,當(dāng)滿足觸發(fā)狀態(tài)時,把采集得到的數(shù)據(jù)進(jìn)行存儲,當(dāng)8路采樣完成后,存入RAM,并在FPGA中記錄對應(yīng)的存儲地址,當(dāng)存儲到一定量的狀態(tài)時停止采樣并送給示波器顯示。
三、軟件設(shè)計
系統(tǒng)軟件盡量采用模塊化設(shè)計,使調(diào)測、修改程序方便。本系統(tǒng)主要采用單片機與FPGA共同完成對邏輯分析儀的軟件控制,單片機主要負(fù)責(zé)讀取按鍵信息,對觸發(fā)模式進(jìn)行設(shè)定。然后發(fā)送信號啟動FPGA的相應(yīng)模塊,完成信號采集,RAM存儲,最后再由FPGA完成最后的示波器顯示功能。
四、仿真結(jié)果
仿真結(jié)果,當(dāng)邏輯分析裝置初始化后,系統(tǒng)開始等到按鍵,當(dāng)有按鍵后,按鍵識別電路開始對鍵值進(jìn)行,一旦發(fā)現(xiàn)起始位即開始讀取指令并存入各指令寄存器中,指令寄存器對指令進(jìn)行解析后輸出到各功能單元模塊中,控制各單元模塊協(xié)同工作,當(dāng)觸發(fā)電路中產(chǎn)生觸發(fā)輸出,控制電路就控制采集電路對所選通道數(shù)據(jù)進(jìn)行采集存儲,當(dāng)?shù)竭_(dá)采樣深度時關(guān)閉采樣電路,開始讀數(shù)據(jù)傳輸給DA轉(zhuǎn)換器,直到讀完所有采集到的數(shù)據(jù)。從圖3可以看出,邏輯分析儀器接收到指令后,在觸發(fā)輸出為高的時候開始對數(shù)據(jù)進(jìn)行采集,當(dāng)達(dá)到所設(shè)定的采樣深度1024時,開始讀出數(shù)據(jù),并且每八位數(shù)據(jù)會被打包成起始位為0,終止位為1的數(shù)據(jù)包,然后輸出到示波器上進(jìn)行顯示。上圖中因為輸入的被測數(shù)據(jù)都為1,所以輸出的打包數(shù)據(jù)就為0111111111。由于時間跨度大,所以只顯示出了部分波形。
五、結(jié)論
數(shù)字技術(shù)的發(fā)展提供了更多的實用檢測設(shè)備方案。基于FPGA的簡易邏輯分析儀就是這些方案的一種嘗試。本系統(tǒng)的特點在于充分發(fā)揮了FPGA的自身優(yōu)勢,將FPGA,單片機進(jìn)行配合控制,利用示波器作為顯示器件它實現(xiàn)了邏輯分析儀的功能,能夠?qū)?路邏輯信號中任意一路或多路的單級和多級觸發(fā),并具有分頁顯示功能。不僅界面友好,且擴展功能強。具有很高的應(yīng)用價值。
參考文獻(xiàn):
[1]蘭京川、戴志堅,數(shù)字電路中邏輯分析儀實驗系統(tǒng)的設(shè)計[J].實驗科學(xué)與技術(shù),2008,(05).
[2]趙民、劉大亮、武傳華、茹炎,采用FPGA技術(shù)的小型無線電監(jiān)測站[J].中國無線電,2008,(09).
[3]周慶華,邏輯分析儀在嵌入式開發(fā)調(diào)試中的應(yīng)用[J].國外電子測量技術(shù),2003,(04).
[4]田開坤,51系列單片機總線時序分析與編址技術(shù)[J].電子制作,2007,(12).
作者簡介:
羅厚軍,女,漢,湖北松滋人,副教授,研究方向:電子技術(shù)。