亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ARM9的自動(dòng)氣象站控制模塊設(shè)計(jì)

        2018-05-23 01:17:22劉懷芝
        關(guān)鍵詞:嵌入式界面功能

        葉 楠,劉懷芝,鹿 旭

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

        0 引言

        隨著居民生活水平的提高和氣象意識(shí)的增強(qiáng),近年來(lái)自動(dòng)氣象站得到了大力的發(fā)展。目前的自動(dòng)氣象站可自動(dòng)地實(shí)現(xiàn)地面氣象觀測(cè)、氣象數(shù)據(jù)存儲(chǔ)和觀測(cè)數(shù)據(jù)發(fā)送等功能。自動(dòng)氣象站需要可視化的人機(jī)界面,既能將氣象數(shù)據(jù)傳輸給上級(jí)服務(wù)器,也能通過(guò)本地人機(jī)界面查看、控制自動(dòng)氣象站。因此可視化的液晶顯示控制模塊對(duì)于自動(dòng)氣象站是非常重要的。

        目前國(guó)內(nèi)外一般采用PC作為自動(dòng)氣象站的顯示控制模塊,利用VC、LabVIEW等軟件設(shè)計(jì)顯示控制軟件,通常選用UART、TCP/IP、USB等協(xié)議進(jìn)行數(shù)據(jù)/命令的傳輸[1-2]。自動(dòng)氣象站顯示控制模塊技術(shù)發(fā)展得很快,但同時(shí)也發(fā)現(xiàn)了很多問(wèn)題。傳統(tǒng)的硬件資源過(guò)于浪費(fèi),接口不夠統(tǒng)一,現(xiàn)場(chǎng)布置過(guò)于繁瑣,人機(jī)交互不夠簡(jiǎn)單方便等,因此需要對(duì)傳統(tǒng)的顯示控制模塊進(jìn)行升級(jí)和改造[3]。

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

        1 硬件電路設(shè)計(jì)

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

        圖1 硬件總體框圖

        AT91SAM9G35-CU芯片主頻達(dá)400 MHz,外設(shè)豐富,包含2個(gè)USB接口、4個(gè)UART接口、1個(gè)485接口、1個(gè)LCD、2個(gè)SPI接口、3個(gè)IIC接口、1個(gè)IIS接口、一個(gè)SD卡接口、1個(gè)RJ45接口。其16 KB指令高速緩存和16 KB數(shù)據(jù)高速緩存可為現(xiàn)有的程序和數(shù)據(jù)提供零時(shí)間等待響應(yīng),以確保對(duì)關(guān)鍵指令和數(shù)據(jù)的無(wú)延遲存取,并且EMC性能較好。

        LCD模塊采用奇美G070Y2-L01工業(yè)液晶屏,包含觸摸板。該液晶顯示屏分辨率為800×480,通過(guò)LVDS信號(hào)輸出與AT91SAM9G35-CU芯片相連接。AT91SAM9G35-CU芯片內(nèi)置LCD控制模塊,無(wú)需外接LCD控制芯片。因液晶屏為L(zhǎng)VDS信號(hào)輸出,AT91SAM9G35-CU芯片引腳為T(mén)TL電平,需外接LVDS與TTL轉(zhuǎn)換電路。LCD屏與AT91SAM9G35-CU芯片接口如圖2所示。

        圖2 LCD屏接口電路

        G070Y2-L01工業(yè)液晶屏攜帶觸摸板。觸摸板引出4根觸摸線,分別為X+、X-、Y+、Y-。由于AT91SAM9G35-CU芯片內(nèi)置A/D采樣電路,可通過(guò)編寫(xiě)驅(qū)動(dòng)程序?qū)?根觸摸線輸出的電壓信號(hào)轉(zhuǎn)換為觸點(diǎn)位置信息。同時(shí)液晶屏連接了背光接口,通過(guò)對(duì)AT91SAM9G35-CU芯片IO口的高低電平的控制,來(lái)實(shí)現(xiàn)控制背光開(kāi)關(guān)的功能,本設(shè)計(jì)中控制PC20口的高低電平,程序控制1 min后自動(dòng)關(guān)背光,待下次觸摸再開(kāi)啟。觸摸板電路和背光控制電路如圖3所示。

        圖3 觸摸板和背光電路

        2 系統(tǒng)軟件設(shè)計(jì)

        2.1 操作系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)

        2.1.1軟件平臺(tái)的選擇

        目前,嵌入式操作系統(tǒng)種類繁多,比較主流的有Windows CE、μC/OS、嵌入式Linux、VxWorks等。表1對(duì)幾種常用的嵌入式操作系統(tǒng)參數(shù)進(jìn)行了簡(jiǎn)單的對(duì)比。

        表1 主流嵌入式操作系統(tǒng)比較

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

        2.1.2嵌入式Linux系統(tǒng)的裁剪和移植

        一般來(lái)說(shuō),向硬件平臺(tái)中移植嵌入式Linux操作系統(tǒng)主要有以下幾個(gè)步驟: BootLoader的裁剪和移植、內(nèi)核的裁剪和移植、文件系統(tǒng)的裁剪和移植。在本設(shè)計(jì)中所采用的Altem公司的AT91系列芯片需在BootLoader移植前增加AT91bootstrap的移植。

        (1)AT91bootstrap的移植

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

        (2)BootLoader的移植

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

        (3)內(nèi)核的裁剪和移植

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

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

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

        2.2 應(yīng)用程序的設(shè)計(jì)和實(shí)現(xiàn)

        2.2.1Qt/Embedded的移植

        Qt/Embedded作為面向嵌入式系統(tǒng)圖形用戶界面的應(yīng)用程序開(kāi)發(fā)框架,其庫(kù)采用C++封裝,完全面向?qū)ο?,可移植性好,界面設(shè)計(jì)美觀,功能齊全,因此本設(shè)計(jì)采用Qt/Embedded作為應(yīng)用程序開(kāi)發(fā)平臺(tái)[7-8]。

        本設(shè)計(jì)中的應(yīng)用程序開(kāi)發(fā)是在PC中的Qt Creator軟件下開(kāi)發(fā)完成的。為了使通過(guò)交叉編譯產(chǎn)生的Qt應(yīng)用程序二進(jìn)制文件能夠在自動(dòng)氣象站控制模塊中運(yùn)行,需要向上節(jié)提到的UBIFS文件系統(tǒng)中移植Qt/Embedded庫(kù)。通過(guò)Linux編譯器交叉編譯Qt/Embedded的源代碼,生成以自動(dòng)氣象站控制模塊為目標(biāo)代碼的Qt/Embedded庫(kù),移植入文件系統(tǒng)中usr/路徑下[9]。

        2.2.2用戶UI設(shè)計(jì)

        自動(dòng)氣象站控制模塊的人機(jī)交互界面是在Qt Creator開(kāi)發(fā)環(huán)境下完成的。Qt Creator包括項(xiàng)目生成向?qū)?、高?jí)的C++代碼編輯器、瀏覽文件及類的工具,集成了Qt Designer、Qt Assistant、Qt Linguist、圖形化的GDB調(diào)試前端,集成了qmake構(gòu)建工具等。通過(guò)Qt Designer可視化布局和格式構(gòu)建器可配置生成美觀簡(jiǎn)潔的人機(jī)交互界面。本方案中設(shè)計(jì)的人機(jī)交互界面功能如圖4所示。

        圖4 人機(jī)交互界面功能

        在本設(shè)計(jì)中,通過(guò)Qt Designer設(shè)計(jì)器,選擇Widgets對(duì)話框,通過(guò)拖拉Push button、List View、Test Edit、Label等部件以及外部控件,構(gòu)成自動(dòng)氣象站控制模塊人工交互界面。

        構(gòu)建窗體界面的基本圖形后,需要將這些圖形按鈕與應(yīng)用程序結(jié)合起來(lái)。Qt中提供了信號(hào)與槽的機(jī)制。 Qt Designer設(shè)計(jì)器所支持的信號(hào)與槽機(jī)制提供了對(duì)象間的通信機(jī)制,使得人機(jī)交互功能可以得到迅速的響應(yīng)。當(dāng)用戶點(diǎn)擊剛剛添加的菜單按鈕時(shí),程序就會(huì)立刻跳轉(zhuǎn)到與該按鈕所連接的程序段上。在本設(shè)計(jì)中大量使用了信號(hào)與槽的機(jī)制,例如:

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

        其中pushbutton6代表所點(diǎn)擊按鈕的編號(hào),SIGNAL(clicked())表示執(zhí)行動(dòng)作為點(diǎn)擊,SLOT(pushbutton6_clicked())代表需要去執(zhí)行的槽函數(shù)。

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

        圖5 實(shí)時(shí)數(shù)據(jù)顯示界面

        2.2.3多線程的應(yīng)用程序設(shè)計(jì)

        自動(dòng)氣象站本身的功能中需要完成數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳輸和人工交互等多種功能,控制模塊作為自動(dòng)氣象站的核心部件就要在應(yīng)用程序的設(shè)計(jì)中同時(shí)兼顧不同功能的正常運(yùn)轉(zhuǎn)和數(shù)據(jù)的共享操作。

        本文的自動(dòng)氣象站控制模塊應(yīng)用程序設(shè)計(jì)中,采用QThread線程類,建立多線程的處理機(jī)制,使得控制模塊可以快速響應(yīng)不同的任務(wù)。在設(shè)計(jì)的過(guò)程中也兼顧了數(shù)據(jù)的獨(dú)立和共享,使得整個(gè)控制模塊運(yùn)行穩(wěn)定,操作快捷。系統(tǒng)軟件整體工作流程如圖6所示。

        圖6 系統(tǒng)軟件整體工作流程

        應(yīng)用程序由main函數(shù)進(jìn)入,開(kāi)啟Mainwindow線程。Mainwindow線程首先進(jìn)行人機(jī)界面的配置工作,生成人機(jī)交互界面,然后陸續(xù)開(kāi)啟數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)傳輸?shù)认嚓P(guān)線程。各個(gè)任務(wù)之間數(shù)據(jù)可獨(dú)有可共享,保證系統(tǒng)穩(wěn)定運(yùn)行。同時(shí)Mainwindow線程中包含大量與按鈕綁定的槽函數(shù),可隨時(shí)響應(yīng)用戶的人工交互指令,高效便捷。部分程序如下:

        fStarData = new KStarData(this);

        fStarData->start();

        //衛(wèi)星發(fā)送模塊完成.

        ShowLineMessage("衛(wèi)星發(fā)送模塊完成." );

        fDataRS485 = newDataRS485(this);

        fDataRS485->start();

        //數(shù)據(jù)采集模塊完成

        fDataSend = new ComDataSend(this);

        fDataSend->start();

        //串口數(shù)據(jù)上傳模塊完成

        fSocketClient = new SocketClient(this);

        fSocketClient->start();

        fServer = new Server(this);

        fServer->start();

        //socket通信模塊完成

        fFileBackup = new FileBackup(this);

        fFileBackup->start();

        //數(shù)據(jù)備份模塊完成

        3 試驗(yàn)結(jié)果及運(yùn)行情況

        本設(shè)計(jì)應(yīng)用于由中船重工鵬力(南京)大氣海洋信息系統(tǒng)有限公司開(kāi)發(fā)的DZB7型自動(dòng)氣象站中進(jìn)行測(cè)試??刂颇K通過(guò)AD采樣接口接入風(fēng)速風(fēng)向傳感器、溫濕度傳感器、雨量傳感器,通過(guò)RS232接口接入氣壓傳感器、衛(wèi)星通信模塊、GPRS通信模塊等。

        通過(guò)相關(guān)環(huán)境試驗(yàn)(包含EMC試驗(yàn)、高低溫試驗(yàn)、正弦振動(dòng)試驗(yàn)、Ka鹽霧試驗(yàn)等)后,設(shè)備可實(shí)時(shí)顯示當(dāng)前的氣象數(shù)據(jù),人工交互功能響應(yīng)迅速,數(shù)據(jù)采集、處理、儲(chǔ)存、傳輸?shù)裙δ苓\(yùn)轉(zhuǎn)正常。

        試驗(yàn)結(jié)果表明,本文所設(shè)計(jì)的基于ARM9的自動(dòng)氣象站控制模塊功能完善、運(yùn)行可靠、操作便捷,達(dá)到了設(shè)計(jì)的預(yù)期目標(biāo)。

        4 結(jié)論

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

        參考文獻(xiàn)

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

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

        [3] 戴軍建,張傳勝.基于STM32的人機(jī)接口設(shè)計(jì)與實(shí)現(xiàn) [J].長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào),2012,33(6):673-675.

        [4] 周欣.多功能自動(dòng)氣象站控制與管理系統(tǒng) [J].電子測(cè)量與儀器學(xué)報(bào),2011,25(4):5-8.

        [5] 李秀娟,張曉東.嵌入式系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2013.

        [6] 趙成.嵌入式系統(tǒng)應(yīng)用基礎(chǔ)[M].北京:國(guó)防工業(yè)出版社,2012.

        [7] 任善全,呂強(qiáng),錢(qián)培德.一個(gè)基于Qt/Embedded的嵌入式Linux應(yīng)用程序的實(shí)現(xiàn) [J].計(jì)算機(jī)應(yīng)用于軟件,2006,23(2):105-107.

        [8] 吳子平,徐愛(ài)鈞.基于Qt/Embedded的嵌入式GUI的研究與構(gòu)建 [J].電腦開(kāi)發(fā)與應(yīng)用,2012,25(1):13-16.

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

        猜你喜歡
        嵌入式界面功能
        也談詩(shī)的“功能”
        國(guó)企黨委前置研究的“四個(gè)界面”
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開(kāi)發(fā)方法研究
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        人機(jī)交互界面發(fā)展趨勢(shì)研究
        手機(jī)界面中圖形符號(hào)的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        Altera加入嵌入式視覺(jué)聯(lián)盟
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        美女高潮黄又色高清视频免费 | 亚洲女同精品久久女同| 久久国产精品国语对白| 国产无遮挡aaa片爽爽| 精品人妻人人做人人爽夜夜爽| 国产国拍亚洲精品永久不卡| 久久精品成人一区二区三区蜜臀| 中文字幕一区二区精品视频 | 亚洲精品动漫免费二区| 久久精品人妻一区二三区| 国产一区二区精品久久岳| 日本边添边摸边做边爱的网站| 国产精品福利小视频| 日本人妻三级在线观看| 日韩综合无码一区二区| 中文字幕人妻熟女人妻洋洋| 国产日韩欧美911在线观看| 在线观看视频国产一区二区三区| 亚洲人成网站18禁止| 不卡高清av手机在线观看| 97色综合| 成人高清在线播放视频| 午夜男女很黄的视频| 精品欧美一区二区在线观看| 国产美女三级视频网站| 久草福利国产精品资源| 朝鲜女人大白屁股ass| 亚洲AV日韩AV无码A一区| 国产视频一区二区三区免费| 图片小说视频一区二区| 国自产偷精品不卡在线| 亚洲av乱码专区国产乱码| 少妇人妻无一区二区三区 | 国产精品成人va在线观看| 自拍欧美日韩| 青青青视频手机在线观看| 中国娇小与黑人巨大交| 成人精品综合免费视频| 国产精品亚洲专区无码不卡| 国语对白免费观看123| 国产 字幕 制服 中文 在线|