基于FPGA的虛擬邏輯分析儀的設計
邏輯分析儀是一種通用數據域測試儀器。應用在由中大規模數字集成電路組成的數字系統中,主要查找總線(xiàn)相關(guān)性故障,能以多種方式跟蹤與顯示總線(xiàn)上的數據流,是測量領(lǐng)域不可缺少的工具。
隨著(zhù)電子技術(shù)和計算機技術(shù)的發(fā)展,邏輯分析儀與 PC機相結合,研發(fā)的虛擬邏輯分析儀是近年的一個(gè)新的發(fā)展方向,兩者的結合擴展了邏輯分析儀的分析和計算能力,提高了性?xún)r(jià)比,且增強了儀器的通用性?,F場(chǎng)可編程邏輯器件FPGA,是一種可由用戶(hù)根據所設計的數字系統的要求,在現場(chǎng)由自己配置、定義的高密度專(zhuān)用數字集成電路。它具有設計方便、靈活、校驗快和設計可重復改變的特點(diǎn)。
本文提出了一種基于FPGA的虛擬邏輯分析儀的設計方法。該系統對采集到的模擬或數字信號進(jìn)行存儲、預處理和邏輯分析。通過(guò)FPGA控制數據單次或連續采集、緩沖,通過(guò)PCI9030將緩沖區數據轉移到硬盤(pán)管理卡,由硬盤(pán)管理卡將數據存入海量硬盤(pán)。
1 系統結構設計
本文設計的虛擬邏輯分析儀主要由高速模擬量采集通道、高速數字量采集通道、PCI接口電路、時(shí)鐘產(chǎn)生電路四部分組成。數據采集系統要解決的問(wèn)題主要是數據的采集和傳輸問(wèn)題。為了增強設計的靈活性和可擴展性,系統采用FPGA(Field Programmable Logic Array)來(lái)實(shí)現對A/D轉換器、數據緩沖器、時(shí)鐘、數據傳輸的邏輯控制。系統功能框圖如圖1所示。
2 FPGA在系統中的應用
FPGA領(lǐng)域的快速發(fā)展使FPGA片上資源大量豐富,尤其是其高速性能和片上RAM使其特別適用于高速數據采集系統的設計。設計選用Altera公司的FLEX10K30E,該器件含有8個(gè)EAB(嵌入式陣列),每個(gè)EAB能夠提供4 Kbit存儲位,每個(gè)EAB都有雙口RAM實(shí)現能力;提供30 000邏輯門(mén);支持PCI總線(xiàn),可提供 66 MHz的PCI性能;門(mén)級延時(shí)僅為6.5 ns。本系統中FPGA設計主要包含地址譯碼及初始化接口電路、分頻電路、觸發(fā)方式控制電路、采樣時(shí)鐘產(chǎn)生電路、8 bit轉32 bit電路、中斷電路等。FPGA功能框圖如圖2所示。
3 系統功能分析與系統描述
依據前面討論的系統級設計方法,首先對高速模擬量采集通道邏輯控制與觸發(fā)電路所應具備的功能進(jìn)行分析。歸納出本部分電路應完成的功能主要有以下幾點(diǎn):(1)軟件初始化設定的接口;(2)觸發(fā)方式控制;(3)采樣時(shí)鐘產(chǎn)生;(4)啟動(dòng)/停止采樣及數據的緩存與讀取。
3.1 軟件初始化設定
采集通道的初始化設定主要包括耦合方式選擇、前端電路使能、觸發(fā)源(內/外觸發(fā))選擇、觸發(fā)方式設定、采樣方式及采樣頻率設定。這些設定均采用模擬量采集通道工作方式寄存器(16 bit)的各標志位來(lái)控制。工作方式寄存器作為L(cháng)ocal Bus的I/O端口來(lái)操作。另外,還有觸發(fā)延遲計數值預置端口、觸發(fā)超前計數值預置端口、采樣點(diǎn)計數值預置端口、增益調整D/A轉換操作端口以及觸發(fā)電平D/A轉換操作端口等I/O端口。這些I/O端口組成一個(gè)連續的I/O地址范圍,由Local Bus總線(xiàn)譯碼來(lái)尋址并進(jìn)行相應I/O操作。
3.2 觸發(fā)方式控制
本設計提供了三種常用的觸發(fā)方式:立即電平觸發(fā)、延遲電平觸發(fā)、超前電平觸發(fā)。根據外部觸發(fā)信號選擇所需的觸發(fā)方式。
3.3 采樣時(shí)鐘
由于受高速ADC最低采樣頻率的限制(最低為5 MHz,低于此值會(huì )造成ADC的量化誤差急劇增大,甚至ADC不能正常工作),因此,本文設計的異步采樣提供了四種采樣頻率:由60 MHz有源晶振提供基準時(shí)鐘送到FPGA的可編程分頻器,經(jīng)過(guò)可編程分頻電路之后產(chǎn)生60 MHz、30 MHz、15 MHz、7.5 MHz四種時(shí)鐘輸出到觸發(fā)方式控制器中。把時(shí)鐘信號和觸發(fā)方式送到采樣時(shí)鐘產(chǎn)生電路中產(chǎn)生系統需要的各個(gè)時(shí)鐘信號。
3.4啟動(dòng)/停止采樣及數據的緩存與讀取
由計算機軟件發(fā)出啟動(dòng)命令后開(kāi)始采樣,并同步將ADC輸出的8 bit數據轉換成32 bit存入FIFO中。若是單次采集(采樣點(diǎn)規定小于16 K),則在采集完成后產(chǎn)生中斷,由計算機一次性全部讀回數據;若是連續采集,則當FIFO的可編程近滿(mǎn)/PAF標志位有效時(shí),產(chǎn)生中斷信號,此時(shí)計算機響應中斷后,僅依次讀取2 K×32 bit的數據,由于采集數據從FIFO中讀出比寫(xiě)入的時(shí)鐘頻率高很多,而采樣還在繼續,因此當/PAF再次有效時(shí),計算機又讀取同樣的數據量,這樣連續循環(huán)地進(jìn)行,直到計算機軟件發(fā)出停止命令才完成數據采集過(guò)程。
4 時(shí)序仿真分析
時(shí)序仿真是接近真實(shí)器件運行環(huán)境的仿真,仿真過(guò)程中已考慮了器件硬件特性,且時(shí)序仿真的網(wǎng)表文件中已包含了較為精確的延遲信息,因此仿真精度很高。
時(shí)序仿真環(huán)境按照數據采集的過(guò)程來(lái)建立,完成各種初始化設定后,主要注意觸發(fā)控制、采樣時(shí)鐘的輸出以及數據采集的啟/??刂剖欠駶M(mǎn)足要求,如果沒(méi)有達到設計要求,則必須對前面的設計描述加以修改,直到符合要求,才可以將產(chǎn)生的下載文件通過(guò)編程器或下載電纜載入目標器件FPGA中。仿真結果如圖3~圖5所示。
從時(shí)序邏輯圖可知,觸發(fā)控制、采樣時(shí)鐘的輸出以及數據采集的啟/??刂茲M(mǎn)足系統要求??梢詫a(chǎn)生的下載文件通過(guò)編程器或下載電纜載入目標器件FPGA中。
經(jīng)測試表明,本文設計的虛擬邏輯分析儀系統穩定,工作狀態(tài)良好,具備了較強的邏輯分析能力,能滿(mǎn)足信號分析的要求。由于該方案基于A(yíng)ltera公司的EPF10K30E系列FPGA來(lái)實(shí)現,使部分硬件功能軟件化,使硬件電路大為簡(jiǎn)化,提高了邏輯分析儀的可靠性,降低了成本,且功能易于擴展,具有一定的教學(xué)和科研價(jià)值。
評論