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