羅厚軍 張桂紅
[摘要]介紹一種基于單片機和EDA技術的邏輯分析儀,闡述邏輯分析儀的工作原理和軟硬件設計。
[關鍵詞]邏輯分析儀 FPGA 單片機 AD7715
中圖分類號:TP2文獻標識碼:A文章編號:1671-7597(2009)0220029-01
一、引言
隨著大規模集成電路和微型計算機的發展,現代數字系統越來越復雜。在很多數字電路的研究和實驗中,往往需要同時查看多路數字信號的時序關系,甚至有時信號不是周期性的,因此只用示波器往往無法完整的觀察了解信號之間的關系,因此需要用到邏輯分析儀(LA)。邏輯分析儀是用于分析數字系統邏輯關系的工具,是數據領域測試儀器中最有效、最有代表性的儀器。然而自1973年誕生第一臺邏輯分析儀至今,邏輯分析儀的普及率仍很低,30%以上的數字設計師沒有使用邏輯分析儀[1],最重要的原因在于其高昂的價格。本文介紹一種以CPLD和AT89C51單片機作為控制核心、示波器為顯示工具的簡易邏輯分析儀的設計方法。它具有功能全面,價格低廉,能夠實時分析8路數字信號的優點,因此具有很高的實用價值。
二、系統硬件設計
1.總體設計。邏輯分析儀一般由四部分組成:觸發識別、數據獲取、數據存貯、數據顯示。[2]四部分組成,本設計將8路待分析的并行數字信號經過模擬開關分時選通成為串行信號,再經A/D采樣得到邏輯電平值后,由FPGA讀取并進行存儲,當滿足觸發條件后,再存入設定位數的數字。最后將這些數字存入FPGA內部的雙口RAM中,由DAC輸出顯示在示波器上。其中,觸發電平、觸發字、觸發方式都由用戶通過鍵盤輸入,再由FPGA解析為相應的邏輯,以控制A/D轉換結果和存儲器的寫入。觸發位置和可移動光標處的邏輯狀態均由LCD同步顯示,其系統框圖如圖1所示。

2.模擬電路設計。采用的門限電壓控制方法是將待測信號轉換為邏輯值,8路待測邏輯信號首先由8選1模擬開關(CD4051)進行選擇,然后經過模數轉換器ADC(AD7715),對邏輯信號電平采用模擬信號采樣,并把轉換得到的數字量與預設數字進行比較,當AD轉換獲得邏輯信號電平的數字量大于門限電壓對應的數字量時,確定為邏輯1,否則確定為邏輯0。
其中多路模擬開關CD4051,是八選一模擬開關,通過輸入控制引腳A、B、C,分別可來決定選擇八個通道中的任一個。其轉換速度快,得到了廣泛的應用。
3.模數轉換電路設計。為了提高精度,模數轉換采用美國ADI公司生產的16位模數轉換器AD7715。它具有0.0015%的非線性、片內可編程增益放大器、差動輸入、三線串行接口、緩沖輸入、輸出更新速度可編程等特點。適用于單通道低速小信號的采樣應用。
4.單片機電路設計。單片機電路主要實現觸發控制和鍵盤接收的功能。單片機選擇了AT89C51,AT89C51是一種帶4K字節Flash的低電壓,高性能CMOS8位微處理器。[3]該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。系統中主要用AT89C51接收按鍵信息,進行觸發判斷。
5.FPGA設計。FPGA(Field Programmable Gate Array)是現場可編程門陣列芯片的簡稱。它是與傳統PLD不同的一類可編程ASIC。本文選用了Altera公司的FPGA芯片EP1C6Q240C8實現數據的采集與存儲,軟件部分是在Quartus II軟件環境下用VHDL語言設計的。主要實現以下功能:FPGA控制選通CD4051的某一路,然后通過模擬SPI總線與AD7715通信,啟動AD7715開始采集該路信號,并存儲得到的數據。然后單片機根據當前的按鍵,當滿足觸發狀態時,把采集得到的數據進行存儲,當8路采樣完成后,存入RAM,并在FPGA中記錄對應的存儲地址,當存儲到一定量的狀態時停止采樣并送給示波器顯示。
三、軟件設計
系統軟件盡量采用模塊化設計,使調測、修改程序方便。本系統主要采用單片機與FPGA共同完成對邏輯分析儀的軟件控制,單片機主要負責讀取按鍵信息,對觸發模式進行設定。然后發送信號啟動FPGA的相應模塊,完成信號采集,RAM存儲,最后再由FPGA完成最后的示波器顯示功能。
四、仿真結果
仿真結果,當邏輯分析裝置初始化后,系統開始等到按鍵,當有按鍵后,按鍵識別電路開始對鍵值進行,一旦發現起始位即開始讀取指令并存入各指令寄存器中,指令寄存器對指令進行解析后輸出到各功能單元模塊中,控制各單元模塊協同工作,當觸發電路中產生觸發輸出,控制電路就控制采集電路對所選通道數據進行采集存儲,當到達采樣深度時關閉采樣電路,開始讀數據傳輸給DA轉換器,直到讀完所有采集到的數據。從圖3可以看出,邏輯分析儀器接收到指令后,在觸發輸出為高的時候開始對數據進行采集,當達到所設定的采樣深度1024時,開始讀出數據,并且每八位數據會被打包成起始位為0,終止位為1的數據包,然后輸出到示波器上進行顯示。上圖中因為輸入的被測數據都為1,所以輸出的打包數據就為0111111111。由于時間跨度大,所以只顯示出了部分波形。
五、結論
數字技術的發展提供了更多的實用檢測設備方案。基于FPGA的簡易邏輯分析儀就是這些方案的一種嘗試。本系統的特點在于充分發揮了FPGA的自身優勢,將FPGA,單片機進行配合控制,利用示波器作為顯示器件它實現了邏輯分析儀的功能,能夠對8路邏輯信號中任意一路或多路的單級和多級觸發,并具有分頁顯示功能。不僅界面友好,且擴展功能強。具有很高的應用價值。
參考文獻:
[1]蘭京川、戴志堅,數字電路中邏輯分析儀實驗系統的設計[J].實驗科學與技術,2008,(05).
[2]趙民、劉大亮、武傳華、茹炎,采用FPGA技術的小型無線電監測站[J].中國無線電,2008,(09).
[3]周慶華,邏輯分析儀在嵌入式開發調試中的應用[J].國外電子測量技術,2003,(04).
[4]田開坤,51系列單片機總線時序分析與編址技術[J].電子制作,2007,(12).
作者簡介:
羅厚軍,女,漢,湖北松滋人,副教授,研究方向:電子技術。