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