徐 飛,胡 軍,劉 彤,許林康
(1.西安石油大學,陜西 西安 710065;2.西安應用光學研究所,陜西 西安 710065)
采用合適的數字通信技術在數據傳輸方面顯得格外重要,傳統的信號源是采用復雜的硬件電路組成。這樣的信號源電路結構復雜、參數固定、調試和維修比較困難以及頻率精度不高等缺點[1]。直接數字頻率合成技術有著頻率切換快、帶寬寬、相位連續性好以及頻率分辨率高等優點[2]。所以此項技術也被廣泛應用在石油開采方面,因此采用一種又省時、又省力的實時的井下數據采集辦法是多年來眾多國內外石油公司研發部門一直夢寐以求的一項技術[3-4]。
井下聲波傳輸FSK系統主要測量井下溫度信息,溫度測量模塊采用DS18B20溫度傳感器,DS18B20采用單總線結構。它與DSPIC僅需DQ這一數據線就可實現與DSPIC的雙向通訊。DSPIC測得溫度傳感器的十進制數字信號后,在DSPIC內將這些十進制信號轉換為二進制信號。在DSPIC內部定時器的作用下,每隔一段時間進入定時器根據二進制信號的值改變相關引腳的電平值。
為了保證測量到的每組溫度信息,都轉換成真實有效的FSK調制基帶信號,編寫了溫度采集及基帶信號產生程序流程框圖。圖1為程序流程框圖。

圖1 溫度采集及調制載波信號發生程序流程框圖
系統初始化后,溫度傳感器采集井下溫度信息。DSPIC內部通過十進制轉二進制算法即將所需轉化的數除以2,所得余數為k1,將所得商再除以2,所得余數為k2……重復步驟直到商為0;讀數時從最后一個余數讀起,即kn,k(n-1)…k2,k1;所得數便是轉化成的二進制數。將這些二進制數據存儲到一個數組data里面。隨后啟動定時器,定時器預裝載值設為5625。
當計數器超過預裝載值6630時,進入定時器中斷。在中斷程序里面得到data數組里面的值。設立一個計數值cnt,每當進入一次定時器中斷,cnt加一。Data數組的索引值index加一。從而判斷data數組里面的數組為0還是為1,如果為0,輸出基帶信號引腳RC5的電平值為0;反之,則設為1。當cnt的值為8的時候,cnt的值重新設為0。這樣,DSPIC就將十進制的溫度數據轉換為二進制的基帶信號。
調制基帶信號產生后,DSPIC與外部AD9834采用模擬三線SPI通信。通過軟件處理將數據寫入AD9834寄存器中,AD9834轉換為正弦波。當基帶信號為1時,輸出5k左右頻率的正弦波,當頻率為0時,輸出10k左右頻率的正弦波,這樣調制信號產生了。
軟件設計包括DSPIC與AD9834模擬SPI通信,寫入不同的頻率控制字產生不同頻率的正弦波以及結合基帶信號產生調制信號。程序框圖見圖2所示。

圖2 調制信號產生流程框圖
系統上電復位之后,對各模塊進行初始化。定時器初始化,當計數器值溢出后,進入定時器中斷,中斷程序里面產生基帶信號。當基帶信號為高電平“1”時,向AD9834里面寫入頻率控制字0x4001和0x50c7。由于AD9834的輸出頻率fout=fMCLK*頻率寄存器的值/2^28,可以得出fout=5.7KHZ。同理,當基帶信號為高電平“0”時,向AD9834里面寫入頻率控制字0x4002和0x50c7,可以得出fout=10.2kHZ。
為了驗證整個系統的正確性,用示波器顯示最終的調至波形結果。圖3是溫度十進制信息經過相應的十進制轉二進制算法后,在定時器的作用下,產生的基帶信號。由基帶信號可知,溫度二進制數據為“0001 0001”,所以溫度二進制數據為17℃。圖4是調制信號,從圖4中可以看出,‘0’代表的一種頻率,‘1’代表另一種頻率。

圖3 基帶信號

圖4 調制信號
圖5是對調制信號放大后的波形,當基帶信號為‘1’的時候,產生了頻率為5.682kHZ的正弦波。圖6也是對調制信號放大后的波形,當基帶信號為‘0’的時候,產生了頻率為10.42kHZ的正弦波。由此可以看出,整個系統驗證正確。

圖5 5.682 kHZ的正弦波

圖6 10.42kHZ的正弦波
本系統利用DSPIC作為主控芯片,配合外部溫度傳感器和DDS芯片AD9834完成井下聲波傳輸的FSK調制。該系統的調制由軟件完成,節省了井下空間,降低了聲波在井下傳輸過程造成的衰減問題,在井下聲波傳輸領域有較廣泛的應用前景。