新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP和FPGA的高精度數(shù)據(jù)采集卡設(shè)計

基于DSP和FPGA的高精度數(shù)據(jù)采集卡設(shè)計

——
作者:成都電子科技大學(xué)自動化工程學(xué)院 李暉 田書林 葉芃 時間:2007-01-26 來源:《電子設(shè)計應(yīng)用》 收藏


引言

當前,許多領(lǐng)域越來越多地要求具有高精度a/d轉(zhuǎn)換和實時處理功能。同時,市場對支持更復(fù)雜的顯示和通信接口的要求也在提高,如環(huán)境監(jiān)測、電表、醫(yī)療設(shè)備、便攜式數(shù)據(jù)采集以及工業(yè)傳感器和工業(yè)控制等。傳統(tǒng)設(shè)計方法是應(yīng)用mcu或dsp通過軟件控制數(shù)據(jù)采集的a/d轉(zhuǎn)換,這樣必將頻繁中斷系統(tǒng)的運行,數(shù)據(jù)采集的速度也將受到限制。本文采用dsp+fpga的方案,由硬件控制a/d轉(zhuǎn)換和數(shù)據(jù)存儲,最大限度地提高系統(tǒng)的信號采集和處理能力。

系統(tǒng)結(jié)構(gòu)

整個采集卡包括信號調(diào)理、數(shù)據(jù)采集、數(shù)據(jù)處理和總線接口設(shè)計。系統(tǒng)結(jié)構(gòu)如圖1所示。

本文引用地址:http://www.butianyuan.cn/article/21517.htm

本文設(shè)計了具有信號衰減、增益放大和濾波等功能的信號調(diào)理電路,采用16位精度、最高采樣率為500ksps的a/d轉(zhuǎn)換器ad7676;數(shù)字系統(tǒng)設(shè)計利用fpga極其靈活、可編程的特點,選用altera公司fpga芯片ep2c8q208,完成精度校正和邏輯時序控制;dsp采用ti公司的tms320vc5416,使a/d轉(zhuǎn)換后的數(shù)據(jù)在傳輸?shù)缴衔粰C之前,進行數(shù)據(jù)整理、標記、打包以及數(shù)據(jù)預(yù)處理。數(shù)據(jù)采集卡可同時進行8通道數(shù)據(jù)采集,通道可進行衰減倍數(shù)。采樣速度以及放大增益設(shè)置。同時提供模擬輸出通道,用于實現(xiàn)波形產(chǎn)生和模擬驅(qū)動功能。能夠進行自動校準,保證數(shù)據(jù)采集的準確性。pci總線接口電路采用plx technolongy公司的pci總線接口芯片pci9030,完成數(shù)據(jù)采集和狀態(tài)、控制信號的傳輸。

系統(tǒng)硬件電路設(shè)計

數(shù)據(jù)采集模塊設(shè)計

從傳感器送來的8路模擬輸入信號通過多路模擬開關(guān)adg507選擇進入模擬通道,如果多通道同時采集,則采用時分復(fù)用方式,由fpga依次控制各通道的通斷。模式選擇開關(guān)adg509為四選一模擬開關(guān),可分別選擇被測模擬信號、標準參考電壓值或用于通道校準的,經(jīng)過dac轉(zhuǎn)換后的信號進入后級濾波衰減網(wǎng)絡(luò)電路。送入adc的信號要先經(jīng)過低通濾波,以濾除高頻噪聲。濾波電路設(shè)計為二階阻容低通濾波器,對頻率高于50khz的信號濾波。衰減電路設(shè)計為有源衰減,選用linear公司的差分放大器ltc1992,可完成輸入信號極性轉(zhuǎn)換,實現(xiàn)單端信號轉(zhuǎn)差分信號,同時通過由fpga控制繼電器選通不同的電阻網(wǎng)絡(luò)調(diào)整衰減倍數(shù),可實現(xiàn)對不同電壓輸入范圍信號的調(diào)整,以滿足ad7676的輸入電壓范圍。信號增益可編程放大器ltc6911可通過編程設(shè)置以1、2、5步進變化的1v/v-100v/v增益倍數(shù),數(shù)據(jù)采集過程中通過fpga內(nèi)部的比較電路自動調(diào)整增益放大器增益倍數(shù),極大提高了對微弱信號的分辨能力。ad7676的差分信號輸入,max6325基準源提供基準為2.5v的參考電壓,采樣時鐘由晶振提供10mhz時鐘信號經(jīng)fpga內(nèi)部分頻電路得到,單通道最高采樣率為500ksps。

fpga電路設(shè)計

fpga芯片也是一種特殊的asic芯片,屬于可編程邏輯器件,它是在pal、gal等邏輯器件的基礎(chǔ)上發(fā)展起來的。同以往的pal、gal等相比,fpga規(guī)模比較大,適合于時序、組合等邏輯電路應(yīng)用。本文選用altera公司的fpga芯片ep2c8q208,完成數(shù)據(jù)采集卡的時序和地址譯碼電路設(shè)計。由于ep2c8q208有36個m4k ram,在fpga內(nèi)部設(shè)計一個16位寬度、4kb深度的fifo,使用fifo提高數(shù)據(jù)采集卡對多通道信號的采集存儲能力。fifo有半滿、全滿、空標志位,當dsp檢測到半滿標志位時,fifo同時讀寫;全滿時只讀不寫;空時只寫不讀。a/d采樣控制信號由dsp通過fpga控制;dsp對采集后的數(shù)據(jù)進行進一步處理,以提高精度,也具有傳統(tǒng)cpu或mcu的功能,對時序、觸發(fā)、dma中斷請求作出相應(yīng)處理。

dsp電路設(shè)計

dsp采用tms320vc5416,它是16位定點dsp,具有高度的操作靈活性和很高的運行速度,采用改善的哈佛結(jié)構(gòu)(1組程序存儲器總線,3組數(shù)據(jù)存儲器總線,4組地址總線),具有專用硬件邏輯的cpu、片內(nèi)128kb的存儲器、片內(nèi)外設(shè)、以及一個效率很高的指令集。

dsp在系統(tǒng)中的作用主要是將a/d轉(zhuǎn)換后的數(shù)據(jù)在傳輸?shù)缴衔粰C之前,進行數(shù)據(jù)整理、標記、打包以及數(shù)據(jù)預(yù)處理。數(shù)據(jù)采集系統(tǒng)所有控制的信號都由dsp控制fpga邏輯電路產(chǎn)生。dsp外掛flash存放dsp程序及其它配制數(shù)據(jù),在上電時,dsp采用并行方式調(diào)入dsp內(nèi)部執(zhí)行。

校準電路設(shè)計

標準電路是本設(shè)計的重要環(huán)節(jié),數(shù)據(jù)采集卡的高精度性能不僅取決于高分辨率的adc,在更大程度上要依靠該數(shù)據(jù)采集卡優(yōu)良的自校準和抗噪聲能力來實現(xiàn)。

標準時,dsp發(fā)出標準值,經(jīng)d/a和a/d轉(zhuǎn)換后,所采集的數(shù)據(jù)值與原標準值相比較,取其偏差系數(shù)組成去噪方程,以實現(xiàn)數(shù)據(jù)采集卡的自校準。

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è)備進行操作,要實現(xiàn)對數(shù)據(jù)采集卡的硬件資源(如內(nèi)存、中斷等)的訪問,必須編寫運行在核心態(tài)的設(shè)備驅(qū)動程序。目前,使用較多的開發(fā)工具是gungo公司的驅(qū)動程序開發(fā)組件windriver。利用windriver開發(fā)驅(qū)動程序,不需熟悉操作系統(tǒng)的內(nèi)核知識。整個驅(qū)動程序中的所有函數(shù)都是工作在用戶態(tài)的,通過與windriver的.vxd和.sys文件交互來達到驅(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軟件進行界面設(shè)計。labview是一種圖形化編程語言,操作界面模擬實際儀器的控制面板,使用戶能完成通道選擇、模式選擇、增益設(shè)定、采樣率設(shè)定等功能,操作簡單方便。

系統(tǒng)指標分析

adc誤差分析

常用的adc主要存在量化誤差、增益誤差和偏置誤差。量化誤差是任何adc都存在的,僅僅能通過提高adc分辨率來減少,為把量化誤差減少為±1lsb/2,通常的方法是把變換特性偏移1lsb/2。偏移誤差是指對adc采用零狀差動輸入時實際代碼與理想代碼之間的差異。增益誤差是指從負滿量程轉(zhuǎn)為正滿量程輸入時實際斜率與理想斜率之差。偏移和增益誤差通常是adc中主要的誤差源。為了進行偏移校準,本文采用0v或非常小的信號并讀取輸出代碼。如果結(jié)果為正,那么轉(zhuǎn)換器就存在正偏移誤差,從結(jié)果中減去偏移值;如果結(jié)果為負,那么轉(zhuǎn)換器就存在負偏移誤差,可向結(jié)果加上偏移值。通過對adc施加滿量程或近于滿量程的信號并測量輸出代碼來實現(xiàn)增益校準。偏移校準在增益校準之前進行。

模擬開關(guān)誤差分析

多路開關(guān)大體上可分為兩種類型,即模擬電子開關(guān)和機械觸點式開關(guān)。模擬開關(guān)具有轉(zhuǎn)換速度快,使用壽命長、體積小、成本低、集成度高和無抖動等優(yōu)點;但也存在一些缺點,如導(dǎo)通電阻較大、存在道間干擾、通道間共地等。

本文所設(shè)計的數(shù)據(jù)采集卡使用adi公司的adg507和adg509,導(dǎo)通電阻ron100-300ω,輸入信號要通過ron分壓,輸出到負載電阻上的電壓要下降一些。為此,本設(shè)計用opa2277做成壓級跟隨器連接到后面的負載電路上,以拉高多路模擬開關(guān)的負載阻抗,削弱串聯(lián)內(nèi)阻的影響。

精度設(shè)計

數(shù)據(jù)采集卡使用了可編程增益放大器ltc6911,最大可調(diào)增益為100v/v,極大提高了采集卡對微弱信號的分辨能力。同時,信號調(diào)理部分的電阻衰減網(wǎng)絡(luò)可完成對信號的1/2、1/4分壓,擴大了數(shù)據(jù)采集卡的動態(tài)范圍。信號和干擾噪聲在時域混合在一起,但是在頻域有不同特性,因此,預(yù)先設(shè)計濾波器對噪聲信號進行抑制,避免噪聲電平很高,用增益放大器接收這樣的信號會導(dǎo)致放大器飽和,使儀器不能正常工作。

電壓基準源是a/d或d/a轉(zhuǎn)換電路的重要部件,系統(tǒng)輸出精度在很大程度上取決于電壓基準源的精度。這里主要考慮輸出精度、穩(wěn)定性和溫度漂移系數(shù)。max6325是低噪聲、高精度的掩埋齊納型基準電壓源芯片,其初始輸出電壓精度高達0.02%,溫度系數(shù)為0.5ppm/℃。

結(jié)語

數(shù)據(jù)采集卡采用16位精度adc,模擬信號通道設(shè)計考慮了微弱信號檢測,噪聲抑制、高頻濾波、差分放大電路和可變成增益放大電路,數(shù)字電路部分設(shè)計以ep2c8q208為核心,利用fpga的時序嚴格、速度較快、可編程性好等特點,將可能需要的各種控制和狀態(tài)信號引入fpga,利用fpga的大容量和現(xiàn)場可編程的特性,根據(jù)不同的要求進行現(xiàn)場修改,增大了系統(tǒng)設(shè)計的成功率和靈活性。同時,dsp對數(shù)據(jù)的預(yù)處理極大地提高了數(shù)據(jù)的精度。在pcb布線時認真考慮了濾波、接地和合理的信號走線,提高了數(shù)據(jù)采集卡的可靠性。



關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉