用FPGA控制CLC5958型A/D轉(zhuǎn)換器實(shí)現(xiàn)的高速PCI數(shù)據(jù)采集卡
摘要:詳細(xì)介紹CLC5958的內(nèi)部結(jié)構(gòu)和基本用法,提出一種基于FPGA和PCI總線的高速數(shù)據(jù)采集卡設(shè)計(jì)方案,并通過仿真驗(yàn)證了該方案的可行性。該采集卡的采集速度快,精度高,結(jié)構(gòu)簡單,擴(kuò)展方便,抗干擾能力強(qiáng),適宜和于高速智能儀器和其他數(shù)據(jù)采集場合。
關(guān)鍵詞:CLC5958;現(xiàn)場可編程門陣列;數(shù)據(jù)采集卡;PCI總線
引言
隨著信息技術(shù)的發(fā)展,基于微處理器的數(shù)字信號處理在測控、通訊、雷達(dá)等各個(gè)領(lǐng)域得到廣泛的應(yīng)用。被處理的模擬信號也在向高頻、寬帶方面發(fā)展,但這需要高速、高分辨率的數(shù)字采集卡以將模擬信號數(shù)字化。美國國家半導(dǎo)體公司新推出的系列高速、高分辨率模/數(shù)轉(zhuǎn)換器(如CLC5958)就非常適用于需要高速、高分辨率的信號采集系統(tǒng)。
用于PC的采集系統(tǒng)以前大多有用ISA總線結(jié)構(gòu),這種結(jié)構(gòu)的最大缺點(diǎn)是傳輸速率低,無法實(shí)現(xiàn)高速數(shù)據(jù)的實(shí)時(shí)傳輸。而PCI總線則以其卓越的性能受到了廣泛的應(yīng)用。32位PCI總線的最大傳輸數(shù)據(jù)速率可達(dá)132MB/s,64位PCI總線的最大傳輸速率可達(dá)528MB/s。實(shí)際上,采用高性能的總線已經(jīng)成為高速采集技術(shù)發(fā)展的趨勢。
利用FPGA(現(xiàn)場可編程門陣列)來連接高速A/D轉(zhuǎn)換器和PC的PCI接口,可以充分利用可編程器件高速、靈活、易于升級、抗干擾性能的優(yōu)點(diǎn),并且可以大大縮短開發(fā)時(shí)間[1]。
1 CLC5958型A/D轉(zhuǎn)換器
本數(shù)據(jù)采集系統(tǒng)中的A/D轉(zhuǎn)換器采用美國國家半導(dǎo)體公司的CLC5958,該電路具有14位分辨率和52Mb/s的轉(zhuǎn)換速度,而且動態(tài)輸入頻帶寬,轉(zhuǎn)換噪聲低,非常適合于寬帶、高頻信號的采集。CLC5958集高保真采樣保持器和14位多通道轉(zhuǎn)換器于一體,其信號和時(shí)鐘均采用差動輸入方式,且內(nèi)部集成有參考電壓,可支持CMOS和TTL雙重輸出標(biāo)準(zhǔn)。采用0.8μmBiCMOS制作工藝。CLC5958的內(nèi)部結(jié)構(gòu)如圖1所示。
●具有極寬的動態(tài)輸入范圍;
●奈奎斯特濾波器特性卓越;
●取樣保持能力強(qiáng);
●采用48引腳CSP封裝;
●CMOS、TTL輸出可選;
●取樣速度可達(dá)52Ms/s,SFDR可達(dá)90dB,SNR可達(dá)70dB。
CLC5958可應(yīng)用于GSM、WCDMA、DAMPS、精確天線系統(tǒng)等通訊領(lǐng)域。其工作時(shí)序如圖2所示。但在具體應(yīng)用時(shí),應(yīng)注意以下問題。
圖3
(2)ENCODE和ENCODE為時(shí)鐘差分輸入端,其參考電源為VCC,時(shí)鐘輸入可以為PECL電平,也可以為其他波形(如直流為1.2V峰值在VCC以下的正弦波)。輸入時(shí)鐘的噪聲超低,轉(zhuǎn)換時(shí)的SNR性能越高。但由于時(shí)鐘輸入采用非自偏置輸入,所以每個(gè)輸入信號必須指定“地”電平。
(3)該電路的噪聲主要來自采樣保持器的非線性特性和轉(zhuǎn)換器,因此,通過變壓器的磁耦合來傳遞輸入信號可以有效減少低頻噪聲。輸入時(shí)鐘在電路內(nèi)部被分頻產(chǎn)生內(nèi)部控制信號,但在分頻過程中可能產(chǎn)生1/4倍和1/8倍的時(shí)鐘噪聲,這些噪聲一般不大于-90dBFS。
(4)CLC5958的內(nèi)部電源由V cc供給,但是輸出信號電源由DVcc供給(3.3V到5V均可),使用時(shí),每一個(gè)電源引腳都必須接入相應(yīng)的電平,且最好并接0.01μF的去耦電容器。
(5)該電路在高速采樣時(shí)性能最好,如果采樣速率過低,內(nèi)部采樣保持電路將會產(chǎn)生較大誤差。
2 FPGA的內(nèi)部設(shè)計(jì)
由于CLC5958的轉(zhuǎn)換速度高且控制操作簡單,因此一般單片機(jī)因速度太低而很難控制該電路。如果采用高速DSP來控制,顯然,對DSP超強(qiáng)的運(yùn)算能力來說又是一種浪費(fèi)。
現(xiàn)在市面上銷售的各種PCI接口控制電路,如果AMCC公司的S5933及PLX的9080系列等,雖然可以實(shí)現(xiàn)完整的PCI主、從設(shè)備模式的接口功能,將復(fù)雜的PCI總線接口轉(zhuǎn)化為相對簡單的用戶接口,但系統(tǒng)結(jié)構(gòu)受接口電路的限制,不能靈活地設(shè)計(jì)目標(biāo)系統(tǒng),且成本較高。本文所設(shè)計(jì)的數(shù)據(jù)采集卡則不需要完整的PCI接口功能。
在高速數(shù)據(jù)采集方面,F(xiàn)PGA具有單片機(jī)和DSP無法比擬的優(yōu)勢,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í)鐘和控制信號用于控制CLC5958,讀取A/D轉(zhuǎn)換產(chǎn)生的數(shù)據(jù)并存儲。雙口RAM:作為緩存,一邊存儲A/D轉(zhuǎn)換產(chǎn)生的數(shù)據(jù),一邊通過PCI向PC傳輸數(shù)據(jù)。雙口RAM控制模塊:產(chǎn)生存儲和取數(shù)的讀寫信號和地址信號,控制雙口RAM的正常工作。PCI接口控制模塊:從雙口RAM中讀取數(shù)據(jù),經(jīng)過符合PCI協(xié)議的變換后,傳送給PC。FPGA的內(nèi)部結(jié)構(gòu)如圖4所示。
(1)A/D轉(zhuǎn)換器控制模塊
該模塊首先從PCI總線控制模塊接收采樣速度控制字,然后根據(jù)控制字對FPGA時(shí)鐘進(jìn)行分頻以得到用于CLC5958的時(shí)鐘。同時(shí)可在A/D轉(zhuǎn)換器中斷輸入線的每一個(gè)上升沿給雙口RAM一個(gè)寫入信號,并讀取A/D轉(zhuǎn)換器輸出的數(shù)據(jù)。此外,還用于給雙口RAM控制模塊一個(gè)控制信號以使其輸出的雙口RAM地址控制字加1。
當(dāng)寫入控制信號到達(dá)時(shí),根據(jù)當(dāng)前寫入地址控制字向相應(yīng)單元寫入數(shù)據(jù)輸入總線上的內(nèi)容,并在讀出控制信號到達(dá)時(shí),根據(jù)讀出地址控制字從相應(yīng)單元讀出內(nèi)容,送到數(shù)據(jù)輸出總線。
(3)雙RAM控制模塊
當(dāng)啟動寫入地址控制信號到達(dá)時(shí),把當(dāng)前的寫入地址加1,加滿之后清零并重新開始,同時(shí),當(dāng)啟動讀出地址控制信號到達(dá)時(shí),對當(dāng)前讀出地址加1,加滿之后清零并重新開始。
(4)PCI接口控制模塊
PCI總線接口控制模塊中的信號按照功能可以分為系統(tǒng)信號、地址和數(shù)據(jù)信號、接口控制信號等。系統(tǒng)信號包括CLK和RST兩個(gè)信號,為系統(tǒng)提供時(shí)鐘和復(fù)位。對地址和數(shù)據(jù)信號來說,在總線傳輸操作周期中,一個(gè)PCI總線周期由一個(gè)地址段和緊隨其后的一個(gè)或多個(gè)數(shù)據(jù)段組成,其中AD[30:0]是地址和數(shù)據(jù)復(fù)用總線,它可為PCI接口電路提供地址和數(shù)據(jù)信號。復(fù)用引腳C/BE[3:0]為PCI接口電路提供總線命令和這節(jié)允許兩組信號。
接口控制信號主要由FRAME、IRDY、TRDY和DEVSEL等組成。其中FRAME信叫是總線周期構(gòu)成信號,由當(dāng)前總線中主要設(shè)備驅(qū)動,用以表明一個(gè)總線風(fēng)吹草動期的開始和延續(xù);IRDY表明啟動方準(zhǔn)備好數(shù)據(jù);TRDY是目標(biāo)設(shè)備就緒信號,在寫操作中,TRDY有效說明從設(shè)備已準(zhǔn)備好接收數(shù)據(jù),在讀操作中,它說明AD[30:0]上已有有效數(shù)據(jù);DEVSEL為設(shè)備選擇信號,當(dāng)其有效時(shí),說明驅(qū)動它的主設(shè)備已將其地址譯碼作為當(dāng)前操作的目標(biāo)設(shè)備,該信號作為輸入信號時(shí),DEVSEL用來表示總線上已有目標(biāo)設(shè)備被選中。
圖6
PCI總線上的基本傳輸機(jī)制是突發(fā)分組傳輸。一個(gè)突發(fā)分組由一個(gè)地址周期和一個(gè)(或多個(gè))數(shù)據(jù)周期組成。PCI支持存儲空間和I/O的突發(fā)傳輸,所有的數(shù)據(jù)傳輸基本上都是由FRAME、IRDY和TRDY三條信號線控制的。
當(dāng)數(shù)據(jù)有效時(shí),數(shù)據(jù)資源需要無條件設(shè)置IRDY信號(寫操作為IRDY,讀操作為TRDY)。接收方可在適當(dāng)時(shí)間發(fā)出它的xRDY信號。FRAME信號有效后的第一個(gè)時(shí)鐘上升沿是地址周期的開始,此時(shí)傳送地址信息和總線命令。下一個(gè)時(shí)鐘上升沿即是一個(gè)(或多個(gè))數(shù)據(jù)周期的開始,每當(dāng)IRDY和TRDY同時(shí)有效時(shí),所對應(yīng)的時(shí)鐘上升沿,數(shù)據(jù)可以在主、從設(shè)備之間傳送。在此期間,可由主設(shè)備或從設(shè)備分別利用IRDY和TRDY的無效而插入等待周期。PCI總線的讀寫時(shí)序如圖6所示。
本設(shè)計(jì)采用Verilog語言來進(jìn)行編程,在MAXpluse II仿真平臺上進(jìn)行仿真,采用的電中是Altera公司的EPM7160SQC160-6。PCI接口控制部分的仿真結(jié)果如圖7所示。
圖7
3 結(jié)束語
本文提出一種采用可編程邏輯器件和A/D轉(zhuǎn)換器組成的高速數(shù)據(jù)采集卡的設(shè)計(jì)方案,該采集卡只用兩塊主體電路,因而結(jié)構(gòu)簡單,可以直接插入PC,適用于智能儀器和其他需要高速數(shù)據(jù)采集的場合。如果在該采集卡前置處理部分增加通道轉(zhuǎn)換和可控放大部分,則該采集卡的功能將更加完美。
評論