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

基于事件驅動的智能儀表嵌入式系統架構設計

2015-01-03 02:24:06郭月明
石油知識 2015年3期
關鍵詞:設備系統

靳 苗 郭月明 衛 乾 唐 杰

(北京中油瑞飛信息技術有限責任公司 北京 102200)

基于事件驅動的智能儀表嵌入式系統架構設計

靳 苗 郭月明 衛 乾 唐 杰

(北京中油瑞飛信息技術有限責任公司 北京 102200)

本文介紹了一種基于事件驅動的嵌入式系統架構設計方法,系統架構由硬件抽象層、應用支持子層、應用層、事件驅動核心等部分組成,各層間逐級調用,具備普遍的通用性,可以廣泛運行在MSP430、M3、ARM、X86等架構上,可有效提高儀表的穩定性、簡化后期的維護工作。

事件驅動;分層設計;模塊化;函數庫

圖1 智能儀表系統功能組件圖

隨著物聯網的迅猛發展,智能儀表設備被廣泛應用在國內外自動化領域[1]。但由于自動化行業所使用儀表的開發環境差異較大、產品技術分支多,導致嵌入式代碼接口不統一、代碼重用性較差,增加了后期技術溝通的難度。同時,隨著儀表類產品的需求細化、硬件模塊化接口的標準化,對儀表類產品進行統一的嵌入式系統架構設計是可行且必要的。

本文介紹的基于事件驅動的嵌入式系統架構設計方法采用分層設計原則,實現功能模塊化封裝,可最大程度保證系統的穩定和接口的統一,方便移植至其它MCU及儀表平臺。同時,用戶通過簡單宏定義即可實現產品必要的功能選擇,抽象各功能組件的接口并實現統一,便于擴展其它功能組件或增加事件處理任務。

1 系統架構功能組件及分層設計

1.1 系統架構功能需求

根據目前智能儀表的行業需求,智能儀表需要實現設備管理、人機交互等功能,按照功能模塊化劃分(圖1)。

1.2 系統架構的分層設計

1979年,國際標準化組織ISO下設的一個專門委員會為制定“開放系統互聯”(OSI)的有關標準,提出了基于功能分層概念的網絡結構七層模型——開放系統互連參考模型(OSI/RM)。盡管OSI/RM是為網絡中系統互連所建立的,但是其分層的設計思想完全可以為智能儀表嵌入式系統架構的設計所借鑒。

根據工業自動化行業智能儀表的功能需求,將代碼進行分層設計,為用戶(嵌入式應用層工程師)提供設備管理接口集、數據上傳接口集、人機交互接口集、歷史數據管理接口集、傳感器參數管理接口集、傳感器實時數據采集及周邊外設數據采集接口集、設備功能模塊電源管理接口集、通訊協議接口集、校驗算法接口集及濾波算法接口集,同時提供數據類型及錯誤碼組件,以縮短產品開發時間、提高產品開發效率和質量。整個系統由硬件層、硬件驅動層、硬件抽象層,應用支持子層、儀表組函數庫、事件驅動核心、應用層共計7個部分組成,每一層中又可以分為多個獨立的模塊,共同為上層提供服務。

2 系統各層的工作原理分析與設計

系統中每層都對下一層進行了封裝,因此在代碼執行過程中需要逐級調用,而不能隔層調用(圖2)。

圖2 系統各層間調用流程圖

隨著儀表硬件模塊化和接口標準化的落實,為軟件分層模塊化設計奠定了基礎。根據儀表功能需求,硬件層分為主控模塊、傳感器模塊、HMI模塊及通訊模塊等基本單元。

2.1 硬件抽象層(HAL)

2.1.1 硬件抽象層工作原理

硬件抽象層(HAL)完成了對硬件模塊接口的進一步封裝,其中包括MCU內部總線類設備及MCU外部設備,硬件抽象層(HAL)作為BSP的上一層,及應用支持子層的下一層,是整個系統架構非常關鍵的一層,HAL實現了對底層設備的封裝,為應用支持子層及系統架構中其它功能模塊提供統一的接口。為實現該功能及代碼的通用性,需要對每一個軟硬件模塊進行唯一編碼,通過設備編碼實現對不同設備的區別,根據設備編碼通過回調函數的動態映射實現同一設備不同的操作。

根據儀表的特征,可以將對設備的操作抽象成一些子操作接口,將這些子操作統一到一個結構中去來實現對上層接口的統一,如對常規設備的操作可以抽象成打開、讀、寫、休眠、診斷、關閉6個子操作接口。在編寫設備抽象層代碼時,必須將BSP層接口抽象出以上6種接口供應用支持子層及其它功能模塊使用,設備操作結構設計如下:

在實際編寫硬件抽象層驅動式,可通過open函數來掛載不同的操作接口。例如應用支持子層如果需要對硬件抽象層傳感器模塊中的某一子設備進行操作時,首先將該子設備的編碼(設備編碼是全局唯一的)傳入open函數,open函數則根據唯一編碼查找到該設備的操作接口并將其地址賦值給結構中的接口。

2.1.2 硬件抽象層中斷處理接口

為及時響應用戶需求,硬件抽象層可對紅外接口、通訊模塊接口提供了中斷處理機制,涉及中斷處理的模塊有紅外通訊模塊、本地通訊模塊等。在本次系統架構設計中,中斷只有定時器中斷和UART數據接收中斷兩種:定時器中斷用于驅動事件運轉,UART中斷用于搬運UART緩沖區中的數據至數據區。定時器中斷觸發時和UART中斷觸發時的事件流程圖分別如圖3、4所示。

圖3 RTC中斷觸發時事件流程圖

圖4 UART中斷觸發時事件流程圖

2.2 應用支持子層

應用支持子層是整個系統的第二樞紐,主要由傳感器操作相關操作接口、數據存取相關操作接口、數據展示相關操作接口及數據傳輸相關操作接口組成,基本上是圍繞著傳感器進行的。它提供了設備硬件抽象層與應用層之間及儀表組函數庫之間的連接,在層級職能上該層對硬件抽象做了進一步的封裝,以便于應用層封裝事件操作接口時調用。

以傳感器模塊接口為例。根據硬件模塊化設計的方案可以確定傳感器的操作涉及到實時數據讀取、傳感器信息讀取、傳感器診斷,對于MCU來講其實是對SPI接口的一些讀寫操作,而這些讀寫基本操作在HAL中已經實現,本處需要設計一個接口,用來封裝對傳感器實時數據讀取、傳感器信息讀取、工況診斷等操作(圖5)。

圖5 傳感器模塊應用支持子層接口

2.3 儀表函數庫

儀表函數庫實現了對儀表類產品軟件模塊的封裝,主要包含通訊協議模塊、文件系統、設備管理模塊、算法模塊、智能電源管理模塊等,同時包含C語言部分標準函數,該套系統架構支持標準C函數庫中的輸入、輸出函數及數學函數。

通過代碼庫建設,可以統一代碼規范、統一常用函數接口,避免重用性,提高嵌入式軟件工程師的效率。

2.4 應用層

不同的設備有不同的應用場景,相同的設備又有不同的應用需求。應用層將實例化出人機交互事件、設備遠程管理事件、數據上傳事件、數據展示事件、實時數據采集事件、外部設備數據采集事件及歷史數據存取事件等操作接口,在事件驅動中心中將執行上述事件處理函數,應用層及各層之間的關系如圖6所示。

如傳感器數據上傳事件主要分兩個方面:一是被動上傳,即上位機有需求時啟動上傳,這種方式主要是應用于總分架構的總線中;二是主動上傳,這要根據具體的通訊協議,如A11通訊協議。同時在該事件中完成數據的合包與發送,該事件將調用通訊協議接口及通訊模塊數據發送接口。

圖6 應用層與各層之間的關系圖

2.5 事件驅動核心

事件驅動核心的主要功能是仲裁系統中各個任務的先后順序(圖7)。事件驅動核心的“心跳”在硬件抽象層完成,通過定時器時鐘滴答進行判斷或觸發事件,設計這一部分目的是讓應用層工程師專注于用戶需求,因為大多數情況下,事件驅動核心及相關子層的設計是整個系統的核心任務,可以通過定期的維護和更新這個“內核”對產品進行升級。

基于事件間的驅動接口可采用結構Event進行封裝,該結構包含了當前事件和上一事件的信息,同時可以在事件之間傳輸數據指針,如下所示:

3 結語

本文介紹的分層設計、逐級調用的代碼架構設計方法已經在新一代的智能儀表中使用,并取得了明顯的效果。在智能儀表的軟件代碼設計中,利用這種分層的系統架構設計有如下優點:

(1)提高軟件質量,縮短產品的開發周期。在儀表開發期,統一的函數接口和常用算法的統一管理,大大提高代碼的可重用性,避免重復開發,從而進一步提升開發人員利用率,縮短了產品的開發時間。

(2)簡化設備后期的升級維護。在儀表維護期,清晰的程序結構和統一的接口可有效避免潛伏的BUG、提高產品的穩定性,在更改層具體實現代碼時也不必修改其它函數,簡化產品的升級維護工作。

[1]賈靈,王薪宇,鄭淑軍等.物聯網/無線傳感網原理與實踐[M].北京:航空航天大學出版社,2011.

[2]孟彥京,陳卓.事件驅動的程序設計方法在嵌入式系統中的應用[J].電氣自動化,2009,31(6):62-63,66.

[3]李臣亮.事件驅動架構及應用[J].軟件世界,2007(21):44-45.

[4]何鴻君,曹四化,褚祖高,羅莉,寧京宜,董黎明,李朋.一種改進的事件驅動系統框架[J].國防科技大學學報,2008,30(3):70-75.

[5]孫秋冬.軟件系統的分層設計[J].計算機工程與應用,2001(7):110-112.

圖7 壓力對CO2泡沫穩泡能力的影響

由圖6、圖7可知,壓力對泡沫性能影響較溫度更為明顯。隨著壓力增加CO2泡沫的起泡能力和穩泡能力都明顯增加,特別是在超臨界條件下,CO2泡沫的起泡能力和穩泡能力都明顯增強。在16MPa條件下CO2泡沫起泡體積達到424mL,其半衰期超過52h,說明超臨界條件下CO2泡沫性能要明顯高于常規泡沫。

3 泡沫封堵能力實驗

為考察氣態、液態及超臨界態CO2形成泡沫體系封堵能力,開展了3組不同的實驗。模型滲透率為239×10-3μm2,水驅穩定后采用發泡劑和CO2混合注入,氣液比為1:1,總注入量為1PV,記錄各階段模型兩端壓差(表1)。

表1 不同相態CO2泡沫封堵能力實驗條件及結果

從不同相態下的CO2泡沫封堵能力來看:氣態CO2形成的泡沫封堵能力最差;液態CO2與發泡劑溶液形成的是乳狀液,有一定的封堵能力;超臨界態CO2形成的泡沫體系封堵能力最好。這與高溫高壓條件下靜態評價的結果一致。

4 結論與認識

(1)超臨界條件下CO2起泡速度高于氣態CO2泡沫,有利于油藏內CO2泡沫的形成。

(2)升高壓力和降低溫度均有利于泡沫的穩定,其中壓力升高可顯著提高泡沫的穩定性。

(3)超臨界CO2形成的泡沫體系封堵效果明顯優于氣態、液態CO2泡沫。

參考文獻

[1]王其偉,郭平,周國華等.泡沫體系封堵性能影響因素實驗研究[J].特種油氣藏,2003,10(3):79-81.

[2]周國華, 宋新旺,王其偉等.泡沫復合驅在勝利油田的應用[J].石油勘探與開發,2006,33(3):369-372.

[3]楊昌華,王慶,董俊艷等.高溫高鹽油藏CO2驅泡沫封竄體系研究與應用[J].石油鉆采工藝,2012,34(5):95-101.

猜你喜歡
設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 美女国内精品自产拍在线播放| 国产一区二区三区日韩精品 | 福利在线一区| 啪啪啪亚洲无码| 99热这里只有精品2| 亚洲乱码在线视频| 亚洲伊人久久精品影院| 丁香六月综合网| 国产免费久久精品99re丫丫一| 欧美一区二区人人喊爽| 久久国产精品娇妻素人| 日本人妻丰满熟妇区| 美女被操黄色视频网站| 四虎影视8848永久精品| 噜噜噜综合亚洲| 色成人综合| 国产精品网址你懂的| 视频在线观看一区二区| 成人欧美在线观看| 国产免费一级精品视频| 色综合久久综合网| 中文国产成人精品久久| 国产精品人莉莉成在线播放| 日本不卡视频在线| 播五月综合| 亚洲Av综合日韩精品久久久| 国产精品yjizz视频网一二区| 亚洲精品男人天堂| 国产乱子伦一区二区=| 国产精品免费p区| 99在线观看视频免费| www欧美在线观看| 天天综合网亚洲网站| 亚洲伊人电影| 99热这里都是国产精品| 国产成人超碰无码| 亚洲国产中文综合专区在| 蜜桃视频一区二区三区| 日本成人精品视频| 免费A级毛片无码免费视频| 丰满人妻中出白浆| 日韩在线第三页| 中文字幕无码制服中字| av一区二区无码在线| 夜夜操狠狠操| 免费黄色国产视频| 亚洲欧美一区二区三区图片| 欧美日韩v| 欧美激情首页| 97视频精品全国免费观看| 亚洲h视频在线| 欧美日韩一区二区在线播放| 67194成是人免费无码| 国产精品.com| 54pao国产成人免费视频 | 免费人成视网站在线不卡| 99青青青精品视频在线| 丝袜亚洲综合| 国产精品一老牛影视频| 青青热久免费精品视频6| 毛片免费网址| 综合五月天网| 狠狠色成人综合首页| 尤物成AV人片在线观看| 国产香蕉一区二区在线网站| 欧美国产综合色视频| 香蕉综合在线视频91| 激情视频综合网| 国产毛片高清一级国语| 久久女人网| 欧美日韩精品一区二区在线线| 天天躁夜夜躁狠狠躁躁88| 国产网站免费看| 伊人丁香五月天久久综合| 国产鲁鲁视频在线观看| 在线免费无码视频| 九月婷婷亚洲综合在线| 热这里只有精品国产热门精品| 99久久精彩视频| 高清国产va日韩亚洲免费午夜电影| 中文字幕在线观| 久草视频精品|