999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TMS570和FreeRTOS的井下多參數(shù)記錄儀*

2018-01-04 02:56:48
關(guān)鍵詞:測量

(中國石油集團鉆井工程技術(shù)研究院,北京 102206)

基于TMS570和FreeRTOS的井下多參數(shù)記錄儀*

胡永建

(中國石油集團鉆井工程技術(shù)研究院,北京 102206)

為了實現(xiàn)鉆井參數(shù)長時間、低功耗的可靠記錄,選擇TMS570安全微控制器來提高系統(tǒng)可靠性,同時選擇具有合適數(shù)字接口的測量器件以充分利用其片上資源。在分析了各個參數(shù)的測量過程后,建立了統(tǒng)一的參數(shù)測量模型,在FreeRTOS實時操作系統(tǒng)下實現(xiàn)了參數(shù)測量、參數(shù)保存及串口通信三種任務(wù),同時利用空閑鉤子函數(shù)實現(xiàn)低功耗設(shè)計目的。本井下多參數(shù)記錄儀與NOV的BlackBox同類產(chǎn)品有類似的功能與指標,可用于提高鉆井效率、優(yōu)化鉆井性能。

TMS570;安全微控制器;FreeRTOS;多參數(shù)記錄儀

引 言

為了提高鉆井效率、優(yōu)化鉆井性能,世界最大的鉆井設(shè)備制造商NOV(國民油井華高)研制了BlackBox系列井下測量工具及記錄儀。其BlackBox Eclipse、BlackBox HD井下測量工具可以記錄振動、轉(zhuǎn)速參數(shù);BlackBox LMS負載測量短節(jié)可以測量記錄扭矩、拉力、壓力及溫度參數(shù)[1]。

為了實現(xiàn)井下參數(shù)的長時間記錄,系統(tǒng)可靠性、記錄存儲容量及系統(tǒng)功耗控制是關(guān)鍵的三個問題。

本文設(shè)計的井下多參數(shù)記錄儀采用高溫鋰電池供電,使用TI公司的TMS570系列安全微控制器作為控制器,優(yōu)先選擇具有SPI接口的數(shù)字傳感器,建立統(tǒng)一的參數(shù)測量模型,使用FreeRTOS的搶占式任務(wù)調(diào)度實現(xiàn)了具有較高可靠性、較大存儲容量及較低耗電量的鉆井井下多參數(shù)測量及記錄功能,能夠記錄溫度、壓力、三軸振動、扭矩、拉力、傾角及轉(zhuǎn)速等多種參數(shù)。

1 操作系統(tǒng)移植

1.1 安全微控制器

TI TMS570 Hercules系列安全微控制器使用了ARM Cortex-R4F內(nèi)核,一個CPU與另一個呈垂直及反轉(zhuǎn)狀態(tài)放置,兩個CPU之間加入1.5個周期的延遲完成鎖步判斷。所選的TMS570LS2134PGE微控制器片上包含3組MIBSPI(多緩沖的SPI)外設(shè)接口及1組SPI接口,MIBSPI接口適合高速外設(shè)通信且可配置為普通SPI接口,每組MIBSPI具有多個從機片選引腳可連接多個SPI外設(shè)[2]。Hercules安全微控制器使用名為“安全島”的策略保證系統(tǒng)可靠運行[3]。

ARM Cortex-R4F內(nèi)核有7種操作模式,其中除USR(用戶)模式外,其他如IRQ(普通中斷)、SVC(管理調(diào)用)等模式均為特權(quán)模式,用于中斷、異常處理以及受保護的資源操作。ARM Cortex-R4F內(nèi)核有37個程序寄存器,包含31個通用32位寄存器和6個32位狀態(tài)寄存器(PSR),可以隨時操作其中R0~R15共計16個寄存器以及1或2個狀態(tài)寄存器,與操作模式相關(guān)的狀態(tài)保存寄存器僅在特權(quán)模式下可以操作。R13是堆棧指針寄存器(SP),R14是子程序鏈接寄存器(LR),R15是程序計數(shù)器(PC),當前程序狀態(tài)寄存器(CPSR)包含條件代碼標識、狀態(tài)位及當前模式位,在特權(quán)模式下可以操作各種模式的程序狀態(tài)保存寄存器(SPSR)[4]。

1.2 移植說明

FreeRTOS實時操作系統(tǒng)的移植與所用處理器和編譯器相關(guān)。本設(shè)計使用CCS(Code Compose Studio)IDE,后者是TI推薦的開發(fā)環(huán)境。TI 同時提供了名為HALCoGen的硬件抽象層代碼生成工具來簡化開發(fā)過程,該工具即可生成安全自檢函數(shù)及外設(shè)驅(qū)動程序,也可生成相關(guān)的FreeRTOS移植代碼。

除了通用的os_tasks.c、os_queue.c和os_list.c這三個RTOS核心代碼源文件外,F(xiàn)reeRTOS的移植需要修改os_portasm.asm、os_port.c等源文件及os_portmacro.h、os_portable.h、FreeRTOSConfig.h、FreeRTOS.h等幾個頭文件。移植的所有源文件及頭文件由HALCoGen軟件工具根據(jù)所選的微控制器類型自動生成。

在os_portmacro.h等頭文件中定義了如表1所列的幾個SWI別名,SWI(軟中斷)是SVC之前的叫法。

表1 軟中斷入口定義

用戶程序通過觸發(fā)SVC中斷使CPU進入保護模式來執(zhí)行用戶模式下無法執(zhí)行的特權(quán)操作。這里SVC的異常處理函數(shù)名為vPortSWI,位于os_portasm.asm中:

stmfd sp!, {r11,r12,lr}

ldrb r12, [lr, #-1]

ldr r14, table

ldr r12, [r14, r12, lsl #2]

blx r12

ldmfd sp!, {r11,r12,pc}^

table

.word jumpTable

jumpTable

.word swiPortYield

.word swiRaisePrivilege

.word swiPortEnterCritical

.word swiPortExitCritical

.word swiPortTaskUsesFPU

.word swiPortDisableInterrupts

.word swiPortEnableInterrupts

一旦觸發(fā)SVC異常,先保護現(xiàn)場,然后從LR寄存器提取SVC指令的立即數(shù),從中得到指令編號,然后根據(jù)跳轉(zhuǎn)表定義的相對地址尋址,跳轉(zhuǎn)到子程序中執(zhí)行相應(yīng)的操作,完成操作后恢復(fù)現(xiàn)場。以swiPortEnterCritical進入臨界區(qū)子程序為例:

mrs r11, SPSR

orr r11, r11, #0x80

msr SPSR_c, r11

ldr r11, ulCriticalNestingConst

ldr r12, [r11]

add r12, r12, #1

str r12, [r11]

bx r14

該子程序?qū)VC模式的SPSR內(nèi)容讀入R11,置位第7位(IRQ使能)寫入SPSR,完成中斷使能,同時將嵌套深度計數(shù)器加1后返回。注意,SPSR寄存器的操作只能在特權(quán)模式下進行。

本設(shè)計使用搶占式多任務(wù)調(diào)度,用TMS570內(nèi)置的RTI(實時中斷模塊)的計數(shù)器Compare0比較結(jié)果掛接IRQ中斷產(chǎn)生節(jié)拍時鐘。vPortPreemptiveTick為對應(yīng)的中斷處理函數(shù)。任務(wù)切換taskYIELD使用SVC的swiPortYield 子程序?qū)崿F(xiàn),但對于API內(nèi)部的任務(wù)切換可使用用戶模式下的vPortYeildWithinAPI子程序?qū)崿F(xiàn),該子程序使用TMS570的SSI(軟件中斷)來觸發(fā)。向TMS570的系統(tǒng)軟件中斷#1請求寄存器(SSIR1)的8~15位寫入0x75,可以觸發(fā)SSI中斷。swiPortYield與vPortYeildWithinAPI使用相同的上下文保存portSAVE_CONTEXT及恢復(fù)portRESTORE_CONTEXT子程序。

1.3 系統(tǒng)配置

FreeRTOS是高度可裁剪的實時操作系統(tǒng),使用HALCoGen軟件工具可以直觀地配置系統(tǒng),如圖1所示。

圖1 定制FreeRTOS

可以定義節(jié)拍時鐘的頻率、任務(wù)調(diào)度方式、是否使用各類鉤子函數(shù)、是否使用各類信號量等,圖形化用戶界面的配置與FreeRTOSConfig.h中的配置一一對應(yīng)。

為了延長記錄時間,井下多參數(shù)記錄儀對節(jié)能有較高要求,因此選擇使用空閑鉤子函數(shù),令系統(tǒng)在空閑時進入低功耗模式。定義vApplicationIdleHook函數(shù)如下:

void vApplicationIdleHook(void)

{ systemPowerDown(SYS_SNOOZE_MODE);}

TMS570有DOZE、SNOOZE及SLEEP等三種低功耗模式:在低功耗模式下,DOZE模式的主振蕩器保持活動,SNOOZE模式下耗電更低的低頻振蕩器保持活動,而SLEEP模式則關(guān)閉所有振蕩器以得到更低的功耗。FreeRTOS使用RTI作為節(jié)拍時鐘,在SLEEP模式下無法產(chǎn)生RTI中斷來喚醒MCU,因此不能選擇SLEEP模式。另外,需要使用PLL1的鎖相環(huán)時鐘作為休眠及喚醒的時鐘,否則因休眠及喚醒時間太長而不能保證設(shè)定的節(jié)拍時鐘頻率。

2 系統(tǒng)設(shè)計

2.1 參數(shù)測量模型

表2列出了井下多參數(shù)記錄儀實現(xiàn)的測量及記錄功能。

表2 測量參數(shù)清單

對于測量所需ADC及數(shù)字傳感器等器件應(yīng)盡量選用帶SPI接口的型號,以充分利用TMS570LS2134PGE微控制器的多個SPI接口;該微控制器內(nèi)置I2C接口可用于環(huán)空溫度、壓力測量。

通過分析各個參數(shù)的測量過程,歸納出通用的參數(shù)測量模型,該模型運行過程如圖2所示。

圖2 參數(shù)測量運行過程

在實際應(yīng)用時,參數(shù)的測量周期可能長達幾分鐘,為了提高可靠性并降低功耗,使用可關(guān)斷的TI TSP62110系列同步降壓轉(zhuǎn)換器為各個參數(shù)測量模塊供電,該轉(zhuǎn)換器允許輸入電壓高達17 V,圖3是3.3 V輸出的供電電路圖。

圖3 測量模塊供電電路圖

當EN引腳為低電平時,TPS62110處于關(guān)斷狀態(tài),電源電流可低至2 μA。當微控制器拉高EN引腳電平時,TPS62110使能供電輸出,一旦輸出達到額定電壓的98.4%且至少經(jīng)過250 μs延遲后,PG(Power Good)輸出信號為高,通知微控制器供電已經(jīng)建立[5]。

測量器件需要等待一段時間才能正常工作,為了提高系統(tǒng)可靠性,每次上電后微控制器重新復(fù)位測量器件,針對不同的參數(shù)測量模塊,該操作既可能是信號線電平變化,也可能是發(fā)送特定復(fù)位指令。

微控制器對復(fù)位后的測量器件完成初始化后,啟動一次或若干次測量,測量是否完成的判斷標準有三種:信號線電平變化、指令查詢、單純等待。當測量完成時,微控制器讀取參數(shù)測量模塊的測量值,隨后關(guān)斷供電。

2.2 微控制器引腳分配

參數(shù)測量模塊的測量值保存在非易失性存儲器中,為此選擇了EVERSPIN公司的4 MB新型磁阻存儲器MR25H40。該存儲器有寫保護功能,數(shù)據(jù)接口為SPI兼容接口;參數(shù)測量模塊與微控制器之間的通信是通過SPI、I2C、GIO(帶中斷)等多條信號線完成的。

TMS570LS2134PGE微控制器為144引腳的四方扁平封裝,其大多數(shù)引腳為多個功能復(fù)用。為了充分利用微控制器的片上資源,需要合理安排每個引腳的功能。通過HALCoGen軟件工具可以分配每個引腳的功能,在其PINMUX頁面可以查看是否有引腳功能沖突。最終引腳分配如表3所列。

表3 引腳分配

其中環(huán)空溫度與環(huán)空壓力、傾角與轉(zhuǎn)速各自使用一個數(shù)字傳感器測量。可以使用多達11片存儲器實現(xiàn)44 MB的存儲容量。板載溫度計單獨占用SPI4接口,用于監(jiān)測電路板溫度及某些參數(shù)測量的溫度補償。11個GIO引腳可以配置為中斷,監(jiān)測供電及測量的完成狀態(tài)。

2.3 軟件流程

圖4 參數(shù)測量任務(wù)流程圖

系統(tǒng)主要有三種任務(wù):參數(shù)測量、參數(shù)保存、串口通信。分為4級優(yōu)先級,其中串口通信任務(wù)優(yōu)先級最高(為3),參數(shù)保存任務(wù)優(yōu)先級最低(為1)。在FreeRTOSConfig.h中令configMAX_PRIORITIES=4。以參數(shù)測量任務(wù)為例,根據(jù)參數(shù)測量模型,可以對每項參數(shù)設(shè)定統(tǒng)一的參數(shù)測量任務(wù),如圖4所示。

這里假定測量器件的復(fù)位完成以及數(shù)據(jù)采集完成信號通過GIO中斷來監(jiān)視。對于該類參數(shù)測量任務(wù),有供電正常、復(fù)位完成及測量完成共計三根信號線連接到GIO。任務(wù)初始化時分別設(shè)定了三個二值信號量對應(yīng)于三根信號線。一旦各自信號線對應(yīng)的條件滿足,在觸發(fā)的GIO中斷中通過xSemaphoreGiveFromISR() API函數(shù)給出相應(yīng)的信號量,使阻塞的任務(wù)得以繼續(xù)。

不同的參數(shù)測量任務(wù)可能有不同測量記錄周期,進入任務(wù)后需要先等待一段時間,這樣可以減輕同時開啟多個供電電路對電池的電流沖擊。經(jīng)過記錄周期等待的時間之后,系統(tǒng)使能供電并等待供電完成。隨后完成測量器件的復(fù)位并啟動測量過程。用xSemaphoreTake函數(shù)獲取信號量時均設(shè)定超時時間,這樣可以防止任務(wù)過程停滯。對采集的數(shù)據(jù)判斷,確認有效后,送入數(shù)據(jù)隊列供參數(shù)保存任務(wù)來保存,隨后關(guān)斷模塊供電。

參數(shù)保存任務(wù)以較低優(yōu)先級持續(xù)等待獲取數(shù)據(jù)隊列的測量數(shù)據(jù),一旦得到有效測量數(shù)據(jù),就將其保存在非易失性存儲器中。最高優(yōu)先級的串口通信任務(wù)用來在地面完成記錄儀與上位機的通信,通過上位機軟件可以設(shè)定參數(shù)記錄周期、提取已經(jīng)記錄的數(shù)據(jù)并清空存儲器等。

通過xTaskCreate函數(shù)創(chuàng)建各項任務(wù)后,用vTaskStartScheduler函數(shù)啟動調(diào)度器即可。

需要注意,由于多種參數(shù)測量模塊使用了不同片選的同一個SPI5接口,為了避免資源競爭引發(fā)錯誤,各參數(shù)測量任務(wù)使用進入及退出臨界區(qū)API來共享SPI5接口。

結(jié) 語

[1] National Oilwell Varco. Wellbore Technologies. ReedHycalog. eVolve Optimization Service. BlackBox Tools and Optimized Solutions.[EB/OL][2017-09].http://www.nov.com/Segments/Wellbore_Technologies/ReedHycalog/eVolve_Optimization_Service/BlackBox_Tools_and_Optimized_Solutions.aspx.

[2] Texas Instruments.TMS570LS31x4/21x4 16 and 32 Bit RISC Flash Microcontroller (SPNS165B), 2015.

[3] 胡永建,胡寰臻,黃衍福. 基于TMS570的高可靠性隨鉆壓力計[J].微型機與應(yīng)用,2016,35(2):23-24.

[4] ARM. Cortex-R4 and Cortex-R4F Technical Reference Manual (ID041111),2011.

[5] Texas Instruments. 17-V, 1.5-A, SYNCHRONOUS STEP-DOWN CONVERTER (SLVS585D), 2014.

胡永建(高級工程師),研究方向為石油鉆井井下儀器及通信設(shè)備。

DownholeMulti-parametricRecorderDesignBasedonTMS570andFreeRTOS

HuYongjian

(CNPC Drilling Research Institute,Beijing 102206,China)

In order to get the record downhole measurement parameters with long time,low power and high reliability,the TMS570 safety critical microcontroller is selected to increase system reliability,at the same time,a measuring device with the appropriate digital interface is selected to make full use of its resources.After analyzing acquisition processes of every parameter,a unique parameter survey model is built,three tasks such as parameter measurement,parameter preservation and serial communication are realized under FreeRTOS real-time operating system and idle hook function is used to enter low-power mode.The underground multi-parameter recorder and the BlackBox of NOV have similar functions and indicators,which can be used to improve drilling efficiency and optimize drilling performance.

TMS570;safety critical microcontroller;FreeRTOS;multiparametric recorder

國家級-2016年國家科技重大專項“大型油氣田及煤層氣開發(fā)”(2016ZX05020005-001)。

TP212.6

A

楊迪娜

2017-09-05)

猜你喜歡
測量
測量重量,測量長度……
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
滑動摩擦力的測量與計算
測量的樂趣
二十四節(jié)氣簡易測量
日出日落的觀察與測量
滑動摩擦力的測量與計算
測量
測量水的多少……
主站蜘蛛池模板: 九月婷婷亚洲综合在线| 无码综合天天久久综合网| 99热国产在线精品99| 久久久噜噜噜久久中文字幕色伊伊| 久久精品中文无码资源站| 91精品在线视频观看| 国产99在线观看| 国产无码高清视频不卡| 青青草欧美| 91久久偷偷做嫩草影院免费看| 久久香蕉国产线看观看精品蕉| 99在线视频精品| 亚洲第一黄色网址| 91久久国产综合精品女同我| 国产精品大尺度尺度视频 | 中文字幕无码制服中字| 久久黄色影院| 久久久久青草线综合超碰| 日本不卡在线播放| 色欲色欲久久综合网| 亚洲综合激情另类专区| 欧美日韩第二页| 亚洲中文无码av永久伊人| 亚洲AⅤ波多系列中文字幕| 亚洲无码A视频在线| 亚洲大学生视频在线播放| 国产激情影院| 国产精品9| 2024av在线无码中文最新| 秋霞一区二区三区| 夜精品a一区二区三区| 国产欧美在线观看视频| 亚洲性影院| 国产成人精品一区二区秒拍1o| 99青青青精品视频在线| 看你懂的巨臀中文字幕一区二区| 很黄的网站在线观看| 亚洲侵犯无码网址在线观看| 久久综合亚洲色一区二区三区| 亚洲色图在线观看| 国产欧美日韩另类精彩视频| 国产麻豆福利av在线播放| 日本a级免费| 国产成人综合网| 特级做a爰片毛片免费69| 國產尤物AV尤物在線觀看| 青青久久91| 国产精品亚洲五月天高清| 一区二区三区在线不卡免费| 国产91小视频在线观看| 亚洲成人在线免费| 成人福利一区二区视频在线| 九九精品在线观看| 伊人久久青草青青综合| 久久综合丝袜日本网| 国产成人精品亚洲日本对白优播| 一级黄色片网| 无码专区在线观看| 中文成人在线| 欧美精品啪啪| 国产av无码日韩av无码网站| 婷婷六月综合网| 视频一区亚洲| 新SSS无码手机在线观看| 国产精品制服| 欧洲免费精品视频在线| 91免费观看视频| 99在线观看国产| 蝴蝶伊人久久中文娱乐网| 伊人久久大线影院首页| 热久久这里是精品6免费观看| 无码高潮喷水专区久久| 亚洲资源在线视频| 波多野结衣第一页| 99re精彩视频| 亚洲色图欧美一区| 国产精品护士| 久久国产拍爱| 欧美精品v| 欧美午夜理伦三级在线观看| 国产一区二区三区在线精品专区| 亚洲成肉网|