黃菲,雙凱,楊婕,孫奇俏
(中國石油大學(北京)北京 102249)
?
石油井下儀器總線測井數據傳輸及0FDM調制的設計
黃菲,雙凱,楊婕,孫奇俏
(中國石油大學(北京)北京102249)
摘要:為了實現井下與地上數據實時、準確的傳輸,提出了一種基于1553B總線的數據傳輸設計方案,并完成相應設計,同時完成地上數據的調制方案設計。該電路接口板的硬件部分使用FPGA芯片完成,采用Verj1og HDL語言進行編程,可以完成數據的傳輸。數據調制同樣也是采用Verj1og HDL語言進行編程,并完成仿真測試。
關鍵詞:數據傳輸;數據調制;OFDM;FPGA;曼徹斯特編解碼
石油鉆井是一個傳統行業[1]。近幾年來科學技術越來越進步,隨之也出現了許多新技術、新設備。特別是20世紀80年代以來,信息技術開始應用于油氣鉆井,對一些新的井下控制工具以及新的測量儀器的研制也取得了比較大的突破[2]。測井技術要受到網絡技術、電子技術、遙測遙控技術、計算機技術、通信技術等多學科的支撐。但從硬件的角度上來說,測井系統又是一個復雜的多模塊系統,各個模塊與系統之間準確無誤的傳輸數據和控制信息才能使測井系統高效準確無誤的工作。然而從鉆井時的環境角度來看,測井環境十分惡劣。特別是在幾千米或是更深的地層中作業時,部分儀器裝備必須耐高溫、高壓,而且系統與系統、模塊與模塊之間要進行指令通信和數據通信,并且有時傳輸距離較遠。
綜上,研究出高可靠性、高效率的通信技術,是具有十分重要的意義的。為了實現實時、準確的數據傳輸及調制,在研究了傳輸及調制的原理的基礎上,設計了一種基于1553B總線的數據傳輸及調制的設計。該設計能夠完成準確的數據傳輸及調制。
1.1整體原理
井下儀器通信系統主要包括兩個部分:井下遙傳短節和遠程通信單元。它們在測井通信系統中的分布如圖1所示。本文所設計的數據傳輸就是圖中RTU部分,該部分完成了儀器與遙傳短節之間的互聯通信。而OFDM調制則是井下數據傳輸到地面時,所采用的一種新型的調制方法。

圖1 總體原理圖
1.2曼徹斯特編碼規則
曼徹斯特的編碼規則是在每一個碼元中點發生一次跳變,“1”表示高電平到低電平的跳變,“0”表示低電平到高電平的跳變,如圖2(a)所示。碼元“1”編碼后與時鐘一致,碼元“0”編碼后與時鐘相反(相位)[3]。當需要傳輸信息有連續的“1”或“0”時,曼徹斯特碼保持“1”或“0”的跳變。
根據編碼規則可知,曼徹斯特碼可以提供足夠的定時分量,在數據傳輸中不會出現連續3個高電平或者是連續3個低電平,高低電平是等概率出現的無直流分量。因此,在大數據遠距離傳輸過程中采用曼徹斯特碼是比較合適的[4]。
1.3曼徹斯特碼的幀格
曼徹斯特碼的幀格式由同步頭、數據位和校驗位3部分構成,每幀總共長度為20位。前3位是同步頭,同步頭可分為命令同步頭和數據同步頭,以1.5位處為間隔,先正后負表示命令字頭,先負后正表示數據字頭。同步頭可以區分幀的類型和標識幀傳輸的開始;4-19位是數據位,16位編碼數據是由高到底,一般數據傳輸是都會有起始位和停止位曼徹斯特碼的數據位全部是有效的數據位,提高了傳輸的有效性和速率;20位是奇偶校驗位,對4-19位數據進行奇偶校驗,本文采用的是奇校驗。
1.4數據調制的原理
井下各傳感器的數據經過1553B井下總線,傳輸到井下的調制解調器。在現在的高速測井傳輸系統中,大都采用OFDM傳輸方式[5]。井下調制解調器需要完成頻域信號到時域信號的轉換,即IFFT模塊,但在井下高溫高壓、小尺寸的環境中,如何快速實現多點數的IFFT模塊設計,是一直困擾OFDM電纜傳輸系統的的難題之一。采用現有的IFFT模塊,硬件資源消耗比較大,系統的頻率也是個難點。本設計采用尋找查表的方案[6],實現各個正交子載波的疊加,從而大大減少了運算量和資源占用率,即將頻域序列X(k)與子載波相乘的結果提前存入序列存儲器里,在每個時刻通過類似尋址的方式將結果取出進行疊加,最后將所有時刻的序列進行疊加完成頻域序列X(k)到時域序列s(n)的轉換。
時域序列Sk(n)其實就是頻域序列X(k)與子載波Aejωkn相乘取實部的結果,假設X(k)為

那么sk(n)為



其中N為子載波的個數,ω1,ω2,…,ωk,…,ωN-1是數字相對角頻率,并且滿足公式

上述方案可知需要2N個基于查表原理的正、余弦存儲器組,每個存儲器量化MN個數據,其中M為插值倍數,N為子載波個數。從運算的角度來看,需要2N個乘法器,2個N輸入的加法器。看上去似乎是需要占用的資源很多,但其實不然。
由于Q(k)和I(k)與之前數據調制的方式有關,并且其取值通常是非常有限的,所以可以提前把這些數據與正余弦因子相乘的結果存入存儲器,這樣就可以避免使用乘法器,從而提高系統占用資源和系統頻率。至于余弦,只不過是與正弦相差弧度,因此只需從正弦存儲器里隔開π2wk個點取值即可。例如數據源經過16QAM調制,Q(k)和I(k)的值在一個OFDM符號內就是±1或是±3中的一個。如果要是計算3·Acoswkn或者是-3Acoswkn,那么可以將3Asjnw1n的序列存起來,然后每隔k-1個點取出相加。
2.1曼徹斯特編碼設計
編碼模塊就是對串行輸入的數據進行曼切斯特編碼,加上同步頭和奇校驗位之后,輸出雙極性的數據。編碼器需要一個2倍于數據速率的時鐘信號。在編碼移位時鐘(ENCODER SHIFT CLOCK)的下降沿,并且編碼使能(ENCODER ENABLE)為高電平時編碼開始。需要注意的是,ENCODER ENABLE必須保持一個字節的長度或是20個ENCODER SHIFT CLOCK時鐘周期。在下一個編碼移位時鐘的上升沿時,同步頭選擇輸入會產生相應的同步頭。其中若同步頭為高電平則生成的是命令同步頭,如果為低電平則生成的是數據同步頭。編碼器準備好接受數據的標志是,SEND DATA輸出高電平,并且這個高電平要持續16個編碼移位時鐘周期。在這期間,在每個ENCODER SHIFT CLOCK的下降沿將數據從SERIAL DATA輸入端讀入,這樣就可以保證數據在上升沿能進行采樣。隨后對輸入的16位數據進行編碼。編碼后的數據通過兩個雙極性的輸出端BIPOLAR ZERO和BIPOLAR ONE,在輸出的數據末位會有校驗位,來對編碼的數據進行校驗。
在進行設計時需要注意的是:如果編碼使能一直持續高電平的話,將會導致編碼的數據中間沒有時間空隙,有可能會造成數據的重復編碼,導致通訊不準確。因此,編碼使能要在適時的時候變為低電平,避免以上情況的發生。在任何時候只會影響雙極性輸出端,對編碼的其他功能沒有任何影響。如果需要停止編碼,可設置MASTER RESET為高電平,而且必須是在SEND CLOCK的上升沿。
2.2曼徹斯特解碼設計
譯碼也需要一個單個解碼時鐘,這個時鐘是數據速率的12倍。需要解碼的數據可以有兩種方式,一種是作為輸入數據,另外一種輸入數據是。譯碼的輸入UNPOLAR DATA只能接受一種數據輸入。譯碼器會不斷的監視著數據輸入,一旦檢測到有效的同步字頭和曼徹斯特數據位時,譯碼就可以開始了。當檢測到有效的同步字頭時,這個同步字頭的類型是在COMMAND/DATA SYNC端輸出。如果同步字頭為命令同步頭,則該輸出端輸出高電平,并且保持16個譯碼移位時鐘周期(ENCODER SHIFT CLOCK);如果為數據同步頭,則COMMAND/DATA SYNC端輸出16個譯碼移位時鐘周期的低電平。當譯碼器輸出端SERIAL DATA OUT輸出解碼數據期間,TAKE DATA端會輸出高電平。SERIAL DATA OUT輸出的解碼數據是NRZ格式。在每一個譯碼移位時鐘的下降沿,輸出數據。
所有的數據傳輸完成后,會進行奇校驗。如果所有的數據進行校驗后,沒有任何錯誤,那么將輸出數據有效位VALID WORD,并且該有效位為高電平。譯碼完成后,譯碼器會開始尋找下一個同步頭進行譯碼。如果在編碼移位時鐘的上升沿上譯碼復位為高電平,那么將會終止現在傳輸并且譯碼器清零,并且開始尋找新的同步字頭。
2.3數據調制設計
依據上面的調制原理,對輸入的數據源進行相應的調制,如本設計采用的是16QAM調制,借助Mat1ab將調制好的數據與正弦序列相乘得到的結果存在RAM中。當第n個c1k時(n=0,1,2,…,MN-1),X(k)就會從某個正弦存儲器里取值,然后相加得到sk(n),這樣每個時刻都會有一個數據,一共N個數據,這N個數據相加就得到此時的s(n)。隨著c1k的到來,s(n)的值可以被計算出來。
為保證設計的正確性,將系統模塊在Ljbero中進行功能仿真和時序仿真,結果如圖3所示:輸入數據dj16為“1000100000000001”,編碼開始后,有效信號DE置1,編碼輸出nBIPOLAR-ONE-OUT輸出同步信號“000111”,在DE 置1后的第5個。時鐘后SEND-DATA置1,此時QH端開始發送串行數據,數據編碼開始,發送完16位數據后SEND-DATA置0。數據編碼完成后加奇校驗位,DE也變為低電平。曼徹斯特編碼輸出nBIPOLAR-ONE-OUT=”000111………”,仿真的結果與理論分析完全吻合。

圖2 數據調制設計圖

圖3 編碼仿真結果

圖4 解碼仿真結果
解碼的仿真波形如圖4所示:解碼模塊的數據輸入(UNIPOLAR DATA IN)來自于曼徹斯特編碼編碼模塊的輸出(nBIPOLAR-ONE-OUT)。完成同步頭檢測(“000111”)。解碼開始后,同步信號指示輸出COMMAND-SYNC=0,使能信號TAKE-DATA =1,輸出端連續輸出串行數據SERIAL-DATA-OUT,在使能信號置1后的16個解碼位移時鐘后又變為0。串行數據輸出完畢后校驗驗證正確,有效字VALID-WORD變為高電平。經過串并轉換完全恢復出進入編碼模塊的16位并行數據“1000100000000001”,仿真結果與期望一致。

圖5 接口板測試結果

圖6 OFDM仿真圖

圖7 Mat1ab中的OFDM仿真圖
由于電路接口板既要能接受數據,也要發送數據,所以本測試采用一塊電路接口板完成自發自收的功能。將電路接口板連接串口,發送AA BB CC DD EE,經接口板傳輸,返回在串口上,可以看到傳輸正確。
采用本文所研究的新型OFDM調制方法的仿真結果如下圖所示,可以看到其輸出與MATLAB中合成的OFDM波形相吻合[7]。
本文設計了一種井下數據傳輸及調制系統,井下各傳感器采用1553B總線進行傳輸通信,實現數據采集,井下調制解調器采用尋址方式的OFDM調制方式對采集的數據進行調制。該設計采用Verj1og HDL作為設計語言,對每一部分分別進行仿真和綜合,較之傳統的測井傳輸系統,本文所采用設計方法可以降低系統的損耗,提高系統的性能。
參考文獻:
[1]裴斐,劉鑫剛.應用于隨鉆測井系統的1553B通信模塊設計[J].中國石油和化工,2011,50(1):45-47.
[2]彭欣云.隨鉆測量系統信號傳輸方式的研究[D].成都:西南石油大學,2011.
[3]吳昊,周越文,毛東輝等.基于Verj1og的曼徹斯特II型碼解碼器設計[J].計算機測量與控制,2012,20(7):1989-1991.
[4]黃熙,王成林,方泳濤.基于FPGA實現HD-15530編譯碼器[J].電子測量技術,2006,29:54.
[5]田耘,徐文波,張延偉.無線通信FPGA設計[M].北京:電子工業出版社,2007.
[6]劉三軍,馬猛,焦秉立.一種基于DDS原理的OFDM發射機的實現方法[P].中國,CN103200145A.2013.07.01
[7]張平. MATLAB基礎與應用[M].北京:北京航空航天大學出版社,2007.
Downhole logglng data transmlsslon and 0FDM modulatlon deslgn
HUANG Fej,SHUANG Kaj,YANG Jje,SUN Qj-qjao
(China University of Petroleum,Beijing 102249,China)
Abstract:In order to achjeve rea1-tjme and accurate data transmjssjon between underground and aboveground.Thjs paper proposed desjgn program based on 1553B bus jnterface cjrcujtry board,comp1eted the desjgn and data modu1atjon scheme on the ground. Because the hardware part of the cjrcujt jnterface board used FPGA chjp to comp1ete and Verj1og HDL 1anguage to program,the paper can comp1ete the transfer of data. Data modu1atjon js a1so usjng Verj1og HDL 1anguage programmjng and comp1etejng sjmu1atjon test.
Key words:data transmjssjon;data modu1atjon;OFDM;FPGA;manchester codec
中圖分類號:TN913
文獻標識碼:A
文章編號:1674-6236(2016)07-0144-04
收稿日期:2015-05-13稿件編號:201505116
作者簡介:黃菲(1990—),女,山東菏澤人,碩士研究生。研究方向:電子系統與通信裝置。