胡永建1,胡寰臻2,黃衍福1
1. 中國(guó)石油集團(tuán)鉆井工程技術(shù)研究院 北京石油機(jī)械廠,北京 100083; 2.中國(guó)石油大學(xué)(北京) 地球科學(xué)學(xué)院,北京 102249
摘要:為了實(shí)現(xiàn)井下隨鉆壓力測(cè)量,設(shè)計(jì)出一種高可靠性壓力計(jì)。選擇了適合井下高溫、高壓環(huán)境的微控制器與壓力傳感器,同時(shí)分析了可能的器件失效風(fēng)險(xiǎn)并給出了解決方法。借助安全微控制器的“安全島”理念及設(shè)計(jì)架構(gòu),該壓力計(jì)能夠自動(dòng)處理微控制器及壓力傳感器的軟硬件錯(cuò)誤以保證工作可靠性。該壓力計(jì)在石油鉆井領(lǐng)域中可以有效減少起鉆次數(shù)來(lái)降低鉆井成本。
關(guān)鍵詞:TMS570;安全微控制器;可靠性;壓力計(jì)
0引言
在石油鉆井中,通過(guò)隨鉆井下壓力測(cè)量可以實(shí)時(shí)得到井筒內(nèi)壓力數(shù)據(jù),有助于實(shí)施控壓鉆井,同時(shí)可以預(yù)防井涌和井漏,是井控安全的有效手段。石油鉆井是高風(fēng)險(xiǎn)的資本密集型行業(yè),在深井及超深井中,因故障起鉆一次往往需要數(shù)百小時(shí),成本高昂。這要求隨鉆井下壓力計(jì)必須具備高可靠性。
本文設(shè)計(jì)的隨鉆井下壓力計(jì)使用了安全微控制器,充分利用其安全架構(gòu)來(lái)實(shí)現(xiàn)高可靠性井下壓力測(cè)量。
1系統(tǒng)結(jié)構(gòu)
隨鉆井下壓力計(jì)電氣單元的核心器件是微控制器,微控制器從壓力傳感器讀取所需原始數(shù)據(jù),將其轉(zhuǎn)換為壓力等測(cè)量數(shù)據(jù)經(jīng)通信端口發(fā)送到地面。為保證系統(tǒng)的可靠性,需要從器件選型、架構(gòu)設(shè)計(jì)、軟硬件實(shí)現(xiàn)等方面完成綜合設(shè)計(jì)。微控制器及壓力傳感器是其中的關(guān)鍵器件。
微控制器選用了美國(guó)德州儀器的Hercules安全微控制器。該系列安全微控制器能夠通過(guò)硬件方式實(shí)現(xiàn)安全特性,符合業(yè)界安全性能標(biāo)準(zhǔn),可使系統(tǒng)設(shè)計(jì)更易滿足ISO 26262 ASILD 和 IEC 61508 SIL3的安全標(biāo)準(zhǔn)要求。采用支持浮點(diǎn)計(jì)算的ARM CortexR4F內(nèi)核,雙CPU同步結(jié)構(gòu)提供了系統(tǒng)冗余并簡(jiǎn)化開(kāi)發(fā)過(guò)程;CPU和內(nèi)存內(nèi)置硬件自檢功能,無(wú)需軟件編程就能檢測(cè)硬件錯(cuò)誤;在CPU內(nèi)部集成了ECC邏輯以校驗(yàn)內(nèi)存和閃存;具有外設(shè)內(nèi)存的奇偶校驗(yàn)和外設(shè)IO的回讀功能[1]。德州儀器新推出的TMS570LS1114新增I2C數(shù)據(jù)接口,適合與所選壓力傳感器連接,其片上資源及功能滿足本設(shè)計(jì)需求。
圖1數(shù)字壓力計(jì)原理框圖壓力傳感器選用了美國(guó)Quartzdyne公司生產(chǎn)的DMB30110150數(shù)字壓力傳感器[2]。該壓力傳感器包含3個(gè)石英晶體探頭部件,其中壓力和溫度晶體分別對(duì)壓力與溫度敏感,而參考晶體對(duì)溫度與壓力均不敏感。如圖1所示,其數(shù)字電路包含石英晶體振蕩器(壓力、溫度及參考)、混頻器、頻率計(jì)及串口EEPROM。通過(guò)分別將壓力、溫度信號(hào)與參考信號(hào)混頻來(lái)提高頻率測(cè)量分辨率。頻率計(jì)輸出壓力、溫度兩組原始數(shù)據(jù)。用戶可調(diào)用存儲(chǔ)在EEPROM中的校準(zhǔn)系數(shù),從原始數(shù)據(jù)計(jì)算出修正的壓力與溫度測(cè)量數(shù)據(jù)。該數(shù)字壓力傳感器供電電源為直流27~55 V,使用與NXP的I2C總線兼容的串行接口通信。
安全微控制器通過(guò)I2C接口與數(shù)字壓力傳感器相連,不僅可以讀取溫度與壓力的原始數(shù)據(jù),也可以讀取存儲(chǔ)在串口EEPROM中的校準(zhǔn)系數(shù)。TMS570LS1114安全微控制器的I2C多主機(jī)通信模塊兼容I2C總線規(guī)范V21。數(shù)字壓力傳感器為7位尋址方式,通信速率為100 kb/s。
2高可靠性設(shè)計(jì)
2.1微控制器安全策略
TMS570系列安全微控制器采用了被稱為“安全島”的通用安全架構(gòu)理念,以此分配硬件與軟件診斷,實(shí)現(xiàn)安全管理與應(yīng)用成本之間的平衡[3]?!鞍踩珝u”方法將微控制器組件分為內(nèi)核組件與其他組件:內(nèi)核組件是所有微控制器操作所必須的邏輯電路,運(yùn)行硬件診斷安全機(jī)制;其他組件包含外設(shè)等部件,運(yùn)行軟件診斷安全機(jī)制。一旦微控制器診斷檢測(cè)到某個(gè)錯(cuò)誤時(shí),微控制器的外設(shè)錯(cuò)誤信號(hào)模塊(Error Signaling Module, ESM)將該錯(cuò)誤傳遞給其他組件或軟件,開(kāi)發(fā)人員確定如何響應(yīng)錯(cuò)誤。
“安全島”方法將微控制器的各種錯(cuò)誤狀況按嚴(yán)重性分為3組。如圖2所示,錯(cuò)誤組1(如外設(shè)隨機(jī)存儲(chǔ)器奇偶校驗(yàn)錯(cuò)誤)的嚴(yán)重程度最低,對(duì)來(lái)自硬件診斷錯(cuò)誤組1的錯(cuò)誤通道信號(hào),用戶可以選擇是否使能中斷并確定中斷優(yōu)先級(jí),也可以選擇是否使能微控制器的ERROR引腳信號(hào)輸出(低電平有效);錯(cuò)誤組2(如地址總線奇偶校驗(yàn)錯(cuò)誤)的錯(cuò)誤會(huì)產(chǎn)生不可屏蔽的高優(yōu)先級(jí)中斷,同時(shí)產(chǎn)生ERROR引腳信號(hào)輸出;因?yàn)殄e(cuò)誤組3(如互聯(lián)總線錯(cuò)誤)的大多數(shù)錯(cuò)誤會(huì)導(dǎo)致CPU直接退出,所以僅產(chǎn)生ERROR引腳信號(hào)輸出而不產(chǎn)生中斷。為了方便外設(shè)響應(yīng),需要ERROR引腳在輸出有效信號(hào)時(shí)能夠保持一段時(shí)間,該低電平保持時(shí)間可以自行設(shè)定。
2.2出錯(cuò)風(fēng)險(xiǎn)分析
井下壓力計(jì)出錯(cuò)風(fēng)險(xiǎn)來(lái)自電源、微控制器及傳感器等部件。安全微控制器的硬件錯(cuò)誤可以通過(guò)上述“安全島”方法來(lái)處理,這里分析傳感器及其通信接口的出錯(cuò)風(fēng)險(xiǎn)。
所選數(shù)字壓力傳感器的傳感器件為石英晶體。晶體表面的污染物或晶格不完美會(huì)使其阻抗上升,從而需要更高的驅(qū)動(dòng)電平才能起振,即石英晶體振蕩器在加電時(shí)不一定起振。Quartzdyne的數(shù)字壓力傳感器使用了一種啟動(dòng)輔助電路來(lái)改善這種失效情況,即在上電的短時(shí)間內(nèi)使用較高的驅(qū)動(dòng)電壓,之后再恢復(fù)正常電壓。即便在這種情況下,依然不能保證完全有效,解決的唯一辦法是對(duì)其斷電后重新加電。
安全微控制器I2C多主機(jī)通信模塊的控制及狀態(tài)寄存器數(shù)值可能因?yàn)楦蓴_或錯(cuò)誤操作而改變,需要在每次操作前或定期回讀,如發(fā)現(xiàn)出錯(cuò)則重新寫(xiě)入。
2.3系統(tǒng)設(shè)計(jì)
圖3是高可靠性設(shè)計(jì)相關(guān)部分的硬件連接示意圖。
如圖3所示,安全微控制器的一個(gè)通用IO引腳配置為輸出,與同步降壓控制器的EN使能引腳相連,控制數(shù)字壓力傳感器的供電。ERROR引腳與冷啟動(dòng)復(fù)位PORRST引腳相連,使用上拉電阻與IO供電電源相連,電容即用于濾波,也用于延遲上電復(fù)位。一旦發(fā)生硬件診斷錯(cuò)誤或其他錯(cuò)誤,ERROR引腳輸出低電平,使PORRST引腳拉低,微控制器進(jìn)入冷啟動(dòng),嘗試修復(fù)錯(cuò)誤。
表1列出了錯(cuò)誤原因及相應(yīng)初始化動(dòng)作。表1錯(cuò)誤原因及初始化動(dòng)作錯(cuò)誤原因初始化動(dòng)作石英晶體不起振數(shù)字壓力傳感器斷電再上電安全微控制器硬件診斷錯(cuò)誤常規(guī)初始化I2C控制及狀態(tài)寄存器回讀錯(cuò)誤I2C多主機(jī)通信模塊初始化數(shù)字壓力傳感器冗余讀取錯(cuò)誤視情況而定
由于實(shí)時(shí)性要求不高,在初始化過(guò)程中,這些動(dòng)作逐一進(jìn)行。壓力數(shù)據(jù)讀取錯(cuò)誤時(shí)可使用冗余讀取的三選二策略判定結(jié)果,無(wú)需初始化。僅當(dāng)多次讀取出錯(cuò)才需冷啟動(dòng),只需向安全微控制器的ESM錯(cuò)誤鍵值寄存器(ESM Error Key Register, ESMEKR)寫(xiě)入0x05即可使ERROR引腳輸出低電平。其他錯(cuò)誤一般不需要冷啟動(dòng)來(lái)處理。
3初始化及驅(qū)動(dòng)代碼生成
為了縮短產(chǎn)品研發(fā)時(shí)間,德州儀器提供了基于圖形用戶界面的硬件抽象層代碼生成器HALCoGen開(kāi)發(fā)工具,可生成初始化、配置及驅(qū)動(dòng)代碼 [4]。
新建項(xiàng)目并選擇TMS570LS1114及開(kāi)發(fā)工具,即可開(kāi)始配置。以I2C多主機(jī)通信模塊為例,在“Driver Enable” 標(biāo)簽頁(yè)中勾選“Enable I2C driver”使能該模塊。在“I2C”標(biāo)簽頁(yè)可以配置模塊,如圖4所示。
生成代碼包含頭文件i2ch及代碼文件i2cc。包含初始化函數(shù)i2cInit、速率設(shè)定函數(shù)i2cSetBaudrate、發(fā)送字節(jié)函數(shù)i2cSendByte等。具體實(shí)現(xiàn)可參考相關(guān)文檔[5]。
4結(jié)論
本文設(shè)計(jì)的基于TMS570的高可靠性隨鉆井下壓力計(jì)能夠自動(dòng)嘗試消除數(shù)字壓力傳感器的石英晶體起振故障,也可以自動(dòng)處理其他硬件及軟件錯(cuò)誤,具有較高可靠性。通過(guò)降低數(shù)據(jù)采集故障率可以減少起鉆次數(shù),能夠節(jié)省時(shí)間和人力物力,具有較高的經(jīng)濟(jì)效益。
參考文獻(xiàn)
[1] TEXAS INSTRUMENTS. TMS570LS1114 16 and 32bit RISC Flash microcontroller (SPNS188B) [Z]. 2015.
?。?] QUARTZDYNE, Inc. Operating manual for digital pressure transducer (DigitalTransProg201206) [Z]. 2012.
[3] TEXAS INSTRUMENTS. Safety Manual for TMS570LS12x and 11x HerculesTM ARMbased safety critical microcontrollers user’s guide (SPNU550A) [Z]. 2014.
?。?] TEXAS INSTRUMENTS. HALCoGen TMS570LS31x help 040500 [N]. 2015.
?。?] 楊帆.基于I2C接口EEPROM讀寫(xiě)控制器設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(10):2224.