新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于DSP和FPGA的高精度數(shù)據(jù)采集卡設(shè)計(jì)

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

——
作者:成都電子科技大學(xué)自動(dòng)化工程學(xué)院 李暉 田書林 葉 發(fā) 時(shí)間:2006-11-08 來源:電子設(shè)計(jì)應(yīng)用 收藏
引言

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

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

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

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

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

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

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

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

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

FPGA電路設(shè)計(jì)

FPGA芯片也是一種特殊的ASIC芯片,屬于可編程邏輯器件,它是在PAL、GAL等邏輯器件的基礎(chǔ)上發(fā)展起來的。同以往的PAL、GAL等相比,F(xiàn)PGA規(guī)模比較大,適合于時(shí)序、組合等邏輯電路應(yīng)用。本文選用Altera公司的FPGA芯片EP2C8Q208,完成數(shù)據(jù)采集卡的時(shí)序和地址譯碼電路設(shè)計(jì)。由于EP2C8Q208有36個(gè)M4K RAM,在FPGA內(nèi)部設(shè)計(jì)一個(gè)16位寬度、4KB深度的FIFO,使用FIFO提高數(shù)據(jù)采集卡對(duì)多通道信號(hào)的采集存儲(chǔ)能力。FIFO有半滿、全滿、空標(biāo)志位,當(dāng)DSP檢測(cè)到半滿標(biāo)志位時(shí),F(xiàn)IFO同時(shí)讀寫;全滿時(shí)只讀不寫;空時(shí)只寫不讀。A/D采樣控制信號(hào)由DSP通過FPGA控制;DSP對(duì)采集后的數(shù)據(jù)進(jìn)行進(jìn)一步處理,以提高精度,也具有傳統(tǒng)CPU或MCU的功能,對(duì)時(shí)序、觸發(fā)、DMA中斷請(qǐng)求作出相應(yīng)處理。  

DSP電路設(shè)計(jì)

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

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

校準(zhǔn)電路設(shè)計(jì)

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

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

PCI總線接口電路設(shè)計(jì)

PCI總線規(guī)范十分復(fù)雜,其接口的實(shí)現(xiàn)比較困難。數(shù)據(jù)采集卡采用PCI9030作為用戶接口,為PCI總線接口的開發(fā)提供了一種簡(jiǎn)捷的方法,只需設(shè)計(jì)簡(jiǎn)單的局部總線接口控制電路即可實(shí)現(xiàn)PCI總線的高速數(shù)據(jù)傳輸。使用Altera 公司的Quartus II,使得硬件實(shí)現(xiàn)軟件化設(shè)計(jì),更新了傳統(tǒng)的電路設(shè)計(jì)和調(diào)試方式,大大縮短了開發(fā)周期,特別是其設(shè)計(jì)仿真和定時(shí)分析使得設(shè)計(jì)更加可靠,確保了系統(tǒng)的正確性。

系統(tǒng)軟件設(shè)計(jì)

驅(qū)動(dòng)程序設(shè)計(jì)

在Windows98/ 2000/ XP 環(huán)境下,處于Windows 用戶態(tài)的應(yīng)用程序不能直接對(duì)硬件設(shè)備進(jìn)行操作,要實(shí)現(xiàn)對(duì)數(shù)據(jù)采集卡的硬件資源(如內(nèi)存、中斷等)的訪問,必須編寫運(yùn)行在核心態(tài)的設(shè)備驅(qū)動(dòng)程序。目前,使用較多的開發(fā)工具是GUNGO公司的驅(qū)動(dòng)程序開發(fā)組件WinDriver。利用WinDriver開發(fā)驅(qū)動(dòng)程序,不需熟悉操作系統(tǒng)的內(nèi)核知識(shí)。整個(gè)驅(qū)動(dòng)程序中的所有函數(shù)都是工作在用戶態(tài)的,通過與WinDriver的.VXD和.SYS文件交互來達(dá)到驅(qū)動(dòng)硬件的目的。因?yàn)?WinDriver 開發(fā)環(huán)境提供了針對(duì) PLX 公司芯片的存儲(chǔ)器范圍、寄存器和中斷處理等模塊,所以本文采用了GUNGO公司的 WinDriver5.3開發(fā)工具,它支持PLX公司的PCI接口芯片,用戶無需具有DDK和核心態(tài)程序開發(fā)經(jīng)驗(yàn),調(diào)試時(shí)可結(jié)合 PLX 公司的 PLXmon 工具。

操作界面設(shè)計(jì)

采用美國(guó)國(guó)家儀器公司的LabVIEW軟件進(jìn)行界面設(shè)計(jì)。LabVIEW是一種圖形化編程語(yǔ)言, 操作界面模擬實(shí)際儀器的控制面板,使用戶能完成通道選擇、模式選擇、增益設(shè)定、采樣率設(shè)定等功能,操作簡(jiǎn)單方便。

系統(tǒng)指標(biāo)分析

誤差分析

常用的ADC主要存在量化誤差、增益誤差和偏置誤差。量化誤差是任何ADC都存在的,僅僅能通過提高ADC分辨率來減少,為把量化誤差減少為



評(píng)論


相關(guān)推薦

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

關(guān)閉