基于TCPIP協(xié)議的高精度多路超聲信號采集系統
3 系統軟件設計
3.1 中心控制節點(diǎn)軟件設計
中心控制節點(diǎn)的軟件設計主要包括兩點(diǎn),一是控制數據采集節點(diǎn)的開(kāi)始與停止,二是接收并保存數據采集節點(diǎn)發(fā)送的數據。由于系統的通信采用的是基于面向無(wú)連接的UDP數據報協(xié)議,并且系統所掛的分支數據采集節點(diǎn)數是可選擇的,所以為了確保數據的正確傳輸和確定系統所掛的分支節點(diǎn)數,在工作開(kāi)始的階段增加了一個(gè)握手的過(guò)程。首先數據采集節點(diǎn)在上電初始化后向中心節點(diǎn)發(fā)送建立連接請求,中心節點(diǎn)在接收到連接請求后保存該節點(diǎn)的IP地址,并檢測是否有足夠的內存資源,若內存夠,則向相應節點(diǎn)發(fā)送連接成功數據報,若內存資源不夠,則發(fā)送連接失敗數據報。握手過(guò)程進(jìn)行后中心控制節點(diǎn)發(fā)送開(kāi)始采集廣播報,隨后各個(gè)數據采集節點(diǎn)開(kāi)始數據采集。為了及時(shí)接收數據采集節點(diǎn)的數據,中心節點(diǎn)將接收子程序放入中斷中,在非中斷期間進(jìn)行SD卡的寫(xiě)操作。中心控制節點(diǎn)的軟件流程圖如圖5所示。為了保證系統的實(shí)時(shí)性,在對SD卡的操作中并未應用文件系統,而是將DSP中各個(gè)緩沖區的內容依次寫(xiě)入SD卡的相鄰地址中,這樣若系統所掛的數據采集節點(diǎn)為N個(gè),則第i個(gè)節點(diǎn)的兩幀數據中間相隔N-1個(gè)數據幀。在讀取SD的上位機中編寫(xiě)相應的軟件便可正確讀取每一個(gè)數據采集節點(diǎn)的數據。
3.2 數據采集節點(diǎn)軟件設計
3.2.1 數據格式的設計
每一個(gè)采樣點(diǎn)的數據采用32位長(cháng)整形來(lái)存儲,包括24 bit的A/D采樣轉換結果,4 bit的放大階碼,其余位用0填充。UDP報除去數據鏈路層的包頭,有效的負載為46~1 500 B,再除去UDP的首部8 B和IP的首部20 B,這樣一個(gè)UDP幀的有效最大負載為1 472 B。因為在中心節點(diǎn)寫(xiě)入SD卡的過(guò)程中沒(méi)有采用文件系統,所以需要在數據幀中添加必要的輔助信息,為此在每個(gè)包后附加一個(gè)8 bit的節點(diǎn)號信息和和一個(gè)24 bit的數據包號信息,這樣除每個(gè)數據采集節點(diǎn)發(fā)送的第一幀為避免沖突而采用不同的幀長(cháng)度外,每一個(gè)UDP幀發(fā)送45個(gè)采樣點(diǎn)的數據,具體的數據格式如圖6所示。
3.2.2 數據采集節點(diǎn)工作流程
數據采集節點(diǎn)的軟件設計主要包括按照中心控制節點(diǎn)的命令進(jìn)行采集以及將采集到的數據進(jìn)行封裝并發(fā)送到中心控制節點(diǎn)。首先在上電初始化后,和中心節點(diǎn)進(jìn)行握手,握手成功后,等待開(kāi)始采集命令,接到開(kāi)始采集命令后開(kāi)始采集,在A(yíng)/D轉換完成中斷中進(jìn)行轉換數據和放大階碼的讀取,在非中斷期間發(fā)送數據到中心控制節點(diǎn)。由于A(yíng)/D轉換芯片輸出兩次轉換數據的時(shí)間間隔較小,并不能保證在這段時(shí)間中數據被完全發(fā)送,新的轉換數據可能會(huì )覆蓋掉未發(fā)送的數據。因此采用“乒乓”操作技術(shù),在分支節點(diǎn)的DSP中開(kāi)辟兩個(gè)發(fā)送緩沖區,當一個(gè)發(fā)送緩沖區滿(mǎn)的時(shí)候將A/D轉換數據寫(xiě)入另一個(gè)數據緩沖區,同時(shí)發(fā)送此緩沖區中的數據。這樣,數據只要在兩個(gè)緩沖區同時(shí)寫(xiě)滿(mǎn)之前發(fā)送完成就不會(huì )造成數據的丟失。具體的流程圖如圖7所示。
4 實(shí)驗結果及結論
為了驗證本系統的性能,對已知的正弦波信號源進(jìn)行采集,并和MPS-140801多路數據采集卡進(jìn)行對比。MPS-140801采集卡在一塊板卡上集成了八路數據采集通路,將遠端傳感器的模擬信號引到近端經(jīng)過(guò)放大后進(jìn)行采集。
實(shí)驗時(shí)數據傳輸的距離為50 m。測試信號是峰值為2 V,頻率為20 kHz的正弦波。
圖8為本文設計的數據采集系統的采集結果,圖9為MPS-140801數據采集卡的采集結果。
通過(guò)采集到的波形可以明顯看出,經(jīng)過(guò)長(cháng)距離的傳輸后,MPS-140801數據采集卡采集的數據混入了較多的噪聲。計算得出本文設計的數據采集系統信噪比比MPS-140801數據采集卡的信噪比提高了近20 dB,從而驗證了本系統較傳統的數據采集卡具有較高的精度。
本文設計的基于TCP/IP協(xié)議的數據采集系統實(shí)現了數據采集和傳輸的全程數字化,同時(shí)采用基于預采樣的自動(dòng)增益處理技術(shù),大大提高了系統的精度,從而具有較高的實(shí)用價(jià)值。
評論