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