曾曼云
摘要:近年來,無人機(jī)在越來越多的領(lǐng)域中得到應(yīng)用,尤其是旋翼無人機(jī)。本文提出一種基于嵌入式Linux和3G網(wǎng)絡(luò)的設(shè)計(jì)方案,以四旋翼飛行器為載體,對相關(guān)的應(yīng)用系統(tǒng)進(jìn)行開發(fā)。
關(guān)鍵詞:嵌入式Linux;3G網(wǎng)絡(luò);四旋翼飛行器
中圖分類號:TP316.81 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2018)11-0139-01
1 四旋翼飛行器應(yīng)用開發(fā)的重要意義
四旋翼飛行器歸屬于無人直升機(jī)的范疇,利用無線遙控裝置可以對飛行過程進(jìn)行控制。隨著微電子技術(shù)的不斷發(fā)展和完善,使得無人機(jī)在軍事和民用領(lǐng)域中得到越來越廣泛的應(yīng)用。在軍事方面,四旋翼飛行器具有起落降簡單、靈活性強(qiáng)、造價低、隱蔽性好等特點(diǎn),可完成各種偵察任務(wù)。民用方面,四旋翼飛行器在攝影、測繪、運(yùn)輸、搶險(xiǎn)等方面發(fā)揮著重要作用。近年來,業(yè)內(nèi)的專家學(xué)者加大了對多旋翼飛行器的研究力度,各種新技術(shù)、新材料的應(yīng)用,使得旋翼飛行器的整體性能獲得顯著提升。為了提高四旋翼飛行器的性能,專業(yè)人士進(jìn)行了大量研究,結(jié)合他們的研究成果,嘗試通過3G網(wǎng)絡(luò),將飛行器與互聯(lián)網(wǎng)進(jìn)行連接,以嵌入式Linux平臺為操控系統(tǒng)提供穩(wěn)定的支撐,最終目的是為了突破旋翼飛行器控制與傳輸距離的限制。
2 基于嵌入式Linux和3G網(wǎng)絡(luò)的四旋翼飛行器應(yīng)用系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)設(shè)計(jì)思路
本系統(tǒng)以四旋翼飛行器作為主體,該飛行器由主控芯片、慣性模塊、氣壓高度計(jì)等幾個部分組成,采用嵌入式Linux系統(tǒng)開發(fā)平臺,集成ARM9處理器。飛行器(各部分模塊通過總線)進(jìn)行連接,(通過嵌入式Linux平臺)完成圖像采集、傳輸?shù)裙δ?,同時還能(接收)上位PC機(jī)發(fā)出的控制指令,借助具體的應(yīng)用程序,對飛行器進(jìn)行控制[1]。
2.2 系統(tǒng)硬件配置
(1)開發(fā)板。系統(tǒng)選用嵌入式開發(fā)板min2440,擁有精簡指令微處理器,制造工藝為0.13um,使其具備低功耗、高性能的優(yōu)勢。mini2440開發(fā)板采用三星公司制造的主頻為400MHZ的CPU處理器,它是整個系統(tǒng)的核心,其上連接各種模塊,如顯示模塊、存儲模塊、輸入模塊、電源模塊、USB模塊等等,接口類型相對較多,包括(串口、)SD接口、USB HOST接口、RJ-45接口以及GPIO擴(kuò)展接口等。(2)攝像頭。系統(tǒng)采用羅技C270攝像頭,支持1280*720視頻采集,在室外光線不足的情況下,可以通過自動對焦完成圖像的校正,由此能夠?qū)崿F(xiàn)各種光線下的視頻采集。(3)3G網(wǎng)卡。系統(tǒng)選用CDMA-2000,可提供移動IP、簡單IP以及IP分組服務(wù)。PDSN可提供用戶PPP連接和終止服務(wù)。CDMA-2000的寬帶可在1.25-20MHZ之間進(jìn)行調(diào)節(jié)。綜合考慮價格、性能等因素,選擇中興的AC581作為無線網(wǎng)卡。(4)飛行模塊。系統(tǒng)采用主頻達(dá)到72MHZ的主控芯片,以及具備陀螺儀功能的傳感器,內(nèi)置模數(shù)轉(zhuǎn)換器,可保持高頻率通訊需求[2]。
2.3 Linux系統(tǒng)結(jié)構(gòu)
(1)硬件平臺。包括存儲器、微處理器、通用設(shè)備接口等,在ROM中存儲操作系統(tǒng),微處理器選用嵌入式微處理器。(2)硬件抽象層。用于分離系統(tǒng)內(nèi)核和底層硬件,使底層驅(qū)動與硬件不存在關(guān)系,提高了系統(tǒng)應(yīng)用程序開發(fā)的便捷性。硬件抽象層主要功能為初始化硬件設(shè)置、輸出和輸入數(shù)據(jù)等。(3)內(nèi)核。這是系統(tǒng)的核心部分,對硬件進(jìn)行一致管理,并對用戶提供高層抽象層,包括調(diào)度進(jìn)程、驅(qū)動備份、共享存儲空間等。若在系統(tǒng)中使用內(nèi)核提供API,則可將應(yīng)用程序直接移植到相應(yīng)架構(gòu)上,無需對應(yīng)用程序作出修改。(4)根文件系統(tǒng)。該系統(tǒng)位于內(nèi)核之上,滿足用戶與系統(tǒng)交互需求,內(nèi)核需要在合適結(jié)構(gòu)的文件系統(tǒng)上加載程序,在每個進(jìn)程匹配相應(yīng)加載模塊,生成工作目錄。(5)網(wǎng)絡(luò)服務(wù)器。主要為Linux目標(biāo)機(jī)與宿主機(jī)提供通信服務(wù)。在網(wǎng)絡(luò)服務(wù)器的支持下,嵌入式Linux系統(tǒng)中的目標(biāo)機(jī)可以訪問宿主機(jī)上的文件,能夠在系統(tǒng)開發(fā)過程中大幅度提高Linux文件的共享利用效率。網(wǎng)絡(luò)服務(wù)器配置NFS文件,文件中主要包括客戶端主機(jī)地址、共享目錄名和選項(xiàng)設(shè)置。
2.4 系統(tǒng)軟件設(shè)計(jì)
(1)撥號上網(wǎng)。撥號上網(wǎng)使用PPP協(xié)議實(shí)現(xiàn)點(diǎn)到點(diǎn)的鏈路封裝,在經(jīng)典OSI參考模型中傳輸網(wǎng)絡(luò)層數(shù)據(jù)包,用以支持異同步點(diǎn)到點(diǎn)傳輸。基于PPP協(xié)議的撥號上網(wǎng)具備以下特點(diǎn):PPP協(xié)議支持點(diǎn)到點(diǎn)連接,可提供數(shù)據(jù)鏈路層協(xié)議;可使用同步或異步形式;網(wǎng)絡(luò)安全性高,可支持PAP/CHAP協(xié)議;在NCP協(xié)議的支持下可支持網(wǎng)絡(luò)協(xié)議。PPP協(xié)議的組成部分包括:一是LCP(鏈路控制協(xié)議族),其功能對PPP數(shù)據(jù)鏈路進(jìn)行建立、拆除和監(jiān)控;二是NCP(網(wǎng)絡(luò)控制協(xié)議族),其功能對數(shù)據(jù)包的格式和類型建立起點(diǎn)到點(diǎn)的鏈路。(2)驅(qū)動程序。當(dāng)四旋翼飛行器接收到上位機(jī)發(fā)出的控制指令后,Linux系統(tǒng)會對其中的通道控制量進(jìn)行提取,利用底層驅(qū)動,對硬件GPIO進(jìn)行驅(qū)動,以此來實(shí)現(xiàn)對飛行器的控制。本系統(tǒng)中的驅(qū)動程序處在硬件與Linux中間,其提供了統(tǒng)一接口,通過接口可對硬件設(shè)備進(jìn)行訪問。對驅(qū)動程序進(jìn)行編寫,可為Linux的內(nèi)核提供接口,以此來對設(shè)備進(jìn)行訪問。本系統(tǒng)在軟件設(shè)計(jì)中,對硬件GPIO的控制采用字符設(shè)備驅(qū)動。當(dāng)驅(qū)動程序編寫好以后,應(yīng)對相應(yīng)的驅(qū)動模塊進(jìn)行編譯。在進(jìn)行內(nèi)核編譯的過程中,應(yīng)確保其與開發(fā)板內(nèi)核具有相同的版本,由此便可生成驅(qū)動文件gpio_ioctl.ko,隨后將該驅(qū)動程序Copy到開發(fā)板上,執(zhí)行如下安裝命令即可:insmod gpio_ioctl.ko。(3)應(yīng)用程序。應(yīng)用程序主要用于接收(和處理)數(shù)據(jù)和(以及)控制GPIO,以達(dá)到控制飛行的目的??刂菩盘柌捎胾s級控制,最高為2000us,最低為1000us,根據(jù)信號高電平時間的變化對信號數(shù)字大小進(jìn)行控制。控制信號采用PMM格式,信號程度為20ms,脈寬為0-2ms,高電平為1-2ms,在考慮到脈沖時間的情況下,最多可支持9個通道。為實(shí)現(xiàn)應(yīng)用程序的功能,要在應(yīng)用程序執(zhí)行之前對存放的接收數(shù)據(jù)、提取的通道數(shù)據(jù)進(jìn)行初始化處理,創(chuàng)建TCP協(xié)議的套接字,之后再打開內(nèi)核驅(qū)動創(chuàng)建出新的線程即可。該線程可在進(jìn)程中的邏輯流內(nèi)運(yùn)行,一個進(jìn)程可同時運(yùn)行多個線程,由內(nèi)核負(fù)責(zé)對線程進(jìn)行自動調(diào)度,以整數(shù)ID對線程進(jìn)行識別。當(dāng)完成初始化后,主線程在while(1)循環(huán)語句中,借助read(),系統(tǒng)可對網(wǎng)絡(luò)端口接收到的數(shù)據(jù)進(jìn)行調(diào)用讀取[3]。
3 結(jié)語
綜上所述,旋翼飛行器的控制和傳輸距離是限制其應(yīng)用范圍進(jìn)一步擴(kuò)大的關(guān)鍵因素,為有效解決這一問題,本文以四旋翼飛行器作為研究對象,設(shè)計(jì)開發(fā)基于嵌入式Linux和3G網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。通過該系統(tǒng),可以使四旋翼飛行器的控制距離和傳輸距離獲得顯著提升。由此可見,該系統(tǒng)具有良好的推廣使用價值。
參考文獻(xiàn)
[1]劉衛(wèi)輝,李建國,王磊,孟瑞鋒.基于UART總線的四旋翼飛行器姿態(tài)采集[J].機(jī)械工程與自動化,2018(5):182-183+187.
[2]黃艷國,樊云東,陳自如.基于信息融合的四旋翼飛行器的姿態(tài)解算[J].計(jì)算機(jī)仿真,2018(9):59-64.
[3]朱麒龍.四旋翼飛行器控制技術(shù)研究[J].通訊世界,2018(9):216-217.
Application Development of Four-Rotor Aircraft Based on Embedded Linux and 3G Network
ZENG Man-yun
(Gosuncn Technology Group Co., Ltd., Guangzhou Guangdong? 510000)
Abstract:In recent years, UAV has been applied in more and more fields, especially the Rotor UAV. In this paper a design scheme based on embedded Linux and 3G network is proposed, the related application system is developed with the Four-rotor aircraft as the carrier.
Key words:embedded Linux; 3G network; four-rotor aircraft