基于AD7762和FPGA的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
摘要 為了滿(mǎn)足音頻數(shù)據(jù)采集過(guò)程中對(duì)頻率和分辨率等技術(shù)指標(biāo)的要求,設(shè)計(jì)了一種高速數(shù)據(jù)采集裝置。文中設(shè)計(jì)采用Altera公司的Cvclone系列FPGA芯片EP1C4F400在QuartusⅡ環(huán)境下使用Verilog語(yǔ)言控制ADI公司的AD7762A/D轉(zhuǎn)換器實(shí)現(xiàn)數(shù)據(jù)采集。通過(guò)串口將數(shù)據(jù)傳給上位機(jī),完成數(shù)據(jù)分析和顯示功能FPGA控制整個(gè)系統(tǒng)的采集時(shí)序。
關(guān)鍵詞 數(shù)據(jù)采集;AD7762;FPGA;寄存器控制;串口
隨著通信技術(shù)的發(fā)展,通信業(yè)務(wù)不斷擴(kuò)大,人們?cè)絹?lái)越重視高速數(shù)據(jù)采集和處理技術(shù)。數(shù)據(jù)采集系統(tǒng)主要包括增益放大器、A/D模數(shù)轉(zhuǎn)換器、功能控制端。文中設(shè)計(jì)了一種以FPGA為控制核心,用于控制A/D的轉(zhuǎn)換時(shí)序及數(shù)據(jù)傳輸?shù)母咚贁?shù)據(jù)采集系統(tǒng)。
1 系統(tǒng)總體結(jié)構(gòu)
設(shè)計(jì)系統(tǒng)以FPGA芯片EP1C4F400作為采集系統(tǒng)的核心控制單元,采用模數(shù)轉(zhuǎn)換芯片AD7762作為數(shù)據(jù)采集的核心模塊。由A/D轉(zhuǎn)換后產(chǎn)生的數(shù)字信號(hào)通過(guò)串口傳輸?shù)缴衔粰C(jī),由上位機(jī)對(duì)數(shù)據(jù)進(jìn)行一系列分析。該系統(tǒng)主要南前端處理模塊、A/D轉(zhuǎn)換控制模塊、FIFO緩存模塊及串口模塊組成,系統(tǒng)如圖1所示。
2 硬件設(shè)計(jì)
2.1 模數(shù)轉(zhuǎn)換模塊AD7762
AD7762是ADI公司近年推出的一款高性能、低功耗、并行24位Sigma-Delta模數(shù)轉(zhuǎn)換芯片ADC。寬輸入帶寬,在625 khit·s-1時(shí)信噪比為106 dB的高速Sigma-Delta轉(zhuǎn)換,使得其能夠高速獲得數(shù)據(jù)。片上集成用于信號(hào)緩沖的差分放大器,低通數(shù)字FIR數(shù)字濾波器,需要最少的外圍設(shè)備。另外,AD7762還提供了可編程的采樣速率和可調(diào)整的FIR數(shù)字濾波。AD7762要求在無(wú)復(fù)雜的前后端信號(hào)處理設(shè)計(jì)中有較高的SNR。
在應(yīng)用正常模式下,為實(shí)現(xiàn)指定性能,差分放大器需要被配置為前端平滑濾波器,前端使用低噪聲,高性能的運(yùn)算放大器對(duì)其進(jìn)行配置,實(shí)現(xiàn)單端信號(hào)轉(zhuǎn)差分號(hào),然后驅(qū)動(dòng)AD7762。運(yùn)算放大器使AD8021,差分放大器使用AD8138。信號(hào)由AD8021運(yùn)算放大器輸入端口接入,根據(jù)A/D輸人信號(hào)的幅度標(biāo)準(zhǔn)進(jìn)行輸入信號(hào)幅度的調(diào)整,經(jīng)由AD8138差分放大器進(jìn)行單端轉(zhuǎn)差分處理,之后送入模數(shù)轉(zhuǎn)換器中。其電路實(shí)現(xiàn)如圖2所示。
AD7762有許多用戶(hù)可編程寄存器??刂萍拇嫫饔糜谠O(shè)置濾波頻率、濾波器配置、時(shí)鐘分頻器等。AD7762使用16位雙向并行接口,該接口受控于。
2.2 主控制FPGA模塊EP1C4F400
系統(tǒng)的主控制器采用Altera公司Cyclone系列的EP1C4F400C8N。Ahera Cyclone系列FPGA從根本上針對(duì)低成本進(jìn)行設(shè)計(jì),具有專(zhuān)業(yè)應(yīng)用特性。器件基于成本優(yōu)化的全銅1.5VSRAM工藝,輸入輸出電源電壓是3.3 V。內(nèi)核供應(yīng)電壓是1.425~1.575 V。Cyclone FPGA綜合考慮了邏輯、存儲(chǔ)器、鎖相環(huán)(PLL)和高級(jí)I/O接口。具有專(zhuān)用外部存儲(chǔ)器接口電路,支持DDRFCRAM和SDRAM器件以及SDR SDRAM存儲(chǔ)器的連接。支持單端I/O標(biāo)準(zhǔn)如3.3 V、2.5 V、1.8 V、LVTTL、LVCMOS、PCI、和SSTL-2/3,滿(mǎn)足當(dāng)前系統(tǒng)需要。通過(guò)LVDS和RSDS標(biāo)準(zhǔn)提供多達(dá)129個(gè)通道的差分I/O技術(shù)支持,每個(gè)LVDS通道信號(hào)數(shù)據(jù)率高達(dá)640 Mb·s-1。FPGA中有兩個(gè)鎖相環(huán)(PLLs),提供6個(gè)輸出和層次時(shí)鐘結(jié)構(gòu),以及復(fù)雜設(shè)計(jì)的時(shí)鐘管理電路。FPCA中包括17個(gè)M4K存儲(chǔ)塊。每塊提供288 kbit的存儲(chǔ)容量,能夠使配置支持多種操作模式,包括RAM、ROM、FIFO及單口和雙口模式。
2.3 系統(tǒng)后端數(shù)據(jù)傳輸模塊
在數(shù)據(jù)傳輸模塊中,設(shè)計(jì)調(diào)用FPGA片上資源實(shí)現(xiàn)FIFO緩存。存儲(chǔ)深度為256×16 bit。由于A/D的采樣頻率和串口的讀寫(xiě)頻率不同,因此設(shè)計(jì)中采用讀寫(xiě)時(shí)鐘異步的FIFO。FIFO中的數(shù)據(jù)通過(guò)串口傳輸?shù)缴衔粰C(jī),設(shè)計(jì)中串口芯片采用美信公司專(zhuān)門(mén)為RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片MAX3232芯片,使用+3.3 V單電源供電。
3 軟件設(shè)計(jì)
系統(tǒng)利用Ahera QuartusⅡ軟件完成FPGA程序的編寫(xiě)。Altera QuartusⅡ軟件提供完整的多平臺(tái)設(shè)計(jì)環(huán)境,能夠直接滿(mǎn)足特定的設(shè)計(jì)需要,為FPGA開(kāi)發(fā)提供全面的設(shè)計(jì)環(huán)境。QuartusⅡ開(kāi)發(fā)軟件支持多種設(shè)計(jì)輸入方式。由于FPGA支持Verilog/VHDL混合開(kāi)發(fā),設(shè)計(jì)主要采用文本形式文件輸入方式和存儲(chǔ)器數(shù)據(jù)文件出入方式,采用的Verilog/VHDL硬件描述語(yǔ)言設(shè)計(jì)輸入,易于實(shí)現(xiàn)自頂向下的設(shè)計(jì)方法,易于模塊劃分和復(fù)用、移植性好、通用性強(qiáng),具有較好的硬件平臺(tái)無(wú)關(guān)性,設(shè)計(jì)不因芯片工藝和結(jié)構(gòu)的改變而改變,利于向ASIC移植。
3.1 A/D轉(zhuǎn)換器的控制寄存器
A/D時(shí)序分為寫(xiě)時(shí)序和讀時(shí)序。寫(xiě)時(shí)序控制A/D寄存器的寫(xiě)操作。寫(xiě)操作包括兩部分,先寫(xiě)控制寄存器2,給A/D加電,控制寄存器2的地址是0X0002,高10位全部是0。低6位的內(nèi)容如圖3所示。
設(shè)置A/D的時(shí)鐘分頻比率,CDIV=1,則ICLK=MCLK。CDIV=0,則ICLK=MCLK/2。設(shè)計(jì)硬件電路中連接的時(shí)鐘是MCLK=40 MHz,但A/D中允許的最大的ICLK時(shí)鐘是20 MHz,需要對(duì)外部時(shí)鐘進(jìn)行分頻,因此此位設(shè)為0。D1PD位置高將關(guān)斷片上差分放大器,本設(shè)計(jì)中置0,第二位寫(xiě)入1。再寫(xiě)控制寄存器1,設(shè)置A/D的濾波頻率、濾波器長(zhǎng)度位、數(shù)據(jù)輸出頻率等。控制器1的內(nèi)容如表1所示。
評(píng)論