吳愛平李勇華
(1.長江大學電子信息學院 湖北荊州) (2.勝利油田鉆井院 山東東營)
基于FPGA的電纜遙測系統(tǒng)接口電路設計
吳愛平1李勇華2
(1.長江大學電子信息學院 湖北荊州) (2.勝利油田鉆井院 山東東營)
根據(jù)FPGA可編程技術具有功能集成度高,設計靈活,可靠性高的特點,提出了利用FPGA實現(xiàn)電纜遙測系統(tǒng)接口電路的方法,給出了FPGA設計的頂層圖,并對設計進行了仿真。結果表明,使用該方法設計的電纜遙測系統(tǒng)接口電路結構簡單,可靠性高。
FPGA;VHDL;電纜遙測系統(tǒng)
電纜遙測系統(tǒng)(CTS)是井下儀器與地面計算機測井系統(tǒng)之間的一種高速數(shù)據(jù)傳輸系統(tǒng),它在計算機指令的控制下,進行數(shù)據(jù)的采集,格式編排和傳輸,每一幀上行數(shù)據(jù)與下行指令中均含有幀同步字FSP和循環(huán)冗余校驗碼CRC。因此,CTS不僅數(shù)據(jù)傳輸率高,而且遙測高度可靠。任何新設計的井下儀器只要增加一個標準接口,就可以與CTS匹配。隨著電子技術的高速發(fā)展,可編程邏輯器件的廣泛應用為數(shù)字系統(tǒng)的設計帶來了極大的靈活性[1]。本文介紹一種基于FPGA的電纜遙測系統(tǒng)接口電路設計,利用VHDL語言編寫程序來實現(xiàn),提高了設計的可靠性和集成度。
CTS在井下采用了類似于計算機的體系結構,即在各井下儀器之間安排了三條串行總線,各井下儀器均與井下總線相連,每一井下儀器分別有規(guī)定的地址碼,地面計算機向井下發(fā)送指令,指令中包含井下儀器的地址碼和操作指令,井下儀器從指令中識別出自己的地址碼后執(zhí)行該指令,并把數(shù)據(jù)送至井下數(shù)據(jù)總線上。井下總線由下行信號線、上行時鐘線和上行數(shù)據(jù)/啟動線組成,下行信號線DSIG用來傳送下行指令,從井下遙測單元至井下儀器單向運行,下行信號DSIG既含數(shù)據(jù)信息也含下行時鐘信息,二者由井下儀器的總線接口電路分離;上行時鐘線UCLK單向運行,井下儀器的數(shù)據(jù)在上行時鐘UCLK的作用下逐位(串行)輸出至上行數(shù)據(jù)線上。由于各井下儀器是順序傳送數(shù)據(jù)的,所以上行時鐘線是按“菊花鏈”方式與各井下儀相連接。每幀開始時,上行時鐘UCLK先送至第一個井下儀[2],當?shù)谝粋€井下儀器的數(shù)據(jù)送完后,UCLK送至第二個井下儀器,依次類推直至把最后一個井下儀器的數(shù)據(jù)送完為止;上行數(shù)據(jù)線/啟動線UDATA/GO是雙向運行的,每幀開始時,井下遙測單元通過UDATA/GO總線發(fā)出GO脈沖,通知各井下儀器,做好傳送數(shù)據(jù)的準備,各井下儀器在上行時鐘UCLK的作用下,依次把數(shù)據(jù)送至上行線上進行數(shù)據(jù)上傳。
本文設計的CTS接口電路以兩支井下儀器的組合為例,井下儀器1的每幀數(shù)據(jù)量為64位,井下儀器2的每幀數(shù)據(jù)量為192位。每幀開始時,井下遙測單元發(fā)出GO脈沖,320μs后,井下遙測單元發(fā)出256個UCLK,UCLK的下降沿把井下儀器1的64位數(shù)據(jù)逐位選通到UDATA/GO總線上。第一個井下儀器的數(shù)據(jù)送完之后在控制電路的作用下,UCLK送至第二個井下儀器,直至把井下儀器2的數(shù)據(jù)送完。井下遙測單元下發(fā)的指令DSIG經(jīng)信號分離后,分離出串行的數(shù)據(jù)信息和下行時鐘,通過移位寄存器進行串并轉換。FPGA器件選用ALTERA公司的FLEX10K10TC144,筆者在FPGA內(nèi)設有四個模塊:移位寄存器模塊、延遲電路模塊、比較器模塊和時鐘控制電路模塊。FPGA中頂層設計框圖如圖1所示。DCLK為下行時鐘,DDATA為下行指令,UCLK為上行時鐘,UDATA為儀器上傳的數(shù)據(jù),GOP為啟動脈沖。在下行時鐘下利用移位寄存器將下發(fā)的指令解析出來,BIW高七位是儀器的地址碼,BIW低八位是下發(fā)給相應儀器的指令,延遲電路模塊是移位結束待數(shù)據(jù)穩(wěn)定后再進行地址比較識別,以免出錯。比較器模塊用于地址識別,判斷指令對哪支儀器操作??刂齐娐纺K根據(jù)儀器的數(shù)據(jù)量控制菊花鏈的斷開和接通,依次將各儀器的數(shù)據(jù)上傳。
圖1 FPGA頂層設計框圖
FPGA中移位寄存器模塊、延遲電路模塊、比較器模塊和時鐘控制電路模塊程序采用VHDL語言編寫,開發(fā)平臺為MAXPLUSII。下面以移位寄存器模塊為例講述FPGA中的程序設計。RESET為系統(tǒng)復位信號,高電平有效,DIR為32位串行數(shù)據(jù),DCLK為下發(fā)時鐘,q[31..0]為移位數(shù)據(jù)輸出。串行數(shù)據(jù)在DCLK作用下進行移位,程序結構體中使用一個進程,以DCLK為敏感信號,DCLK上升沿觸發(fā),移位寄存器模塊生成的元件圖如圖2所示。FPGA頂層亦采用VHDL語言編寫,利用元件例化語句,采用位置關聯(lián)方式將移位寄存器模塊、延遲電路模塊、比較器模塊和時鐘控制電路模塊進行有效連接,實現(xiàn)CTS的接口。
圖2 移位寄存器元件圖
為確保設計的可行性,對各模塊都進行了功能仿真和時序仿真。功能仿真只是從電路的功能上驗證設計的正確性,電路中沒有延時;而時序仿真能模擬實際電路中的器件延時,從而能進一步驗證設計的正確性[3]。移位模塊時序仿真波形如圖3。從圖中可以看到,Reset為高電平時,系統(tǒng)清零,q輸出00000000H,共32位。當Reset為低電平,d一直保持高電平,dclk每來一個時鐘,在時鐘的上升沿將d的數(shù)據(jù)移入q,q的數(shù)據(jù)低位為1,高位移出,在100ns處,經(jīng)過4個時鐘后,q輸出0000000FH,即q低4位為1111。通過該模塊,下傳指令就寄存到移位寄存器的可讀輸出端,將移位寄存模塊的輸出作為地址識別模塊的輸入信號,與井下儀器的地址碼進行比較識別以及向井下儀器發(fā)送下傳指令。
圖3 移位功能模塊仿真圖
本設計采用自頂向下的系統(tǒng)設計方法,并采用VHDL語言輸入,筆者自己定義器件的內(nèi)部邏輯和管腳,將工作放在芯片的設計中進行,這樣不僅可以通過芯片設計實現(xiàn)多種邏輯功能,而且增加了設計的靈活性、可靠性,縮短了開發(fā)周期,提高了效率。
[1] 劉雁飛,吳 進.基于CPLD的曼徹斯特編譯碼實現(xiàn)[J].西安:西安郵電學院學報,2003,15(1)
[2] 龐巨豐.測井原理及儀器[M].北京:科學出版社,2008
[3] 吳愛平,熊曉東.基于FPGA的測井信號分離卡的設計[J].石油儀器,2005,19(2)
TN914
B
1004-9134(2010)03-0090-02
2009-08-25 編輯:姜 婷)
吳愛平,男,1977年生,碩士,講師,2000年畢業(yè)于江漢石油學院,現(xiàn)在長江大學電子信息學院主要從事信號采集與處理的教學和科研。郵編:434023