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

基于ARM9的自動氣象站控制模塊設計

2018-05-23 01:17:22劉懷芝
網絡安全與數據管理 2018年4期
關鍵詞:嵌入式界面功能

葉 楠,劉懷芝,鹿 旭

(1.中船重工鵬力(南京)大氣海洋信息系統有限公司,江蘇 南京,210000; 2.中船重工鵬力(南京)新能源科技有限公司,江蘇 南京,210000)

0 引言

隨著居民生活水平的提高和氣象意識的增強,近年來自動氣象站得到了大力的發展。目前的自動氣象站可自動地實現地面氣象觀測、氣象數據存儲和觀測數據發送等功能。自動氣象站需要可視化的人機界面,既能將氣象數據傳輸給上級服務器,也能通過本地人機界面查看、控制自動氣象站。因此可視化的液晶顯示控制模塊對于自動氣象站是非常重要的。

目前國內外一般采用PC作為自動氣象站的顯示控制模塊,利用VC、LabVIEW等軟件設計顯示控制軟件,通常選用UART、TCP/IP、USB等協議進行數據/命令的傳輸[1-2]。自動氣象站顯示控制模塊技術發展得很快,但同時也發現了很多問題。傳統的硬件資源過于浪費,接口不夠統一,現場布置過于繁瑣,人機交互不夠簡單方便等,因此需要對傳統的顯示控制模塊進行升級和改造[3]。

本文設計了一種基于ARM9的自動氣象站控制模塊。采用ARM9內核的AT91SAM9G35-CU芯片結合含觸摸板的TFT-LCD液晶屏構成控制模塊的硬件平臺。為滿足自動氣象站控制模塊多任務處理和人機操作直觀方便的需求,采用經過裁剪的嵌入式Linux操作系統作為軟件平臺,并通過Qt圖形開發軟件設計人機交互界面的應用程序,移植到自動氣象站控制模塊軟件平臺中。本文所設計的自動氣象站控制模塊,既能滿足傳統氣象站的多任務需求,又提供了現場查看、控制的功能,節省了硬件資源,體現了嵌入式設備的價值[4]。

1 硬件電路設計

基于自動氣象站控制模塊的功能需求以及人機交互界面美觀方便的需求,采用Atmel公司的AT91SAM9G35-CU芯片作為MCU。以此MCU為核心,設計了電源電路、RTC時鐘電路、LCD接口電路、觸摸屏接口電路、背光接口電路、USB接口電路、SD卡接口電路、SPI接口電路、RS232接口電路、RJ45接口電路、RS485接口電路等,如圖1所示。

圖1 硬件總體框圖

AT91SAM9G35-CU芯片主頻達400 MHz,外設豐富,包含2個USB接口、4個UART接口、1個485接口、1個LCD、2個SPI接口、3個IIC接口、1個IIS接口、一個SD卡接口、1個RJ45接口。其16 KB指令高速緩存和16 KB數據高速緩存可為現有的程序和數據提供零時間等待響應,以確保對關鍵指令和數據的無延遲存取,并且EMC性能較好。

LCD模塊采用奇美G070Y2-L01工業液晶屏,包含觸摸板。該液晶顯示屏分辨率為800×480,通過LVDS信號輸出與AT91SAM9G35-CU芯片相連接。AT91SAM9G35-CU芯片內置LCD控制模塊,無需外接LCD控制芯片。因液晶屏為LVDS信號輸出,AT91SAM9G35-CU芯片引腳為TTL電平,需外接LVDS與TTL轉換電路。LCD屏與AT91SAM9G35-CU芯片接口如圖2所示。

圖2 LCD屏接口電路

G070Y2-L01工業液晶屏攜帶觸摸板。觸摸板引出4根觸摸線,分別為X+、X-、Y+、Y-。由于AT91SAM9G35-CU芯片內置A/D采樣電路,可通過編寫驅動程序將4根觸摸線輸出的電壓信號轉換為觸點位置信息。同時液晶屏連接了背光接口,通過對AT91SAM9G35-CU芯片IO口的高低電平的控制,來實現控制背光開關的功能,本設計中控制PC20口的高低電平,程序控制1 min后自動關背光,待下次觸摸再開啟。觸摸板電路和背光控制電路如圖3所示。

圖3 觸摸板和背光電路

2 系統軟件設計

2.1 操作系統的設計和實現

2.1.1軟件平臺的選擇

目前,嵌入式操作系統種類繁多,比較主流的有Windows CE、μC/OS、嵌入式Linux、VxWorks等。表1對幾種常用的嵌入式操作系統參數進行了簡單的對比。

表1 主流嵌入式操作系統比較

從表1中可以看出,一方面嵌入式Linux系統與Windows CE和VxWorks相比,Linux代碼是開放的,并且成本比較低。另一方面,μC/OS-II雖然小巧,但是它支持的外設比較少,嵌入式Linux系統與之相比就強大了很多。Linux系統具有功能強大的內核、處理能力高效穩定,支持很多的硬件設備,驅動資源豐富,大大降低了項目開發的周期;它的內核具有可裁剪性,可以根據不同的項目定制不同的內核,靈活性很強。同時,作為氣象信息數據采集,采集頻率為每秒1次,實時性要求相對不高,嵌入式Linux系統可以滿足。綜合起來,本設計選擇了嵌入式Linux操作系統作為其軟件平臺[5-6]。

2.1.2嵌入式Linux系統的裁剪和移植

一般來說,向硬件平臺中移植嵌入式Linux操作系統主要有以下幾個步驟: BootLoader的裁剪和移植、內核的裁剪和移植、文件系統的裁剪和移植。在本設計中所采用的Altem公司的AT91系列芯片需在BootLoader移植前增加AT91bootstrap的移植。

(1)AT91bootstrap的移植

Altem公司生產的芯片在移植嵌入式操作系統Linux的過程中,第一步需移植其自身提供的bootstrap,其內容包含AT91系列芯片主要硬件的初始化功能。

(2)BootLoader的移植

U-Boot是目前為止功能最多、靈活性最好的BootLoader,通過交叉編譯后代碼尺寸都比較小,一般只有100~200 KB。U-Boot緊隨AT91bootstrap移植入控制模塊的Flash中,主要完成系統啟動過程中的各種配置任務,建立合適的環境以便調用內核。

(3)內核的裁剪和移植

如今通用版本的Linux內核里面包含了很多的驅動程序,資源特別豐富,因此占用的內存資源也很大。由于Linux系統具有可裁剪性,因此可對Linux內核進行修改,裁剪一些不必要的驅動程序,選用適合自動氣象站控制模塊的必要的驅動程序,從而配置出適合資源有限的嵌入式設備的嵌入式Linux內核。本設計中通過make menuconfig命令進入可視化的內核配置界面,在內核中添加LCD驅動、觸摸屏驅動、AD采樣驅動等,以滿足自動氣象站控制模塊所需要的功能要求。配置好內核后緊隨U-Boot移植到控制模塊的Flash中。

(4)文件系統的制作和移植

Linux文件系統的主要作用是保存系統文件和應用文件,在嵌入式系統啟動后進行掛載,是整個嵌入式Linux系統的重要組成部分。本設計中采用最新的UBIFS文件系統。該文件系統可有效地解決JFSS2、YAFFS2等文件系統內存消耗大、損益均衡能力差、過渡損益等問題。制作UBIFS系統需用到mtd-utils、zlib、lzo、e2fsprogs等源碼,經一系列編譯、安裝后生成可用的UBIFS系統,然后在內核之后移植到自動氣象站控制模塊的Flash中。

2.2 應用程序的設計和實現

2.2.1Qt/Embedded的移植

Qt/Embedded作為面向嵌入式系統圖形用戶界面的應用程序開發框架,其庫采用C++封裝,完全面向對象,可移植性好,界面設計美觀,功能齊全,因此本設計采用Qt/Embedded作為應用程序開發平臺[7-8]。

本設計中的應用程序開發是在PC中的Qt Creator軟件下開發完成的。為了使通過交叉編譯產生的Qt應用程序二進制文件能夠在自動氣象站控制模塊中運行,需要向上節提到的UBIFS文件系統中移植Qt/Embedded庫。通過Linux編譯器交叉編譯Qt/Embedded的源代碼,生成以自動氣象站控制模塊為目標代碼的Qt/Embedded庫,移植入文件系統中usr/路徑下[9]。

2.2.2用戶UI設計

自動氣象站控制模塊的人機交互界面是在Qt Creator開發環境下完成的。Qt Creator包括項目生成向導、高級的C++代碼編輯器、瀏覽文件及類的工具,集成了Qt Designer、Qt Assistant、Qt Linguist、圖形化的GDB調試前端,集成了qmake構建工具等。通過Qt Designer可視化布局和格式構建器可配置生成美觀簡潔的人機交互界面。本方案中設計的人機交互界面功能如圖4所示。

圖4 人機交互界面功能

在本設計中,通過Qt Designer設計器,選擇Widgets對話框,通過拖拉Push button、List View、Test Edit、Label等部件以及外部控件,構成自動氣象站控制模塊人工交互界面。

構建窗體界面的基本圖形后,需要將這些圖形按鈕與應用程序結合起來。Qt中提供了信號與槽的機制。 Qt Designer設計器所支持的信號與槽機制提供了對象間的通信機制,使得人機交互功能可以得到迅速的響應。當用戶點擊剛剛添加的菜單按鈕時,程序就會立刻跳轉到與該按鈕所連接的程序段上。在本設計中大量使用了信號與槽的機制,例如:

connect(pushbutton6,SIGNAL(clicked()),this,SLOT(pushbutton6_clicked()));

其中pushbutton6代表所點擊按鈕的編號,SIGNAL(clicked())表示執行動作為點擊,SLOT(pushbutton6_clicked())代表需要去執行的槽函數。

利用AT91SAM9G35-CU芯片具有高效處理速度和豐富片上資源的特性,由Qt Designer所生成的用戶UI界面簡潔美觀,響應速度快,易操作,既可實時觀察數據,又可輸入命令改變自動氣象站控制模塊的運行參數。如圖5所示,點擊液晶屏最下方的菜單欄上的相應功能按鈕,就可切換到相應的功能界面,完成所需的顯示和控制功能。

圖5 實時數據顯示界面

2.2.3多線程的應用程序設計

自動氣象站本身的功能中需要完成數據采集、數據處理、數據存儲、數據傳輸和人工交互等多種功能,控制模塊作為自動氣象站的核心部件就要在應用程序的設計中同時兼顧不同功能的正常運轉和數據的共享操作。

本文的自動氣象站控制模塊應用程序設計中,采用QThread線程類,建立多線程的處理機制,使得控制模塊可以快速響應不同的任務。在設計的過程中也兼顧了數據的獨立和共享,使得整個控制模塊運行穩定,操作快捷。系統軟件整體工作流程如圖6所示。

圖6 系統軟件整體工作流程

應用程序由main函數進入,開啟Mainwindow線程。Mainwindow線程首先進行人機界面的配置工作,生成人機交互界面,然后陸續開啟數據采集、數據處理、數據存儲、數據傳輸等相關線程。各個任務之間數據可獨有可共享,保證系統穩定運行。同時Mainwindow線程中包含大量與按鈕綁定的槽函數,可隨時響應用戶的人工交互指令,高效便捷。部分程序如下:

fStarData = new KStarData(this);

fStarData->start();

//衛星發送模塊完成.

ShowLineMessage("衛星發送模塊完成." );

fDataRS485 = newDataRS485(this);

fDataRS485->start();

//數據采集模塊完成

fDataSend = new ComDataSend(this);

fDataSend->start();

//串口數據上傳模塊完成

fSocketClient = new SocketClient(this);

fSocketClient->start();

fServer = new Server(this);

fServer->start();

//socket通信模塊完成

fFileBackup = new FileBackup(this);

fFileBackup->start();

//數據備份模塊完成

3 試驗結果及運行情況

本設計應用于由中船重工鵬力(南京)大氣海洋信息系統有限公司開發的DZB7型自動氣象站中進行測試??刂颇K通過AD采樣接口接入風速風向傳感器、溫濕度傳感器、雨量傳感器,通過RS232接口接入氣壓傳感器、衛星通信模塊、GPRS通信模塊等。

通過相關環境試驗(包含EMC試驗、高低溫試驗、正弦振動試驗、Ka鹽霧試驗等)后,設備可實時顯示當前的氣象數據,人工交互功能響應迅速,數據采集、處理、儲存、傳輸等功能運轉正常。

試驗結果表明,本文所設計的基于ARM9的自動氣象站控制模塊功能完善、運行可靠、操作便捷,達到了設計的預期目標。

4 結論

本文介紹了基于ARM9的自動氣象站控制模塊設計方法及流程,包括硬件電路設計、系統操作平臺設計以及應用程序的設計等。選用AT91SAM9G35-CU芯片結合G070Y2-L01工業液晶屏硬件設計,可以提供更復雜、多彩、靈活的顯示任務。將嵌入式Linux系統和基于Qt設計的UI界面、應用程序同時移植到AT91SAM9G35-CU芯片中,實現多任務處理、多界面顯示、簡單快捷的人工交互功能,完全適應自動氣象站多變的任務需求,能承擔更加靈活、美觀的液晶顯示任務,是嵌入式設備的主流發展方向。

參考文獻

[1] 解偉.基于STM32的自動氣象站控制模塊設計 [J].電子測量技術,2014,37(7):107-110.

[2] 劉艷中,呂玉嫦.一種新型自動氣象站觸控屏交互式系統設計[J].電子測量技術,2016,39(7):145-148.

[3] 戴軍建,張傳勝.基于STM32的人機接口設計與實現 [J].長春工業大學學報,2012,33(6):673-675.

[4] 周欣.多功能自動氣象站控制與管理系統 [J].電子測量與儀器學報,2011,25(4):5-8.

[5] 李秀娟,張曉東.嵌入式系統設計[M].北京:機械工業出版社,2013.

[6] 趙成.嵌入式系統應用基礎[M].北京:國防工業出版社,2012.

[7] 任善全,呂強,錢培德.一個基于Qt/Embedded的嵌入式Linux應用程序的實現 [J].計算機應用于軟件,2006,23(2):105-107.

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

[9] 吳燕燕,賀鋒濤.基于ARM9平臺上Qt/Embedded的移植與開發 [J].液晶與顯示,2013,28(2):261-265.

猜你喜歡
嵌入式界面功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
搭建基于Qt的嵌入式開發平臺
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
關于非首都功能疏解的幾點思考
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
Altera加入嵌入式視覺聯盟
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 成人va亚洲va欧美天堂| 国产精品香蕉在线| 欧美三级日韩三级| 狠狠干欧美| 一级一级特黄女人精品毛片| 激情综合图区| 国产真实自在自线免费精品| 亚洲日韩AV无码精品| 国产精品区视频中文字幕| 欧美不卡视频一区发布| 国产欧美日韩免费| 伊人久久大香线蕉影院| 国产99视频精品免费观看9e| 亚洲人成网站18禁动漫无码| 精品国产aⅴ一区二区三区| 国产无码性爱一区二区三区| 国产欧美视频在线| 亚洲日韩高清在线亚洲专区| 亚洲色图欧美在线| 国产成人综合亚洲网址| 99热这里只有免费国产精品| 日本草草视频在线观看| 国产人成乱码视频免费观看| 国产人妖视频一区在线观看| 欧美亚洲网| 亚洲欧洲天堂色AV| 色婷婷久久| 国产极品美女在线观看| 亚洲妓女综合网995久久| 久操线在视频在线观看| 伊人成色综合网| 一本综合久久| 国产成人8x视频一区二区| 精品少妇三级亚洲| 一本一道波多野结衣av黑人在线| 久久一色本道亚洲| 国产91无码福利在线| 亚洲欧美另类视频| 国产黄视频网站| 国产精品免费露脸视频| 凹凸国产分类在线观看| 网久久综合| 日本日韩欧美| 久久99热66这里只有精品一| 中文字幕久久精品波多野结| 亚洲浓毛av| 国产精品美女自慰喷水| 国产欧美日韩资源在线观看| 国产迷奸在线看| 欧美日韩另类国产| 8090午夜无码专区| 巨熟乳波霸若妻中文观看免费| 无码粉嫩虎白一线天在线观看| 黄色网页在线播放| 国产原创第一页在线观看| 91在线精品免费免费播放| 亚洲天堂网在线视频| 找国产毛片看| a级毛片网| 18禁影院亚洲专区| 国产一级片网址| 人妻21p大胆| 国产在线观看人成激情视频| 久久人体视频| 中国国产高清免费AV片| 欧美色99| 亚洲性色永久网址| 在线人成精品免费视频| 欧美国产日本高清不卡| 成年女人a毛片免费视频| 日韩在线永久免费播放| 人妻熟妇日韩AV在线播放| 亚洲人成影视在线观看| 中字无码av在线电影| 97精品久久久大香线焦| 欧美亚洲欧美区| 四虎AV麻豆| 人与鲁专区| 国产区在线观看视频| 永久免费无码日韩视频| 自拍欧美亚洲| 亚洲无码一区在线观看|