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

噴水推進上位機監控系統ARM設計與實現

2016-05-11 00:42:55ARMbasedDesignandImplementationofSupervisionControlSystemforWaterjetPropulsion
自動化儀表 2016年3期
關鍵詞:嵌入式數據庫系統

ARM-based Design and Implementation of Supervision Control System for Waterjet Propulsion

王曉初1 徐 亮1 龔征華2 陳建平2 袁景淇1(上海交通大學自動化系1,上?!?00240;中船708研究所噴水推進技術重點實驗室2,上?!?00011)

?

噴水推進上位機監控系統ARM設計與實現

Multi-thread CAN bus ARM

國家自然科學基金資助項目(編號:61233004);

教育部博士點基金資助項目(編號:20110073110018)。

修改稿收到日期:2015-07-28。

第一作者王曉初(1990-),男,現為上海交通大學控制科學與工程專業在讀碩士研究生;主要從事噴水推進控制系統和嵌入式系統的研究。

0 引言

噴水推進是一種重要的船舶動力技術,廣泛應用于高性能船舶[1]。噴水推進器的可靠運行離不開穩定、高效的上位機監控系統。噴水推進系統上位機監控系統的主要任務包括:對輸入設備的采樣、為用戶提供良好的人機交互界面、與下位機進行數據通信以及對系統信息的存儲與查詢等。

上位機監控系統的實現需要穩定、高效的嵌入式硬件和軟件。隨著高性能芯片制造技術的不斷提升,具有體積小、功耗低、可靠性高的ARM系列芯片得到廣泛應用[2]。由于ARM芯片可適應多種嵌入式操作系統,因此成為嵌入式處理器的首選。在操作系統的選擇上,VxWorks在實時性和可靠性上具有巨大優勢,但價格相當昂貴,且開放性差,開發難度大; Linux具有源代碼開放、實時性和可移植性良好等特點,但是尚沒有很好的用戶圖形界面; WinCE是微軟推出的一款多任務、多線程的實時操作系統,具有緊湊、可靠性高等特點,且用戶圖形界面良好,開發周期短、通用性強,可滿足大部分工業領域嵌入式系統開發[3]。因此,本文采用WinCE作為上位機操作系統。

1 總體框架

基于ARM和WinCE噴水推進系統上位機的總體框架見圖1,主要包括采樣模塊、組態串口屏、數據庫和CAN總線通信4個部分。

圖1 噴水推進系統上位機總體框架Fig. 1 Overall framework of the host computer in waterjet propulsion system

系統采樣模塊包括6路模擬量采樣(A/D)和8路數字量采樣(DI),采樣周期達到20 ms;組態串口屏包括噴水推進系統儀表及數值的顯示,并提供歷史數據查詢的人機交互界面;數據庫則對系統實際運行數據進行存儲,并響應用戶的查詢操作; CAN總線通信作為上位機與下位機的橋梁,完成二者間信息交互。

需要說明的是,盡管WinCE操作系統具有較好的用戶圖形界面,但在開發過程中發現圖形界面的繪制會消耗系統不小的內存資源,制約了系統采樣頻率的提高。因此將系統的人機交互界面模塊獨立出來,以組態串口屏的形式實現其功能。

2 系統硬件設計與實現

圖2給出了系統硬件設計框圖,其核心是TI公司生產的AM3352微處理器[4],內核為ARM Cortex-A8,頻率為800 MHz。針對A/D采樣和組態串口屏模塊,由于二者均為串口(RS-232串口,以下均簡稱串口)通信,可利用處理器自帶的UART1和UART2,并通過MAX3243E芯片轉換電平得到串口; 8路DI采樣由系統內部提供的GPIO接口實現;系統提供的USB OTG接口用于連接計算機,完成程序調試及下載; LCD接口外接調試屏,用于開發過程的界面顯示;存儲器方面,擴展了256 MB DDR3 SDRAM和256 MB NAND Flash,以提高系統性能;同時,為了能夠更大容量地存儲系統運行數據,對系統內部SD卡接口進行了擴展,得到TF卡接口;處理器還自帶2路CAN總線接口,通過CAN總線控制芯片CTM8251AT,可實現CAN總線網絡的數據通信[5]。

圖2 系統硬件設計方案Fig. 2 Design scheme of system hardware

對于硬件的擴展部分,考慮到CAN總線通信和存儲器擴展技術比較成熟,因此主要對A/D采樣和組態串口屏兩個模塊作進一步說明。

2. 1 A/D采樣

A/D采樣包括對手輪、手柄等輸入信號的采樣,共6路,電壓范圍為0~5 V,采樣周期達到20 ms??紤]到系統只留有4路ADC接口,因此對A/D采樣進行擴展。

由于系統具有豐富的UART,且串口通信實現簡單、通信波特率可達57 600 Bd/s,因此選用串口實現A/D采樣模塊與CPU的通信。

為了實現A/D采樣,本文選用了PIC18F2423集成芯片。該芯片是美國MICROCHIP公司研發的一種用于開發和控制外圍設備的集成電路,自帶13通道12位精度A/D模塊,單通道轉換速率可達50 000次/s,可滿足6通道20 ms采樣周期要求。

A/D采樣模塊的工作模式如圖3所示。PIC與CPU之間通過串口進行通信??紤]到采樣模塊的定時并不精確,因此采用CPU通過串口定時發送采樣命令,PIC接收命令采樣并上傳的模式。

圖3 A/D采樣工作模式Fig. 3 A/D sampling mode

2. 2組態串口屏

組態串口屏是帶有組態控件、串口控制的液晶屏。組態控件包括文本、儀表、曲線、圖標、進度條等,組態串口屏接收CPU通過串口發送的指令,便可完成顯示操作??紤]到在WinCE上繪制大量儀表、數值會消耗大量系統資源,因此將上位機的人機交互顯示界面以組態串口屏的方式獨立出來,以提高系統穩定性。

本系統選用廣州大彩光電科技有限公司生產的10. 4英寸(1英寸= 25.4 mm)組態串口屏,其核心處理器為Cortex-M3 +高速FPGA,帶觸摸,內置虛擬數字小鍵盤和全功能鍵盤,支持串口通信方式,最高通信波特率可達115 200 Bd/s。

組態串口屏的示意界面見圖4,其主要包括運行參數儀表顯示、輸入(模擬量和開關量)顯示以及查詢界面顯示。

圖4 組態串口屏顯示界面Fig. 4 Display interface of serial configuration screen

CPU發送給組態串口屏的數據主要包括兩類:①用戶設定信息和噴水推進系統實際運行信息;②根據用戶查詢信息從數據庫提取出的歷史數據。需要注意的是,當待顯示數據過多時,可選擇分次發送并調整發送頻率,以便組態串口屏更好地完成顯示功能。

3 軟件設計

噴水推進系統上位機軟件設計過程采用模塊化設計,根據不同的硬件設備,設計出相應的軟件模塊,之后再將各獨立軟件模塊和上位機任務合理地結合起來,從而實現上位機各項功能。本節先簡要介紹基于ARM的WinCE 7. 0操作系統的定制過程,然后重點討論多線程技術、WinCE下串口通信和SQLite數據庫的實現。

3. 1 WinCE系統定制

Platform Builder是微軟公司發布的一款用于定制WinCE操作系統的集成開發環境,開發人員可使用這個集成開發環境完成嵌入式操作系統的定制、編譯和調試[6]。通過Platform Builder,最終可得到該平臺操作系統。其具體形式為映像文件nk. bin和nk. nb0,其中nk. nb0可通過相應工具下載到開發板內存中運行。最后,在應用程序開發前,需使用Platform Builder針對硬件開發板輸出相應的軟件開發工具包(software development kit,SDK),用以輔助硬件程序的開發。

3. 2應用程序開發

3. 2. 1多線程技術

分析A/D采樣模塊可知: CPU需完成定時、發送和接收3個任務,以實現系統定時采樣。為了實現系統精確定時,選用Query Performance Frequency&Counter基于硬件時鐘的定時方式。該定時方式通過獲取系統頻率和系統計數器,可實現毫秒級精確定時。

針對系統采樣頻率高、數據量大的情況,可對系統發送和接收任務分別創建線程,以提高系統資源的利用效率,從而加快系統應用程序的響應速度。WinCE提供了便捷的線程創建機制,包括基于Win API和MFC這2種線程創建方式[7],這里選用MFC中的CWinThread類創建線程。其中發送線程的相關代碼如下。

接收線程的創建與發送過程類似,用于讀取采樣數據。接收在發送結束后自行啟動,且發送與接收應輪流執行。在開發過程中發現二者并不同步,導致數據接收不正確,因此考慮對發送和接收線程進行同步處理。

WinCE操作系統中,提供了事件(event)、互斥對象(mutex)、信號量(semaphores)和臨界區(critical _ section)4種同步控制對象來實現線程間的同步[7-8]。結合本系統要求和各個同步控制對象的特點及使用情況,選擇互斥對象來實現發送和接收線程的同步?;コ鈱ο蟮脑頌橹挥袚碛谢コ鈱ο蟮木€程才具有訪問資源的權限,且互斥對象只有一個,因此決定了某一時刻只有一個線程在運行[7]。為了使得發送線程和接收線程輪流擁有互斥對象,在每個線程執行完畢后釋放互斥對象,并利用Sleep()函數使當前線程進入掛起狀態,以確保另一線程的執行。

以下為利用互斥對象實現線程同步的代碼。

3. 2. 2 WinCE下串口通信

發送和接收線程都需要通過串口進行操作,WinCE下串口通信主要包括3個步驟[9]:①初始化串口;②串口通信;③關閉串口。其實現代碼如下:

串口發送較簡單,這里僅對串口讀數據進行分析。串口讀數據使用ReadFile函數(使用見上述代碼),其中dwLength為指定要讀取的字節數,dwLengthRcv為實際讀取的字節數。A/D采樣每次上傳數據為12字節,因此應取dwLength =12,即當ReadFile函數讀到12字節數據后返回,這時dwLengthRcv = dwLength = 12。數據偶爾丟失會導致實際讀取數小于12,從而影響整個數據的正常接收。事實上,串口讀數據函數ReadFile還與串口超時參數有關。下面將對串口超時參數的選擇進行分析說明。

串口讀有兩種超時:間隔超時和總超時,分別用T1和T0表示。其中,間隔超時T1是指在接收時兩個字符之間的最大時延,總超時T0是指讀操作總共花費的最大時間。通常,總超時T0一般取較大值(如1 000 ms),以保證數據的正常讀取;間隔超時T1用于控制ReadFile讀取間隔字符的最長等待時間,會對接收過程產生重大影響。以本文為例,采樣周期Ts= 20 ms,即CPU間隔20 ms接收12 B數據。假設某異常情況下CPU只接收了10 B,因未達到設定要求而進入等待狀態。此時,為了不影響下次數據的接收,間隔超時應小于采樣周期,即T1<Ts,至于本次接收的錯誤數據應當丟棄。

3. 2. 3 SQLite數據庫的實現

(1)SQLite3數據庫在WinCE平臺下的移植。

SQLite數據庫是由D. Richard Hipp開發的一個基于C庫的輕量級嵌入式關系數據庫引擎。SQLite3是其最新版本,具有自身短小、快速高效、穩定可靠、可移植性好等眾多優點[10],非常適合嵌入式系統中數據的存儲管理。

SQLite沒有提供針對WinCE系統平臺統一的工程配置文件,需要根據不同平臺自己創建工程[11]。SQLite3在WinCE 7.0平臺的移植流程主要包括4個步驟:①創建SQLite3動態鏈接庫;②獲取CppSQLite3U;③將SQLite3加入項目工程;④應用程序配置。

(2)SQLite3數據庫的使用。

SQLite3數據庫在WinCE上的使用主要包括創建數據庫和表、插入記錄和查詢記錄,下面給出相應關鍵代碼。

4 測試結果

對完成的上位機系統進行短時和長時的測試,結果表明該系統基本達到預期,可靠、穩定。其中:高速采樣周期為20 ms; CAN總線通信周期為20 ms; SQLite數據庫每隔1 s進行存儲;組態串口屏實現了用戶設定和運行信息的顯示,刷新頻率為500 ms,同時響應了用戶的查詢操作。

表1給出了系統A/D采樣過程的統計信息。

表1 A/D采樣統計信息Tab. 1 A/D sampling statistics

需要指出的是,A/D采樣周期決定了系統運行周期,對整個系統運行效率影響重大。從表1可以看出,系統的采樣周期為20 ms,達到了設定要求。

5 結束語

本系統建立在ARM Cortex-A8硬件和WinCE 7. 0操作系統的基礎上,完成了噴水推進系統上位機數據采集、存儲、顯示、通信等各項功能。針對系統儀表顯示消耗大量系統資源的情況,利用組態串口屏將系統的人機交互界面獨立出來,提高了系統穩定性和實時性。另一方面,在處理器A/D采樣通道數不足的情況下,利用串口對其進行了擴展,并在串口通信中利用多線程技術實現了系統的20 ms的定時采樣。測試結果表明,系統的各項性能均達到了預期效果。

參考文獻

[1]鈕會武.噴水推進裝置及其控制技術研究[D].哈爾濱:哈爾濱工程大學,2009.

[2]周旭,李小敏,俞承芳.基于ARM的集散系統上位機設計[J].儀器儀表學報,2006(S1): 704-706.

[3]陳立定,楊俊輝,肖力揚.三種通用嵌入式操作系統的分析與比較[J].微計算機信息,2009(11): 89-91.

[4]凌秀澤,周俊,王俊仁.基于AM335X的液晶顯示控制系統設計[J].計算機測量與控制,2015(1): 96-98.

[5]馬舒.基于CAN總線的汽車倒車雷達系統研究[D].長春:吉林大學,2012.

[6]余宏兵,李寶安,申功勛.基于ARM的WinCE系統定制[J].現代電子技術,2008(10): 73-75.

[7]黃丹,邵惠鶴.基于Windows CE平臺的多線程編程[J].微計算機信息,2007,35(7): 53-55.

[8]闞能琪. VC + +串口通信中多線程技術的應用研究[J].西華大學學報:自然科學版,2005(4): 84-85,88.

[9]韓寶俊,盧建華,閔華松. WinCE下串口通信模型設計與實現[J].計算機工程與設計,2008(8): 1997-1999.

[10]廖一鵬.嵌入式SQLite在溫濕度巡檢儀中的應用[J].光電技術應用,2010(5): 61-64,79.

[11]劉祥,鄧中亮,吳巍蓀. SQLite3在基于WinCE平臺的智能移動終端的應用[J].工業控制計算機,2009(3):19-20.

ARM-based Design and Implementation of Supervision Control System for Waterjet Propulsion

王曉初1徐亮1龔征華2陳建平2袁景淇1
(上海交通大學自動化系1,上海200240;中船708研究所噴水推進技術重點實驗室2,上海200011)

摘要:為提高噴水推進監控系統的效能和可靠性,提出了一種基于ARM Cortex-A8內核和WinCE 7. 0操作系統的上位機監控系統設計方案。分析了系統的硬件架構和軟件實現,并詳細討論了系統采樣模塊、人機交互界面的設計與實現,以及WinCE下多線程編程和SQLite數據庫實現等關鍵技術。該系統可實現6通道高速采樣,人機交互界面良好,且具有體積小、功耗低、可靠性高等優點。

關鍵詞:噴水推進嵌入式系統上位機監控系統WinCE串口通信多線程CAN總線ARM

Abstract:Based on kernel of ARM Cortex-A8 and WinCE 7. 0 operating system,the design scheme of a supervision control system for waterjet propulsion is proposed. The hardware architecture and software implementation are analyzed,and the key technologies of the design and implementation of sampling module,interactive interface,and multi-thread programming under WinCE and SQLite database are discussed in detail. The system is characterized with 6-channel high-speed sampling,good user interface,compact,low power consumption and high reliability.

Keywords:Waterjet propulsionEmbedded systemHost computer monitoring systemWinCESerial port communication

中圖分類號:TH-39; TP312

文獻標志碼:A

DOI:10.16086/j.cnki.issn1000-0380.201603011

猜你喜歡
嵌入式數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年2期)2017-03-10 14:35:35
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 日韩视频精品在线| 天堂在线www网亚洲| 欧美午夜一区| 中文字幕精品一区二区三区视频| 美女一级毛片无遮挡内谢| 欧美一级黄片一区2区| 东京热av无码电影一区二区| 国产成人乱无码视频| 午夜视频www| 国产精品第一区| 国产一级α片| 在线看免费无码av天堂的| 婷婷激情亚洲| 欧美中文字幕无线码视频| 蜜桃视频一区二区| 午夜福利在线观看成人| 亚洲一区二区三区中文字幕5566| 亚洲综合色在线| 亚洲天堂网2014| 91精品国产麻豆国产自产在线| 在线另类稀缺国产呦| 欧美激情视频二区| 国产成人综合欧美精品久久| 人人艹人人爽| 多人乱p欧美在线观看| 成人免费网站在线观看| 欧美成人第一页| 国产在线自揄拍揄视频网站| 久久无码免费束人妻| 一级片免费网站| 国产在线97| 91人人妻人人做人人爽男同| 区国产精品搜索视频| 国产素人在线| 国产成年女人特黄特色大片免费| 国产极品美女在线播放| 免费看av在线网站网址| 亚洲日韩在线满18点击进入| 亚洲无码91视频| 她的性爱视频| jijzzizz老师出水喷水喷出| 亚洲无线一二三四区男男| 91精品国产自产在线观看| 人妖无码第一页| 91精品情国产情侣高潮对白蜜| av一区二区无码在线| 无码丝袜人妻| 熟妇人妻无乱码中文字幕真矢织江| 欧美日韩北条麻妃一区二区| 91无码人妻精品一区二区蜜桃 | 中文字幕无码av专区久久| 国产剧情国内精品原创| 日日拍夜夜操| 91亚洲免费视频| 热九九精品| AV不卡在线永久免费观看| 五月婷婷精品| 欧美激情网址| 婷婷午夜影院| 国产视频自拍一区| 亚洲精品图区| 精品国产黑色丝袜高跟鞋| 欧美翘臀一区二区三区| 无码国内精品人妻少妇蜜桃视频| 91极品美女高潮叫床在线观看| 国产激情第一页| 日韩福利视频导航| 无码内射中文字幕岛国片| 免费人成视网站在线不卡| 黄色网在线| 老汉色老汉首页a亚洲| 国产精品手机在线播放| 日韩精品专区免费无码aⅴ| 2021亚洲精品不卡a| 国产精品 欧美激情 在线播放| 日韩无码精品人妻| 国产亚洲高清在线精品99| 国产91全国探花系列在线播放| 亚洲成人播放| 国产主播喷水| 中国毛片网| 亚洲一区免费看|