基于DSP和DDS技術(shù)的氣體濃度檢測系統(tǒng)
3 系統(tǒng)軟件設(shè)計
氣體濃度檢測系統(tǒng)軟件設(shè)計包括DSP初始化程序、中斷向量表、應(yīng)用程序(包括響應(yīng)外部中斷程序)、數(shù)據(jù)后處理程序。檢測系統(tǒng)啟動時首先運(yùn)行內(nèi)部ROM固化的Boot-Loader程序,將存儲在FLASH中的程序代碼加載到DSP內(nèi)部RAM 中。程序首先是初始化系統(tǒng),通過配置DSP內(nèi)部寄存器,確定DSP具體的工作狀態(tài),然后是中斷響應(yīng)程序以及數(shù)據(jù)后處理程序。系統(tǒng)程序框圖如圖4所示,自相關(guān)運(yùn)算在中斷子程序中完成,為方便移植所有程序都采用結(jié)構(gòu)化C語言完成。本檢測系統(tǒng)在工作過程中,對每一頻點(diǎn)采樣4 092點(diǎn),將每個頻點(diǎn)采樣值進(jìn)行自相關(guān)運(yùn)算,恢復(fù)出微弱信號,并計算該頻率傳感器響應(yīng)幅度。前面已經(jīng)證明在DSP內(nèi)進(jìn)行自相關(guān)運(yùn)算可以用FFT來實現(xiàn)。
FFT算法中的倒序可以由DSP變址方便實現(xiàn),整個推導(dǎo)過程由三重循環(huán)構(gòu)成,外層的循環(huán)控制有M級的順次運(yùn)算(M=log2N),內(nèi)層的兩個循環(huán)一起控制同一級中各個碟型運(yùn)算單元,最內(nèi)層的一個循環(huán)控制為同一類型的碟型運(yùn)算。本程序采用基-2時間碟型運(yùn)算,碟型運(yùn)算的計算關(guān)系為:
這里的X(M-1)(k)和X(M-1)(j)分別表示第M-1級中上節(jié)點(diǎn)和下節(jié)點(diǎn)的值,XM(k)和XM(j)分別為第M級中上節(jié)點(diǎn)和下節(jié)點(diǎn)的值,k是j的對偶節(jié)點(diǎn),依據(jù)上述公式可以實現(xiàn)序列的同址運(yùn)算。
4 結(jié) 語
實驗證明,基于微氣體傳感器的氣體濃度檢測系統(tǒng)能有效地檢測出傳感器的微弱信號。系統(tǒng)以 Black-fin531為核心,結(jié)合DDS技術(shù)和自相關(guān)檢測方法,硬件設(shè)計簡單可靠,程序采用結(jié)構(gòu)化的C語言,通用性和移植性好,易于DSP實現(xiàn)。系統(tǒng)很好地滿足了氣體濃度檢測的需要,測量精度高,算法簡單,可以用于氫氣等多種氣體的檢測。
評論