基于DSP和ADS8364的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
2.1 信號調(diào)理模塊的設(shè)計(jì)[1]
激光位移傳感器輸出的模擬量電流輸入信號的范圍為4~20 mA。ADS8364待轉(zhuǎn)換的模擬輸入電壓范圍應(yīng)保持在AGND-0.3 V和AVDD+0.3 V之間。通過1個(gè)250 Ω精密取樣電阻,將電流信號轉(zhuǎn)換為1~5 V電壓信號。通過運(yùn)放跟隨電路提高輸入阻抗,增強(qiáng)系統(tǒng)的抗干擾能力。電路中取樣電阻非常關(guān)鍵,它們影響著輸入信號的變換精度,因此必須采用溫漂較小的精密電阻。
2.2 DSP處理器與A/D轉(zhuǎn)換模塊設(shè)計(jì)
本采集系統(tǒng)要求對激光位移傳感器的模擬信號進(jìn)行采集,鑒于測量精度要求較高,選擇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é)通過CAN總線與上位機(jī)交換數(shù)據(jù)、以地址/數(shù)據(jù)總線的方式與CPLD 通信, 實(shí)現(xiàn)對數(shù)據(jù)采集的控制以及對采樣后的數(shù)據(jù)進(jìn)行前端數(shù)字信號處理(數(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é)束信號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較多的資源, 同時(shí)對DSP的實(shí)時(shí)性要求也較高。因此在本系統(tǒng)設(shè)計(jì)中, 用CPLD實(shí)現(xiàn)ADS8364的接口控制電路。DSP的GPIO與ADS8364的HOLDA、HOLDB、HOLDC信號相連,控制6個(gè)ADC的采樣/保持。EOC連接到F2812的XINT1。
2.3 CPLD邏輯控制模塊設(shè)計(jì)[3]
在該數(shù)據(jù)采集處理系統(tǒng)中, CPLD是一個(gè)重要的組成部分。由CPLD 組成的邏輯控制模塊接收DSP傳送過來的動作命令, 控制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),通過編寫相應(yīng)的Verilog HDL代碼, 即可生成相應(yīng)的操作電路, 實(shí)現(xiàn)對各種輸入信號的鎖存、判斷、處理以及對各種命令信號的執(zhí)行和輸出信號的控制。
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ī)存儲及處理。
3 系統(tǒng)軟件設(shè)計(jì)
軟件程序運(yùn)行于硬件平臺之上,實(shí)現(xiàn)采樣系統(tǒng)的采集、濾波以及后期處理,是測量裝置的靈魂。本裝置軟件設(shè)計(jì)主要由主程序和子程序組成。為了實(shí)現(xiàn)準(zhǔn)確、快速、實(shí)時(shí)的測量功能,采用C 語言和匯編語言混合編程。
3.1 DSP 程序設(shè)計(jì)
DSP編程的主要任務(wù)是初始化、管理板上的資源和實(shí)現(xiàn)前端數(shù)字信號處理的算法。這里以TI公司提供的功能強(qiáng)大的CCS(Code Composer Studio) 為集成開發(fā)環(huán)境。系統(tǒng)上電復(fù)位后, 首先完成F2812 自身的初始化, 包括配置RAM塊、設(shè)置I/O 模式、定時(shí)器模式、中斷等; 然后程序進(jìn)入循環(huán)狀態(tài),等待上位機(jī)CAN指令的到來。在F2812的程序存儲器中存儲常用的數(shù)字信號處理算法,F2812在收到上位機(jī)通過CAN總線發(fā)送的控制指令后,在中斷函數(shù)中選擇某種處理算法,同時(shí)向CPLD發(fā)出動作命令,控制A/D轉(zhuǎn)換模塊完成信號的采集并將采集到的數(shù)據(jù)存入SRAM中。當(dāng)采樣點(diǎn)數(shù)達(dá)到設(shè)定點(diǎn)數(shù)時(shí),DSP程序?qū)崿F(xiàn)對部分采樣數(shù)據(jù)的讀取,在主循環(huán)程序中根據(jù)上位機(jī)選定的處理算法完成數(shù)據(jù)的前端處理,然后將數(shù)據(jù)打包,通過CAN總線傳輸給上位機(jī)。F2812主程序流程圖如圖3所示。 本文引用地址:http://m.butianyuan.cn/article/190511.htm
評論