中國(guó)船舶重工集團(tuán)公司第七一八研究所 胡 備
基于PC104+總線(xiàn)的24位AD數(shù)據(jù)采集卡設(shè)計(jì)
中國(guó)船舶重工集團(tuán)公司第七一八研究所 胡 備
本文設(shè)計(jì)了一種基于PC104+總線(xiàn)的24bit分辨率數(shù)據(jù)采集卡,該采集卡具有高精度、高速度的優(yōu)點(diǎn)。采用PLX9054控制芯片控制PCI時(shí)序,給出了具體的邏輯設(shè)計(jì),通過(guò)實(shí)際測(cè)試,驗(yàn)證了其實(shí)用性。
PC104+;PCI9054;24位AD
隨著數(shù)字信號(hào)處理技術(shù)的快速發(fā)展,AD數(shù)據(jù)采集過(guò)程中的采樣和處理速度也越來(lái)越高。在某些數(shù)字信號(hào)處理場(chǎng)合,采樣信號(hào)的頻帶要盡可能的寬,動(dòng)態(tài)范圍要盡可能大,以便獲取更多的信號(hào)細(xì)節(jié)特性。因此,數(shù)字信號(hào)處理系統(tǒng)對(duì)前端的A/D采樣電路要求更高,高精度、高分辨率,轉(zhuǎn)換速度也盡可能的快,以滿(mǎn)足整個(gè)系統(tǒng)實(shí)時(shí)性和精確度的要求。PCI總線(xiàn)作為一種高速同步總線(xiàn),實(shí)現(xiàn)了設(shè)備間的快速訪(fǎng)問(wèn),并且有高達(dá)132MB/S 的數(shù)據(jù)傳輸率,而PC104+更以其緊湊的結(jié)構(gòu)和方便的擴(kuò)展性更有廣泛應(yīng)用。本文采用了PC104+總線(xiàn),結(jié)合PCI9054和FPGA作為控制中樞,設(shè)計(jì)了一種24位的AD數(shù)據(jù)采集卡。
本設(shè)計(jì)中,采用一片PCI9054作為PCI總線(xiàn)控制器,一片采集控制芯片(FPGA)作為采集控制及時(shí)序控制,以及PCM4220芯片為核心的AD轉(zhuǎn)換模塊??傮w結(jié)構(gòu)框圖如圖1所示。該數(shù)據(jù)采集卡性能可以達(dá)到400k的采樣速率,分辨率在20左右,由于PCI總線(xiàn)不需CPU的介入便可進(jìn)行數(shù)據(jù)傳輸,因此能在設(shè)備之間實(shí)現(xiàn)數(shù)據(jù)交換和快速訪(fǎng)問(wèn)。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
欲采集信號(hào)經(jīng)隔離放大后進(jìn)入A/D模塊,在FPGA的控制下,由24bitADC芯片PCM4220將外部信號(hào)作模數(shù)轉(zhuǎn)換后,存入RAM之中。每一組數(shù)據(jù)采集完成后,由FPGA通過(guò)PCI9054向主機(jī)申請(qǐng)中斷,中斷響應(yīng)通過(guò)PCI9054直接讀取RAM中的數(shù)據(jù),再進(jìn)行下一步的數(shù)據(jù)處理。
3.1 PCl總線(xiàn)控制器
PCI總線(xiàn)是一種高速同步總線(xiàn),它可以實(shí)現(xiàn)突發(fā)傳遞、即插即用功能。由于PCI總線(xiàn)協(xié)議有一定的復(fù)雜性,其硬件電路實(shí)現(xiàn)起來(lái)較為困難,所以一般情況下通過(guò)兩種途徑實(shí)現(xiàn):一種是選用專(zhuān)用協(xié)議處理接口芯片,或者是采用FPGA的IP核實(shí)現(xiàn)。兩者各有優(yōu)缺點(diǎn):專(zhuān)用芯片由于內(nèi)部集成了處理協(xié)議的大部分功能,所以開(kāi)發(fā)過(guò)程中并不需要設(shè)計(jì)者參與太多PCI協(xié)議相關(guān)內(nèi)容,所以開(kāi)發(fā)周期短,但是降低了系統(tǒng)的集成性,增加了成本;IP核方式要求設(shè)計(jì)者對(duì)PCI協(xié)議有深入了解,然后自行設(shè)計(jì)協(xié)議接口的時(shí)序和邏輯,這種方式的設(shè)計(jì)難度相對(duì)較大,但是保證了系統(tǒng)的集成性。本設(shè)計(jì)中,我們采用第一種方式,采用PLX公司的PCI9054作為PCI總線(xiàn)控制器。
選用PCI9054的c模式工作方式。在C模式下, PCI9054將PCI接口的地址和數(shù)據(jù)總線(xiàn)區(qū)分開(kāi),是系統(tǒng)設(shè)計(jì)中的一種常見(jiàn)模式。C模式下,要求設(shè)計(jì)者對(duì)時(shí)序能?chē)?yán)格把控,使本地和總線(xiàn)兩部分的時(shí)序控制互不干擾,同時(shí)相輔相成,從而很好的應(yīng)用9054芯片。在本設(shè)計(jì)中,將mode0和mode1引腳拉低,以確保mode[0:1]=00。
3.2 FPGA邏輯設(shè)計(jì)
本設(shè)計(jì)中采用的Altera公司的EP2C8Q208,其主要功能是負(fù)責(zé)PCI接口芯片的邏輯,在FPGA內(nèi)部,集成了PCI局部總線(xiàn)、DMA控制器以及ADC芯片控制等功能,其內(nèi)部邏輯結(jié)構(gòu)框圖如圖2所示。其中,9054接口的主要任務(wù)是與PCI 總線(xiàn)完成握手過(guò)程,根據(jù)PCI9054芯片的時(shí)序要求產(chǎn)生時(shí)序?qū)?yīng)的響應(yīng)信號(hào);當(dāng)有數(shù)據(jù)寫(xiě)入完畢后,負(fù)責(zé)產(chǎn)生中斷請(qǐng)求信號(hào);時(shí)鐘信號(hào)部分用來(lái)產(chǎn)生片內(nèi)所需的時(shí)鐘信號(hào);控制部分根據(jù)總體時(shí)序邏輯來(lái)控制FPGA片內(nèi)其它部分;DMA 控制器主要是地址控制器,按照相應(yīng)的ADC頻率產(chǎn)生一個(gè)遞增的RAM地址,在寫(xiě)入RAM時(shí)發(fā)揮作用,另外可以作為片選信號(hào)等邏輯。
圖3 PCl讀時(shí)序
圖4 PCl寫(xiě)時(shí)序
圖2 FPGA內(nèi)部邏輯框圖
PC104+主板通過(guò)向I/O口的既定地址單元執(zhí)行寫(xiě)入操作,從而觸發(fā)AD開(kāi)始采集命令,此時(shí)控制部分使ADC芯片PCM4220相應(yīng)引腳有效來(lái)啟動(dòng)數(shù)據(jù)采集。當(dāng)AD準(zhǔn)備好數(shù)據(jù)并且數(shù)據(jù)有效時(shí),由DMA控制器做出相應(yīng)使得數(shù)據(jù)存入RAM。進(jìn)而,PCI本地總線(xiàn)部分產(chǎn)生中斷信號(hào)申請(qǐng)中斷。與此同時(shí),PCM4220仍繼續(xù)按遞增地址的方式將采集后的有效數(shù)據(jù)存入RAM。PC104+主板收到中斷信號(hào)后,執(zhí)行中斷服務(wù)程序,讀取數(shù)據(jù)采集卡上RAM中的數(shù)據(jù)。PCI9054的數(shù)據(jù)地址線(xiàn)分別與RAM的數(shù)據(jù)地址線(xiàn)直接相連,讀寫(xiě)控制線(xiàn)與FPGA相連,中斷有效后,PCI9054直接讀RAM中的數(shù)據(jù)。
FPGA相關(guān)時(shí)序如圖3、圖4所示。
經(jīng)制板測(cè)試驗(yàn)證,本文設(shè)計(jì)的24bit分辨率數(shù)據(jù)采集卡,具有高精度、高速度的優(yōu)點(diǎn)。采用PLX9054控制芯片控制PCI時(shí)序,給出了具體的邏輯設(shè)計(jì),通過(guò)實(shí)際測(cè)試,驗(yàn)證了其實(shí)用性。采用了PC104+總線(xiàn)架構(gòu),實(shí)現(xiàn)了系統(tǒng)的易擴(kuò)展性。
[1]PC/104 Embedded Consortium PC/104—Plus Specification Version 1.2,August 2001.
[2]賈英江,王維斌.ADC綜述[J].電子測(cè)量技術(shù),1999(4).
[3]邱兆坤,王偉,馬云,等.一種新的高分辨率ADC有效位數(shù)測(cè)試方法[J].國(guó)防科技大學(xué)學(xué)報(bào),2004,26(4).
[4]何正淼等.24位ADC在地震數(shù)據(jù)采集中的應(yīng)用[J].數(shù)據(jù)采集與處理,2005,20(2).