新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TCPIP協(xié)議的高精度多路超聲信號(hào)采集系統(tǒng)

基于TCPIP協(xié)議的高精度多路超聲信號(hào)采集系統(tǒng)

作者: 時(shí)間:2011-04-25 來源:網(wǎng)絡(luò) 收藏


3 系統(tǒng)軟件設(shè)計(jì)


3.1 中心控制節(jié)點(diǎn)軟件設(shè)計(jì)


中心控制節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括兩點(diǎn),一是控制數(shù)據(jù)采集節(jié)點(diǎn)的開始與停止,二是接收并保存數(shù)據(jù)采集節(jié)點(diǎn)發(fā)送的數(shù)據(jù)。由于系統(tǒng)的通信采用的是基于面向無連接的UDP數(shù)據(jù)報(bào)協(xié)議,并且系統(tǒng)所掛的分支數(shù)據(jù)采集節(jié)點(diǎn)數(shù)是可選擇的,所以為了確保數(shù)據(jù)的正確傳輸和確定系統(tǒng)所掛的分支節(jié)點(diǎn)數(shù),在工作開始的階段增加了一個(gè)握手的過程。首先數(shù)據(jù)采集節(jié)點(diǎn)在上電初始化后向中心節(jié)點(diǎn)發(fā)送建立連接請求,中心節(jié)點(diǎn)在接收到連接請求后保存該節(jié)點(diǎn)的IP地址,并檢測是否有足夠的內(nèi)存資源,若內(nèi)存夠,則向相應(yīng)節(jié)點(diǎn)發(fā)送連接成功數(shù)據(jù)報(bào),若內(nèi)存資源不夠,則發(fā)送連接失敗數(shù)據(jù)報(bào)。握手過程進(jìn)行后中心控制節(jié)點(diǎn)發(fā)送開始采集廣播報(bào),隨后各個(gè)數(shù)據(jù)采集節(jié)點(diǎn)開始數(shù)據(jù)采集。為了及時(shí)接收數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù),中心節(jié)點(diǎn)將接收子程序放入中斷中,在非中斷期間進(jìn)行SD卡的寫操作。中心控制節(jié)點(diǎn)的軟件流程圖如圖5所示。為了保證系統(tǒng)的實(shí)時(shí)性,在對SD卡的操作中并未應(yīng)用文件系統(tǒng),而是將DSP中各個(gè)緩沖區(qū)的內(nèi)容依次寫入SD卡的相鄰地址中,這樣若系統(tǒng)所掛的數(shù)據(jù)采集節(jié)點(diǎn)為N個(gè),則第i個(gè)節(jié)點(diǎn)的兩幀數(shù)據(jù)中間相隔N-1個(gè)數(shù)據(jù)幀。在讀取SD的上位機(jī)中編寫相應(yīng)的軟件便可正確讀取每一個(gè)數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)。

3.2 數(shù)據(jù)采集節(jié)點(diǎn)軟件設(shè)計(jì)


3.2.1 數(shù)據(jù)格式的設(shè)計(jì)


每一個(gè)采樣點(diǎn)的數(shù)據(jù)采用32位長整形來存儲(chǔ),包括24 bit的A/D采樣轉(zhuǎn)換結(jié)果,4 bit的放大階碼,其余位用0填充。UDP報(bào)除去數(shù)據(jù)鏈路層的包頭,有效的負(fù)載為46~1 500 B,再除去UDP的首部8 B和IP的首部20 B,這樣一個(gè)UDP幀的有效最大負(fù)載為1 472 B。因?yàn)樵谥行墓?jié)點(diǎn)寫入SD卡的過程中沒有采用文件系統(tǒng),所以需要在數(shù)據(jù)幀中添加必要的輔助信息,為此在每個(gè)包后附加一個(gè)8 bit的節(jié)點(diǎn)號(hào)信息和和一個(gè)24 bit的數(shù)據(jù)包號(hào)信息,這樣除每個(gè)數(shù)據(jù)采集節(jié)點(diǎn)發(fā)送的第一幀為避免沖突而采用不同的幀長度外,每一個(gè)UDP幀發(fā)送45個(gè)采樣點(diǎn)的數(shù)據(jù),具體的數(shù)據(jù)格式如圖6所示。

3.2.2 數(shù)據(jù)采集節(jié)點(diǎn)工作流程


數(shù)據(jù)采集節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括按照中心控制節(jié)點(diǎn)的命令進(jìn)行采集以及將采集到的數(shù)據(jù)進(jìn)行封裝并發(fā)送到中心控制節(jié)點(diǎn)。首先在上電初始化后,和中心節(jié)點(diǎn)進(jìn)行握手,握手成功后,等待開始采集命令,接到開始采集命令后開始采集,在A/D轉(zhuǎn)換完成中斷中進(jìn)行轉(zhuǎn)換數(shù)據(jù)和放大階碼的讀取,在非中斷期間發(fā)送數(shù)據(jù)到中心控制節(jié)點(diǎn)。由于A/D轉(zhuǎn)換芯片輸出兩次轉(zhuǎn)換數(shù)據(jù)的時(shí)間間隔較小,并不能保證在這段時(shí)間中數(shù)據(jù)被完全發(fā)送,新的轉(zhuǎn)換數(shù)據(jù)可能會(huì)覆蓋掉未發(fā)送的數(shù)據(jù)。因此采用“乒乓”操作技術(shù),在分支節(jié)點(diǎn)的DSP中開辟兩個(gè)發(fā)送緩沖區(qū),當(dāng)一個(gè)發(fā)送緩沖區(qū)滿的時(shí)候?qū)/D轉(zhuǎn)換數(shù)據(jù)寫入另一個(gè)數(shù)據(jù)緩沖區(qū),同時(shí)發(fā)送此緩沖區(qū)中的數(shù)據(jù)。這樣,數(shù)據(jù)只要在兩個(gè)緩沖區(qū)同時(shí)寫滿之前發(fā)送完成就不會(huì)造成數(shù)據(jù)的丟失。具體的流程圖如圖7所示。


4 實(shí)驗(yàn)結(jié)果及結(jié)論


為了驗(yàn)證本系統(tǒng)的性能,對已知的正弦波信號(hào)源進(jìn)行采集,并和MPS-140801多路數(shù)據(jù)采集卡進(jìn)行對比。MPS-140801采集卡在一塊板卡上集成了八路數(shù)據(jù)采集通路,將遠(yuǎn)端傳感器的模擬信號(hào)引到近端經(jīng)過放大后進(jìn)行采集。


實(shí)驗(yàn)時(shí)數(shù)據(jù)傳輸?shù)木嚯x為50 m。測試信號(hào)是峰值為2 V,頻率為20 kHz的正弦波。
圖8為本文設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)的采集結(jié)果,圖9為MPS-140801數(shù)據(jù)采集卡的采集結(jié)果。

通過采集到的波形可以明顯看出,經(jīng)過長距離的傳輸后,MPS-140801數(shù)據(jù)采集卡采集的數(shù)據(jù)混入了較多的噪聲。計(jì)算得出本文設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)信噪比比MPS-140801數(shù)據(jù)采集卡的信噪比提高了近20 dB,從而驗(yàn)證了本系統(tǒng)較傳統(tǒng)的數(shù)據(jù)采集卡具有較高的精度。


本文設(shè)計(jì)的基于TCP/IP協(xié)議的數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)了數(shù)據(jù)采集和傳輸?shù)娜虜?shù)字化,同時(shí)采用基于預(yù)采樣的自動(dòng)增益處理技術(shù),大大提高了系統(tǒng)的精度,從而具有較高的實(shí)用價(jià)值。


上一頁 1 2 下一頁

關(guān)鍵詞: TCPIP 超聲信號(hào)采集

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉