閆雷兵,田豐慶
(河南科技學(xué)院,河南新鄉(xiāng) 453003)
隨著計算機的廣泛應(yīng)用和電子學(xué)的高速發(fā)展,數(shù)字系統(tǒng)已被廣泛地應(yīng)用于國民經(jīng)濟、國防建設(shè)和科學(xué)試驗的各個領(lǐng)域.與模擬系統(tǒng)相比,數(shù)字系統(tǒng)有精度高、穩(wěn)定性好等一系列優(yōu)點,但是數(shù)字系統(tǒng)只能處理離散的數(shù)字信號.外部世界的各種各樣信息經(jīng)過傳感器轉(zhuǎn)換以后,除了極小部分為數(shù)字信號和開關(guān)信號之外,絕大部分以電壓或電流等模擬量的形式存在,所以往往需要將這些模擬信號轉(zhuǎn)化為便于處理和存儲的數(shù)字信號,這部分工作就需要數(shù)據(jù)采集系統(tǒng)來完成.所謂數(shù)據(jù)采集就是將模擬信號轉(zhuǎn)化為數(shù)字信號,并進一步予以處理、顯示、存儲和記錄的過程.實現(xiàn)數(shù)據(jù)采集的系統(tǒng)稱為數(shù)據(jù)采集系統(tǒng),在實際應(yīng)用中,常常需要將多個通道的高速信號同時采集并實時傳輸給計算機處理,而高效的設(shè)備驅(qū)動程序是實現(xiàn)數(shù)據(jù)高速傳輸?shù)年P(guān)鍵,已有科研人員在Windows系統(tǒng)下,分別基于Driver Studio、DDK或WinDriver環(huán)境下研究了相應(yīng)的設(shè)備驅(qū)動程序,但其數(shù)據(jù)傳輸速率不超過25 MBps[1-3],這對于實時的高速數(shù)據(jù)或多路圖像數(shù)據(jù)采集是遠遠不夠的.在探地雷達用于礦產(chǎn)資源勘查時要求傳輸數(shù)據(jù)速率不低于80 MBps的數(shù)字接收機項目中,根據(jù)項目需求,基于PLX公司提供的芯片的基礎(chǔ)上,對其核心部分進行改進,實現(xiàn)了在PCI總線上的多通道高速數(shù)據(jù)采集卡的設(shè)計,實際數(shù)據(jù)傳輸速率可以滿足要求.本文的數(shù)據(jù)采集系統(tǒng)就是基于PCI總線具有高速傳送數(shù)據(jù)能力的基礎(chǔ)上設(shè)計出來的.
PCI總線協(xié)議非常復(fù)雜,目前實現(xiàn)PCI接口的有效方案分為兩種:即使用可編程邏輯器件和使用專用總線接口的器件[4,5].可編程邏輯器件實現(xiàn)PCI接口比較靈活,可利用的器件比較多,但這種方法難度較大,設(shè)計周期較長.而采用專用接口器件實現(xiàn)完整PCI主控模塊和目標模塊的功能,則可將復(fù)雜的PCI總線接口轉(zhuǎn)換為相對簡單的用戶接口,用戶只要設(shè)計轉(zhuǎn)換后的總線接口即可.雖然這種方式不夠靈活,但由于其對PCI協(xié)議的良好支持,以及提供給設(shè)計者的良好接口,可大大減少設(shè)計開發(fā)的難度和周期.
本文數(shù)據(jù)采集系統(tǒng)主要是以Xilinx公司的CPLD芯片XC95144XL構(gòu)成的控制模塊和總線接口芯片PLX9054來完成的[6],數(shù)據(jù)采集卡各個模塊之間的邏輯關(guān)系如圖1所示.FIFO模塊的狀態(tài)信號(FIFO滿、FIFO半滿和FIFO空)和接口模塊的一些狀態(tài)和命令信號接到控制模塊上,控制模塊將根據(jù)這些狀態(tài)和命令信號產(chǎn)生對模數(shù)轉(zhuǎn)換模塊、鎖存模塊和FIFO模塊進行控制的控制信號和對接口模塊命令響應(yīng)的狀態(tài)信號.內(nèi)部時鐘模塊提供內(nèi)觸發(fā)信號,它和外觸發(fā)信號一起接到XC95144XL上,由控制模塊根據(jù)用戶要求來選擇使用那一個觸發(fā)信號.電路中大多數(shù)芯片的功耗更低,抗干擾能力更強,因而電路溫度穩(wěn)定性能更好.
圖1 數(shù)據(jù)采集卡的系統(tǒng)
模數(shù)轉(zhuǎn)換模塊主要完成把模擬信號轉(zhuǎn)變成數(shù)字信號的工作,即把連續(xù)信號離散化[7].由奈奎斯特采樣定理可知,信號采樣頻率必須等于或大于該信號最高頻率的兩倍,才不會引起信號的失真.這里我們要采樣的信號是雷達的I、Q兩通道的視頻信號,所以根據(jù)采樣定理,再結(jié)合新型連續(xù)波雷達性能指標,我們在采樣電路中選中了高速模/數(shù)轉(zhuǎn)換芯片AD9042AD.
AD9042AD是一種高速、高性能、低功耗的12位高速模/數(shù)轉(zhuǎn)換芯片.它采用兩級轉(zhuǎn)換模式,并以與CMOS兼容的模式輸出二進制補碼,+5 V供電,內(nèi)部提供采樣/保持電路以及參考電壓,它的轉(zhuǎn)換速率高達41MSPS.
模數(shù)轉(zhuǎn)換過后的數(shù)據(jù)由鎖存芯片SN74LS374組成的鎖存模塊進行鎖存,鎖存時鐘由控制模塊產(chǎn)生.兩路12位的采樣數(shù)據(jù)再加上每路 4位的數(shù)字量信息共有 32位的數(shù)據(jù)寬度,所以需要8位的SN74LS374四片.為了保護模數(shù)轉(zhuǎn)換芯片,我們在采樣電路的前端還設(shè)計使用了隔離限幅放大芯片AD843構(gòu)成的信號調(diào)理模塊,對輸入的雷達信號進行隔離限幅放大.
在接口芯片PLX9054中用于DMA的內(nèi)部FIFO容量只有32 DW大小,遠不能滿足高速連續(xù)大容量雷達數(shù)據(jù)采集的要求.所以數(shù)據(jù)采集卡的實現(xiàn)中,采用外加FIFO來緩存采集的數(shù)據(jù),使得在較高的采樣頻率下,能滿足連續(xù)大容量雷達數(shù)據(jù)采集的要求.FIFO的容量與采樣頻率和計算機性能有關(guān).我們采用的FIFO芯片IDT7206為16K×9位,所以每路要用兩片IDT7206來構(gòu)成16K×18位(只用了16位),兩路共要用4片IDT7206.
PCI9054是PLX公司的一款低成本、低功耗、高性能的總線接口芯片,通過該芯片可以使多種局部總線快速轉(zhuǎn)換到PCI總線上.實際上,PCI9054在PCI端與局部端之間起到了橋梁的作用.數(shù)據(jù)采集卡的接口模塊是用PLX9054這樣一個專用的接口芯片來實現(xiàn)的[8].在設(shè)計中,與計算機PCI總線有關(guān)的功能完全由PLX9054來完成,我們只要實現(xiàn)LOCAL總線的有關(guān)功能即可.
在數(shù)據(jù)采集卡的開發(fā)中,由于僅要求實現(xiàn)PCITarget和DMA兩個功能,所以,本文沒有選用Intel i960 family CPU作為PLX9054Local總線的控制模塊,而采用了Xilinx公司的CPLD芯片XC95144XL作為Local總線的控制模塊,這就要求設(shè)計好的XC95144XL不但能對模數(shù)采集模塊、鎖存模塊和FIFO模塊控制,還要能產(chǎn)生必要的與Local總線相配合的控制信號和狀態(tài)信號.在該數(shù)據(jù)采集卡的硬件實現(xiàn)中,這部分是關(guān)鍵,不但要非常熟悉PLX9054的LOCAL總線C模式工作時序,還要利用CPLD器件延遲可預(yù)測這一特性和XC95144XL的延遲模型,對VHDL程序進行大量的仿真,使得XC95144XL產(chǎn)生的控制和狀態(tài)時序滿足數(shù)據(jù)采集各個模塊的要求.
在設(shè)計PCB圖時,為了使金手指的尺寸、位置以及采集卡的尺寸更能符合設(shè)計要求,建議使用PCB設(shè)計向?qū)Мa(chǎn)生電路板的輪廓.同時在數(shù)據(jù)采集卡的PCB制作時,要考慮插卡的高頻性能、電源去耦與干擾的抑制、接地方式的選擇等因素.
做PCI板卡時,選擇制作4層的PCB板,原因有二:其一,在PCI板卡中,經(jīng)常要使用封裝形式為PLCC和PQFP的需要高密度走線的芯片;其二,可以較好的克服兩層PCB板中的地噪聲干擾問題.
PLX9054雖然利用CMOS技術(shù),對噪聲有很好的抑制作用,但由一些高速信號(如PCI時鐘信號)引起的噪聲必須要考慮,要選值為0.1μF的片狀電容作為去耦電容,去耦電容盡量靠近電源和地.
從PCI插槽邊緣到PLX9054的32位數(shù)據(jù)總線的最大走線長度必須限定在1 500mil以內(nèi).從PCI插槽邊緣到PLX9054的時鐘信號走線長度必須為2 500mil(±100mil),且只能與卡上的一個負載連接.該引線只能在PCB一面走線且在轉(zhuǎn)角處用弧形,切忌用直角,可用“蛇”形走線來滿足長度要求.
因為快速的數(shù)字振蕩可能將轉(zhuǎn)換噪聲耦合到模擬電源中,所以模擬電源和數(shù)字電源應(yīng)該分開饋電.在數(shù)據(jù)采集板的設(shè)計中,模擬電路電源由DC-DC隔離電源饋電,數(shù)字電源直接由PCI插槽中的+5 V和+3.3 V來供電.
在數(shù)字電路中系統(tǒng)存在大量瞬態(tài)大幅度脈沖,如果這些脈沖混入模擬地線中,必將對系統(tǒng)的測量精度和測量穩(wěn)定性等產(chǎn)生影響,所以在PCB布線時必須將模擬地線和數(shù)字地線分開.PCI插槽提供了多條地線,所以,我們將從插槽中引出的一組地線作為數(shù)據(jù)采集卡的模擬地回路,另外一組作為數(shù)字地回路.此外,盡量將地線加寬,大面積布地線,減少地線的等效電阻,以達到減少干擾的目的.
在PCB布線時,在數(shù)據(jù)采集板上PCI時鐘信號和AD采樣、鎖存、FIFO的讀和寫這些頻率較高的時鐘信號,應(yīng)在PCB布線時在兩邊設(shè)置地線加以保護.
為驗證該高速數(shù)據(jù)采集卡軟、硬件設(shè)計的正確性,利用該數(shù)據(jù)采集卡對探地雷達產(chǎn)生的信號進行采集驗證[9].探地雷達系統(tǒng)是一種重要的無損探測設(shè)備,可用于礦產(chǎn)資源勘查、巖土工程測試、工程質(zhì)量無損檢測、環(huán)境工程等諸多領(lǐng)域,與其他地球物理方法相比,具有高分辨率、無損性高效率、設(shè)備輕便、抗干擾能力強等優(yōu)點.故探地雷達系統(tǒng)采集信息量大,數(shù)據(jù)需實時處理,因此,對數(shù)據(jù)傳輸速率提出很高的要求,傳輸速率需要達到80MBps以上,利用一般的串口采集或并口采集滿足不了該系統(tǒng)的要求.針對這一問題,利用PCI總線的高速傳輸特性設(shè)計出該數(shù)據(jù)采集系統(tǒng).
探地雷達數(shù)據(jù)采集系統(tǒng)硬件如圖2所示.探地雷達的接收天線接收到的回波信號經(jīng)提取、放大處理,進入高速A/D芯片,將模擬信號轉(zhuǎn)換成數(shù)字信號.為避免探地雷達前端與后端的互相干擾,數(shù)據(jù)差分輸入到數(shù)據(jù)采集系統(tǒng),經(jīng)FPGA進行串/并轉(zhuǎn)換和提供一系列滿足時序要求的控制信號及讀寫信號,把數(shù)據(jù)寫入高速存儲器,最后由PCI控制芯片將高速存儲器中的數(shù)據(jù)快速實時地寫入計算機內(nèi)存中,以便進行數(shù)據(jù)和圖像處理.
圖2 探地雷達數(shù)據(jù)采集原理
在探地雷達的數(shù)據(jù)采集系統(tǒng)中,PCI9054以其強大的功能和簡單的用戶接口,為PCI總線接口的開發(fā)提供了一種簡潔的方法.外擴高速SRAM,提高了數(shù)據(jù)吞吐量;在FPGA中制作“換體”的邏輯簡化了電路,增加了靈活性.實踐表明,利用PCI總線的高速特性和FPGA進行實時傳輸及存儲采集數(shù)據(jù),可以有效地解決數(shù)據(jù)傳輸和處理的實時性,達到探地雷達所需數(shù)據(jù)傳輸速率的要求,并大大降低成本.
[1]季曉君,工海.同步多串口卡驅(qū)動程序設(shè)計[J].軍事通信技術(shù),2003,24(1):44-47.
[2]張耀中,王安麗,徐姣杰.Windows NT下視頻傳輸卡的多卡驅(qū)動程序開發(fā)方法[J].系統(tǒng)工程與電子技術(shù),2004,26(1):91-94.
[3]司玉美,申會民,耿愛輝,等.基于PCI總線數(shù)據(jù)通信卡WDM驅(qū)動程序設(shè)計[J].計算機測量與控制,2006,14(2):259-261.
[4]李貴山,戚德虎.PCI局部總線開發(fā)指南[M].西安:西安電子科技大學(xué)出版社,1997.
[5]尹勇,李宇.PCI總線設(shè)備開發(fā)寶典[M].北京:北京航空航天大學(xué)出版社,2005.
[6]于鋒,侯永海.基于PCI-1714的高速數(shù)據(jù)采集系統(tǒng)方案設(shè)計[J].微計算機信息,2005,21(8):60-62.
[7]趙負圖.信號采集與處理集成電路手冊[M].北京:化學(xué)工業(yè)出版社,2002.
[8]潘志強,李演仁.PCI9052 接口電路的功能及應(yīng)用[J].電子元器件應(yīng)用,2003,5(12):33-35.
[9]李海華.探地雷達體制綜述[J].測試技術(shù)學(xué)報,2003,17(1):25-28.