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型自動氣象站中進行測試。控制模塊通過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例
主站蜘蛛池模板: 亚洲国内精品自在自线官| 国产一级小视频| 免费观看国产小粉嫩喷水| 欧洲高清无码在线| 精品国产电影久久九九| 伊人成色综合网| 亚洲男人的天堂在线观看| 999国内精品久久免费视频| 亚洲黄网在线| 黄色三级毛片网站| 一本大道香蕉久中文在线播放 | 久久情精品国产品免费| 亚洲成人黄色在线观看| 国产粉嫩粉嫩的18在线播放91| 精品丝袜美腿国产一区| 日韩视频精品在线| 丁香六月综合网| 国产麻豆精品手机在线观看| 国产一国产一有一级毛片视频| 免费人成网站在线高清| 亚洲视频一区| 亚洲一区二区约美女探花| 国产Av无码精品色午夜| 在线色国产| 天天躁夜夜躁狠狠躁图片| 美女免费黄网站| 三上悠亚精品二区在线观看| 亚洲成人播放| 亚洲国产中文在线二区三区免| 亚洲狼网站狼狼鲁亚洲下载| 久久99热这里只有精品免费看| 中文字幕无码av专区久久| 亚洲成人网在线播放| 亚洲91精品视频| 国产女人在线| 99国产在线视频| 国产丝袜一区二区三区视频免下载| 久久久波多野结衣av一区二区| 久久久久中文字幕精品视频| 欧美亚洲第一页| 国产女人18水真多毛片18精品| 为你提供最新久久精品久久综合| 国产一级二级在线观看| 亚洲精品午夜无码电影网| 国产91透明丝袜美腿在线| 亚洲欧洲日韩久久狠狠爱| 四虎国产精品永久一区| 亚洲婷婷在线视频| 成·人免费午夜无码视频在线观看| 亚洲第一av网站| 国产极品嫩模在线观看91| 日本人妻一区二区三区不卡影院| 色综合中文字幕| 亚洲精品日产AⅤ| 夜夜操天天摸| 国产一级裸网站| 精品国产污污免费网站| 欧美特黄一级大黄录像| 日本成人一区| 色有码无码视频| 久精品色妇丰满人妻| 欧美国产日产一区二区| 国产欧美日韩资源在线观看| 亚洲无码37.| 国产精品无码一区二区桃花视频| 自拍欧美亚洲| 91精品久久久无码中文字幕vr| 在线观看国产网址你懂的| 97视频在线精品国自产拍| 国产精品香蕉在线| 久久精品国产999大香线焦| 国产白浆视频| 91精品视频播放| 欧美久久网| 最新日本中文字幕| 99精品高清在线播放| 国产1区2区在线观看| 亚洲第一国产综合| 久久永久免费人妻精品| 91成人免费观看| 国产精品福利导航| 国内精品久久久久鸭|