文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2011)12-0087-03
邏輯分析儀是一種通用數(shù)據(jù)域測(cè)試儀器,。應(yīng)用在由中大規(guī)模數(shù)字集成電路組成的數(shù)字系統(tǒng)中,,主要查找總線(xiàn)相關(guān)性故障,能以多種方式跟蹤與顯示總線(xiàn)上的數(shù)據(jù)流,,是測(cè)量領(lǐng)域不可缺少的工具,。
隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,邏輯分析儀與 PC機(jī)相結(jié)合,,研發(fā)的虛擬邏輯分析儀是近年的一個(gè)新的發(fā)展方向,,兩者的結(jié)合擴(kuò)展了邏輯分析儀的分析和計(jì)算能力,提高了性?xún)r(jià)比,,且增強(qiáng)了儀器的通用性?,F(xiàn)場(chǎng)可編程邏輯器件FPGA,是一種可由用戶(hù)根據(jù)所設(shè)計(jì)的數(shù)字系統(tǒng)的要求,,在現(xiàn)場(chǎng)由自己配置,、定義的高密度專(zhuān)用數(shù)字集成電路。它具有設(shè)計(jì)方便,、靈活,、校驗(yàn)快和設(shè)計(jì)可重復(fù)改變的特點(diǎn)。
本文提出了一種基于FPGA的虛擬邏輯分析儀的設(shè)計(jì)方法,。該系統(tǒng)對(duì)采集到的模擬或數(shù)字信號(hào)進(jìn)行存儲(chǔ),、預(yù)處理和邏輯分析。通過(guò)FPGA控制數(shù)據(jù)單次或連續(xù)采集,、緩沖,,通過(guò)PCI9030將緩沖區(qū)數(shù)據(jù)轉(zhuǎn)移到硬盤(pán)管理卡,由硬盤(pán)管理卡將數(shù)據(jù)存入海量硬盤(pán),。
1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
本文設(shè)計(jì)的虛擬邏輯分析儀主要由高速模擬量采集通道,、高速數(shù)字量采集通道、PCI接口電路、時(shí)鐘產(chǎn)生電路四部分組成,。數(shù)據(jù)采集系統(tǒng)要解決的問(wèn)題主要是數(shù)據(jù)的采集和傳輸問(wèn)題,。為了增強(qiáng)設(shè)計(jì)的靈活性和可擴(kuò)展性,系統(tǒng)采用FPGA(Field Programmable Logic Array)來(lái)實(shí)現(xiàn)對(duì)A/D轉(zhuǎn)換器,、數(shù)據(jù)緩沖器,、時(shí)鐘、數(shù)據(jù)傳輸?shù)倪壿嬁刂?。系統(tǒng)功能框圖如圖1所示,。
2 FPGA在系統(tǒng)中的應(yīng)用
FPGA領(lǐng)域的快速發(fā)展使FPGA片上資源大量豐富,尤其是其高速性能和片上RAM使其特別適用于高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì),。設(shè)計(jì)選用Altera公司的FLEX10K30E,,該器件含有8個(gè)EAB(嵌入式陣列),每個(gè)EAB能夠提供4 Kbit存儲(chǔ)位,,每個(gè)EAB都有雙口RAM實(shí)現(xiàn)能力,;提供30 000邏輯門(mén);支持PCI總線(xiàn),可提供 66 MHz的PCI性能,;門(mén)級(jí)延時(shí)僅為6.5 ns。本系統(tǒng)中FPGA設(shè)計(jì)主要包含地址譯碼及初始化接口電路,、分頻電路,、觸發(fā)方式控制電路、采樣時(shí)鐘產(chǎn)生電路,、8 bit轉(zhuǎn)32 bit電路,、中斷電路等。FPGA功能框圖如圖2所示,。
3 系統(tǒng)功能分析與系統(tǒng)描述
依據(jù)前面討論的系統(tǒng)級(jí)設(shè)計(jì)方法,,首先對(duì)高速模擬量采集通道邏輯控制與觸發(fā)電路所應(yīng)具備的功能進(jìn)行分析。歸納出本部分電路應(yīng)完成的功能主要有以下幾點(diǎn):(1)軟件初始化設(shè)定的接口,;(2)觸發(fā)方式控制,;(3)采樣時(shí)鐘產(chǎn)生;(4)啟動(dòng)/停止采樣及數(shù)據(jù)的緩存與讀取,。
3.1 軟件初始化設(shè)定
采集通道的初始化設(shè)定主要包括耦合方式選擇,、前端電路使能、觸發(fā)源(內(nèi)/外觸發(fā))選擇,、觸發(fā)方式設(shè)定,、采樣方式及采樣頻率設(shè)定。這些設(shè)定均采用模擬量采集通道工作方式寄存器(16 bit)的各標(biāo)志位來(lái)控制,。工作方式寄存器作為L(zhǎng)ocal Bus的I/O端口來(lái)操作,。另外,還有觸發(fā)延遲計(jì)數(shù)值預(yù)置端口、觸發(fā)超前計(jì)數(shù)值預(yù)置端口,、采樣點(diǎn)計(jì)數(shù)值預(yù)置端口,、增益調(diào)整D/A轉(zhuǎn)換操作端口以及觸發(fā)電平D/A轉(zhuǎn)換操作端口等I/O端口。這些I/O端口組成一個(gè)連續(xù)的I/O地址范圍,,由Local Bus總線(xiàn)譯碼來(lái)尋址并進(jìn)行相應(yīng)I/O操作,。
3.2 觸發(fā)方式控制
本設(shè)計(jì)提供了三種常用的觸發(fā)方式:立即電平觸發(fā)、延遲電平觸發(fā),、超前電平觸發(fā),。根據(jù)外部觸發(fā)信號(hào)選擇所需的觸發(fā)方式。
3.3 采樣時(shí)鐘
由于受高速ADC最低采樣頻率的限制(最低為5 MHz,,低于此值會(huì)造成ADC的量化誤差急劇增大,,甚至ADC不能正常工作),因此,,本文設(shè)計(jì)的異步采樣提供了四種采樣頻率:由60 MHz有源晶振提供基準(zhǔn)時(shí)鐘送到FPGA的可編程分頻器,經(jīng)過(guò)可編程分頻電路之后產(chǎn)生60 MHz,、30 MHz、15 MHz,、7.5 MHz四種時(shí)鐘輸出到觸發(fā)方式控制器中,。把時(shí)鐘信號(hào)和觸發(fā)方式送到采樣時(shí)鐘產(chǎn)生電路中產(chǎn)生系統(tǒng)需要的各個(gè)時(shí)鐘信號(hào)。
3.4啟動(dòng)/停止采樣及數(shù)據(jù)的緩存與讀取
由計(jì)算機(jī)軟件發(fā)出啟動(dòng)命令后開(kāi)始采樣,,并同步將ADC輸出的8 bit數(shù)據(jù)轉(zhuǎn)換成32 bit存入FIFO中,。若是單次采集(采樣點(diǎn)規(guī)定小于16 K),則在采集完成后產(chǎn)生中斷,由計(jì)算機(jī)一次性全部讀回?cái)?shù)據(jù),;若是連續(xù)采集,,則當(dāng)FIFO的可編程近滿(mǎn)/PAF標(biāo)志位有效時(shí),產(chǎn)生中斷信號(hào),,此時(shí)計(jì)算機(jī)響應(yīng)中斷后,,僅依次讀取2 K×32 bit的數(shù)據(jù),由于采集數(shù)據(jù)從FIFO中讀出比寫(xiě)入的時(shí)鐘頻率高很多,,而采樣還在繼續(xù),,因此當(dāng)/PAF再次有效時(shí),計(jì)算機(jī)又讀取同樣的數(shù)據(jù)量,,這樣連續(xù)循環(huán)地進(jìn)行,,直到計(jì)算機(jī)軟件發(fā)出停止命令才完成數(shù)據(jù)采集過(guò)程。
4 時(shí)序仿真分析
時(shí)序仿真是接近真實(shí)器件運(yùn)行環(huán)境的仿真,,仿真過(guò)程中已考慮了器件硬件特性,,且時(shí)序仿真的網(wǎng)表文件中已包含了較為精確的延遲信息,因此仿真精度很高,。
時(shí)序仿真環(huán)境按照數(shù)據(jù)采集的過(guò)程來(lái)建立,,完成各種初始化設(shè)定后,,主要注意觸發(fā)控制、采樣時(shí)鐘的輸出以及數(shù)據(jù)采集的啟/??刂剖欠駶M(mǎn)足要求,如果沒(méi)有達(dá)到設(shè)計(jì)要求,,則必須對(duì)前面的設(shè)計(jì)描述加以修改,直到符合要求,,才可以將產(chǎn)生的下載文件通過(guò)編程器或下載電纜載入目標(biāo)器件FPGA中,。仿真結(jié)果如圖3~圖5所示。
從時(shí)序邏輯圖可知,,觸發(fā)控制,、采樣時(shí)鐘的輸出以及數(shù)據(jù)采集的啟/停控制滿(mǎn)足系統(tǒng)要求,??梢詫a(chǎn)生的下載文件通過(guò)編程器或下載電纜載入目標(biāo)器件FPGA中。
經(jīng)測(cè)試表明,,本文設(shè)計(jì)的虛擬邏輯分析儀系統(tǒng)穩(wěn)定,,工作狀態(tài)良好,具備了較強(qiáng)的邏輯分析能力,,能滿(mǎn)足信號(hào)分析的要求,。由于該方案基于Altera公司的EPF10K30E系列FPGA來(lái)實(shí)現(xiàn),使部分硬件功能軟件化,使硬件電路大為簡(jiǎn)化,,提高了邏輯分析儀的可靠性,,降低了成本,且功能易于擴(kuò)展,,具有一定的教學(xué)和科研價(jià)值。
參考文獻(xiàn)
[1] 閭琳 汪道輝.基于FPGA的虛擬邏輯分析儀設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,,2008,34(7):85-87.
[2] 陳建泗,,張敏芳. USB 2.0接口的虛擬邏輯分析儀卡的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2005,,28(18):121-122,,136.
[3] 竇振卓.用FPGA實(shí)現(xiàn)虛擬邏輯狀態(tài)分析儀多種功能[J].電子測(cè)量技術(shù),2006(1):121-122.
[4] 何海婷,,王召巴.基于FPGA的嵌入式邏輯分析儀設(shè)計(jì)[J].長(zhǎng)沙電力學(xué)院學(xué)報(bào)(自然科學(xué)版),,2006(2):46-50.
[5] 許美容,胡仁杰.虛擬邏輯分析儀控制電路的設(shè)計(jì)與實(shí)現(xiàn)[J].電氣應(yīng)用,,2005,,24(12):56-58.
[6] 雷曉平,羅海天. 多通道實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程, 2002,28(11):230-231.
[7] 楊坤德,趙亞梅,,馬遠(yuǎn)良.高速大容量多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].數(shù)據(jù)采集與處理, 2002,17(4):455-458.
[8] MORGAN F, BENNET T, SHEARER A. An FPGA-based time resolved data acquisition system for astronomical and other applications[C].Proceedings of the Irish Signals and Systems Conference, 2000.
[9] 宋萬(wàn)杰,,羅豐,,吳順君. CPLD技術(shù)及其應(yīng)用[M]. 西安:西安電子科技大學(xué)出版社, 2002
[10] PLX Technology, Inc. PCI 9056BA Data Book, Version 1.1. 2003.
[11] Altera, Co. FLEX 10KE Datasheet. www. altera. Com.
[12] 黃新財(cái),佃松宜,,汪道輝.基于FPGA的高速連續(xù)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,,2005,28(2).