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

基于QT/E串口通信的手持監控器

2013-04-12 00:00:00劉依晗丑武勝董明杰
現代電子技術 2013年20期

摘 要: 為實現基于嵌入式Linux系統的ARM11手持監控器與下位機之間的串口通信,在基于ARM1176JZF?S核的ARM11開發板上移植Linux操作系統,搭建嵌入式QT應用平臺。利用QT可視化的圖形界面及豐富的圖形庫,設計并制作手持監控器圖形界面。根據Linux下串口通信的應用層協議,最終實現了下位機的運動狀態數據在QT界面上的實時顯示。該方法簡單、可靠、便于實際工程應用,解除了PC機對下位機進行遠程數據監控攜帶不方便的問題。由于Linux系統和QT都有較強的可移植性,該方法在遠程手持監控設備中將有廣泛的應用前景。

關鍵詞: 嵌入式; Linux; 手持監控器; QT; 串口通信

中圖分類號: TN919?34; TP393.04 文獻標識碼: A 文章編號: 1004?373X(2013)20?0110?03

0 引 言

近年來,隨著電子、材料、計算機等一些高新技術的出現,水下機器人的研制有了迅猛的發展,已經出現海底實驗、考察、施工、打撈與救助等多種用途與類型的水下機器人[1]。本課題來源于國家“863計劃”——核反應堆專用機器人技術與應用。因為核電站反應堆水池特殊復雜的環境,必須要對核電站的水下機器人進行遠程監控。目前國內外已經有多種對水下機器人監控的岸上控制箱,但大都體積龐大,不方便攜帶。本文的目標是設計制作一個手持式監控器,可以方便的攜帶,并能夠顯示出水下機器人的各個運動狀態參數。

Linux操作系統,具有免費、安全、可靠、運行穩定等特點,具有跨平臺的特性,移植性非常好,并且它開放源代碼的優點使得系統成本非常低[1],適合于向ARM11開發板上移植。配以具有跨平臺特性并含有豐富圖形庫的QT軟件,使得本手持式遠程監控器的設計簡單,成本低廉,非常適合于工業應用[1]。

1 硬件平臺的選擇及系統移植

1.1 核心處理器的選擇

因為需要實時的顯示水下機器人的運動狀態信息,所以選用ARM(Advanced RISC Machines)處理器核心板來實現功能。ARM處理器具有體積小、低功耗、低成本、高性能的優點,非常適合用于嵌入式手持設備。基于ARM1176JZF?S核來設計的ARM11處理器具有豐富的接口、較高的處理速度,同時能擴展出各種總線接口,包括數據總線、地址總線和控制總線,以及串口、USB接口、以太網接口等,可以方便的與其他模塊進行連接[1],可以非常輕松的滿足我們手控器對QT串口通信的需求,如圖1所示。

1.2 操作系統的移植與交叉編譯器的安裝

1.2.1 Linux操作系統的移植

Linux操作系統是跨平臺、開放源代碼的,并且內核小、可剪裁、功耗低、功能易擴展,開發及運行效率高,因此我們在ARM11開發板上移植了版本號為2.6.38的嵌入式Linux操作系統[1]。

1.2.2 交叉編譯器的安裝

為了使宿主機上程序能夠順利的在目標機上運行,需要對開發板安裝交叉編譯工具鏈。在此安裝的交叉編譯器版本為Arm?Linux?Gcc4.5.1,它默認采用armv6指令集,支持硬浮點運算。安裝好交叉編譯器后,在宿主機PC電腦上編寫的程序可以順利的在目標機開發板上運行,這為后續工作搭建好了平臺。

2 QT軟件介紹及其移植

2.1 QT軟件簡介

QT是一個跨平臺的C++圖形用戶界面庫,由挪威TrollTech公司1995年出品,QT具有優秀的跨平臺特性,相同的代碼可以在任何支持的平臺上編譯與運行,而不需要修改源代碼。同時,QT具有良好的封裝機制,模塊化程度非常高,可重用性較好,其獨特的信號/槽機制,使得各個元件之間的協同工作非常簡單[1]。而QT/Embedded是專門面向嵌入式系統的QT版本,專門為小型設備提供了圖形用戶界面的應用框架和窗口系統,具有極好的跨平臺特性,非常適合于手持監控器的開發。QT/Embedded的實現機構如下[1]。

2.2 QT到開發板的移植

本文的目的是在嵌入式硬件平臺ARM11上實現QT/E的圖形用戶界面,來實現讀取下位機傳來的串口數據。所以首先需要在PC機上安裝好QT并交叉編譯成為針對arm平臺的embedded版本[1],并將其移植到ARM11開發板上,至此,在PC機Linux系統上編寫的QT運行程序,便可以在開發板上運行了,在此安裝的QT版本為4.7,如圖2所示。

3 串口通信的實現

3.1 Linux下串口通信的原理

因為在QT中沒有特定的串口控制類,所以在此引用一個由第三方編寫的qextSerialPort類來實現串口通信。該類包含2個類,QextSerialBase類和Posix_QextSerialPort類,這兩個類的關系圖如圖3所示。

可以看到,兩個類都是繼承自QT軟件自帶的QIODevice類,所以該類中的一些函數可以直接調用。其中,類QextSerialBase繼承自QIODevice類,它提供了操作串口所必需的一些變量和函數等,而Posix_QextSerialPort繼承自QextSerialBase,Posix_QextSerialPort類添加了Linux平臺下操作串口的一些功能。

在QextSerialBase類中涉及到了一個枚舉變量QueryMode,它包括兩個值,一個是事件驅動方式EventDriven,另一個是查詢方式Polling。在事件驅動方式中,串口的讀寫是異步的,不會凍結調用線程。而查詢方式讀寫函數是同步執行的,信號不能工作在這種模式下,而且有些功能也無法實現,但是這種模式下開銷較小,我們可以自己建立定時器來讀取串口的數據,并顯示在QT的圖形用戶界面上。本文介紹的就是用Polling方式來進行串口通信,因為手持監控器只需要顯示下位機的運動狀態參數,所以只需要讀取下位機發來的數據即可。

3.2 Polling方式串口通信的實現過程

因為查詢方式進行串口通信需要設置一個定時器,并通過QT特有的信號/槽機制,將定時器超時信號與槽函數關聯,每到定時器設定的值后就讀取一次串口的數據,實現串口通信的流程圖如圖4所示。

3.3 串口通信在ARM11開發板上的實現

在熟知QT下串口通信的原理后[1],在QT軟件中建立工程,通過調用QextSerialBase和Posix_QextSerialPort兩個類,利用textbrowser和label來實現QT界面的編寫[1],在PC機上模擬運行成功后,對該程序進行交叉編譯,生成了能夠在ARM11開發板上運行的可執行程序,并將其燒寫到開發板上,通過命令終端運行,使其成為?qws(服務器程序),并進行實際測利用下位機水下機器人對手持監控器發送數據,顯示效果如圖5所示。至此,手持監控器圖形界面就設計完成了,也可根據自己需要接受并顯示的參數來設計圖形用戶界面,以達到最大的美觀效果。

4 結 語

文章介紹了一種新穎的遠程手持監控器制作方法。以ARM?Linux嵌入式系統為基本平臺,利用同樣具有跨平臺特性的QT軟件來實現界面的設計與數據的讀取。該方法簡單,可靠,易學,并且成本低廉,可以快速的繪制漂亮的圖形界面,為以后手持式的遠程監控設備奠定了基礎,可以擺脫大型監控設備攜帶不方便的束縛。由于開源的Linux系統和QT軟件都具有較強的可移植性,該方法在遠程手持監控設備中將會有更廣泛的應用前景。

參考文獻

[1] 郭晶.潛水器用遠程遙控系統研究[D].大連:大連海事大學,2010.

[2] 謝偉.嵌入式Linux系統工程師標準培訓教材:基礎篇[M].北京:清華大學出版社,2011.

[3] 陳章龍.嵌入式技術與系統:Intel XScale結構與開發[M].北京:北京航空航天大學出版社,2003.

[4] 郭巧云,許雪梅,李岸.基于ARM11的無線視頻監控系統的設計[J].計算機測量與控制,2010,18(8):1?2.

[5] GUO Guang?ming. Design of embedded remote video monitoring system based on S3C2410A [J]. Science and Technology Management Research, 2010, 263(14): 233?235.

[6] 吳子平,徐愛鈞.基于Qt/Embedded的嵌入式GUI的研究與構建[J].電腦開發與應用,2012,25(1):1?2.

[7] 華晶,賈晶,何火嬌.基于Qt/Embedded的嵌入式GUI在ARM上的移植[J].計算機與現代化,2009(10):20?22.

[8] HUAI Wei?hua, ZHANG Yu?jie, TIAN Ze. The TTY device driver of the embedded linux operating system [J]. Computer Applications, 2009, 28(1): 42?44.

[9] 唐浩,代少生.Qt/Embedded在S3C2440平臺上的移植與開發[J]. 電視技術,2010(34):9?11.

[10] BLANCHETTE Jasmin, SUMMERFIELD Mark. C++ GUI Programming with Qt4 [M]. 2版.北京:電子工業出版社,2008.

主站蜘蛛池模板: 色悠久久久| 国产亚洲精品自在久久不卡| 91精品情国产情侣高潮对白蜜| 97青草最新免费精品视频| 青青草国产一区二区三区| 亚国产欧美在线人成| a级毛片网| 国内精品自在自线视频香蕉| 999国内精品视频免费| 日本在线欧美在线| 午夜福利在线观看成人| 九九精品在线观看| 亚洲中文字幕23页在线| 欧美一区二区三区国产精品| 免费福利视频网站| 人妻丰满熟妇AV无码区| 国产在线观看人成激情视频| 999福利激情视频| 在线免费a视频| 中国丰满人妻无码束缚啪啪| 自慰网址在线观看| 久久综合色天堂av| 中国特黄美女一级视频| 久久特级毛片| 欧美日韩成人在线观看| 欧美成人区| 国产无码性爱一区二区三区| 国产三级毛片| 亚洲天堂区| 伦伦影院精品一区| 国产欧美视频在线| 免费无码AV片在线观看中文| 无码中字出轨中文人妻中文中| Jizz国产色系免费| 18禁黄无遮挡免费动漫网站| 亚洲精品人成网线在线| 亚洲日本一本dvd高清| 99久久精品美女高潮喷水| 国产精品久久久久鬼色| 五月激情婷婷综合| 日本成人精品视频| 真实国产精品vr专区| 1级黄色毛片| 国产高清不卡视频| 免费无遮挡AV| 国产精品福利社| 国产男人的天堂| 一区二区影院| 激情综合婷婷丁香五月尤物| 成年人国产视频| 国内精品久久久久鸭| a级毛片免费看| 五月天丁香婷婷综合久久| 国产区在线看| 国产喷水视频| 国产福利拍拍拍| 无码福利视频| 天天躁日日躁狠狠躁中文字幕| 99久久国产综合精品女同| 成人国产精品一级毛片天堂| 伊人久久婷婷五月综合97色| 国产伦片中文免费观看| 国产欧美日韩综合一区在线播放| 美臀人妻中出中文字幕在线| 波多野结衣中文字幕久久| 手机永久AV在线播放| 久久国产香蕉| 欧美a在线| 欧美成人精品一级在线观看| 国产激情无码一区二区三区免费| 国产女人18毛片水真多1| 久久精品人人做人人爽电影蜜月| 亚洲第一成网站| 成年看免费观看视频拍拍| 国产精品网址在线观看你懂的| 亚洲男女天堂| 露脸真实国语乱在线观看| 亚洲视频一区在线| 久久免费观看视频| 色婷婷在线播放| 一区二区在线视频免费观看| 欧美日韩北条麻妃一区二区|