基于DSP和ADS8364的數(shù)據(jù)采集系統(tǒng)設(shè)計
掃描二維碼
隨時隨地手機看文章
開發(fā)了基于DSP和ADS8364的數(shù)據(jù)采集處理系統(tǒng)。該系統(tǒng)主要由信號調(diào)理模塊、A/D轉(zhuǎn)換模塊、DSP處理器模塊、CPLD邏輯控制模塊、Flash存儲器模塊和CAN總線通信模塊組成。它能夠在板卡上實現(xiàn)信號的采集、前端處理和存儲,并能通過CAN總線與上位機通信,實現(xiàn)數(shù)據(jù)的存儲、后端處理及在PC104上顯示。
關(guān)鍵詞: TMS320F2812; ADS8364; 數(shù)據(jù)采集; CAN
實時數(shù)據(jù)采集與處理技術(shù)在許多領(lǐng)域得到廣泛應(yīng)用。在圖像處理、瞬態(tài)信號檢測、軟件無線電、雷達信號分析、醫(yī)用成像設(shè)備和工業(yè)現(xiàn)場控制方面,需要對連續(xù)變化的模擬信號進行同步數(shù)據(jù)采集,因此,對運動過程中變化的信號高速A/D采集是十分重要的[1]。本文介紹一種基于TI公司的TMS320F2812 DSP芯片(以下簡稱F2812)與A/D轉(zhuǎn)換芯片ADS8364構(gòu)成的同步高精度的數(shù)據(jù)采集系統(tǒng),解決了大型曲面鋼板結(jié)構(gòu)參數(shù)測量機器人系統(tǒng)中傳感器信號采集的關(guān)鍵問題。
1 系統(tǒng)原理
本采集系統(tǒng)結(jié)構(gòu)框圖如圖1所示,由前端的系統(tǒng)(包括電流信號取樣、信號調(diào)理模塊、A/D轉(zhuǎn)換模塊、DSP處理器控制模塊、CAN總線網(wǎng)絡(luò))以及上位機、PC104機、上位機CAN適配器幾部分組成。其中前端系統(tǒng)的核心部分是A/D轉(zhuǎn)換模塊和F2812,A/D轉(zhuǎn)換將模擬信號轉(zhuǎn)換成數(shù)字信號,A/D接收控制芯片F(xiàn)2812指令,設(shè)定A/D轉(zhuǎn)換部分的采樣率,控制A/D轉(zhuǎn)換,進行數(shù)據(jù)預(yù)處理。數(shù)據(jù)就緒后,通過
系統(tǒng)主要完成的任務(wù)為:DSP接收上位機通過CAN總線上發(fā)送的命令,完成系統(tǒng)工作參數(shù)的設(shè)置,并通過模擬地址/數(shù)據(jù)總線與CPLD進行通信,向CPLD發(fā)送控制命令;對外部的多路模擬量輸入進行信號調(diào)理,在CPLD控制下進行單通道A/D轉(zhuǎn)換,將采集到的數(shù)據(jù)存儲在1片F(xiàn)lash芯片中,并經(jīng)過CAN總線實時傳送給上位PC104主機。
2 系統(tǒng)硬件
系統(tǒng)硬件包括信號調(diào)理模塊、A/D轉(zhuǎn)換模塊、DSP 處理器模塊、CPLD 邏輯控制模塊以及CAN總線通信模塊。DSP、CPLD、ADS8364之間的接口設(shè)計如圖2所示。
2.1 信號調(diào)理模塊的設(shè)計[1]
激光位移傳感器輸出的模擬量電流輸入信號的范圍為4~20 mA。ADS8364待轉(zhuǎn)換的模擬輸入電壓范圍應(yīng)保持在AGND-0.3 V和AVDD+0.3 V之間。通過1個250 Ω精密取樣電阻,將電流信號轉(zhuǎn)換為1~5 V電壓信號。通過運放跟隨電路提高輸入阻抗,增強系統(tǒng)的抗干擾能力。電路中取樣電阻非常關(guān)鍵,它們影響著輸入信號的變換精度,因此必須采用溫漂較小的精密電阻。
2.2 DSP處理器與A/D轉(zhuǎn)換模塊設(shè)計
本采集系統(tǒng)要求對激光位移傳感器的模擬信號進行采集,鑒于測量精度要求較高,選擇TI公司的高精度ADS8364作為A/D轉(zhuǎn)換芯片,它是TI公司新推出的高速、低功耗、6通道同步采樣16位模數(shù)轉(zhuǎn)換器,采用+5 V工作電壓,最大采樣吞吐率可高達5 MHz; 帶有80 dB共模抑制的全差分輸入通道以及6個4 s連續(xù)近似的模數(shù)轉(zhuǎn)換器、6個差分采樣放大器;片上還帶有+2.5 V參考電壓以及高速并行接口。
DSP主要負責通過CAN總線與上位機交換數(shù)據(jù)、以地址/數(shù)據(jù)總線的方式與CPLD 通信, 實現(xiàn)對數(shù)據(jù)采集的控制以及對采樣后的數(shù)據(jù)進行前端數(shù)字信號處理(數(shù)字低通濾波)。這里選用TI公司的32位定點DSP TMS320F2812芯片,它采用1.8 V 的內(nèi)核電壓, 具有3.3 V 的外圍接口電壓,最高頻率150 MHz,片內(nèi)有18 KB的RAM, 128 KB的高速Flash[2]。
在本系統(tǒng)中,上電后由硬件復(fù)位ADS8364,ADS8364的CLK時鐘由外部獨立的有源晶振提供,頻率為4 MHz。A/D轉(zhuǎn)換完成后產(chǎn)生轉(zhuǎn)換結(jié)束信號EOC。將ADS8364的BYTE引腳接低電平,使轉(zhuǎn)換結(jié)果以16位的方式輸出。地址/模式信號(A0,A1,A2)決定ADS8364 的數(shù)據(jù)讀取方式,可以選擇的方式包括單通道、周期或FIFO模式。將ADD引腳置為高電平, 使得讀出的數(shù)據(jù)中包含轉(zhuǎn)換通道信息。考慮到數(shù)據(jù)采集處理系統(tǒng)的采樣頻率一般較高,如果用DSP直接控制ADS8364的訪問,將占用DSP較多的資源, 同時對DSP的實時性要求也較高。因此在本系統(tǒng)設(shè)計中, 用CPLD實現(xiàn)ADS8364的接口控制電路。DSP的GPIO與ADS8364的HOLDA、HOLDB、HOLDC信號相連,控制6個ADC的采樣/保持。EOC連接到F2812的XINT1。
2.3 CPLD邏輯控制模塊設(shè)計[3]
在該數(shù)據(jù)采集處理系統(tǒng)中, CPLD是一個重要的組成部分。由CPLD 組成的邏輯控制模塊接收DSP傳送過來的動作命令, 控制A/D 轉(zhuǎn)換模塊進行數(shù)據(jù)采集。這里選用Altera公司的MAX II系列芯片 EPM1270, 它包含1 270個LE相當于40 000門數(shù),980個等效宏單元數(shù),8 KB用戶可用Flash。116個用戶可用I/O口,擴展方便。
CPLD 作為一個單獨的控制執(zhí)行結(jié)構(gòu),通過編寫相應(yīng)的Verilog HDL代碼, 即可生成相應(yīng)的操作電路, 實現(xiàn)對各種輸入信號的鎖存、判斷、處理以及對各種命令信號的執(zhí)行和輸出信號的控制。
2.4 CAN通信模塊設(shè)計[4]
由于所選的TMS320F2812 DSP 內(nèi)部含有CAN控制器,只需加1個CAN收發(fā)器芯片即可實現(xiàn)CAN總線網(wǎng)絡(luò)。CAN通信模塊的功能是將采集系統(tǒng)的采樣結(jié)果及運行參數(shù)實時上傳到總線,提供給上位機存儲及處理。
3 系統(tǒng)軟件設(shè)計
軟件程序運行于硬件平臺之上,實現(xiàn)采樣系統(tǒng)的采集、濾波以及后期處理,是測量裝置的靈魂。本裝置軟件設(shè)計主要由主程序和子程序組成。為了實現(xiàn)準確、快速、實時的測量功能,采用C 語言和匯編語言混合編程。
3.1 DSP 程序設(shè)計
DSP編程的主要任務(wù)是初始化、管理板上的資源和實現(xiàn)前端數(shù)字信號處理的算法。這里以TI公司提供的功能強大的CCS(Code Composer Studio) 為集成開發(fā)環(huán)境。系統(tǒng)上電復(fù)位后, 首先完成F2812 自身的初始化, 包括配置RAM塊、設(shè)置I/O 模式、定時器模式、中斷等; 然后程序進入循環(huán)狀態(tài),等待上位機CAN指令的到來。在F2812的程序存儲器中存儲常用的數(shù)字信號處理算法,F2812在收到上位機通過CAN總線發(fā)送的控制指令后,在中斷函數(shù)中選擇某種處理算法,同時向CPLD發(fā)出動作命令,控制A/D轉(zhuǎn)換模塊完成信號的采集并將采集到的數(shù)據(jù)存入SRAM中。當采樣點數(shù)達到設(shè)定點數(shù)時,DSP程序?qū)崿F(xiàn)對部分采樣數(shù)據(jù)的讀取,在主循環(huán)程序中根據(jù)上位機選定的處理算法完成數(shù)據(jù)的前端處理,然后將數(shù)據(jù)打包,通過CAN總線傳輸給上位機。F2812主程序流程圖如圖3所示。
3.2 數(shù)據(jù)采集子程序流程
數(shù)據(jù)采集子程序流程如圖4所示。首先,在外部時鐘信號的作用下,F(xiàn)2812要提供ADS8364所需的HOLD保持信號,啟動轉(zhuǎn)換。待ADS8364轉(zhuǎn)換完成時,產(chǎn)生EOC中斷信號給F2812,F(xiàn)2812接收到EOC信號后,對所需的通道結(jié)果寄存器進行讀操作,只要保證CS和RD同時為低50 ns以上,就可將轉(zhuǎn)換完的數(shù)據(jù)讀出。由于測量系統(tǒng)采樣時刻由數(shù)控系統(tǒng)運動狀態(tài)來決定,因此,對于采樣時刻的確定要在測量機構(gòu)運動過程中的空閑時間進行。保證空閑時間遠大于2 ms并且保證采樣時刻對應(yīng)其他各軸的坐標反映了測量目標的真實形狀數(shù)據(jù)。由于ADS8364的轉(zhuǎn)換速度很快,在啟動A/D轉(zhuǎn)換之后,只需等待5 μs即可讀取轉(zhuǎn)換結(jié)果,因此可采用等待方式,等待時間大于5 μs即可讀取數(shù)據(jù)。在實際工作時,智能測量節(jié)點將采集到的數(shù)據(jù)發(fā)送到中心處理主機進行存儲、處理。中心處理主機采用PC104總線的嵌人式CPU,通過CAN接口卡PCI5121和智能節(jié)點通信。
本文將TMS320F2812與ADS8364相結(jié)合,設(shè)計了一套數(shù)據(jù)采集系統(tǒng)。該系統(tǒng)采用CAN總線與上位機通信, 充分發(fā)揮了CAN2.0方便、快捷的優(yōu)點。考慮到對實時性的要求,將某些特定的數(shù)字信號處理算法放到數(shù)據(jù)采集處理卡上由DSP快速完成。該系統(tǒng)采集精度高, 速度快,并且可同時采集多路信號。該數(shù)據(jù)采集處理系統(tǒng)已經(jīng)用于大型曲面鋼板的結(jié)構(gòu)參數(shù)測量中,實踐證明, 運行穩(wěn)定可靠。