王霖郁,張建宏
(哈爾濱工程大學信息與通信工程學院,黑龍江哈爾濱 150001)
基于AD7762和FPGA的數據采集系統設計
王霖郁,張建宏
(哈爾濱工程大學信息與通信工程學院,黑龍江哈爾濱 150001)
為了滿足音頻數據采集過程中對頻率和分辨率等技術指標的要求,設計了一種高速數據采集裝置。文中設計采用Altera公司的Cyclone系列FPGA芯片EP1C4F400在QuartusⅡ環境下使用Verilog語言控制ADI公司的AD7762A/D轉換器實現數據采集。通過串口將數據傳給上位機,完成數據分析和顯示功能。FPGA控制整個系統的采集時序。
數據采集;AD7762;FPGA;寄存器控制;串口
隨著通信技術的發展,通信業務不斷擴大,人們越來越重視高速數據采集[1]和處理技術。數據采集系統[2]主要包括增益放大器、A/D模數轉換器、功能控制端。文中設計了一種以FPGA為控制核心,用于控制A/D的轉換時序及數據傳輸的高速數據采集系統。
設計系統以FPGA芯片EP1C4F400作為采集系統的核心控制單元,采用模數轉換芯片AD7762作為數據采集的核心模塊。由A/D轉換后產生的數字信號通過串口傳輸到上位機,由上位機對數據進行一系列分析。該系統主要由前端處理模塊、A/D轉換控制模塊、FIFO緩存模塊及串口模塊組成,系統如圖1所示。

AD7762是ADI公司近年推出的一款高性能、低功耗、并行24位Sigma-Delta模數轉換芯片ADC。寬輸入帶寬,在625 kbit·s-1時信噪比為106 dB的高速Sigma-Delta轉換,使得其能夠高速獲得數據。片上集成用于信號緩沖的差分放大器,低通數字FIR數字濾波器,需要最少的外圍設備。另外,AD7762還提供了可編程的采樣速率和可調整的FIR數字濾波。AD7762要求在無復雜的前后端信號處理設計中有較高的SNR。
在應用正常模式下,為實現指定性能,差分放大器需要被配置為前端平滑濾波器,前端使用低噪聲,高性能的運算放大器對其進行配置,實現單端信號轉差分號,然后驅動AD7762。運算放大器使AD8021,差分放大器使用AD8138。信號由AD8021運算放大器輸入端口接入,根據A/D輸入信號的幅度標準進行輸入信號幅度的調整,經由AD8138差分放大器進行單端轉差分處理,之后送入模數轉換器中。其電路實現如圖2所示。
AD7762有許多用戶可編程寄存器。控制寄存器用于設置濾波頻率、濾波器配置、時鐘分頻器等。AD7762使用16位雙向并行接口,該接口受控于CS和RD/WR。

系統的主控制器采用Altera公司Cyclone系列的EP1C4F400C8N。Altera Cyclone系列FPGA從根本上針對低成本進行設計,具有專業應用特性。器件基于成本優化的全銅1.5VSRAM工藝,輸入輸出電源電壓是3.3 V。內核供應電壓是1.425~1.575 V。Cyclone FPGA綜合考慮了邏輯、存儲器、鎖相環(PLL)和高級I/O接口。具有專用外部存儲器接口電路,支持DDR FCRAM和SDRAM器件以及SDR SDRAM存儲器的連接。支持單端 I/O標準如 3.3 V、2.5 V、1.8 V、LVTTL、LVCMOS、PCI、和 SSTL -2/3,滿足當前系統需要。通過LVDS和RSDS標準提供多達129個通道的差分I/O技術支持,每個LVDS通道信號數據率高達640 Mb·s-1。FPGA中有兩個鎖相環(PLLs),提供6個輸出和層次時鐘結構,以及復雜設計的時鐘管理電路。FPGA中包括17個 M4K存儲塊。每塊提供288 kbit的存儲容量,能夠使配置支持多種操作模式,包括RAM、ROM、FIFO及單口和雙口模式。
在數據傳輸模塊中,設計調用FPGA片上資源實現FIFO緩存。存儲深度為256×16 bit。由于A/D的采樣頻率和串口的讀寫頻率不同,因此設計中采用讀寫時鐘異步的FIFO。FIFO中的數據通過串口傳輸到上位機,設計中串口芯片采用美信公司專門為RS-232標準串口設計的單電源電平轉換芯片MAX3232芯片,使用+3.3 V單電源供電。
系統利用Altera QuartusⅡ軟件[5]完成FPGA程序的編寫。Altera QuartusⅡ軟件提供完整的多平臺設計環境,能夠直接滿足特定的設計需要,為FPGA開發提供全面的設計環境。QuartusⅡ開發軟件支持多種設計輸入方式。由于FPGA支持Verilog/VHDL混合開發,設計主要采用文本形式文件輸入方式和存儲器數據文件出入方式,采用的Verilog/VHDL硬件描述語言設計輸入,易于實現自頂向下的設計方法,易于模塊劃分和復用、移植性好、通用性強,具有較好的硬件平臺無關性,設計不因芯片工藝和結構的改變而改變,利于向ASIC 移植[4]。
A/D時序分為寫時序和讀時序。寫時序控制A/D寄存器的寫操作。寫操作包括兩部分,先寫控制寄存器2,給A/D加電,控制寄存器2的地址是0X0002,高10位全部是0。低6位的內容如圖3所示。

CDIV設置 A/D的時鐘分頻比率,CDIV=1,則ICLK=MCLK。CDIV=0,則 ICLK=MCLK/2。設計硬件電路中連接的時鐘是MCLK=40 MHz,但A/D中允許的最大的ICLK時鐘是20 MHz,需要對外部時鐘進行分頻,因此此位設為0。D1PD位置高將關斷片上差分放大器,本設計中置0,第二位寫入1。再寫控制寄存器1,設置A/D的濾波頻率、濾波器長度位、數據輸出頻率等。控制器1的內容如表1所示。

表1 控制器1的內容
控制寄存器1的地址是0X0001,設計中控制寄存器1的內容設為0X001B。設計中通過寫控制寄存器1設置輸出數據頻率。讀時序控制A/D采樣數據的輸出。A/D的控制時序及工作狀態如圖4所示。

AD7762串聯了3個濾波器。通過使用不同的濾波頻率、濾波器選擇和全通的結合,可以獲得大范圍的采樣速率。通過設置寄存器1的低3位濾波器的狀態設置數據輸出速率Rate,A/D中默認的濾波特性如表2所示。
表3是在A/D內部時鐘為20 MHz時,可看出當rate=3'h3時→625 kHz;rate=3→312.5 kHz;rate=4→156.25 kHz;rate=5→78.125 kHz。

表3 A/D中默認的濾波特性
AD7762的讀時序如圖5所示。

A/D寄存器寫成功后,A/D會根據寄存器設置的工作狀態進行數據采樣和傳輸。當一個新的轉換數據結果有效時,A/D的引腳會產生一個低脈沖信號送給FPGA,當FPGA接收到這個低脈沖信號時開始接收A/D的采樣數據。由于AD7762是24位分辨率的A/D轉換器,而外部是16位數據線,所以從AD7762中讀取一個轉換結果,需要執行兩次16 bit讀數據操作。當同時為低電平時,數據總線開始傳播數據。在二次讀操作之間必須置高一個ICLK周期的高電平。數據傳輸結束后保持高電平,數據線處于高阻態,等待下一次有效數據的傳輸。
控制A/D的程序流程圖如圖6所示。程序編譯后生成的A/D轉換器的控制模塊如圖7所示。

模塊中ad_data_bus[15.0]與FPGA的IO口進行連接。ad_rst_n是A/D的復位信號,而rst_n是系統的復位信號。ad_mclk外接40 MHz晶振,進入A/D后經過寄存器設置進行二分頻。ad_sync是同步信號,可以同步多片ADC,此處不操作。
將程序通過FPGA的JTAG口下載到硬件系統,進行仿真得到的A/D模塊仿真結果如圖8所示。

FIFO用于存儲FPGA接收的A/D采集的數據,FIFO模塊的讀時鐘受前端A/D模塊中的data_valid信號控制,寫時鐘由后面的串口模塊產生,已達到FIFO數據讀取與串口傳輸的數據一致。保證數據準確地通過串口傳輸到上位機。FIFO的讀寫控制信號分別由wrfull和rdempty控制,FIFO模塊如圖9所示。

串口模塊的開啟和關閉信號tx_en受FIFO模塊的讀信號rdreq控制。

數據采集系統設計中,AD7762內部設置差分放大器和靈活設置的寄存器,使得外部的電路設計簡單且成本低。FPGA控制更為靈活方便,若想改變A/D的工作狀態只需要更改寄存器的設置內容即可。減少外部控制線的數量,使系統減小干擾,更為可靠。若將此系統作為音頻信號分析系統的前端,將使整個系統的穩定度及精確度得到提高。
[1]李志軍,李欣然,石吉銀,等.用CPLD實現多通道數據采集系統的A/D轉換器控制電路設計[J].繼電器,2006,34(21):53-57.
[2]嚴志強,王雨,任開春,等.基于DSP、CPLD和單片機的高速數據采集裝置設 計[J].電力自動化設備,2007,27(5):110-113.
[3]周潤景,蘇良碧.基于QuartusⅡ的數字系統Verilog HDL設計實例詳解[M].北京:電子工業出版社,2010.
[4]趙艷華,曹炳霞,張睿.基于QuartusⅡ的FPGA/CPLD設計與應用[M].北京:電子工業出版社,2009.
[5]羅軼群,代作曉.基于DSP與CPLD的多通道數據采集系統的設計[J].自動化技術,2008,31(15):114 -116.
[6]黃志偉,王彥.FPGA系統設計與實踐[M].北京:電子工業出版社,2005.
[7]夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2008.
[8]何迎迎.信號頻譜分析模塊[D].南京:南京理工大學,2009.
[9]俞一鳴.Altera可編程邏輯器件的應用與設計[M].北京:機械工業出版社,2007.
[10]王彥,黃智偉,申政琴,等.基于FPGA的工程設計與應用[M].西安:西安電子科技大學出版社,2007.
Design of a Data Acquisition System Based on AD7762 and FPGA
WANG Linyu,ZHANG Jianhong
(College of Information and Communication Engineering,Harbin Engineering University,Harbin 150001,China)
In order to meet the higher requirements on frequency and resolution technology indexes in the audio data acquisition process,this paper proposes a high speed data acquisition device.This design uses the Altera company's Cyclone series EP1C4F400 FPGA chip to control the AD7762 A/D converter by the ADI company and realizes data acquisition using Verilog language in QuartusⅡ environment.Serial port is used to transmit data to the PC,which accomplishes the function of data analysis and display.FPGA controls the acquisition timing of the whole system.
data acquisition;AD7762;FPGA;register control;serial port
TP274+.2
A
1007-7820(2012)06-030-04
2012-01-04
王霖郁(1977—),女,碩士生導師。研究方向:電路與系統。張建宏(1986—),女,碩士研究生。研究方向:電路與系統。