胡永建1,胡寰臻2,石林1
?。?.中國石油集團(tuán)鉆井工程技術(shù)研究院,北京 102206;2.中國石油大學(xué)(北京) 地球科學(xué)學(xué)院,北京 102249)
摘要:在定向井鉆井中,為了測量鉆頭的方位信息,設(shè)計出一種高可靠性隨鉆定向儀。該文分析了可能的系統(tǒng)失效風(fēng)險并給出解決方法,選擇了合適的安全微控制器及多軌電源來簡化設(shè)計。高可靠性策略包括:器件內(nèi)均衡的硬件及軟件功能診斷以及用于監(jiān)測微控制器程序運行的獨立的問答式看門狗。給出了關(guān)鍵的硬件電路及軟件流程圖。該設(shè)計在石油鉆井領(lǐng)域中可以通過減少起鉆次數(shù)來降低鉆井成本。
關(guān)鍵詞:TPS65381;安全多軌電源;TMS570;安全微控制器;可靠性;定向儀
0引言
石油鉆井施工是按照一定的目的和要求,有控制地使井眼軌跡沿著預(yù)先設(shè)計的井眼軌道順利鉆達(dá)設(shè)計目標(biāo),并使效益最大化的施工工藝過程[1]。在鉆井過程中需要不斷監(jiān)測井眼軌跡方向以保證按照設(shè)計目標(biāo)正確施工。井下定向儀可以測量井斜、工具面及方位角等定向參數(shù),廣泛用于石油鉆井施工。
在深井及超深井中,起鉆一次往往需要數(shù)百小時,花費成本高昂。與汽車行業(yè)安全應(yīng)用類似[2],隨鉆測量的各類井下儀器也必須具備高可靠性。
本文設(shè)計的隨鉆定向儀在設(shè)計初期就分析了系統(tǒng)出錯風(fēng)險,并考慮了相應(yīng)對策。在硬件及軟件設(shè)計上結(jié)合安全設(shè)計要素,選用了新推出的安全芯片完成系統(tǒng)設(shè)計。
井下隨鉆定向儀由微控制器、定向傳感器、電源模塊及通訊接口組成。定向傳感器測量定向參數(shù),電源模塊為微控制器和定向傳感器供電,微控制器將采集到的定向參數(shù)數(shù)據(jù)通過通訊總線發(fā)送出去,通訊接口既可連接泥漿脈沖發(fā)生器也可連接電纜實現(xiàn)與地面的數(shù)據(jù)通訊。
2器件選型及功能說明
2.1定向傳感器
本設(shè)計選用的定向傳感器內(nèi)置1個三軸磁通門磁力計和1個三軸加速度計,兩者組合能夠確定井斜、工具面及方位角等定向參數(shù)。
定向傳感器通過1個TTL/CMOS兼容的三線串行接口與外部通訊。返回的數(shù)據(jù)帶有數(shù)據(jù)校驗和字節(jié),可據(jù)此判斷接收數(shù)據(jù)是否正確。
如圖1所示,該定向傳感器與安全微控制器的串行通訊接口(Serial Communication Interface, SCI)相連,由電源模塊提供用于傳感器的5 V電源。由于該型定向傳感器沒有系統(tǒng)復(fù)位連接端子,在發(fā)現(xiàn)死機(jī)或接收數(shù)據(jù)錯誤等問題時,可以關(guān)斷電源模塊供電并重新加電來復(fù)位定向傳感器,以此嘗試修復(fù)定向傳感器錯誤。
2.2安全微控制器
本設(shè)計選用TMS570LS1114安全微控制器[3],該微控制器具有硬件及軟件故障診斷功能。如圖1所示,SPI接口可與安全多軌電源通訊;SCI串行接口可與定向傳感器相連;內(nèi)置模數(shù)轉(zhuǎn)換器可用于安全電源的診斷輸出(DIAG_OUT引腳)模擬信號測量;內(nèi)置實時中斷(RealTime Interrupt, RTI)定時器可以完成看門狗觸發(fā)動作。
一旦微控制器診斷檢測到某個錯誤時,微控制器的外設(shè)錯誤信號模塊(Error Signaling Module, ESM)可將錯誤按照嚴(yán)重性分類并提供可編程的錯誤響應(yīng)方法,開發(fā)人員據(jù)此確定如何響應(yīng)錯誤[4]。
2.3安全多軌電源
電源模塊選用了美國德州儀器生產(chǎn)的TPS65381Q1圖2安全電源相關(guān)電路圖安全多軌電源[5],該器件支持雙核鎖步架構(gòu)的TMS570系列安全微控制器。器件內(nèi)部集成了多個電源軌,可為微控制器、CAN總線器件及外部傳感器供電。該器件內(nèi)置一個帶場效應(yīng)管(FET)的異步降壓開關(guān)模式的高效率電源轉(zhuǎn)換器(預(yù)穩(wěn)壓器),可以將輸入電池電壓轉(zhuǎn)換為6 V輸出,為其他內(nèi)部線性穩(wěn)壓器供電。預(yù)穩(wěn)壓器支持高達(dá)36 V的電池供電輸入,特別適合井下高溫鋰電池的串聯(lián)應(yīng)用。
TPS65381Q1器件能夠監(jiān)測電池輸入電壓及內(nèi)部電源軌的電壓,也能通過獨立電壓基準(zhǔn)來監(jiān)測內(nèi)部電源軌的欠壓及過壓情況;其他安全功能包括:內(nèi)部振蕩器的時鐘監(jiān)測、時鐘監(jiān)視器的自檢、非易失存儲器的CRC校驗、微控制器錯誤信號輸入(ERROR引腳)監(jiān)測、用于微控制器的復(fù)位輸出(NRES引腳)等。所有診斷信號通過DIAG_OUT引腳輸出到外部,分為模擬與數(shù)字兩類信號,由微控制器通過器件的寄存器設(shè)定并通過自身的輸入模擬或數(shù)字端口來檢測。如圖1所示,微控制器通過SPI接口與TPS65381Q1器件相連, DIAG_OUT引腳連接到微控制器的模數(shù)轉(zhuǎn)換器或數(shù)字輸入引腳。
根據(jù)條件不同,TPS65381Q1器件有待機(jī)、復(fù)位、診斷、活動、安全等5種工作狀態(tài)。器件上電后進(jìn)入待機(jī)狀態(tài);通過外部喚醒可以進(jìn)入復(fù)位狀態(tài),此時復(fù)位輸出(NRES引腳)為低;當(dāng)所有穩(wěn)壓器完成升壓準(zhǔn)備后,器件進(jìn)入診斷狀態(tài),此時可以通過SPI接口配置器件的寄存器;活動狀態(tài)是器件的正常工作狀態(tài);一旦檢測到異常,器件可以根據(jù)需要進(jìn)入安全狀態(tài),此時復(fù)位輸出為高。
為了防止微控制器發(fā)生程序跑飛或進(jìn)入死循環(huán)等錯誤,使用TPS65381Q1器件內(nèi)置的問答式看門狗來監(jiān)測微控制器的程序運行。該看門狗的每次操作周期包含一個OPEN窗口和后續(xù)一個CLOSE窗口,兩個窗口的持續(xù)時間可根據(jù)微控制器需求設(shè)定。微控制器需要在不同的窗口對看門狗進(jìn)行不同的觸發(fā)(“喂狗”)操作??撮T狗包含一個失效計數(shù)器負(fù)責(zé)統(tǒng)計觸發(fā)錯誤及超時事件的次數(shù),一旦超過計數(shù)范圍,器件可以執(zhí)行相應(yīng)的復(fù)位輸出等動作。微控制器通過SPI接口讀取看門狗的令牌(“問題”,該令牌由器件內(nèi)部的馬爾科夫鏈生成),微控制器通過特定的算法根據(jù)該令牌計算出響應(yīng)(“回答”)并發(fā)送給器件,完成一次觸發(fā)。
3高可靠性設(shè)計
3.1硬件設(shè)計
本隨鉆定向儀以TPS65381Q1安全多軌電源作為核心安全器件,圖2是安全電源的相關(guān)電路圖,包含與微控制器和定向傳感器的相關(guān)接口。
如圖2所示,高溫鋰電池輸出VBAT為TPS65381Q1供電(VBATP引腳),同時為器件內(nèi)的安全功能電路供電(VBAT_SAFING引腳)。IGN引腳可以承受40 V電壓,與VBAT相連使器件上電后自動從待機(jī)狀態(tài)遷移到復(fù)位狀態(tài)。器件內(nèi)的預(yù)穩(wěn)壓器自帶FET,與外部肖特基整流二極管D1、電感L1及C5組成一個高效異步降壓開關(guān)式電源轉(zhuǎn)換器。VBAT經(jīng)預(yù)穩(wěn)壓器后輸出6 V,該VDD6可以為器件內(nèi)的其他線性穩(wěn)壓器供電(VDD6引腳):內(nèi)置固定5 V輸出VDD5的線性穩(wěn)壓器可用于CAN總線收發(fā)器供電;內(nèi)置通過SEL_VDD3/5引腳選擇不同電壓輸出的線性穩(wěn)壓器,本設(shè)計該引腳不連接,輸出3.3V(VDD3/5引腳)為IO接口供電,包括器件IO供電(VDDIO)與外部微控制器的IO供電;器件內(nèi)的線性控制器與外部FET Q1、R1與R2組成的分壓網(wǎng)絡(luò)聯(lián)合輸出1.23 V電壓為TMS570LS1114安全微控制器內(nèi)核供電;VDD6通過外部連接為帶對地、電池短路保護(hù)的傳感器電源供電,該線性穩(wěn)壓器的VTRACK1引腳與VDD5相連,使其工作在跟蹤模式,將VSFB1引腳與輸出的VSOUT1引腳相連,使增益反饋為1,即VSOUT1跟蹤輸出5 V為定向傳感器供電。
傳感器通過串行接口與微控制器的SCI2接口相連。器件NRES引腳與微控制器的上電復(fù)位引腳nPORRST相連,可以在檢測到錯誤時選擇輸出復(fù)位信號,使微控制器復(fù)位。器件內(nèi)部的模擬復(fù)用器(AMUX)與數(shù)字復(fù)用器(DMUX)的診斷輸出DIAG_OUT引腳與微控制器的AD1IN[0]相連,注意需要并聯(lián)適當(dāng)?shù)牟蓸与娙?,微控制器的ADC可以檢測內(nèi)部電壓的范圍。器件的SPI接口與微控制器的SPI4接口相連,用于讀取或設(shè)定器件內(nèi)的狀態(tài)及控制寄存器,也用于器件內(nèi)看門狗的觸發(fā)。ERROR/WDI引腳與微控制器的nERROR引腳相連,來監(jiān)測微控制器的工作狀態(tài)。
3.2軟件設(shè)計
在系統(tǒng)發(fā)生或發(fā)現(xiàn)致命錯誤,如安全微控制器自檢錯誤、安全多軌電源自檢錯誤、定向傳感器讀取異常時,軟件及器件配置為通過安全電源產(chǎn)生一個復(fù)位信號,微控制器在復(fù)位時對外設(shè)重新初始化(包含定向傳感器的斷電重新上電),以此來嘗試修復(fù)錯誤。一些常規(guī)錯誤可以通過冗余讀取、重新初始化相關(guān)外設(shè)來嘗試解決。
圖3是TPS65381-Q1安全多軌電源的狀態(tài)遷移圖。
系統(tǒng)上電后,TPS65381Q1器件處于待機(jī)狀態(tài),通過連接到電池電壓的IGN引腳喚醒進(jìn)入復(fù)位狀態(tài),此時通過NRES引腳復(fù)位外部的微控制器并進(jìn)入診斷狀態(tài)。微控制器需要在器件診斷狀態(tài)下對其配置,可以通過SPI指令設(shè)定SAFETY_CHECK_CTRL寄存器的DIAG_EXIT_MASK位和DIAG_EXIT位均為1,令器件強(qiáng)制進(jìn)入診斷狀態(tài),配置完成后令DIAG_EXIT_MASK位為0來退出診斷狀態(tài),進(jìn)入活動狀態(tài)。在活動狀態(tài),一旦檢測到外部微控制器的ERROR引腳錯誤就進(jìn)入安全狀態(tài),在發(fā)生超時,并且器件錯誤計數(shù)器的值DEV_ERR_CNT≤SAF圖4工作流程圖E_LOCK_THR值(在SAFETY_ERR_CFG寄存器中設(shè)置)時,器件轉(zhuǎn)為復(fù)位狀態(tài),復(fù)位微控制器;在活動狀態(tài),如果看門狗失效且寄存器值WDT_FAIL_CNT≥7,同樣進(jìn)入復(fù)位狀態(tài)。
圖4是相關(guān)程序的工作流程。
如圖4所示,微控制器上電或復(fù)位后開始初始化外設(shè),如SPI接口、SCI接口、RTI定時器等;之后通過SPI指令向TPS65381Q1器件的SAFETY_CHECK_CTRL寄存器寫入0x13使能ERROR引腳監(jiān)測功能,并令其強(qiáng)制進(jìn)入診斷狀態(tài);在診斷狀態(tài)下,向SAFETY_FUNC_CFG寄存器寫入0xE4來配置器件,使器件看門狗配置為通過SPI指令觸發(fā)的問答安全裝置模式和錯誤引腳檢測模式。在該階段,可以通過SPI指令配置AMUX與DMUX以將器件內(nèi)診斷信號通過DIAG_OUT引腳輸出到微控制器來檢測。
看門狗需要與微控制器保持同步,可以通過不發(fā)送觸發(fā)導(dǎo)致看門狗超時來同步,也可以通過更改OPEN及CLOSE窗口持續(xù)時間來進(jìn)行同步,本文采用后者,以下是相關(guān)偽代碼:
SetRegister(WDT_WIN1_CFG, OPEN_WINDOW_TIME);
SetRegister(WDT_WIN2_CFG, CLOSE_WINDOW_TIME);
while (GetBit(WDT_STATUS, BIT_SEQ_ERR) == 1);
先分別寫入OPEN及CLOSE窗口的持續(xù)時間,此后看門狗立刻開始一個新的操作周期,微控制器不做任何動作等待,直到器件發(fā)生令牌序列錯誤(SEQ_ERR位被置位)為止,此時微控制器完成與器件看門狗的同步??撮T狗開始新的操作周期的OPEN窗口階段,此時可以按照OPEN窗口工作狀態(tài)來設(shè)定RTI計時器的定時時間,并啟動RTI中斷。在發(fā)生RTI中斷后,程序進(jìn)入中斷服務(wù)子程序,工作流程如圖5所示。
在OPEN窗口需要發(fā)送三次看門狗回答,在CLOSE窗口需要發(fā)送一次看門狗問答,以完成一次正確的觸發(fā)(“喂狗”)事件,一次事件會使看門狗失效計數(shù)器值(SAFETY_STAT_2寄存器的低三位)減1。在OPEN窗口時,先讀取看門狗失效計數(shù)值,當(dāng)失效計數(shù)值為0且為復(fù)位后首次進(jìn)入,此時TPS65381Q1器件處于診斷狀態(tài),可以使能看門狗并退出診斷狀態(tài)進(jìn)入正常的激活狀態(tài),相關(guān)偽代碼是:
SetBit(SAFETY_FUNC_CFG, BIT_WD_RST_EN, 1);
SetRegister(SAFETY_ERR_STAT, 0x00);
SetRegister(SAFETY_CHECK_CTRL, 0x01);
寄存器的SAFETY_FUNC_CFG的WD_RST_EN位置位可以使看門狗失效,計數(shù)器值在達(dá)到7時遷移到復(fù)位狀態(tài)。在復(fù)位錯誤狀態(tài)寄存器后,令SAFETY_CHECK_CTRL寄存器的DIAG_EXIT_MASK位為0來退出診斷狀態(tài),器件進(jìn)入正?;顒訝顟B(tài)[6]。
如圖4所示,當(dāng)定向儀正常工作時,程序定時讀取定向傳感器的測量數(shù)據(jù)。該測量數(shù)據(jù)包含一個校驗位,可以根據(jù)校驗位判斷讀取的數(shù)據(jù)是否正確。一旦檢測到錯誤,可以設(shè)定ERROR引腳輸出低電平(向安全微控制器的ESM錯誤鍵值寄存器(ESMEKR)寫入0x05),通知TPS65381-Q1器件發(fā)生了錯誤。
4結(jié)論
本文設(shè)計的隨鉆定向儀充分利用了安全多軌電源及安全微控制器的安全功能,能夠以硬件或軟件方式自動診斷各功能模塊的故障,通過獨立于微控制器的看門狗檢測微控制器的軟件運行,具有較高的可靠性。在石油鉆井應(yīng)用中,該高可靠性隨鉆定向儀通過降低數(shù)據(jù)采集的故障來減少起鉆次數(shù),能夠節(jié)省大量的時間和人力物力,具有較高的經(jīng)濟(jì)效益。
參考文獻(xiàn)
?。?] 王清江,毛建華,韓貴金,等. 定向井鉆井技術(shù)[M]. 北京:石油工業(yè)出版社,2009.
[2] 劉軍,陶昌嶺,余節(jié)發(fā),等.基于汽車主動安全的車載嵌入式平臺的研究[J].電子技術(shù)應(yīng)用,2014,40(7):2123,26.
[3] TEXAS Instruments. TMS570LS1114 16 and 32bit RISC Flash microcontroller (SPNS188B) [Z]. 2015.
?。?] 胡永建,胡寰臻,黃衍福.基于TMS570的高可靠性隨鉆壓力計[J] .微型機(jī)與應(yīng)用,2016,35(1):2324,27.
?。?] TEXAS Instruments. TPS65381Q1 MultiRail Power Supply for Microcontrollers in Safety Applications (SLVSBC4C) [Z]. 2015.
[6] TEXAS Instruments. Interfacing TPS65381 With Hercules? Microcontrollers (SPNA176A) [Z]. 2014.