基于DSP和DDS技術(shù)的氣體濃度檢測系統
引 言
ADSP-BF531處理器是ADI公司Blackfin系列產(chǎn)品的成員,專(zhuān)為滿(mǎn)足當今嵌入式音頻、視頻和通信應用的計算要求和低功耗條件而設計的新型16位嵌入式處理器。它基于由ADI和Intel公司聯(lián)合開(kāi)發(fā)的微信號架構(Micro Signal Architecture,MSA),將一個(gè)32位RISC型指令集和雙16位乘法累加(MAC)信號處理功能與通用型微控制器所具有的易用性組合在一起。ADSP-BF531處理器具有以下主要特點(diǎn):最大頻率為600 MHz,1200 MMACs;每一個(gè)內核中帶有2個(gè)16位的乘法器,2個(gè)40位的累加器,2個(gè)40位的邏輯運算單元,4個(gè)位的視頻運算單元和1個(gè)40位的移位器,在一個(gè)指令周期內可完成2個(gè)16位數的乘法,2個(gè)40位數的算術(shù)邏輯運算,4個(gè)位的視頻數據算術(shù)邏輯運算,1個(gè)40位的移位運算;低功耗采用1.12 V的內核電壓和3.3 V的I/O電壓,片內集成調壓器,并且具備動(dòng)態(tài)電源管理;高達148 KB的片內存儲器;豐富的外設接口,支持與SDRAM,SRAM,FLASH和ROM的無(wú)縫連接;片上JTAG仿真接口。
提出一種基于ADSP-BF531為核心,集DDS和A/D采樣芯片于一體的氣體濃度檢測系統。該系統針對結構性微氣體傳感器,充分利用了DDS信號源頻率、相位穩定可控的特點(diǎn)和DSP芯片強大的控制能力和高速的數據處理能力,具有硬件簡(jiǎn)單,成本低,可靠性高,通用性好等優(yōu)點(diǎn)。
1 自相關(guān)檢測原理
設被測信號x(k)由有用信號s(k)和噪聲u(k)組成:
x(k)=s(k)+u(k)
x(k)的自相關(guān)函數為:
式中:Rs(m)為s(k)的自相關(guān)函數;Rsu(m)為s(k)與u(k)的互相關(guān)函數;Rus(m)為u(k)與s(k)的互相關(guān)函數;Ru(m)為u(k)的自相關(guān)函數。由于在電路系統中主要為白噪聲,有Rsu(m)=Rus(m)=0,隨著(zhù)m的增大,
根據維納一辛欽定理,功率信號的自相關(guān)函數與其功率譜密度函數具有傅里葉變換關(guān)系,所以可以用FFT計算自相關(guān)函數。但是,實(shí)際采樣值只有N+1點(diǎn),所以求出的Rx(m)只能是自相關(guān)函數的估計值。當用FFT計算自相關(guān)函數時(shí),x(k)必須補N個(gè)零,使長(cháng)度變成2N+1,因此功率譜密度為:
對上式進(jìn)行IFFT就可以得到Rs(m)。
2 系統硬件設計
氣體濃度檢測系統硬件框圖如圖1所示。主要包括傳感器激勵信號的發(fā)生、傳感器位置的選取,信號采集以及外部存儲器的設計四個(gè)部分。其核心是ADSP-BF531芯片,它負責整個(gè)系統事務(wù)協(xié)調以及算法功能實(shí)現。系統工作過(guò)程中,DSP芯片通過(guò)設定 SPI控制器,控制DDS芯片AD9850產(chǎn)生一個(gè)特定的穩幅的超聲頻的正弦信號。這個(gè)信號通過(guò)放大器和多路開(kāi)關(guān)后,施加在指定的傳感器驅動(dòng)電極上,并驅動(dòng)傳感器發(fā)生同頻振動(dòng)。傳感器輸出信號經(jīng)由前置放大器放大到適當的程度,再經(jīng)過(guò)高精度的A/D芯片AD9235采樣后將轉換結果送到DSP進(jìn)行相關(guān)運算,計算出振動(dòng)幅度。
2.2 DSP與A119235的接口設計
ADSP-BF531處理器提供可直接與并行A/D和D/A轉換器、ITU R601/656視頻編碼和解碼器以及其他通用外設連接的并行接口(PPI)。PPI包括一個(gè)專(zhuān)用時(shí)鐘引腳,多達3個(gè)幀同步引腳和多達16個(gè)數據引腳。輸入時(shí)鐘支持系統時(shí)鐘一半的并行數據傳輸率。PPI采用DMA方式,可以直接把數據存放在SDRAM或者送到內核進(jìn)行處理。它能與12 b A/D采樣芯片AD9235完全兼容,電路接口簡(jiǎn)單,A/D芯片和PPI采用同一時(shí)鐘來(lái)同步數據。同時(shí)AD9235的數據溢出位作為數據最高位接到 PPI,在計算過(guò)程中,可以通過(guò)判斷該位對壞數據進(jìn)行剔出,其電路接口如圖3所示。
3 系統軟件設計
氣體濃度檢測系統軟件設計包括DSP初始化程序、中斷向量表、應用程序(包括響應外部中斷程序)、數據后處理程序。檢測系統啟動(dòng)時(shí)首先運行內部ROM固化的Boot-Loader程序,將存儲在FLASH中的程序代碼加載到DSP內部RAM 中。程序首先是初始化系統,通過(guò)配置DSP內部寄存器,確定DSP具體的工作狀態(tài),然后是中斷響應程序以及數據后處理程序。系統程序框圖如圖4所示,自相關(guān)運算在中斷子程序中完成,為方便移植所有程序都采用結構化C語(yǔ)言完成。本檢測系統在工作過(guò)程中,對每一頻點(diǎn)采樣4 092點(diǎn),將每個(gè)頻點(diǎn)采樣值進(jìn)行自相關(guān)運算,恢復出微弱信號,并計算該頻率傳感器響應幅度。前面已經(jīng)證明在DSP內進(jìn)行自相關(guān)運算可以用FFT來(lái)實(shí)現。
FFT算法中的倒序可以由DSP變址方便實(shí)現,整個(gè)推導過(guò)程由三重循環(huán)構成,外層的循環(huán)控制有M級的順次運算(M=log2N),內層的兩個(gè)循環(huán)一起控制同一級中各個(gè)碟型運算單元,最內層的一個(gè)循環(huán)控制為同一類(lèi)型的碟型運算。本程序采用基-2時(shí)間碟型運算,碟型運算的計算關(guān)系為:
這里的X(M-1)(k)和X(M-1)(j)分別表示第M-1級中上節點(diǎn)和下節點(diǎn)的值,XM(k)和XM(j)分別為第M級中上節點(diǎn)和下節點(diǎn)的值,k是j的對偶節點(diǎn),依據上述公式可以實(shí)現序列的同址運算。
4 結 語(yǔ)
實(shí)驗證明,基于微氣體傳感器的氣體濃度檢測系統能有效地檢測出傳感器的微弱信號。系統以 Black-fin531為核心,結合DDS技術(shù)和自相關(guān)檢測方法,硬件設計簡(jiǎn)單可靠,程序采用結構化的C語(yǔ)言,通用性和移植性好,易于DSP實(shí)現。系統很好地滿(mǎn)足了氣體濃度檢測的需要,測量精度高,算法簡(jiǎn)單,可以用于氫氣等多種氣體的檢測。
評論