劉濤, 雙凱
(中國石油大學(北京), 北京 102249)
連續(xù)油管鉆井技術(Coiled Tubing Drilling,CTD)[1],具有無接頭、無變徑、曲率大、強度大、承壓高、體積小等特點,為進行短半徑、大位移、多側向的水平鉆井以及欠平衡、小井眼鉆井,提供了安全、先進、有效的技術手段。該技術是解決老井挖潛增效、難動用儲量開采的有效手段。和常規(guī)鉆井比較,連續(xù)油管鉆井能給水平鉆井和小井眼鉆井提供安全有效的技術手段,成本節(jié)省40%~50%。隨鉆測量主要使用泥漿脈沖、電磁波、聲波等無線傳輸媒介,具有傳輸速率低、衰減快等不足[2]。而連續(xù)油管的應用,使采用電纜作為隨鉆測量的傳輸媒介成為可能。建立穩(wěn)定、高效、快速的傳輸通道是隨鉆測量的關鍵技術之一[3]。隨鉆測量傳輸系統(tǒng)由2部分組成:地面?zhèn)鬏斚到y(tǒng)和井下儀器互連系統(tǒng),2部分由7芯測井電纜作為連接傳輸媒介。井下傳輸系統(tǒng)由井下調制解調器(遙傳短節(jié))、各種傳感器、儀器互聯(lián)總線等組成。傳感器測量的地質參數(shù)通過儀器互聯(lián)總線傳輸給遙傳短節(jié),經(jīng)過調制后經(jīng)由電纜上傳給地面系統(tǒng)[4]。
CAN(Controller Area Network)總線是ISO定義的新一代串行傳輸總線,屬于高度安全分布式實時現(xiàn)場總線[5],具有傳輸速率高、可靠性更高、實時響應更快等特點[6]?;谶B續(xù)油管的隨鉆測量系統(tǒng)較之傳統(tǒng)的測井工程,連續(xù)工作時間更長,系統(tǒng)更靠性。CAN總線上的任何節(jié)點都可以主動發(fā)送數(shù)據(jù),不需要預先的分配地址。本文基于CAN總線的特點,提出了具有冗余結構的井下傳輸總線,能夠較大地提高系統(tǒng)的穩(wěn)定性和有效性[7]。
FPGA具有提高系統(tǒng)集成、降低功耗、增加開發(fā)靈活度、節(jié)省開發(fā)成本等特點[8]。本文采用FPGA開發(fā)總線控制器,對CAN協(xié)議進行簡化和改進,以更加符合該系統(tǒng)要求。提出了一種具有冗余結構的井下傳輸總線協(xié)議,使用FPGA開發(fā)該總線控制器,以適合基于連續(xù)油管技術的隨鉆測量傳輸系統(tǒng)要求。
隨鉆測量傳輸系統(tǒng)主要分為2部分:地面系統(tǒng)和井下儀器互聯(lián)系統(tǒng),由7芯測井電纜連接。地面系統(tǒng)負責上傳信號的解調、數(shù)據(jù)顯示和控制命令的調制等功能。井下儀器互聯(lián)系統(tǒng)主要包括遙傳短節(jié)和數(shù)據(jù)采集系統(tǒng),主要負責各種地質參數(shù)的調制與控制命令的解調,各個儀器之間由雙絞線負責傳輸,使用基于CAN2.0的改進協(xié)議為儀器互聯(lián)總線。本文數(shù)據(jù)采集模塊分別由3個傳感器組成:方位傳感器、自然伽馬傳感器和壓力傳感器。各個傳感器與遙傳短節(jié)模塊等權重地連接在雙絞線上,其中傳感器通過遠程終端單元(Remote Terminal Unit,RTU)與雙絞線連接,其結構如圖1所示。
圖1 井下儀器互聯(lián)傳輸系統(tǒng)結構
比較OSI的7層模型,CAN總線具有3層模式結構:物理層、數(shù)據(jù)鏈路層和應用層。本文利用FPGA實現(xiàn)了其中的數(shù)據(jù)鏈路層,而物理層則選擇集成芯片實現(xiàn)。遙傳通信短節(jié)的RTU由1個發(fā)送接收器、1個主總線控制器和1個從總線控制器組成,各個傳感器的RTU則有1個總線控制器和1個發(fā)送接收器組成。
遙傳通信短節(jié)的總線控制器支持3種工作模式:運行模式、監(jiān)控模式和關閉模式。傳感器短節(jié)總線控制器則支持運行模式和關閉模式。在每個控制器中各有一個錯誤寄存器(Error Count,EC)用于錯誤計算。
遙傳通信短節(jié)的主總線控制器與從總線控制器的部分連接邏輯電路如圖2所示。m_i_0&1為輸入引腳,m_o_0&1為輸出引腳,當輸出值為11時表示Initial狀態(tài),00代表Bus Off,01代表Master狀態(tài),10代表Slave狀態(tài)。初始狀態(tài)時主總線控制器工作在運行模式,從總線控制器則工作在監(jiān)控模式,只負責接收數(shù)據(jù)。當主總線控制器工作異常時,即其EC計算大于255,主控器將通知從控制器準備接管總線的控制權,而主控制器將工作模式由運行模式變?yōu)殛P閉模式,成為新的從控制器,從控制器將由監(jiān)控模式轉為運行模式從而成為新的主控器。當新的從控制連續(xù)接收128個數(shù)據(jù)包,其中每個數(shù)據(jù)包為11個連續(xù)的隱性電平,或是成功接收超過255個數(shù)據(jù)包時,其工作模式將由關閉模式轉為監(jiān)控模式,工作在監(jiān)控模式的從控制器,當其EC大于255時,工作模式將轉為關閉模式。傳感器短節(jié)總線控制器只有2種工作模式:運行模式和關閉模式。
CAN協(xié)議有良好的容錯機制,本文儀器互聯(lián)總線協(xié)議在CAN2.0協(xié)議的基礎上,根據(jù)實際應用要求,對容錯機制進行了改進。其中,錯誤寄存器EC用于錯誤計數(shù),當傳輸總線上發(fā)現(xiàn)錯誤時,EC將遵從如下規(guī)則。
(1) 當總線上連接的節(jié)點中1個節(jié)點發(fā)送數(shù)據(jù)包時,所有的節(jié)點都將監(jiān)測是否有錯誤發(fā)生。
(2) 一旦偵測到錯誤發(fā)生,即刻通知其他節(jié)點。
(3) 當偵測到的錯誤為主動錯誤時,接收端將連續(xù)發(fā)送6個顯性電平;當偵測的錯誤為被動錯誤時,將發(fā)送6個隱性電平。
(4) 當接收端偵測到錯誤發(fā)生,EC將自動加1,并且發(fā)送錯誤標志。
(5) 在接收端偵測到錯誤發(fā)生并發(fā)送錯誤標志后,如果接收端接收到的第1位為顯性電平,則EC自動加8。
(6) 當仲裁段成功發(fā)送完畢后,如果發(fā)送端偵測的總線電平與接收端不同,則EC將自動加8。
(7) 如果發(fā)送在規(guī)定時間內沒有接收到ACK幀,EC將自動加8。
(8) 當成功發(fā)送1個數(shù)據(jù)包后,EC將自動減1。
(9) 當成功接收到1個數(shù)據(jù)包后,EC將自動減1。
(10) 當節(jié)點的工作模式改變后,EC將自動設置為0。
上述容錯機制可以保證傳輸系統(tǒng)有較好的容錯和自動糾正的能力,對于經(jīng)常受到例如振動噪聲、電纜噪聲、碼間干擾等噪聲影響的井下儀器,具有重要的作用。
當總線空閑時,總線上的任何節(jié)點都可以主動發(fā)送數(shù)據(jù);當由于多個節(jié)點同時發(fā)送數(shù)據(jù)而造成沖突時,需要根據(jù)仲裁機制裁定哪一個節(jié)點可以擁有總線的控制權,現(xiàn)有的測井儀器互聯(lián)機制中,大部分都采用主從控制結構,即遙傳短節(jié)處于主控制的角色,任何對話都由主控制器發(fā)起,其他各節(jié)點只能被動應答,這種機制雖然避開了總線的控制權的仲裁問題,但是也極大降低了總線的靈活度,降低了數(shù)據(jù)的傳輸速度,在現(xiàn)有的傳輸速率下,可以滿足數(shù)據(jù)傳輸?shù)男枨?但是當電纜的傳輸速率提高后,如到達M級傳輸,那么井下總線就會成為阻礙數(shù)據(jù)傳輸速率提升的瓶頸;而且,相較測井工程,隨鉆測量系統(tǒng)需要的連續(xù)工作時間大大提高,而傳統(tǒng)的井下儀器的主從結構,當主控制器發(fā)生故障時,將導致整個傳輸系統(tǒng)的癱瘓。
本文中,當多個節(jié)點同時發(fā)送數(shù)據(jù)時,較小Identifier Value的節(jié)點將擁有較高的優(yōu)先級(本文中0設置為顯性電平),其他的節(jié)點將停止發(fā)送,改為接收數(shù)據(jù)。再次偵測到總線為空閑時,將再次發(fā)送數(shù)據(jù)。本文采用仲裁機制,在發(fā)送過程中就可判斷各自的優(yōu)先級,不需要再次發(fā)送數(shù)據(jù),提高總線的效率。
在數(shù)據(jù)幀中,仲裁段位于起始位之后,包括Identifier和遠程傳輸請求位(Remote Transmission Request,RTR),其中Identifier包括11 bit(見表1),其中ID0為最低位。RTR在數(shù)據(jù)幀中為顯性位,在遠程幀中為隱性位。仲裁機制遵循如下規(guī)則。
(1) 當總線處于空閑狀態(tài)時,第1個開始發(fā)送數(shù)據(jù)的節(jié)點獲得總線的控制權。
(2) 當多個節(jié)點同時發(fā)送數(shù)據(jù)時,每個節(jié)點都需要接受仲裁。每個節(jié)點發(fā)送數(shù)據(jù)時,都要偵測總線的狀態(tài),當偵測的狀態(tài)與自己發(fā)送的不符時,表示自己仲裁失敗,即擁有較低的優(yōu)先權;此時該節(jié)點將停止發(fā)送,轉而接收數(shù)據(jù)。
(3) 在仲裁段擁有顯性電平的節(jié)點擁有較高的優(yōu)先權。
(4) 為了避免一個節(jié)點長時間占用總線,當該節(jié)點成功發(fā)送1個數(shù)據(jù)包后,將會停止發(fā)送,直到6個數(shù)據(jù)周期后再恢復發(fā)送。其中數(shù)據(jù)周期指的是發(fā)送1個數(shù)據(jù)包所占用的時間。
ID10被分配給遙傳短節(jié)單元,表示該節(jié)點擁有最高的優(yōu)先權,該設置是為了保證由地面下傳的控制命令能夠及時地傳輸(見表1)。ID9定義為廣播位(Broadcast Bit),用于遙傳短節(jié)單元向其他節(jié)點同時發(fā)送命令。ID8為可選位。ID7至ID4分配給各個傳感器單元,共包括3個傳感器單元:方位傳感器單元、自然伽馬傳感器單元和壓力傳感器單元。例如,0設置為代表顯性電平,0011代表方位傳感器單元,0111代表自然伽馬傳感器單元,1011代表壓力傳感器單元??梢钥闯龇轿粋鞲衅鲉卧獡碛凶罡叩膬?yōu)先級,而壓力傳感器單元擁有最低的優(yōu)先級。ID8可以避免出現(xiàn)較高優(yōu)先級單元長期占據(jù)總線的情況。當1個單元仲裁失敗后,將變?yōu)榻邮斩?當總線一旦空閑后,該節(jié)點將再次發(fā)送,并接受仲裁,這個過程將一直持續(xù)到該數(shù)據(jù)包成功發(fā)送。如果1個節(jié)點嘗試發(fā)送10次都仲裁失敗,那么該節(jié)點的ID8將被啟用并設置為顯性電平,從而保證該節(jié)點擁有較高優(yōu)先級。例如,當壓力傳感器單元連續(xù)10次仲裁失敗后,ID8將被啟用,從而變?yōu)?1011,此時較之其他單元,如方位傳感器單元(10111)將擁有較高的優(yōu)先級。當數(shù)據(jù)成功發(fā)送后,ID8將重新被設置為隱性電平。
表1 標識符結構
受到井下高溫高壓的工作環(huán)境以及連續(xù)油管的小尺寸的限制,采用FPGA實現(xiàn)總線控制器??偩€控制器主要分為3個模塊:接口模塊(Interface_Module)、數(shù)據(jù)流模塊(Dataflow_Module)、寄存器模塊(Register_Module)。
Interface_Module負責實現(xiàn)邏輯功能接口,解釋來自微處理器的命令、控制地址,并向微處理器提供狀態(tài)、中斷等狀態(tài)。引腳AD_io_0到AD_io_7為地址/數(shù)據(jù)(address/data)引腳;irq_o為中斷引腳,負責向核心控制處理器發(fā)送中斷請求;clk_o為時鐘輸出引腳,負責向核心控制處理器提供時鐘信號;select_i是芯片選擇輸入信號引腳,當其置為0時,bus controller允許被訪問,置為1時,賦值寄存器允許訪問;rd_i和wr_i引腳是核心控制處理器讀使能信號和寫使能信號;rst_i為reset信號,初始化接口邏輯;bus_off_on是總線控制引腳,負責控制該節(jié)點對總線的開合狀態(tài);tx_o和rx_i負責向總線發(fā)送和接收數(shù)據(jù);m_i_0和m_i_1為工作模式輸入引腳,操作控制器的工作模式,而m_o_0和m_o_1則是對應的輸出引腳。
Dataflow_module是控制器的核心模塊,功能包括:LLC子層接收濾波、過負載通知、恢復管理、MAC層數(shù)據(jù)的封裝/拆裝、成幀編碼、媒體訪問管理、錯誤檢測、錯誤標定、應答和串行化/解串行化、物理層的位編碼/解碼、位定時和同步,其結構如圖3所示[9]。位流處理器(Bit Stream Processor,BSP)是總線控制器用于控制數(shù)據(jù)流,由4個模塊組成:接收模塊、發(fā)送模塊、CRC檢測模塊和FIFO模塊。錯誤管理邏輯模塊(Error Management Logic)用于偵測傳輸過程中的錯誤。處理器的速率較高,造成數(shù)據(jù)傳輸與數(shù)據(jù)處理的不同步,必須引入FIFO以存儲相應數(shù)據(jù),采用3個156×8的異步FIFO,分別位于位時序邏輯(Bit Timing Logic)、BSP和接收緩沖/控制寄存器,用于存儲時鐘信號、讀數(shù)據(jù)、寫數(shù)據(jù)、滿/空標志等。在上述的模塊中,都設置有至少一個寄存器用于存儲狀態(tài),外部的處理控制器可以通過地址寄存器直接訪問各個模塊。
圖3 數(shù)據(jù)流模塊
Registers_module是一系列寄存器集合,包括模式寄存器、命令寄存器、狀態(tài)寄存器、中斷寄存器、中斷使能寄存器、總線時序寄存器0&1、終端丟失捕獲寄存器、錯誤編碼捕獲寄存器、錯誤警告限制寄存器、接收錯誤計數(shù)器、傳輸錯誤計數(shù)器、接收編碼寄存器0~3、接收屏蔽寄存器0~3、接收信息計數(shù)器和接收/發(fā)送緩沖。外部控制器可以通過地址總線直接訪問上述寄存器[10]。
總線控制器被劃分為若干個模塊進行仿真調試,每個FPGA模塊使用軟件Quartus II 8.1進行仿真驗證。
圖4(a)所示為遙傳短節(jié)的總線控制器的主從模式切換模塊仿真,邏輯連接圖如圖2所示,EC為錯誤計數(shù),當計數(shù)大于閾值255時,遙傳短節(jié)的控制器的工作模式就會發(fā)生轉變。為了便于仿真,設置閾值為32。圖4(a)顯示主總線控制器起始狀態(tài)工作在主模式狀態(tài)(m_o_0和m_o_1的輸出分別為0和1),從總線控制器工作在從模式狀態(tài)(s_o_0和s_o_1分別為1和0)。從總線控制器將實時監(jiān)控EC狀態(tài),當其達到閾值時,會主動的轉換主從模式。當EC大于32時,從總線控制器將轉換為主模式(01),在下一個周期主總線控制器將轉換為從模式(10),而EC將重新設置為0。當EC再次達到閾值時,各個總線控制器的模式將會再次發(fā)生轉換。該仿真結果顯示在冗余機構下主從控制器能夠實現(xiàn)工作模式的連續(xù)切換,從而增強傳輸系統(tǒng)的可靠性。
圖4 FPGA仿真
錯誤控制器的仿真結果見圖4(b)。rx為輸入引腳,tx_d為輸出引腳。當rx接收到正確數(shù)據(jù)時,輸出即為輸入;當輸入非法數(shù)據(jù),如為6個連續(xù)相同電平,錯誤標志位tx_c就會輸出持續(xù)3個周期(clk_equ)的高電平,且tx_d會被設置為高電平。
響應時間Tr定義為遙傳短節(jié)的主控制器對節(jié)點數(shù)據(jù)幀的響應時間,包括傳輸時間和等待時間(仲裁時間)[6]。系統(tǒng)中,每個節(jié)點(RTU)有著相同的權重,假設節(jié)點到主控制的傳輸時間Tf都相同,根據(jù)排隊論,系統(tǒng)可以認為符合M/M/1系統(tǒng),因此在某一時刻等待的隊列可以視為
L=λμc-λ=ρ1-ρ
(1)
響應時間則為
Tr=Tf+sρ1-ρTf
(2)
式中,ρ定義為通信強調,ρ=λ/μc;λ為數(shù)據(jù)包的平均到達率;c為信道容量;μ為隨機信息的長度;s為系統(tǒng)的通信強度,s=mρ,m為系統(tǒng)的節(jié)點數(shù)。使用MATLAB仿真比較CAN總線和井下總線的響應時間(見圖5)。
圖5 總線響應時間
圖5顯示CAN總線和井下總線的響應時間相比較,當總線連接有較少的節(jié)點(小于8)的時候,井下儀器總線有著更好的響應表現(xiàn)。這主要是由于井下儀器總線采用的仲裁機制使得每個節(jié)點都可改變自己的優(yōu)先級,當擁有較少的節(jié)點時,每個節(jié)點的請求都可得到及時響應,而隨著節(jié)點總數(shù)的增加,優(yōu)先級調整的操作將變得越來越頻繁,以保證每個節(jié)點都可以成功發(fā)送,這必然導致等待時間的增加,因此該方案的總線協(xié)議的響應時間大于CAN總線。
提出了一種具有冗余結構的井下儀器互聯(lián)傳輸系統(tǒng),其總線協(xié)議是在基于CAN 2.0基礎上對操作模式、容錯機制和仲裁機制進行了改進,使其能夠更加針對隨鉆測井的工作要求,引入具有主從控制器的容錯機制,能夠增強系統(tǒng)的容錯性能,保證長時間的穩(wěn)定運行,并使用FPGA實現(xiàn)總線控制器并進行了仿真驗證,結果表明在井下連接儀器較少,即少于8個節(jié)點的情況下,該結構較之標準總線有著更好的響應時間,能夠符合測井數(shù)據(jù)高速傳輸?shù)囊笠约皟x器的高溫高壓的環(huán)境和長時間穩(wěn)定運行性能要求。
參考文獻:
[1] Sun Xinliang, Li Gensheng, Shen Zhonghou. Research Coiled Tubing Drilling Technology and Its Application [J]. NATUR GAS IND, 2008, 28(8): 55-57.
[2] Stephen Prensky. Recent Advances in LWD/MWD and Formation Evaluation [J]. World Oil, 2006(3): 69-75.
[3] Yik-kiong hue, Fernando. Analysis of Tilted-coil Eccentric Borehole Antennas in Cylindrical Multilayered Formations for Well-logging Applications [J]. IEEE Transactions on Antennas and Propagation, 2006(4): 1058-1064.
[4] Xiujun Hao, Jianjun Yang. Analysis EXCELL-2000 Imaging Logging System Communication Link [J]. Petroleum Instruments, 2002, 116(6): 23-27.
[5] International Standard ISO 11898. Road Vehicles-Interchange of Digital Information-Controller Area Network(CAN)for High Speed Communication[S]. ISO Reference number ISO 11898, 1993.
[6] Baowang Kang, Yong Li. The Performance Analysis and Comparison on CAN Bus and 1553B Bus [J]. Measurement & Control Technology, 2000, 119(2): 47-49.
[7] 孫立輝, 原亮. 基于CAN總線的多機冗余系統(tǒng)的設計 [J]. 計算機測量與控制, 2002, 10(12): 824-827.
[8] 黃熙, 王成林. 基于FPGA實現(xiàn)HD-15530編譯碼器 [J]. 電子測量技術, 2002, 29(1): 54-55
[9] 劉韜, 樓興華. FPGA數(shù)字電子系統(tǒng)設計與實習實例導航 [M]. 北京: 人民郵電出版社, 2006: 101-103.
[10] 段帥君. 基于Verilog HDL語言的CAN總線控制器設計及測試 [D]. 長春: 吉林大學, 2009.