基于DSP的數(shù)據(jù)采集系統(tǒng)開(kāi)發(fā)與實(shí)現(xiàn)
2.2 模擬信號(hào)采集的實(shí)現(xiàn)
TMS320F2812芯片中集成了一個(gè)偽雙12位A/D轉(zhuǎn)換器模塊。該模塊內(nèi)部實(shí)際上只有一個(gè)A/D轉(zhuǎn)換器,在內(nèi)部邏輯的控制下它可以很快的速度連續(xù)采樣轉(zhuǎn)換兩次,相當(dāng)于兩個(gè)A/D轉(zhuǎn)換器。用戶可以同時(shí)啟動(dòng)這兩個(gè)A/D轉(zhuǎn)換器進(jìn)行采樣,也可以啟動(dòng)某個(gè)A/D轉(zhuǎn)換器,讓它連續(xù)采樣兩次。
同傳統(tǒng)A/D相比,嵌入式A/D具有如下的特點(diǎn):在A/D模塊的硬件資源配置好了之后,用戶可以用軟件指令隨時(shí)啟動(dòng)A/D采樣,并獲得A/D轉(zhuǎn)換的結(jié)果。同傳統(tǒng)A/D不同的是,采集功能單元的硬件資源配置還有一部分是通過(guò)軟件完成的。
利用F2812內(nèi)部增強(qiáng)型A/D可以在一塊采集卡上實(shí)現(xiàn)對(duì)同步、異步模擬信號(hào)的采集和A/D轉(zhuǎn)換。其示意圖如圖4所示。
在F2812片內(nèi)有兩個(gè)獨(dú)立的8路模擬開(kāi)關(guān),既可以單獨(dú)使用也能級(jí)連使用。如圖4所示同步信號(hào)送入ADCINA模塊,其它信號(hào)直接送入ADCINB模塊,然后由DSP內(nèi)部的12位A/D轉(zhuǎn)換模塊進(jìn)行A/D轉(zhuǎn)換。用戶還可以根據(jù)實(shí)際應(yīng)用對(duì)外部采樣電路進(jìn)行調(diào)整,以滿足不同的要求。
運(yùn)用TMS320F2812片內(nèi)集成的A/D轉(zhuǎn)換器進(jìn)行數(shù)據(jù)采集。程序首先對(duì)A/D進(jìn)行初始化,當(dāng)A/D非常忙時(shí),啟動(dòng)16個(gè)A/D通道進(jìn)行轉(zhuǎn)換,主程序進(jìn)入死循環(huán);當(dāng)A/D正常轉(zhuǎn)換完畢后,進(jìn)入中斷服務(wù)子程序。中斷服務(wù)程序?qū)?6個(gè)A/D轉(zhuǎn)換結(jié)果讀入數(shù)組al[16]中,并再次啟動(dòng)16個(gè)A/D通道進(jìn)行轉(zhuǎn)換,如此循環(huán)往復(fù)。程序設(shè)計(jì)使用C++語(yǔ)言編寫源程序。A/D初始化子程序框圖如圖6所示。中斷服務(wù)子程序流程如圖7所示。
評(píng)論