旋轉導向工具中聲波短傳的信號處理方法研究
單片機傳送數據到AD9833的時(shí)序如圖4所示。FSYNC引腳是使能引腳,電平觸發(fā)方式,低電平有效。進(jìn)行串行數據傳輸時(shí),FSYNC引腳必須置低。需要注意的是,在FSYNC開(kāi)始變?yōu)榈颓埃磳㈤_(kāi)始寫(xiě)數據時(shí)),SCLK必須為高電平。

圖4 單元機傳送數據到AD9833的時(shí)序圖
單片機寫(xiě)16位數據到AD9833時(shí),高位在前,低位在后。用軟件模擬時(shí)鐘信號和片選信號。傳送數據的程序如下:
SCLK=1;
FSYNC=1;
Delay(100);
FSYNC=0;
for(i=0;i16;i++)
{ SDATA=datas0x8000;
SCLK=0;
Delay(50) ;
SCLK=1;
datas=datas1;
}
Delay(50);
FSYNC=1;
SCLK=0;
輸出波形
在示波器上觀(guān)測FSK調制信號,可看到頻率為7230Hz的正弦信號輸出,實(shí)際輸出頻率為7.22985kHz。
接收信號處理
接收處理過(guò)程
由于聲波傳感器輸出的是模擬信號,因此在進(jìn)行ADC采樣之前必須進(jìn)行信號的預濾波處理??紤]到最大限度降低信號紋波的要求和濾波器的通帶濾波特性,本設計中采用Butterworth型濾波器。
經(jīng)過(guò)調理后的傳感器信號還不能立即被單片機采樣。這是因為,傳感器輸出信號的范圍是-5V~+5V,而單片機ADC模塊的輸入電壓范圍是0V~2.5V,所以調理后的傳感器信號必須經(jīng)過(guò)電壓轉換電路,由精密電壓芯片AD780為單片機提供2.5V標準的ADC參考信號。
程序設計
上位機應用程序是運用MATLAB的類(lèi)(Serial)和m語(yǔ)言開(kāi)發(fā),輔以MATLAB的GUIDE工具箱,程序開(kāi)發(fā)相對簡(jiǎn)單。SoC的程序應用C語(yǔ)言編制。下位機MCU接收到上位PC機的下發(fā)命令后,通過(guò)串口中斷程序轉入相應的子程序,執行相應操作,最后返回一個(gè)握手信號作為狀態(tài)標志,確認命令是否被正確執行。
幀同步識別
同步過(guò)程實(shí)際上就是尋找最大相關(guān)峰的過(guò)程。
先確定一個(gè)門(mén)限GATE,只有當乘累加的值大于GATE以后才開(kāi)始比較相關(guān)峰。GATE必須設定的意義有兩條:
(1)減少不必要的比較次數,提高程序執行效率;
(2)將隨機噪聲和lfm信號乘累加得出的偽最大相關(guān)峰濾掉。
出現大于門(mén)限GATE乘累加值時(shí),預示著(zhù)真實(shí)的lfm信號可能到來(lái)。找到相關(guān)峰值所在的位置,就可以知道信息碼的起始位。
評論