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