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