崔 煒,陳 磊
(長春理工大學 電子信息工程學院,長春 130022)
隨著目前各種信號處理系統對數據采集模塊的采集速度和采集精度的要求的提高,傳統的基于MCU或 DSP為主控器的數據采集系統已經明顯不能滿足目前系統要求。伴隨著高速FPGA和高速AD芯片技術的發展,使用FPGA來設計數據采集系統的優勢越來越明顯。
FPGA的內部延時非常小,控制邏輯均由硬件邏輯產生。在這種技術下,想要獲得高性能的采集系統是很容易的。本文采用SPARTAN-3 FPGA作為核心控制芯片,完成了對AD9211、AD9740和CY7C68001驅動。通過最后的實驗表明,系統的采樣率為300MHz,采樣精度為10-Bits,此時系統的精準度和速度都能達到系統預設的要求。
基于FPGA的高速數據采集系統的框圖如圖1所示,主要包括五部分:A/D采樣電路、D/A、USB接口電路、FPGA控制電路和外圍擴展接口電路。

圖1 系統結構
系統中FPGA的主要工作是產生各個模塊的控制信號和驅動時序,完成整個系統的邏輯控制和各模塊的驅動。系統的外部輸入時鐘為60M,在FPGA內由DCM經行倍頻到300M作為系統的工作時鐘,驅動系統的所以邏輯控制單元,并且作為A/D的采樣時鐘。
AD9211是ADI公司的10位高性能模數轉換器,具有低功耗、操作簡單等優點,并且具有高達300MSPS的數據采樣率,其突出的動態性能使其具有廣泛的應用各種寬帶系統。
AD9211數據輸出為LVDS接口模式并且支持二進制補碼、二進制偏移碼和格雷碼模式。用戶可以通過數據時鐘對輸出數據進行同步,AD9211允許控制器通過一個SPI接口寫其內部工作模式寄存器來設置其工作模式和數據輸出方式。
AD9740是一款10位低功耗的寬帶DAC,由于其低功耗的操作特性,被運用在很多場合,當其進入低功耗模式下時,功率損耗低至1 5 m W。其電壓輸出關系式為:

AD9740的硬件電路設計主要包括以下4個方面:外部電路設計、運行時鐘模塊、數據輸出模塊和配置電路設計。
CY7C68001為一款USB接口驅動芯片,有一個內置的USB發生器和一個串口接口引擎(SIE),隨著命令譯碼器發送和接收USB數據。該控制器有4個可配置的端點共享4KB的FIFO最大彈性空間和吞吐量,并且支持控制端點0用于處理USB的設備請求。它有三個地址引腳和可選擇8-16位的數據命令總線和數據輸入或輸出[3]。
本次設計采用的核心控制器是XC3S400,這是Xilinx公司的一款高性能FPGA。它具有豐富的邏輯單元和I/O口來完成系統的數據采集和其它設備的連接,內部還集成了大量的RAM存儲器來作為中間數據緩沖區。本次設計的主要時鐘模塊也是采用它內部的DCM,通過PLL為系統的各個模塊提供時鐘。
模擬信號處理主要是通過信號放大和濾波模塊來調整信號的幅度等參數進而滿足采樣電路的要求。我們也可以通過采樣后輸出信號的幅值來調整放大器的倍數。另外,外擴接口是為系統擴展預留的,能提高系統的靈活性,方便系統以后的更新換代。
當給系統供電時,通過FPGA的SPI串行外設接口對A/D,D/A和USB這些外設模塊進行復位和初始化,使它們工作在我們設定的模式下。AD9211的初始化時鐘如圖2所示。

圖2 SPI 時序原理圖
對AD9211初始化也是通過SPI模塊設置的,可以很方便的修改AD的工作模式,用Medelsim軟件仿真的SPI工作時鐘如圖3所示。

圖3 SPI仿真時序圖
該模塊在FPGA中的原理圖如4所示。
初始化完成后,當給AD9211提供時鐘時,數據開始輸出。數據的輸出速率由時鐘和輸出模式決定。AD9211有兩種數據輸出模式:單數據模式和雙數據模式。它們兩種的時序原理圖如圖5和圖6所示。

圖4 SPI 模塊

圖5 單數據模式

圖6 雙數據模式
在這里根據兩種數據傳輸模式,我們設計了兩個模塊。在使用過程中根據具體的情況來選擇適當的數據傳輸速率。驅動時鐘是通過FPGA內部的DCM頻率綜合器來產生的,當DCM的鎖存信號為高電平時,時鐘信號被鎖存,此時數據是有效的。圖7是用Modelsim仿真的不同時鐘輸出。

圖7 不同的時鐘輸出
AD9740驅動設計主要包括時鐘產生模塊和數據寫時鐘模塊,它的時鐘也是由FPGA內部的DCM提供。在時鐘的下降沿,FPGA寫數據導數據總線,在上升沿時刻,AD9740輸出模擬信號。
USB應用程序包括三個部分,用狀態機來實現。它可以用來作為轉移命令接口,我們將采集來的數據進行處理后通過它發送給PC機。這程序模塊主要包括三個部分:工作模式控制器、數據輸入輸出模塊和時序控制模塊。在Modelsim中用異步時序寫命令進行了仿真,仿真時序如圖8所示。

圖8 異步命令寫時序
在這里就不一一討論其他的時序工作模式了。
在本次設計中,系統需要一個控制器來協調各模塊之間的工作時序。該控制器的主要工作就是根據實際環境來改變時鐘的工作模式使各個模塊工作在和諧狀態,使系統在不同的工作環境下獲得最佳的工作條件。該控制器主要包括工作時鐘控制模塊和工作模式控制模塊。各模塊之間的連接如圖9所示。

圖9 各模塊之間的連接圖
對硬件電路進行調試后,得到了AD9211的LVDS輸出眼圖,如圖10所示。從眼圖可以看出,當系統采樣頻率達到300MHz/s時仍能可靠工作。
實驗結果表明,系統實現了300MHz/s的采樣率,采樣精度為10-Bits,此時系統的精準度和速度都能達到系統預設的要求。本文設計的高速率數據采集系統具有尺寸小、質量輕、低功耗等優點,可廣泛的應用于各種高速環境中。USB2.0接口確保數據能夠準確高速的傳輸,滿足系統的實時要求。

圖10 LVDS輸出眼圖
[1] Analog Devices.AD9211 Complete Data sheet.www.analog.com
[2] Analog Devices.AD9740 Complete Data Sheet.www.analog.com
[3] CY7C68001 Complete Data Sheet.http://www.cypress.com
[4] Xilinx.XC3S400 FPGA:Complete Data Sheet.www.xilinx.com
[5] Rajsuman R.System on a Chip Design and Test [M]. Artech House,2000.
[6] Sforza F,Battu L,Brunelli M.A Design for Verification Methodology.2nd International Symposium on Quality of Elect ronic Design,San Jose,2001.
[7] Kliman GB,et al.Met hods of Motor Current Signature Analysis[J].Elect.Mach.power Syst ,Sept.1992,20,5:4632474.
[8] Thomson W T,et al.On Line Current Monitoring and Application of a Finite Element Method to Predict the Level of Static air Gap Eccentricity in three Phase Induction Motors[J]. IEEE Transactions on Energy Conversion,December 1998,13