基于DSP與FPGA的高精度數(shù)據(jù)采集系統(tǒng)設(shè)計
校準(zhǔn)電路設(shè)計
校準(zhǔn)電路是本設(shè)計的重要環(huán)節(jié),數(shù)據(jù)采集卡的高精度性能不僅取決于高分辨率的ADC,在更大程度上要依靠該數(shù)據(jù)采集卡優(yōu)良的自校準(zhǔn)和抗噪聲能力來實現(xiàn)。
校準(zhǔn)時,DSP發(fā)出標(biāo)準(zhǔn)值,經(jīng)D/A和A/D轉(zhuǎn)換后,所采集的數(shù)據(jù)值與原標(biāo)準(zhǔn)值相比較,取其偏差系數(shù)組成去噪方程,以實現(xiàn)數(shù)據(jù)采集卡的自校準(zhǔn)。
PCI總線接口電路設(shè)計
PCI總線規(guī)范十分復(fù)雜,其接口的實現(xiàn)比較困難。數(shù)據(jù)采集卡采用PCI9030作為用戶接口,為PCI總線接口的開發(fā)提供了一種簡捷的方法,只需設(shè)計簡單的局部總線接口控制電路即可實現(xiàn)PCI總線的高速數(shù)據(jù)傳輸。使用Altera 公司的Quartus II,使得硬件實現(xiàn)軟件化設(shè)計,更新了傳統(tǒng)的電路設(shè)計和調(diào)試方式,大大縮短了開發(fā)周期,特別是其設(shè)計仿真和定時分析使得設(shè)計更加可靠,確保了系統(tǒng)的正確性。
系統(tǒng)軟件設(shè)計
驅(qū)動程序設(shè)計
在Windows98/ 2000/ XP 環(huán)境下,處于Windows 用戶態(tài)的應(yīng)用程序不能直接對硬件設(shè)備進(jìn)行操作,要實現(xiàn)對數(shù)據(jù)采集卡的硬件資源(如內(nèi)存、中斷等)的訪問,必須編寫運(yùn)行在核心態(tài)的設(shè)備驅(qū)動程序。目前,使用較多的開發(fā)工具是GUNGO公司的驅(qū)動程序開發(fā)組件WinDriver。利用WinDriver開發(fā)驅(qū)動程序,不需熟悉操作系統(tǒng)的內(nèi)核知識。整個驅(qū)動程序中的所有函數(shù)都是工作在用戶態(tài)的,通過與WinDriver的.VXD和.SYS文件交互來達(dá)到驅(qū)動硬件的目的。因為 WinDriver 開發(fā)環(huán)境提供了針對 PLX 公司芯片的存儲器范圍、寄存器和中斷處理等模塊,所以本文采用了GUNGO公司的 WinDriver5.3開發(fā)工具,它支持PLX公司的PCI接口芯片,用戶無需具有DDK和核心態(tài)程序開發(fā)經(jīng)驗,調(diào)試時可結(jié)合 PLX 公司的 PLXmon 工具。
操作界面設(shè)計
采用美國國家儀器公司的LabVIEW軟件進(jìn)行界面設(shè)計。LabVIEW是一種圖形化編程語言, 操作界面模擬實際儀器的控制面板,使用戶能完成通道選擇、模式選擇、增益設(shè)定、采樣率設(shè)定等功能,操作簡單方便。
系統(tǒng)指標(biāo)分析
ADC誤差分析
常用的ADC主要存在量化誤差、增益誤差和偏置誤差。量化誤差是任何ADC都存在的,僅僅能通過提高ADC分辨率來減少,為把量化誤差減少為±1LSB/2,通常的方法是把變換特性偏移1LSB/2。偏移誤差是指對 ADC采用零伏差動輸入時實際代碼與理想代碼之間的差異。增益誤差是指從負(fù)滿量程轉(zhuǎn)為正滿量程輸入時實際斜率與理想斜率之差。偏移和增益誤差通常是ADC中主要的誤差源。為了進(jìn)行偏移校準(zhǔn),本文采用0V或非常小的信號并讀取輸出代碼。如果結(jié)果為正,那么轉(zhuǎn)換器就存在正偏移誤差,從結(jié)果中減去偏移值;如果結(jié)果為負(fù),那么轉(zhuǎn)換器就存在負(fù)偏移誤差,可向結(jié)果加上偏移值。通過對ADC施加滿量程或近于滿量程的信號并測量輸出代碼來實現(xiàn)增益校準(zhǔn)。偏移校準(zhǔn)在增益校準(zhǔn)之前進(jìn)行。
模擬開關(guān)誤差分析
多路開關(guān)大體上可分為兩種類型,即模擬電子開關(guān)和機(jī)械觸點(diǎn)式開關(guān)。模擬開關(guān)具有轉(zhuǎn)換速度快、使用壽命長、體積小、成本低、集成度高和無抖動等優(yōu)點(diǎn);但也存在一些缺點(diǎn),如導(dǎo)通電阻較大、存在道間干擾、通道間共地等。
本文所設(shè)計的數(shù)據(jù)采集卡使用ADI公司的ADG507和ADG509,導(dǎo)通電阻Ron100300Ω,輸入信號要通過Ron分壓,輸出到負(fù)載電阻上的電壓要下降一些。為此,本設(shè)計用OPA2277做成壓級跟隨器連接到后面的負(fù)載電路上,以拉高多路模擬開關(guān)的負(fù)載阻抗,削弱串聯(lián)內(nèi)阻的影響。
精度設(shè)計
數(shù)據(jù)采集卡使用了可編程增益放大器LTC6911,最大可調(diào)增益為100 V/V,極大提高了采集卡對微弱信號的分辨能力。同時,信號調(diào)理部分的電阻衰減網(wǎng)絡(luò)可完成對信號的1/2、1/4分壓,擴(kuò)大了數(shù)據(jù)采集卡的動態(tài)范圍。信號和干擾噪聲在時域混合在一起,但是在頻域有不同特性,因此,預(yù)先設(shè)計濾波器對噪聲信號進(jìn)行抑制,避免噪聲電平很高,用增益放大器接收這樣的信號會導(dǎo)致放大器飽和,使儀器不能正常工作。
電壓基準(zhǔn)源是A/D或D/A轉(zhuǎn)換電路的重要部件,系統(tǒng)輸出精度在很大程度上取決于電壓基準(zhǔn)源的精度。這里主要考慮輸出精度、穩(wěn)定性和溫度漂移系數(shù)。 MAX6325是低噪聲、高精度的掩埋齊納型基準(zhǔn)電壓源芯片,其初始輸出電壓精度高達(dá)0.02%,溫度系數(shù)為0.5ppm/℃。
結(jié)語
數(shù)據(jù)采集卡采用16位精度ADC,模擬信號通道設(shè)計考慮了微弱信號檢測、噪聲抑制、高頻濾波、差分放大電路和可編程增益放大電路,數(shù)字電路部分設(shè)計以EP2C8Q208為核心,利用FPGA的時序嚴(yán)格、速度較快、可編程性好等特點(diǎn),將可能需要的各種控制和狀態(tài)信號引入FPGA,利用FPGA的大容量和現(xiàn)場可編程的特性,根據(jù)不同的要求進(jìn)行現(xiàn)場修改,增大了系統(tǒng)設(shè)計的成功率和靈活性。同時,DSP對數(shù)據(jù)的預(yù)處理極大地提高了數(shù)據(jù)的精度。在PCB布線時認(rèn)真考慮了濾波、接地和合理的信號走線,提高了數(shù)據(jù)采集卡的可靠性。
評論