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