
在高速數(shù)據(jù)采集方面,F(xiàn)PGA具有單片機(jī)和DSP無法比擬的優(yōu)勢(shì),F(xiàn)PGA的時(shí)鐘頻率高,內(nèi)部時(shí)延小,全部控制邏輯均可由硬件完成;而且速度快,效率高,組成形式靈活,并集成有外圍控制、譯碼和接口電路。根據(jù)本數(shù)據(jù)采集系統(tǒng)的要求,F(xiàn)PGA分為以下幾個(gè)模塊:A/D控制模塊:產(chǎn)生A/D時(shí)鐘和控制信號(hào)用于控制CLC5958,讀取A/D轉(zhuǎn)換產(chǎn)生的數(shù)據(jù)并存儲(chǔ)。雙口RAM:作為緩存,一邊存儲(chǔ)A/D轉(zhuǎn)換產(chǎn)生的數(shù)據(jù),一邊通過PCI向PC傳輸數(shù)據(jù)。雙口RAM控制模塊:產(chǎn)生存儲(chǔ)和取數(shù)的讀寫信號(hào)和地址信號(hào),控制雙口RAM的正常工作。PCI接口控制模塊:從雙口RAM中讀取數(shù)據(jù),經(jīng)過符合PCI協(xié)議的變換后,傳送給PC。FPGA的內(nèi)部結(jié)構(gòu)如圖4所示。
(1)A/D轉(zhuǎn)換器控制模塊
該模塊首先從PCI總線控制模塊接收采樣速度控制字,然后根據(jù)控制字對(duì)FPGA時(shí)鐘進(jìn)行分頻以得到用于CLC5958的時(shí)鐘。同時(shí)可在A/D轉(zhuǎn)換器中斷輸入線的每一個(gè)上升沿給雙口RAM一個(gè)寫入信號(hào),并讀取A/D轉(zhuǎn)換器輸出的數(shù)據(jù)。此外,還用于給雙口RAM控制模塊一個(gè)控制信號(hào)以使其輸出的雙口RAM地址控制字加1。
(2)雙口RAM
當(dāng)寫入控制信號(hào)到達(dá)時(shí),根據(jù)當(dāng)前寫入地址控制字向相應(yīng)單元寫入數(shù)據(jù)輸入總線上的內(nèi)容,并在讀出控制信號(hào)到達(dá)時(shí),根據(jù)讀出地址控制字從相應(yīng)單元讀出內(nèi)容,送到數(shù)據(jù)輸出總線。

(3)雙RAM控制模塊
當(dāng)啟動(dòng)寫入地址控制信號(hào)到達(dá)時(shí),把當(dāng)前的寫入地址加1,加滿之后清零并重新開始,同時(shí),當(dāng)啟動(dòng)讀出地址控制信號(hào)到達(dá)時(shí),對(duì)當(dāng)前讀出地址加1,加滿之后清零并重新開始。
(4)PCI接口控制模塊
PCI 總線接口控制模塊中的信號(hào)按照功能可以分為系統(tǒng)信號(hào)、地址和數(shù)據(jù)信號(hào)、接口控制信號(hào)等。系統(tǒng)信號(hào)包括CLK和RST兩個(gè)信號(hào),為系統(tǒng)提供時(shí)鐘和復(fù)位。對(duì)地址和數(shù)據(jù)信號(hào)來說,在總線傳輸操作周期中,一個(gè)PCI總線周期由一個(gè)地址段和緊隨其后的一個(gè)或多個(gè)數(shù)據(jù)段組成,其中AD[30:0]是地址和數(shù)據(jù)復(fù)用總線,它可為PCI接口電路提供地址和數(shù)據(jù)信號(hào)。復(fù)用引腳C/BE[3:0]為PCI接口電路提供總線命令和這節(jié)允許兩組信號(hào)。
<!--StartFragment -->
接口控制信號(hào)主要由FRAME、IRDY、TRDY和 DEVSEL等組成。其中FRAME信叫是總線周期構(gòu)成信號(hào),由當(dāng)前總線中主要設(shè)備驅(qū)動(dòng),用以表明一個(gè)總線風(fēng)吹草動(dòng)期的開始和延續(xù);IRDY表明啟動(dòng)方準(zhǔn)備好數(shù)據(jù);TRDY是目標(biāo)設(shè)備就緒信號(hào),在寫操作中,TRDY有效說明從設(shè)備已準(zhǔn)備好接收數(shù)據(jù),在讀操作中,它說明AD[30:0]上已有有效數(shù)據(jù); DEVSEL為設(shè)備選擇信號(hào),當(dāng)其有效時(shí),說明驅(qū)動(dòng)它的主設(shè)備已將其地址譯碼作為當(dāng)前操作的目標(biāo)設(shè)備,該信號(hào)作為輸入信號(hào)時(shí),DEVSEL用來表示總線上已有目標(biāo)設(shè)備被選中。

其他PCI總線所需但本系統(tǒng)不用的信號(hào)則可用高阻態(tài)來代替。圖5示出PCI接口控制模塊的內(nèi)部結(jié)構(gòu)。
PCI總線上的基本傳輸機(jī)制是突發(fā)分組傳輸。一個(gè)突發(fā)分組由一個(gè)地址周期和一個(gè)(或多個(gè))數(shù)據(jù)周期組成。PCI支持存儲(chǔ)空間和I/O的突發(fā)傳輸,所有的數(shù)據(jù)傳輸基本上都是由FRAME、IRDY和TRDY三條信號(hào)線控制的。
當(dāng)數(shù)據(jù)有效時(shí),數(shù)據(jù)資源需要無條件設(shè)置IRDY信號(hào)(寫操作為IRDY,讀操作為TRDY)。接收方可在適當(dāng)時(shí)間發(fā)出它的xRDY信號(hào)。FRAME信號(hào)有效后的第一個(gè)時(shí)鐘上升沿是地址周期的開始,此時(shí)傳送地址信息和總線命令。下一個(gè)時(shí)鐘上升沿即是一個(gè)(或多個(gè))數(shù)據(jù)周期的開始,每當(dāng)IRDY和TRDY同時(shí)有效時(shí),所對(duì)應(yīng)的時(shí)鐘上升沿,數(shù)據(jù)可以在主、從設(shè)備之間傳送。在此期間,可由主設(shè)備或從設(shè)備分別利用IRDY和TRDY的無效而插入等待周期。PCI總線的讀寫時(shí)序如圖6所示。
本設(shè)計(jì)采用Verilog語言來進(jìn)行編程,在MAXpluse II仿真平臺(tái)上進(jìn)行仿真,采用的電中是Altera公司的EPM7160SQC160-6。PCI接口控制部分的仿真結(jié)果如圖7所示。

3 結(jié)束語
本文提出一種采用可編程邏輯器件和A/D轉(zhuǎn)換器組成的高速數(shù)據(jù)采集卡的設(shè)計(jì)方案,該采集卡只用兩塊主體電路,因而結(jié)構(gòu)簡單,可以直接插入PC,適用于智能儀器和其他需要高速數(shù)據(jù)采集的場合。如果在該采集卡前置處理部分增加通道轉(zhuǎn)換和可控放大部分,則該采集卡的功能將更加完美。





